From 2fe8bdc756dca24e7b62b99423b64c9b674faa9d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 07 六月 2024 17:33:58 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 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 3e7672d..357be91 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
@@ -404,6 +404,7 @@
         }
         if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda()
                 .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId())
+                .ne(DispatchUnit::getBaseId,saveDispatchUnitDTO.getId())
                 .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                 .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
                 .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
@@ -417,6 +418,11 @@
         dispatchUnit.setEditDate(new Date());
         dispatchUnit.setEditor(loginUserInfo.getId());
         dispatchUnitMapper.updateById(dispatchUnit);
+
+        dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda().set(DispatchUnit::getDataType,Constants.ONE).eq(DispatchUnit::getBaseId,dispatchUnit.getId())
+                .eq(DispatchUnit::getDataType,Constants.TWO)
+        );
+
 
         //瀛樺偍鎿嶄綔璁板綍
         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null);
@@ -670,7 +676,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
@@ -900,7 +919,7 @@
                 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.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
                         .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())

--
Gitblit v1.9.3