From a9ca0823ab8f33ca85abebcf6ec4a8da235adb49 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 30 一月 2024 14:36:49 +0800
Subject: [PATCH] 开发业务接口

---
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java |  263 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 200 insertions(+), 63 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 a53a69d..c14e455 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
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
@@ -12,10 +13,12 @@
 import com.doumee.dao.business.DuSolutionMapper;
 import com.doumee.dao.business.DuWorktypeMapper;
 import com.doumee.dao.business.dto.*;
+import com.doumee.dao.business.join.DispatchUnitJoinMapper;
 import com.doumee.dao.business.join.DuLogJoinMapper;
 import com.doumee.dao.business.join.DuSolutionJoinMapper;
 import com.doumee.dao.business.join.DuWorkTypeJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.DispatchUnitService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -31,6 +34,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 娲鹃仯鍗曚綅淇℃伅琛⊿ervice瀹炵幇
@@ -42,6 +46,9 @@
 
     @Autowired
     private DispatchUnitMapper dispatchUnitMapper;
+
+    @Autowired
+    private DispatchUnitJoinMapper dispatchUnitJoinMapper;
 
     @Autowired
     private DuSolutionMapper duSolutionMapper;
@@ -61,6 +68,9 @@
     @Autowired
     private DuWorkTypeJoinMapper duWorkTypeJoinMapper;
 
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public Integer checkWorktype(DispatchUnit param) {
@@ -72,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();
@@ -92,7 +102,7 @@
         dispatchUnitMapper.updateById(update);
         if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){
             //瀹℃牳閫氳繃锛屼慨鏀圭姸鎬侊紝浜х敓鍘嗗彶鐗堟湰
-            newVersionData(model,update);
+            newVersionData(dispatchUnitMapper.selectById(param.getId()),update);
         }else{
             //鏇存柊鏄庣粏鏁版嵁涓哄鏍稿け璐�
             duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
@@ -125,7 +135,20 @@
         List<DuWorktype> newWorktypes = new ArrayList<>();
         List<DuSolution> solutions = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda()
                 .eq(DuSolution::getIsdeleted,Constants.ZERO)
-                .eq(DuSolution::getDispatchUnitId,model.getSolutionId()));
+                .eq(DuSolution::getDispatchUnitId,model.getId()));
+
+        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())
+        );
+
+
+
         if(solutions == null || solutions.size() ==0){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶆湭璁剧疆鏂规宸ョ淇℃伅锛屽鏍搁�氳繃澶辫触锛�");
         }
@@ -141,9 +164,21 @@
             List<DuWorktype> worktypes = duWorktypeMapper.selectList(new QueryWrapper<DuWorktype>().lambda()
                     .eq(DuWorktype::getIsdeleted,Constants.ZERO)
                     .eq(DuWorktype::getDuSolutionId,s.getId()));
+
+            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()));
+
             if(worktypes == null || worktypes.size() ==0){
                 throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶆柟妗堝瓨鍦ㄦ柟妗堟槸鏈缃伐绉嶄俊鎭俊鎭紝瀹℃牳閫氳繃澶辫触锛�");
             }
+
+
             for (DuWorktype w : worktypes) {
                 DuWorktype nw = new DuWorktype();
                 BeanUtils.copyProperties(w, nw);
@@ -166,39 +201,64 @@
     public Integer check(DispatchUnit param) {
         if(Objects.isNull(param)
                 ||Objects.isNull(param.getId())
-                ||param.getStatus() == null
-                ||!(param.getStatus() ==Constants.ONE || param.getStatus() == Constants.TWO)){
+                ||param.getUnitStatus() == null
+                ||!(param.getUnitStatus() ==Constants.ONE || param.getUnitStatus() == Constants.TWO)){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         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.ZERO)){
+        if(!Constants.equalsInteger(model.getUnitStatus(),Constants.ZERO)){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶅伐绉嶅凡瀹℃牳锛岃鍕块噸澶嶆彁浜");
         }
         DispatchUnit update = new DispatchUnit();
         update.setEditor(user.getId());
         update.setEditDate(new Date());
         update.setId(model.getId());
-        update.setStatus(param.getStatus());
-        update.setWorktypeStatus(param.getWorktypeStatus());
+        update.setUnitStatus(param.getUnitStatus());
+        update.setWorktypeStatus(param.getUnitStatus());
         update.setCheckDate(update.getEditDate());
         update.setCheckUserId(user.getId());
         update.setCheckInfo(param.getCheckInfo());
         dispatchUnitMapper.updateById(update);
-        if(Constants.equalsInteger(model.getStatus(),Constants.ONE)){
+        DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(param.getId());
+        if(Constants.equalsInteger(param.getUnitStatus(),Constants.ONE)){
             //瀹℃牳閫氳繃锛屼慨鏀圭姸鎬侊紝浜х敓鍘嗗彶鐗堟湰
-            newVersionData(model,update);
+            newVersionData(dispatchUnit,update);
+            //瀛樺偍鎿嶄綔鍘嗗彶
+            this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,null);
         }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()));
