From 15e588eb6a7549ecd2aaffb45e67f11e68354eb6 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 05 二月 2024 18:22:19 +0800
Subject: [PATCH] 111

---
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java |  223 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 144 insertions(+), 79 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index 46b2958..649f103 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -8,10 +8,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.DispatchUnitMapper;
-import com.doumee.dao.business.DuLogMapper;
-import com.doumee.dao.business.DuSolutionMapper;
-import com.doumee.dao.business.DuWorktypeMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.dto.*;
 import com.doumee.dao.business.join.DispatchUnitJoinMapper;
 import com.doumee.dao.business.join.DuLogJoinMapper;
@@ -71,6 +68,9 @@
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
 
+    @Autowired
+    private NoticesMapper noticesMapper;
+
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public Integer checkWorktype(DispatchUnit param) {
@@ -82,13 +82,13 @@
         }
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         DispatchUnit model = dispatchUnitMapper.selectById(param.getId());
-        if(Objects.isNull(model) || Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ||!Constants.equalsInteger(model.getDataType(),Constants.ZERO)){
+        if(Objects.isNull(model) || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ||!Constants.equalsInteger(model.getDataType(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅淇℃伅");
         }
-        if(!Constants.equalsInteger(model.getStatus(),Constants.ONE)){
+        if(!Constants.equalsInteger(model.getUnitStatus(),Constants.ONE)){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶅皻鏈鏍搁�氳繃锛屼笉鏀寔璇ユ搷浣滐紒");
         }
-        if(Constants.equalsInteger(model.getWorktypeStatus(),Constants.ZERO)){
+        if(!Constants.equalsInteger(model.getWorktypeStatus(),Constants.ZERO)){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶅伐绉嶅凡瀹℃牳锛岃鍕块噸澶嶆彁浜");
         }
         DispatchUnit update = new DispatchUnit();
@@ -103,6 +103,9 @@
         if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){
             //瀹℃牳閫氳繃锛屼慨鏀圭姸鎬侊紝浜х敓鍘嗗彶鐗堟湰
             newVersionData(dispatchUnitMapper.selectById(param.getId()),update);
+            //瀛樺偍鎿嶄綔鍘嗗彶
+            this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_PASS,update.getCheckInfo());
+
         }else{
             //鏇存柊鏄庣粏鏁版嵁涓哄鏍稿け璐�
             duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
@@ -111,7 +114,25 @@
                     .set(DuSolution::getCheckUserId,update.getCheckUserId())
                     .set(DuSolution::getCheckInfo,update.getCheckInfo())
                     .eq(DuSolution::getDispatchUnitId,update.getId()));
+
+            duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
+                    .set(DuWorktype::getStatus,Constants.TWO)
+                    .set(DuWorktype::getCheckUserId,update.getCheckUserId())
+                    .set(DuWorktype::getCheckInfo,update.getCheckInfo())
+                    .set(DuWorktype::getCheckDate,new Date() )
+                    .eq(DuWorktype::getIsdeleted,Constants.ZERO)
+                    .eq(DuWorktype::getStatus,Constants.ZERO)
+                    .eq(DuWorktype::getDispatchUnitId,update.getId()));
+            //瀛樺偍鎿嶄綔鍘嗗彶
+            this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_UN_PASS,update.getCheckInfo());
         }
+
+
+        //瀛樺偍寰呭姙淇℃伅
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+        //鍒犻櫎鍏朵粬寰呭姙
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+
         return  1;
     }
 
@@ -139,6 +160,9 @@
 
         duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
                         .set(DuSolution::getStatus,Constants.ONE)
+                .set(DuSolution::getCheckDate,update.getEditDate() )
+                .set(DuSolution::getCheckUserId,update.getCheckUserId())
+                .set(DuSolution::getCheckInfo,update.getCheckInfo())
                 .eq(DuSolution::getIsdeleted,Constants.ZERO)
                 .eq(DuSolution::getStatus,Constants.ZERO)
                 .eq(DuSolution::getDispatchUnitId,model.getId())
