From 50fb58286ed3b718c39a97e0987ee7561a295651 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 04 七月 2025 17:56:41 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 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 874e23a..d8dd059 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
@@ -143,10 +143,12 @@
                     .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
                     .eq(DispatchUnit::getBaseId,model.getId()));
             BeanUtils.copyProperties(model, newVersion);
+            newVersion.setId(null);
             newVersion.setWorktypeStatus(Constants.ONE);
             newVersion.setCheckDate(update.getEditDate());
             newVersion.setCheckUserId(update.getCheckUserId());
             newVersion.setCheckInfo(update.getCheckInfo());
+            newVersion.setStatus(Constants.ZERO);
             newVersion.setCreateDate(update.getCreateDate());
             newVersion.setCreator(update.getEditor());
             newVersion.setBaseId(model.getId());
@@ -184,6 +186,7 @@
         for (DuSolution s : solutions){
             DuSolution ns = new DuSolution();
             BeanUtils.copyProperties(s, ns);
+            ns.setId(null);
             ns.setDispatchUnitId(newVersion.getId());
             ns.setCheckDate(update.getEditDate());
             ns.setStatus(Constants.ONE);
@@ -209,8 +212,13 @@
 
 
             for (DuWorktype w : worktypes) {
+                if(Constants.equalsInteger(w.getStatus(),Constants.TWO)){
+                    continue;
+                }
                 DuWorktype nw = new DuWorktype();
                 BeanUtils.copyProperties(w, nw);
+                nw.setId(null);
+                nw.setCreateDate(new Date());
                 nw.setCheckDate(update.getEditDate());
                 nw.setStatus(Constants.ONE);
                 nw.setDuSolutionId(ns.getId());
@@ -221,7 +229,7 @@
         }
         if(newWorktypes!=null &&newWorktypes.size()>0){
             //鎵归噺鏌ヨ宸ョ鍏宠仈璁板綍
-            duWorktypeMapper.insertBatchSomeColumn(newWorktypes);
+            duWorktypeMapper.insert(newWorktypes);
         }
     }
 
@@ -284,7 +292,6 @@
         //鍒犻櫎鍏朵粬寰呭姙
         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
 
-
         return  1;
     }
     @Override
@@ -301,6 +308,7 @@
                 .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                 .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+                .eq(DispatchUnit::getDataType,Constants.ZERO)
         )> Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪");
         };
@@ -408,6 +416,7 @@
                 .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                 .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+                .eq(DispatchUnit::getDataType,Constants.ZERO)
         )> Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪");
         };
@@ -492,7 +501,7 @@
             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()));
+            Integer duSolutionNum = duSolutionMapper.selectCount(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId())).intValue();
             if(Objects.isNull(duSolution)){
                 duSolution = new DuSolution();
                 duSolution.setCreateDate(new Date());
@@ -524,7 +533,7 @@
                         .eq(DuWorktype::getWorkTypeId,saveDuWorkTypeDTO.getWorkTypeId()))>0){
                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶅凡瀛樺湪");
                 }
-                Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId()));
+                Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId())).intValue();
                 DuWorktype duWorktype = new DuWorktype();
                 duWorktype.setCreateDate(new Date());
                 duWorktype.setCreator(loginUserInfo.getId());
@@ -676,7 +685,20 @@
 
     @Override
     public void deleteById(Integer id) {
-        dispatchUnitMapper.deleteById(id);
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id);
+        if(Objects.isNull(dispatchUnit)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(dispatchUnit.getUnitStatus().equals(Constants.TWO)){
+            dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda()
+                            .set(DispatchUnit::getEditor,loginUserInfo.getId())
+                        .set(DispatchUnit::getEditDate,new Date())
+                    .set(DispatchUnit::getIsdeleted,Constants.ONE)
+                    .eq(DispatchUnit::getId,id));
+        }else{
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠娲鹃仯鍗曚綅鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
+        }
     }
 
     @Override
@@ -696,6 +718,14 @@
     @Override
     public void updateById(DispatchUnit dispatchUnit) {
         dispatchUnitMapper.updateById(dispatchUnit);
+        //鏇存柊鍘嗗彶琛ㄧ姸鎬�
+        if(Objects.nonNull(dispatchUnit.getId())&& Objects.nonNull(dispatchUnit.getStatus())){
+            dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda()
+                    .set(DispatchUnit::getStatus,dispatchUnit.getStatus())
+                    .eq(DispatchUnit::getDataType,Constants.TWO)
+                    .eq(DispatchUnit::getBaseId,dispatchUnit.getId())
+            );
+        }
     }
 
     @Override
@@ -853,7 +883,9 @@
                         .selectAll(DuSolution.class)
                         .selectAs(Solutions::getName,DuSolution::getSolutionName)
                         .leftJoin(Solutions.class,Solutions::getId,DuSolution::getSolutionId)
+                        .leftJoin(CompanySolution.class,CompanySolution::getSolutionId,Solutions::getId)
                         .eq(DuSolution::getDispatchUnitId,dispatchUnit.getId())
+                        .eq(CompanySolution::getCompanyId,dispatchUnit.getCompanyId())
                         .orderByAsc(DuSolution::getSortnum)
         );
         if(CollectionUtils.isNotEmpty(duSolutionList)){
@@ -906,8 +938,9 @@
                 new MPJLambdaWrapper<DispatchUnit>().selectAll(DispatchUnit.class)
                         .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" )
+                        .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()+"  order by b.CHECK_DATE desc  limit 1) as du_solution_id" )
                         .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
+                        .eq(Objects.nonNull(dispatchUnitQueryDTO.getCompanyId()),DispatchUnit::getCompanyId,dispatchUnitQueryDTO.getCompanyId())
                         .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
                         .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
                         .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),

--
Gitblit v1.9.3