+            }
+
+            //瀛樺偍鎿嶄綔鍘嗗彶
+            this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_UN_PASS,update.getCheckInfo());
         }
         return  1;
     }
@@ -247,11 +307,19 @@
         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.UPLOAD,null);
 
         List<SaveDuSolutionDTO> saveDuSolutionDTOList = saveDispatchUnitDTO.getSaveDuSolutionDTOList();
+
+        List<Integer> duSolutionIdS = saveDuSolutionDTOList.stream().map(m->m.getSolutionId()).collect(Collectors.toList());
+        HashSet<Integer> setDuSolutionIdS=new HashSet<>(duSolutionIdS);
+        if(duSolutionIdS.size()!=setDuSolutionIdS.size()){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏂规淇℃伅閲嶅");
+        }
+
         for (int i = 0; i < saveDuSolutionDTOList.size(); i++) {
             SaveDuSolutionDTO saveDuSolutionDTO = saveDuSolutionDTOList.get(i);
             DuSolution duSolution = new DuSolution();
             duSolution.setCreateDate(new Date());
             duSolution.setCreator(loginUserInfo.getId());
+            duSolution.setStatus(Constants.ZERO);
             duSolution.setIsdeleted(Constants.ZERO);
             duSolution.setDispatchUnitId(dispatchUnit.getId());
             duSolution.setSortnum(i);
@@ -259,6 +327,13 @@
             duSolutionMapper.insert(duSolution);
 
             List<SaveDuWorkTypeDTO> saveDuWorkTypeDTOList = saveDuSolutionDTO.getSaveDuWorkTypeDTOList();
+
+            List<Integer> duWorkTypeIdS = saveDuWorkTypeDTOList.stream().map(m->m.getWorkTypeId()).collect(Collectors.toList());
+            HashSet<Integer> setDuWorkTypeIdS=new HashSet<>(duWorkTypeIdS);
+            if(duWorkTypeIdS.size()!=setDuWorkTypeIdS.size()){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓嬪瓨鍦ㄩ噸澶嶅伐绉嶏紒");
+            }
+
             if(!CollectionUtils.isNotEmpty(saveDuSolutionDTOList)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓嬫湭閫夋嫨宸ョ锛�");
             }
@@ -269,6 +344,7 @@
                 duWorktype.setCreator(loginUserInfo.getId());
                 duWorktype.setIsdeleted(Constants.ZERO);
                 duWorktype.setDuSolutionId(duSolution.getId());
+                duWorktype.setStatus(Constants.ZERO);
                 duWorktype.setSortnum(j);
                 duWorktype.setWorkTypeId(saveDuWorkTypeDTO.getWorkTypeId());
                 duWorktype.setVideoUrl(saveDuWorkTypeDTO.getVideoUrl());
@@ -285,7 +361,6 @@
     public Integer editDispatchUnit(SaveDispatchUnitDTO saveDispatchUnitDTO) {
         if(Objects.isNull(saveDispatchUnitDTO)
                 ||Objects.isNull(saveDispatchUnitDTO.getId())
-                || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList())
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -314,7 +389,6 @@
         dispatchUnit.setContent(saveDispatchUnitDTO.getContent());
         dispatchUnit.setName(saveDispatchUnitDTO.getName());
         dispatchUnit.setUnitStatus(Constants.ZERO);
-        dispatchUnit.setWorktypeStatus(Constants.ZERO);
         dispatchUnit.setEditDate(new Date());
         dispatchUnit.setEditor(loginUserInfo.getId());
         dispatchUnitMapper.updateById(dispatchUnit);
@@ -322,7 +396,7 @@
         //瀛樺偍鎿嶄綔璁板綍
         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null);
 
-        this.dealDuData(saveDispatchUnitDTO,loginUserInfo);
+//        this.dealDuData(saveDispatchUnitDTO,loginUserInfo);
 
         return dispatchUnit.getId();
     }
@@ -338,7 +412,7 @@
     public Integer createSolution(SaveDispatchUnitDTO saveDispatchUnitDTO) {
         if(Objects.isNull(saveDispatchUnitDTO)
                 ||Objects.isNull(saveDispatchUnitDTO.getId())
-                || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList())
+                || !CollectionUtils.isNotEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList())
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -363,7 +437,10 @@
         List<SaveDuSolutionDTO> saveDuSolutionDTOList = saveDispatchUnitDTO.getSaveDuSolutionDTOList();
         for (int i = 0; i < saveDuSolutionDTOList.size(); i++) {
             SaveDuSolutionDTO saveDuSolutionDTO = saveDuSolutionDTOList.get(i);
-            DuSolution duSolution = duSolutionMapper.selectOne(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId())
+            if(Objects.isNull(saveDuSolutionDTO.getSolutionId())){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓嬮�夋嫨鏂规淇℃伅寮傚父锛�");
+            }
+            DuSolution duSolution = duSolutionMapper.selectOne(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDispatchUnitDTO.getId())
                     .eq(DuSolution::getIsdeleted,Constants.ZERO)
                     .eq(DuSolution::getSolutionId,saveDuSolutionDTO.getSolutionId()).last("limit 1"));
             Integer duSolutionNum = duSolutionMapper.selectCount(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId()));