@@ -164,6 +188,9 @@
 
             duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
                     .set(DuWorktype::getStatus,Constants.ONE)
+                    .set(DuWorktype::getCheckDate,update.getEditDate())
+                    .set(DuWorktype::getCheckUserId,update.getCheckUserId())
+                    .set(DuWorktype::getCheckInfo,update.getCheckInfo())
                     .eq(DuWorktype::getIsdeleted,Constants.ZERO)
                     .eq(DuWorktype::getStatus,Constants.ZERO)
                     .eq(DuWorktype::getDuSolutionId,s.getId()));
@@ -212,7 +239,7 @@
         update.setEditDate(new Date());
         update.setId(model.getId());
         update.setUnitStatus(param.getUnitStatus());
-        update.setWorktypeStatus(param.getWorktypeStatus());
+        update.setWorktypeStatus(param.getUnitStatus());
         update.setCheckDate(update.getEditDate());
         update.setCheckUserId(user.getId());
         update.setCheckInfo(param.getCheckInfo());
@@ -222,38 +249,34 @@
             //瀹℃牳閫氳繃锛屼慨鏀圭姸鎬侊紝浜х敓鍘嗗彶鐗堟湰
             newVersionData(dispatchUnit,update);
             //瀛樺偍鎿嶄綔鍘嗗彶
-            this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,null);
+            this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,update.getCheckInfo());
         }else{
             //鏇存柊鏄庣粏鏁版嵁涓哄鏍稿け璐�
             duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
-                    .set(DuSolution::getCheckDate,new Date() )
                     .set(DuSolution::getStatus,Constants.TWO)
+                    .set(DuSolution::getCheckDate,new Date() )
                     .set(DuSolution::getCheckUserId,update.getCheckUserId())
                     .set(DuSolution::getCheckInfo,update.getCheckInfo())
                     .eq(DuSolution::getDispatchUnitId,update.getId()));
 
-
-            List<DuSolution> solutions = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda()
-                    .eq(DuSolution::getIsdeleted,Constants.ZERO)
-                    .eq(DuSolution::getDispatchUnitId,model.getId()));
-
-            if(solutions == null || solutions.size() ==0){
-                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶆湭璁剧疆鏂规宸ョ淇℃伅锛屽鏍搁�氳繃澶辫触锛�");
-            }
-            for (DuSolution s : solutions){
-                duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
-                        .set(DuWorktype::getStatus,Constants.TWO)
-                        .set(DuWorktype::getCheckUserId,update.getCheckUserId())
-                        .set(DuWorktype::getCheckInfo,update.getCheckInfo())
-                        .set(DuWorktype::getCheckDate,new Date() )
-                        .eq(DuWorktype::getIsdeleted,Constants.ZERO)
-                        .eq(DuWorktype::getStatus,Constants.ZERO)
-                        .eq(DuWorktype::getDuSolutionId,s.getId()));
-            }
-
+            duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
+                    .set(DuWorktype::getStatus,Constants.TWO)
+                    .set(DuWorktype::getCheckUserId,update.getCheckUserId())
+                    .set(DuWorktype::getCheckInfo,update.getCheckInfo())
+                    .set(DuWorktype::getCheckDate,new Date() )
+                    .eq(DuWorktype::getIsdeleted,Constants.ZERO)
+                    .eq(DuWorktype::getStatus,Constants.ZERO)
+                    .eq(DuWorktype::getDispatchUnitId,update.getId()));
             //瀛樺偍鎿嶄綔鍘嗗彶
             this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_UN_PASS,update.getCheckInfo());
         }
+
+        //瀛樺偍寰呭姙淇℃伅
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+        //鍒犻櫎鍏朵粬寰呭姙
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+
+
         return  1;
     }
     @Override
@@ -340,12 +363,23 @@
                 duWorktype.setDuSolutionId(duSolution.getId());
                 duWorktype.setStatus(Constants.ZERO);
                 duWorktype.setSortnum(j);
