From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 06 六月 2025 19:19:34 +0800
Subject: [PATCH] 开发更新

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java |  126 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 112 insertions(+), 14 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..d30cd58 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
@@ -2,20 +2,28 @@
 
 import com.alibaba.druid.sql.visitor.functions.Concat;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.LoginUserModel;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
 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.core.utils.Utils;
+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 io.jsonwebtoken.lang.Objects;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
 import org.apache.tomcat.util.bcel.classfile.Constant;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +32,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -38,21 +47,44 @@
     @Autowired
     private YwQuickModelMapper ywQuickModelMapper;
 
+    @Autowired
+    private YwWorkorderMapper ywWorkorderMapper;
+
+    @Autowired
+    private NoticesJoinMapper noticesJoinMapper;
+
+    @Autowired
+    private YwPatrolTaskMapper ywPatrolTaskMapper;
+
+    @Autowired
+    private YwStocktakingMapper ywStocktakingMapper;
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
 
 
     @Override
     public List<YwQuickModel> getYwQuickList(LoginUserInfo loginUserInfo){
         List<YwQuickModel> ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda()
                 .eq(YwQuickModel::getIsdeleted, Constants.ZERO)
-                .eq(YwQuickModel::getUserId,loginUserInfo.getId())
+                .isNull(YwQuickModel::getUserId)
                 .orderByAsc(YwQuickModel::getSort)
         );
-        if(CollectionUtils.isEmpty(ywQuickModelList)){
-            ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda()
+        if(Objects.nonNull(loginUserInfo)){
+            List<YwQuickModel> userModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda()
                     .eq(YwQuickModel::getIsdeleted, Constants.ZERO)
-                    .isNull(YwQuickModel::getUserId)
+                    .eq(YwQuickModel::getUserId,loginUserInfo.getId())
                     .orderByAsc(YwQuickModel::getSort)
             );
+            if(CollectionUtils.isNotEmpty(userModelList)){
+                ywQuickModelList = userModelList;
+            }
+        }
+        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_QUICK_MODEL).getCode();
+        for (YwQuickModel ywQuickModel:ywQuickModelList) {
+            ywQuickModel.setIcoPath(path + ywQuickModel.getIcoPath());
         }
         return ywQuickModelList;
     }
@@ -65,7 +97,7 @@
                 .isNull(YwQuickModel::getUserId)
                 .orderByAsc(YwQuickModel::getSort)
         );
-        if(CollectionUtils.isEmpty(ywQuickModelList) || Constants.equalsInteger(idList.size(),ywQuickModelList.size())){
+        if(CollectionUtils.isEmpty(ywQuickModelList) ){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"蹇嵎妯″潡閰嶇疆寮傚父,璇疯仈绯荤鐞嗗憳");
         }
         ywQuickModelMapper.delete(new QueryWrapper<YwQuickModel>().lambda().eq(YwQuickModel::getUserId,loginUserInfo.getId()));
@@ -92,24 +124,90 @@
     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)
+                .like(Notices::getParam1,yearMonth)
+                .ne(Notices::getObjType,Constants.TWO)
+        );
         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;
+    }
 
 
 
-
-
+    @Override
+    public PageData<Notices> getMyNotices(PageWrap<Notices> pageWrap,LoginUserInfo loginUserInfo) {
+        IPage<Notices> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
+        Notices model = pageWrap.getModel();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.selectAll(Notices.class)
+                .eq(Notices::getUserId,loginUserInfo.getId())
+                .eq(Notices::getIsdeleted,Constants.ZERO)
+                .eq(Objects.nonNull(model)&&Objects.nonNull(model.getStatus()),Notices::getStatus,model.getStatus())
+                .apply(" param1 <= CURDATE() ")
+                .orderByAsc(Notices::getReaded)
+                .orderByDesc(Notices::getId);
+        PageData<Notices> pageData = PageData.from(noticesJoinMapper.selectJoinPage(page,Notices.class, queryWrapper));
+        return pageData;
+    }
 
 
 

--
Gitblit v1.9.3