@@ -372,6 +449,7 @@
                 duSolution.setCreateDate(new Date());
                 duSolution.setCreator(loginUserInfo.getId());
                 duSolution.setIsdeleted(Constants.ZERO);
+                duSolution.setStatus(Constants.ZERO);
                 duSolution.setDispatchUnitId(saveDispatchUnitDTO.getId());
                 duSolution.setSortnum(duSolutionNum + i);
                 duSolution.setSolutionId(saveDuSolutionDTO.getSolutionId());
@@ -383,10 +461,14 @@
             }
             for (int j = 0; j < saveDuWorkTypeDTOList.size(); j++) {
                 SaveDuWorkTypeDTO saveDuWorkTypeDTO = saveDuWorkTypeDTOList.get(j);
-                if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId())
+                if(Objects.isNull(saveDuWorkTypeDTO.getWorkTypeId())){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶄俊鎭紓甯�");
+                }
+                if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>()
+                        .lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId())
                         .eq(DuWorktype::getIsdeleted,Constants.ZERO)
                         .eq(DuWorktype::getWorkTypeId,saveDuWorkTypeDTO.getWorkTypeId()))>0){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶅凡瀛樺湪宸ョ宸插瓨鍦�");
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶅凡瀛樺湪");
                 }
                 Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId()));
                 DuWorktype duWorktype = new DuWorktype();
@@ -394,6 +476,7 @@
                 duWorktype.setCreator(loginUserInfo.getId());
                 duWorktype.setIsdeleted(Constants.ZERO);
                 duWorktype.setDuSolutionId(duSolution.getId());
+                duWorktype.setStatus(Constants.ZERO);
                 duWorktype.setSortnum(duWorkTypeNum + j);
                 duWorktype.setWorkTypeId(saveDuWorkTypeDTO.getWorkTypeId());
                 duWorktype.setVideoUrl(saveDuWorkTypeDTO.getVideoUrl());
@@ -587,77 +670,98 @@
         QueryWrapper<DispatchUnit> wrapper = new QueryWrapper<>(dispatchUnit);
         return dispatchUnitMapper.selectList(wrapper);
     }
-  
+
+
     @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());
+        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)) {
@@ -666,7 +770,8 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        return PageData.from(dispatchUnitMapper.selectPage(page, queryWrapper));
+        PageData<DispatchUnit> pageData = PageData.from(dispatchUnitJoinMapper.selectJoinPage(page,DispatchUnit.class, queryWrapper));
+        return pageData;
     }
 
     @Override
@@ -678,14 +783,19 @@
 
     @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>()
                         .selectAll(DuSolution.class)
                         .selectAs(Solutions::getName,DuSolution::getSolutionName)
                         .leftJoin(Solutions.class,Solutions::getId,DuSolution::getSolutionId)
-                        .eq(DuSolution::getSolutionId,dispatchUnit.getId())
+                        .eq(DuSolution::getDispatchUnitId,dispatchUnit.getId())
                         .orderByAsc(DuSolution::getSortnum)
         );
         if(CollectionUtils.isNotEmpty(duSolutionList)){
@@ -698,6 +808,14 @@
                                 .leftJoin(Worktype.class,Worktype::getId,DuWorktype::getWorkTypeId)
                                 .eq(DuWorktype::getDuSolutionId,duSolution.getId())
                 );
+                if(CollectionUtils.isNotEmpty(duWorkTypeList)){
+                    String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.DU_FILE).getCode();
+                    duWorkTypeList.forEach(i->{
+                        if(StringUtils.isNotBlank(i.getVideoUrl())){
+                            i.setVideoUrlFull(path + i.getVideoUrl());
+                        }
+                    });
+                }
                 duSolution.setDuWorktypeList(duWorkTypeList);
             }
             dispatchUnit.setDuSolutionList(duSolutionList);
@@ -706,10 +824,11 @@
         List<DuLog> duLogList = duLogJoinMapper.selectJoinList(DuLog.class,
                 new MPJLambdaWrapper<DuLog>()
                         .selectAll(DuLog.class)
-                        .selectAs(Member::getName,DuLog::getCreatorName)
+                        .selectAs(SystemUser::getType,DuLog::getCreatorType)
+                        .selectAs(SystemUser::getRealname,DuLog::getCreatorName)
                         .selectAs(Company::getName,DuLog::getCompanyName)
-                        .leftJoin(Member.class,Member::getId,DuLog::getCreator)
-                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+                        .leftJoin(SystemUser.class,SystemUser::getId,DuLog::getCreator)
+                        .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                         .eq(DuLog::getDuId,dispatchUnit.getId())
                         .orderByAsc(DuLog::getCreateDate)
         );
@@ -725,17 +844,35 @@
     @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.solutionId = "+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 = 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(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())
+                        .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 ")
         );
+
+
+
         return dispatchUnitList;
     }
 

--
Gitblit v1.9.3