+                duWorktype.setDispatchUnitId(dispatchUnit.getId());
                 duWorktype.setWorkTypeId(saveDuWorkTypeDTO.getWorkTypeId());
                 duWorktype.setVideoUrl(saveDuWorkTypeDTO.getVideoUrl());
                 duWorktype.setStatus2(Constants.ZERO);
                 duWorktypeMapper.insert(duWorktype);
             }
         }
+
+
+        //瀛樺偍寰呭姙淇℃伅
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+        //鍒犻櫎鍏朵粬寰呭姙
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+        Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(),
+                dispatchUnit.getCompanyId(), Constants.NoticeType.ZERO);
+        noticesMapper.insert(notices);
+
         return dispatchUnit.getId();
     }
 
@@ -392,6 +426,15 @@
 
 //        this.dealDuData(saveDispatchUnitDTO,loginUserInfo);
 
+
+        //瀛樺偍寰呭姙淇℃伅
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+        //鍒犻櫎鍏朵粬寰呭姙
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+        Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(),
+                dispatchUnit.getCompanyId(), Constants.NoticeType.ZERO);
+        noticesMapper.insert(notices);
+
         return dispatchUnit.getId();
     }
 
@@ -423,6 +466,15 @@
         //瀛樺偍鎿嶄綔鍘嗗彶
         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.ADD_WORK_TYPE,null);
         this.dealDuData(saveDispatchUnitDTO,loginUserInfo);
+
+        //瀛樺偍寰呭姙淇℃伅
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+        //鍒犻櫎鍏朵粬寰呭姙
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+        Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(),
+                dispatchUnit.getCompanyId(), Constants.NoticeType.ONE);
+        noticesMapper.insert(notices);
+
         return dispatchUnit.getId();
     }
 
@@ -472,6 +524,7 @@
                 duWorktype.setDuSolutionId(duSolution.getId());
                 duWorktype.setStatus(Constants.ZERO);
                 duWorktype.setSortnum(duWorkTypeNum + j);
+                duWorktype.setDispatchUnitId(saveDispatchUnitDTO.getId());
                 duWorktype.setWorkTypeId(saveDuWorkTypeDTO.getWorkTypeId());
                 duWorktype.setVideoUrl(saveDuWorkTypeDTO.getVideoUrl());
                 duWorktype.setStatus2(Constants.ZERO);
@@ -502,7 +555,7 @@
         if(Objects.isNull(dispatchUnit)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅淇℃伅");
         }
-        //娲鹃仯鍗曚綅瀹℃壒
+        //娲鹃仯鍗曚綅瀹℃牳
         if(dispatchUnitAuditDTO.getAuditType().equals(Constants.ZERO)){
             if(dispatchUnit.getStatus().equals(Constants.ONE)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"娲鹃仯鍗曚綅淇℃伅宸插鏍�");
@@ -669,74 +722,93 @@
     @Override
     public PageData<DispatchUnit> findPage(PageWrap<DispatchUnit> pageWrap) {
         IPage<DispatchUnit> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<DispatchUnit> queryWrapper = new QueryWrapper<>();
+        if(pageWrap.getModel().getDataType() ==null){
+            pageWrap.getModel().setDataType(Constants.ZERO);
+        }
+
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         Utils.MP.blankToNull(pageWrap.getModel());
-        queryWrapper.lambda().eq(DispatchUnit::getIsdeleted,Constants.ZERO);
+        MPJLambdaWrapper<DispatchUnit>  queryWrapper =    new MPJLambdaWrapper<DispatchUnit>();
+        queryWrapper.selectAll(DispatchUnit.class)
+                .selectAs(Company::getName,DispatchUnit::getCompanyName)
+                .leftJoin(Company.class,Company::getId,DispatchUnit::getCompanyId);
+        queryWrapper.eq(DispatchUnit::getIsdeleted,Constants.ZERO);
+        if(Constants.equalsInteger(user.getType(),Constants.ZERO)){
+            //鍙兘鐪嬫潈闄愯寖鍥村唴
+            if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){
+                queryWrapper. eq(Company::getId,-1);//璁剧疆鏃犳晥璁块棶
+            }else {
+                queryWrapper. in(Company::getId, user.getCompanyIdList());
+            }
+        } else  {
+            //浼佷笟鐢ㄦ埛鍙湅鑷繁鐨勬暟鎹�
+            pageWrap.getModel().setCompanyId(user.getCompanyId());
+        }
         if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getId, pageWrap.getModel().getId());
