From ef1fa26353097afa5bb7c3fca2a40f4a55055df6 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 24 四月 2025 14:13:02 +0800
Subject: [PATCH] 代码初始化
---
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 48 +++++++++++-
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java | 7 +
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java | 10 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 133 ++++++++++++++++++++++++++++-----
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java | 11 ++
server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java | 2
8 files changed, 187 insertions(+), 28 deletions(-)
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index 709ae96..f1395de 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1316,7 +1316,7 @@
for (Rooms rooms:roomList) {
//鏌ヨ褰撳墠浼氳瀹ゆ槸鍚﹀瓨鍦ㄨ繘琛屼腑鐨勪細璁�
if(bookingsMapper.selectCount(new QueryWrapper<Bookings>().lambda().eq(Bookings::getIsdeleted,Constants.ZERO)
- .eq(Bookings::getStatus,Constants.ZERO).isNotNull(Bookings::getStartTimeReal)
+ .eq(Bookings::getStatus,Constants.ZERO).isNotNull(Bookings::getStartTimeReal).apply(" DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(START_TIME, '%Y-%m-%d') ")
)<=Constants.ZERO){
//鏍规嵁浼氳瀹よ幏鍙栧彲浠ュ紑鍚殑浼氳璁板綍锛堢涓�鏉¤褰曪級
Bookings bookings = bookingsMapper.selectOne(new QueryWrapper<Bookings>().lambda()
diff --git a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
index 950454b..c5a0337 100644
--- a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
+++ b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
@@ -92,7 +92,7 @@
@GetMapping("/timer/sms/sendWaitingSmsNotice")
ApiResponse sendWaitingSmsNotice();
- @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙颁粖鏃ヤ綔涓氬瀹屾垚閫氱煡瀹氭椂")
+ @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙颁粖鏃ヤ綔涓氭湭瀹屾垚閫氱煡瀹氭椂")
@GetMapping("/timer/platformJob/sendUnFinishNotice")
ApiResponse sendUnFinishNotice();
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
index 05737bd..7553e6a 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
@@ -245,6 +245,17 @@
}
+ @ApiOperation("鎭㈠浣滀笟")
+ @PostMapping("/restoreWork")
+ @CloudRequiredPermission("business:platform:update")
+ public ApiResponse restoreWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ jobOperateDTO.setLoginUserInfo(getLoginUser(token));
+ PlatformJob platformJob = platformJobService.restoreWork(jobOperateDTO);
+ platformJobService.cancelInPark(platformJob);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+
@ApiOperation("瀹屾垚浣滀笟")
@PostMapping("/finishWork")
@CloudRequiredPermission("business:platform:update")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
index ff4a5e5..9cf22d8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
@@ -171,6 +171,16 @@
}
+ @ApiOperation("鎭㈠浣滀笟")
+ @PostMapping("/restoreWork")
+ @CloudRequiredPermission("business:platform:update")
+ public ApiResponse restoreWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ jobOperateDTO.setLoginUserInfo(getLoginUser(token));
+ PlatformJob platformJob = platformJobService.restoreWork(jobOperateDTO);
+ platformJobService.cancelInPark(platformJob);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
@ApiOperation("瀹屾垚浣滀笟")
@PostMapping("/finishWork")
@CloudRequiredPermission("business:platform:update")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
index ae2a8a3..3520756 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -782,7 +782,7 @@
public void sendUnFinishNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper,Integer unFinishNum,String objCode,
List<String> openIds){
String token = this.getToken(systemDictDataBiz);
- if(StringUtils.isBlank(token)){
+ if(StringUtils.isBlank(token)||Constants.equalsInteger(unFinishNum,Constants.ZERO)){
return;
}
try{
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
index 6b2b9b2..78aa1f9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -257,4 +257,11 @@
void sendUnFinishNotice();
void dealJobFinish(List<Integer> jobIdList);
+
+ /**
+ * 鎭㈠浣滀笟
+ * @param jobOperateDTO
+ * @return
+ */
+ PlatformJob restoreWork(JobOperateDTO jobOperateDTO);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index c24a0b8..7469b7d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -335,8 +335,14 @@
.ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
.le(pageWrap.getModel().getBeginDoneDateEnd() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getBeginDoneDateEnd()))
- .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
- .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
+// .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()),
+// PlatformJob::getContractNum)
+// .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
+
+ .exists(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()),
+ "select 1 from platform_wms_detail tt where tt.isdeleted=0 and tt.job_id=t.id")
+ .notExists(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()),
+ "select 1 from platform_wms_detail tt where tt.isdeleted=0 and tt.job_id=t.id")
.exists(StringUtils.isNotBlank(pageWrap.getModel().getWmsContractNum()),
"select tt.id from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num='"+pageWrap.getModel().getWmsContractNum()+"' and tt.job_id=t.id");
queryWrapper.orderByDesc(PlatformJob::getCreateDate);
@@ -737,7 +743,8 @@
PlatformGroup platformGroup = platformGroupMapper.selectById(groupId);
if(Objects.nonNull(platformGroup)&&StringUtils.isNotBlank(platformGroup.getUnFinishNoticeUsers())){
List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
- .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO).isNotNull(SystemUser::getOpenid)
+ .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO)
+ .isNotNull(SystemUser::getOpenid)
.in(SystemUser::getMemberId,Arrays.asList(platformGroup.getUnFinishNoticeUsers().split(",")))
);
if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) {
@@ -753,7 +760,6 @@
}
}
}
-
}
@@ -2453,8 +2459,42 @@
}
}
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public PlatformJob restoreWork(JobOperateDTO jobOperateDTO){
+ if(Objects.isNull(jobOperateDTO)
+ || Objects.isNull(jobOperateDTO.getJobId())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
+ if(Objects.isNull(platformJob)||Constants.equalsInteger(platformJob.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�");
+ }
+ Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
+ if(Objects.isNull(platform)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
+ }
+ PlatformJob oldPlatformJob = new PlatformJob();
+ BeanUtils.copyProperties(platformJob,oldPlatformJob);
+ if(Objects.isNull(platformJob.getStartDate())){
+ platformJob.setStartDate(new Date());
+ }
+ platformJob.setStatus(Constants.PlatformJobStatus.WORKING.getKey());
+ platformJob.setEditDate(new Date());
+ platformJobMapper.updateById(platformJob);
+
+ //瀛樺偍鎿嶄綔鏃ュ織
+ savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob,
+ Constants.PlatformJobLogType.WORKING.getInfo().replace("{data}",platform.getName()));
+ return platformJob;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 7ddc86e..a8ef908 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1078,27 +1078,31 @@
data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,0,1));//浠婃棩瀹屾垚閲�
data.setCurrentInNum(beforeInNum.add(data.getCurrentInDoneNum()).add(currentInNum));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
data.setCurrentOutNum(beforeOutNum.add(data.getCurrentOutDoneNum()).add(currentOutNum));//褰撳墠鍑哄簱鎬讳换鍔℃垚閲�
-
- //------------浠婃棩鍑哄叆搴撴晥鐜�----------------
- BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);//
- BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);//
- if(outHours.compareTo(new BigDecimal(0))>0){
- data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
- }
- if(inHours.compareTo(new BigDecimal(0))>0){
- data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
- }
+ data.setTodayOutRate(getDayTotalRata(data.getCurrentOutDoneNum(),DateUtil.getToday()));//褰撴棩鍑哄簱鏁堢巼
+ data.setTodayInRate(getDayTotalRata(data.getCurrentInDoneNum(),DateUtil.getToday()));//褰撴棩鍏ュ簱鏁堢巼
+ data.setMonthOutRate(getMonthRata(monthNum,Constants.ZERO));//鏈湀鍑哄簱鏁堢巼
+ data.setMonthInRate(getMonthRata(monthNum,Constants.ONE));//鏈湀鍑哄簱鏁堢巼
+ //------------浠婃棩鍑哄叆搴撴晥鐜�----------------
+// BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);//
+// BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);//
+//
+// if(outHours.compareTo(new BigDecimal(0))>0){
+// data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+// }
+// if(inHours.compareTo(new BigDecimal(0))>0){
+// data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+// }
//------------鏈湀鍑哄叆搴撴晥鐜�----------------
// BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum());
- BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum());
- BigDecimal outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);//
- BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);//
- if(outMonthHours.compareTo(new BigDecimal(0))>0){
- data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍏ュ簱鏁堢巼
- }
- if(inMonthHours.compareTo(new BigDecimal(0))>0){
- data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍏ュ簱鏁堢巼
- }
+// BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum());
+// BigDecimal outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);//
+// BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);//
+// if(outMonthHours.compareTo(new BigDecimal(0))>0){
+// data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍑哄簱鏁堢巼
+// }
+// if(inMonthHours.compareTo(new BigDecimal(0))>0){
+// data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍏ュ簱鏁堢巼
+// }
return data;
}
@@ -1110,10 +1114,9 @@
if(platformLogList!=null && platformLogList.size()>0){
return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60);
}
-
return new BigDecimal(0);
-
}
+
private BigDecimal getTotalDoneTimes(List<PlatformJob> list, Integer type) {
BigDecimal r = new BigDecimal(0);
if(list==null || list.size() == 0){
@@ -1149,6 +1152,94 @@
return r;
}
+
+ private BigDecimal getMonthRata(List<PlatformJob> list, Integer type) {
+ BigDecimal r = new BigDecimal(0);
+ if(list==null || list.size() == 0){
+ return r;
+ }
+ List<PlatformJob> jobList= new ArrayList<>();
+ for(PlatformJob job : list) {
+ if (!(Constants.equalsInteger(job.getStatus(), Constants.PlatformJobStatus.DONE.getKey())
+ || Constants.equalsInteger(job.getStatus(), Constants.PlatformJobStatus.LEAVED.getKey())
+ || Constants.equalsInteger(job.getStatus(), Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))) {
+ //鍙煡璇㈠畬鎴愭暟鎹�
+ continue;
+ }
+ if (type != null && type == 0 && (Constants.equalsInteger(job.getType(), Constants.ONE) || Constants.equalsInteger(job.getType(), Constants.THREE))) {
+ //鍑哄簱
+ jobList.add(job);
+ }
+ if (type != null && type == 1 && (Constants.equalsInteger(job.getType(), Constants.ZERO) || Constants.equalsInteger(job.getType(), Constants.TWO) || Constants.equalsInteger(job.getType(), Constants.FOUR))) {
+ //鍏ュ簱
+ jobList.add(job);
+ }
+ }
+ if(CollectionUtils.isNotEmpty(jobList)){
+ //鑾峰彇浠诲姟鏁版嵁
+ List<String> jobDataList = list.stream().filter(i->Objects.nonNull(i.getDoneDate())).map(i->DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd")).collect(Collectors.toList());
+ for (String jobDate:jobDataList) {
+ //杩囨护褰撳ぉ鐨勬暟鎹�
+ List<PlatformJob> platformJobList = list.stream().
+ filter(i->jobDate.equals(DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd"))).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(platformJobList)){
+ //鑾峰彇浠婂ぉ鐨�
+ r = r.add(this.getDayTotalRata(getSumTotalByList(platformJobList,type,null),jobDate));
+ }
+ }
+ }
+ return r;
+ }
+
+
+ private BigDecimal getDayTotalRata(BigDecimal totalAmount,String today) {
+ BigDecimal r = new BigDecimal(0);
+ //鏌ヨ浠婃棩鏈�鏃�/鏈�鏅氱殑浣滀笟鏁版嵁
+ List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>()
+ .lambda()
+ .apply(" ( to_days(param1) = '"+today+"' or to_days(param2) = '"+today+"' ) ")
+ );
+ if(totalAmount.compareTo(BigDecimal.ZERO)==0||CollectionUtils.isEmpty(platformLogList)){
+ return BigDecimal.ZERO;
+ }
+ if(platformLogList!=null && platformLogList.size()>0){
+ return this.getWorkTime(totalAmount,platformLogList);
+ }
+ return r;
+ }
+
+ /**
+ * 鏌ヨ浣滀笟鏃堕暱锛堝皬鏃讹級
+ * @param totalAmount
+ * @param platformLogList
+ * @return
+ */
+ public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList){
+ if(CollectionUtils.isEmpty(platformLogList)){
+ return BigDecimal.ZERO;
+ }
+ //鑾峰彇寮�濮嬫椂闂�
+ List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList());
+ Long startTime = Collections.min(startTimeList);
+ //鑾峰彇缁撴潫鏃堕棿
+ List<Long> endTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam2())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList());
+ Long endTime = Collections.max(endTimeList);
+ if(Objects.isNull(startTime)
+ || Objects.isNull(endTime) || (startTime>=endTime)){
+ return BigDecimal.ZERO;
+ }
+ return totalAmount.divide(new BigDecimal(( endTime - startTime )+"").divide(new BigDecimal("3600000"),2,BigDecimal.ROUND_HALF_UP),2,BigDecimal.ROUND_HALF_UP) ;
+ }
+
+
+
+
+
+
+
+
+
+
private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) {
BigDecimal r = new BigDecimal(0);
if(list==null || list.size() == 0){
--
Gitblit v1.9.3