From 8466d217aba3abd273a7a1dd8fa6093615272a2d Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 14 一月 2025 09:47:48 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java |   78 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 72 insertions(+), 6 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java
index be82191..ef8aa92 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java
@@ -8,13 +8,16 @@
 import com.doumee.core.model.LoginUserModel;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
-import com.doumee.dao.business.ApproveParamMapper;
-import com.doumee.dao.business.PlatformLogMapper;
-import com.doumee.dao.business.YwQuickModelMapper;
-import com.doumee.dao.business.model.YwQuickModel;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.vo.MonthDataResponse;
+import com.doumee.dao.business.vo.WorkDeskDataResponse;
+import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.Notices;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.WorkbenchesService;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.jsonwebtoken.lang.Objects;
 import io.swagger.models.auth.In;
 import org.apache.tomcat.util.bcel.classfile.Constant;
@@ -37,6 +40,18 @@
 
     @Autowired
     private YwQuickModelMapper ywQuickModelMapper;
+
+    @Autowired
+    private YwWorkorderMapper ywWorkorderMapper;
+
+    @Autowired
+    private NoticesJoinMapper noticesJoinMapper;
+
+    @Autowired
+    private YwPatrolTaskMapper ywPatrolTaskMapper;
+
+    @Autowired
+    private YwStocktakingMapper ywStocktakingMapper;
 
 
 
@@ -92,19 +107,70 @@
     public List<MonthDataResponse> getMonthNotices(String yearMonth, LoginUserInfo loginUserInfo){
         List<String> dataList = DateUtil.getDayByMonth(yearMonth);
         List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
+        List<Notices> noticesList = noticesJoinMapper.selectList(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getUserId,loginUserInfo.getId())
+                .eq(Notices::getIsdeleted,Constants.ZERO)
+                .eq(Notices::getStatus,Constants.ZERO)
+        );
         for (String str:dataList) {
             MonthDataResponse  monthDataResponse = new MonthDataResponse();
             monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
             monthDataResponse.setMonthDate(str);
-
+            if(CollectionUtils.isNotEmpty(noticesList)){
+                monthDataResponse.setNoticeList(noticesList.stream().filter(i->i.getParam1().equals(str)).collect(Collectors.toList()));
+            }
             monthDataResponseList.add(monthDataResponse);
         }
         return monthDataResponseList;
-
     }
 
 
 
+    @Override
+    public WorkDeskDataResponse workDeskData(LoginUserInfo loginUserInfo){
+        WorkDeskDataResponse workDeskDataResponse = new WorkDeskDataResponse();
+        workDeskDataResponse.setWaitDealWorkOrderSize(Constants.ZERO);
+        workDeskDataResponse.setTimeOutSize(Constants.ZERO);
+        workDeskDataResponse.setStocktakingSize(Constants.ZERO);
+        workDeskDataResponse.setWaitTaskSize(Constants.ZERO);
+
+        List<YwPatrolTask> ywPatrolTaskList = ywPatrolTaskMapper.selectJoinList(YwPatrolTask.class,new MPJLambdaWrapper<YwPatrolTask>()
+                .selectAll(YwPatrolTask.class)
+                .selectAs(YwPatrolScheme::getCode,YwPatrolTask::getPlanCode)
+                .selectAs(YwPatrolScheme::getTitle,YwPatrolTask::getPlanTitle)
+                .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
+                .eq(YwPatrolTask::getIsdeleted, Constants.ZERO)
+                .eq(YwPatrolScheme::getStatus, Constants.ZERO)
+                .in(YwPatrolTask::getStatus, Constants.ZERO, Constants.ONE)
+                .le(YwPatrolTask::getEndDate,DateUtil.getCurrDateTime())
+                .apply(" find_in_set( "+loginUserInfo.getId()+" , t1.USER_IDS ) ")
+        );
+        Integer waitTaskSize = ywPatrolTaskList.size();
+        Integer timeOutSize = Constants.ZERO;
+        if(CollectionUtils.isNotEmpty(ywPatrolTaskList)){
+            timeOutSize = ywPatrolTaskList.stream().filter(i->(Constants.equalsInteger(i.getStatus(),Constants.ZERO) || Constants.equalsInteger(i.getStatus(),Constants.ONE) ) &&
+                    i.getEndDate().getTime()<System.currentTimeMillis()).collect(Collectors.toList()).size();
+        }
+
+        long waitDealWorkOrderSize = ywWorkorderMapper.selectCount(new QueryWrapper<YwWorkorder>().lambda()
+                .eq(YwWorkorder::getIsdeleted, Constants.ZERO)
+                .eq(YwWorkorder::getStatus,Constants.ZERO)
+                .eq(YwWorkorder::getDealStatus,Constants.ONE)
+                .eq(YwWorkorder::getDealUserId,loginUserInfo.getId())
+        );
+
+        long stocktakingSize = ywStocktakingMapper.selectCount(new QueryWrapper<YwStocktaking>().lambda()
+                .eq(YwStocktaking::getIsdeleted,Constants.ZERO)
+                .eq(YwStocktaking::getUserId,loginUserInfo.getId())
+                .in(YwStocktaking::getStatus, Constants.ZERO, Constants.ONE)
+        );
+        workDeskDataResponse.setTimeOutSize(timeOutSize);
+        workDeskDataResponse.setWaitTaskSize(waitTaskSize);
+        workDeskDataResponse.setWaitDealWorkOrderSize(waitDealWorkOrderSize);
+        workDeskDataResponse.setStocktakingSize(stocktakingSize);
+        return workDeskDataResponse;
+    }
+
 
 
 

--
Gitblit v1.9.3