+            queryWrapper.eq(DispatchUnit::getId, pageWrap.getModel().getId());
         }
         if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCreator, pageWrap.getModel().getCreator());
+            queryWrapper.eq(DispatchUnit::getCreator, pageWrap.getModel().getCreator());
         }
         if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(DispatchUnit::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(DispatchUnit::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+            queryWrapper.ge(DispatchUnit::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.le(DispatchUnit::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
         }
         if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getEditor, pageWrap.getModel().getEditor());
+            queryWrapper.eq(DispatchUnit::getEditor, pageWrap.getModel().getEditor());
         }
         if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(DispatchUnit::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(DispatchUnit::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+            queryWrapper.ge(DispatchUnit::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.le(DispatchUnit::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
         }
         if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getIsdeleted, pageWrap.getModel().getIsdeleted());
+            queryWrapper.eq(DispatchUnit::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getName, pageWrap.getModel().getName());
+            queryWrapper.like(DispatchUnit::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getRemark, pageWrap.getModel().getRemark());
+            queryWrapper.eq(DispatchUnit::getRemark, pageWrap.getModel().getRemark());
         }
         if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getStatus, pageWrap.getModel().getStatus());
+            queryWrapper.eq(DispatchUnit::getStatus, pageWrap.getModel().getStatus());
         }
         if (pageWrap.getModel().getUnitStatus() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getUnitStatus, pageWrap.getModel().getUnitStatus());
+            queryWrapper.eq(DispatchUnit::getUnitStatus, pageWrap.getModel().getUnitStatus());
         }
         if (pageWrap.getModel().getWorktypeStatus() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getWorktypeStatus, pageWrap.getModel().getWorktypeStatus());
+            queryWrapper.eq(DispatchUnit::getWorktypeStatus, pageWrap.getModel().getWorktypeStatus());
         }
         if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getSortnum, pageWrap.getModel().getSortnum());
+            queryWrapper.eq(DispatchUnit::getSortnum, pageWrap.getModel().getSortnum());
         }
         if (pageWrap.getModel().getCompanyId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCompanyId, pageWrap.getModel().getCompanyId());
+            queryWrapper.eq(DispatchUnit::getCompanyId, pageWrap.getModel().getCompanyId());
         }
         if (pageWrap.getModel().getPhone() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getPhone, pageWrap.getModel().getPhone());
+            queryWrapper.eq(DispatchUnit::getPhone, pageWrap.getModel().getPhone());
         }
         if (pageWrap.getModel().getLinkname() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getLinkname, pageWrap.getModel().getLinkname());
+            queryWrapper.eq(DispatchUnit::getLinkname, pageWrap.getModel().getLinkname());
         }
         if (pageWrap.getModel().getCheckDate() != null) {
-            queryWrapper.lambda().ge(DispatchUnit::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()));
-            queryWrapper.lambda().le(DispatchUnit::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()));
+            queryWrapper.ge(DispatchUnit::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()));
+            queryWrapper.le(DispatchUnit::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()));
         }
         if (pageWrap.getModel().getCheckInfo() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCheckInfo, pageWrap.getModel().getCheckInfo());
+            queryWrapper.eq(DispatchUnit::getCheckInfo, pageWrap.getModel().getCheckInfo());
         }
         if (pageWrap.getModel().getCheckUserId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCheckUserId, pageWrap.getModel().getCheckUserId());
+            queryWrapper.eq(DispatchUnit::getCheckUserId, pageWrap.getModel().getCheckUserId());
         }
         if (pageWrap.getModel().getVersion() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getVersion, pageWrap.getModel().getVersion());
