From e622bd5e3b2638b9ab9a712ed1160a66018d6fd7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 22 二月 2024 09:21:15 +0800
Subject: [PATCH] mrshi

---
 server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++------
 1 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java
index 606b538..9e43698 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java
@@ -6,8 +6,12 @@
 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.DuWorktypeMapper;
+import com.doumee.dao.business.WorktypeMapper;
+import com.doumee.dao.business.model.DispatchUnit;
 import com.doumee.dao.business.model.DuWorktype;
+import com.doumee.dao.business.model.Worktype;
 import com.doumee.service.business.DuWorktypeService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -31,6 +35,12 @@
     @Autowired
     private DuWorktypeMapper duWorktypeMapper;
 
+    @Autowired
+    private WorktypeMapper worktypeMapper;
+
+    @Autowired
+    private DispatchUnitMapper dispatchUnitMapper;
+
     @Override
     public Integer create(DuWorktype duWorktype) {
         duWorktypeMapper.insert(duWorktype);
@@ -39,16 +49,35 @@
 
     @Override
     public void deleteById(Integer id) {
-        DuWorktype duWorktype = duWorktypeMapper.selectById(id);
-        if(Objects.isNull(duWorktype)){
+        DuWorktype dbDuWorkType = duWorktypeMapper.selectById(id);
+        if(Objects.isNull(dbDuWorkType)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(duWorktype.getStatus().equals(Constants.TWO)){
-            duWorktypeMapper.deleteById(id);
-        }else{
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛屽垹闄�");
+        if(!dbDuWorkType.getStatus().equals(Constants.TWO)){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁鐘舵�侀敊璇紝鏃犳硶杩涜鍒犻櫎");
         }
+        DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(dbDuWorkType.getDispatchUnitId());
+        if(Objects.isNull(dispatchUnit)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        duWorktypeMapper.deleteById(id);
 
+        if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda()
+                .eq(DuWorktype::getWorkTypeId,dbDuWorkType.getWorkTypeId())
+                .eq(DuWorktype::getStatus,Constants.ZERO)
+                .ne(DuWorktype::getId,dbDuWorkType.getId())
+        )>Constants.ZERO){
+            dispatchUnit.setWorktypeStatus(0);
+        }else  if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda()
+                .eq(DuWorktype::getWorkTypeId,dbDuWorkType.getWorkTypeId())
+                .eq(DuWorktype::getStatus,Constants.TWO)
+                .ne(DuWorktype::getId,dbDuWorkType.getId())
+        )>Constants.ZERO){
+            dispatchUnit.setWorktypeStatus(2);
+        }else{
+            dispatchUnit.setWorktypeStatus(1);
+        }
+        dispatchUnitMapper.updateById(dispatchUnit);
     }
 
     @Override

--
Gitblit v1.9.3