+            queryWrapper.eq(DispatchUnit::getVersion, pageWrap.getModel().getVersion());
         }
         if (pageWrap.getModel().getDataType() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getDataType, pageWrap.getModel().getDataType());
+            queryWrapper.eq(DispatchUnit::getDataType, pageWrap.getModel().getDataType());
         }
         if (pageWrap.getModel().getBaseId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId());
+            queryWrapper.eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId());
         }
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -745,8 +817,8 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        PageData<DispatchUnit> dispatchUnitPageData = PageData.from(dispatchUnitMapper.selectPage(page, queryWrapper));
-        return dispatchUnitPageData;
+        PageData<DispatchUnit> pageData = PageData.from(dispatchUnitJoinMapper.selectJoinPage(page,DispatchUnit.class, queryWrapper));
+        return pageData;
     }
 
     @Override
@@ -758,7 +830,12 @@
 
     @Override
     public DispatchUnit detailById(Integer id) {
-        DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id);
+        DispatchUnit dispatchUnit = dispatchUnitJoinMapper.selectJoinOne(DispatchUnit.class,
+                new MPJLambdaWrapper<DispatchUnit>()
+                        .selectAll(DispatchUnit.class)
+                        .selectAs(Company::getName,DispatchUnit::getCompanyName)
+                        .leftJoin(Company.class,Company::getId,DispatchUnit::getCompanyId)
+                        .eq(DispatchUnit::getId,id) );
         //鏂规閰嶇疆琛�
         List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,
                 new MPJLambdaWrapper<DuSolution>()
@@ -794,6 +871,7 @@
         List<DuLog> duLogList = duLogJoinMapper.selectJoinList(DuLog.class,
                 new MPJLambdaWrapper<DuLog>()
                         .selectAll(DuLog.class)
+                        .selectAs(SystemUser::getType,DuLog::getCreatorType)
                         .selectAs(SystemUser::getRealname,DuLog::getCreatorName)
                         .selectAs(Company::getName,DuLog::getCompanyName)
                         .leftJoin(SystemUser.class,SystemUser::getId,DuLog::getCreator)
@@ -813,34 +891,21 @@
     @Override
     public List<DispatchUnit> findByDTO(DispatchUnitQueryDTO dispatchUnitQueryDTO) {
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-//        List<DispatchUnit> dispatchUnitList = dispatchUnitMapper.selectList(new QueryWrapper<DispatchUnit>().lambda()
-//                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
-//                .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
-//                .eq(DispatchUnit::getStatus,Constants.ZERO)
-//                .eq(DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
-//                .apply(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()), " id in ( select d.dispatch_unit_id from du_solution d where d.solution_id = "+dispatchUnitQueryDTO.getSolutionId()+"  ) " )
-//                .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()),
-//                        " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " +
-//                                " ad.du_id = t.id ")
-//                .orderByAsc(DispatchUnit::getSortnum)
-//        );
-
-
         List<DispatchUnit> dispatchUnitList  = dispatchUnitJoinMapper.selectJoinList(DispatchUnit.class,
                 new MPJLambdaWrapper<DispatchUnit>().selectAll(DispatchUnit.class)
-                        .selectAs(DuSolution::getId,DispatchUnit::getDuSolutionId)
-                        .leftJoin(DuSolution.class,DuSolution::getDispatchUnitId,DispatchUnit::getId)
                         .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+                        .eq(DispatchUnit::getStatus,Constants.ZERO)
+                        .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" limit 1) as du_solution_id" )
                         .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                         .eq(DispatchUnit::getStatus,Constants.ZERO)
-                        .eq(DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
-                        .eq(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),DuSolution::getSolutionId,dispatchUnitQueryDTO.getSolutionId())
+                        .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
+                        .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
+                        .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),
+                                "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and  b.solution_id="+dispatchUnitQueryDTO.getSolutionId() )
                         .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()),
                                 " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " +
-                                        " ad.du_id = t.id ")
+                                        " and ad.du_id = t.id ")
         );
-
-
 
         return dispatchUnitList;
     }

--
Gitblit v1.9.3