From 7ea82c44c119e30f13451e86911b32ad40ff86d8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 16 八月 2023 09:15:41 +0800
Subject: [PATCH] 修復bug

---
 server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
index 1c5be18..46a56fc 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
@@ -34,6 +34,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -197,6 +198,14 @@
 //                p.setDistributNum(tp.getDistributNum());
 //                p.setDoneNum(tp.getDoneNum());
                 p.setIsStock(wStockExtService.isStockForPlan(p));
+                if ( !p.getStatus().equals(Constants.PLAN_STATUS.done) &&
+                        !p.getStatus().equals(Constants.PLAN_STATUS.close)){
+                    if (Objects.nonNull(p.getPlanDate())){
+                        p.setHasExpire(DateUtil.toDateLocalDateTime(p.getWorkPlanPlanDate()).toLocalDate().isBefore(LocalDate.now()));
+                    }else {
+                        p.setHasExpire(false);
+                    }
+                }
             }
         }
         return PageData.from(new PageInfo<>(result));
@@ -1563,14 +1572,17 @@
         if(Objects.isNull(plans)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸ュ簭璁″垝鏁版嵁");
         }
-        if(plans.getStatus().equals(Constants.PLAN_STATUS.create)){
+        if(!(plans.getStatus().equals(Constants.PLAN_STATUS.create)||plans.getStatus().equals(Constants.PLAN_STATUS.distribute))){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸ュ簭璁″垝宸叉祦杞紝鏃犳硶鎿嶄綔");
+        }
+        if(plans.getPaused().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸ュ簭璁″垝宸叉殏鍋滐紝鏃犳硶鎿嶄綔");
         }
         if(Objects.isNull(autoWorkReportDTO.getCreateWorkorderRecordDTO())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍙傛暟閿欒锛氫骇鍑烘暟鎹�");
         }
         //鏌ヨ宸ュ簭璁″垝宸插垎閰嶆暟閲�
-        List<Workorder> workorderList = workorderExtMapper.selectList(new QueryWrapper<Workorder>().eq("PLAN_ID",plans.getId()));
+        List<Workorder> workorderList = workorderExtMapper.selectList(new QueryWrapper<Workorder>().eq("PLAN_ID",plans.getId()).notIn("STATUS",7,8));
         //鏈浜у嚭鏁伴噺
         BigDecimal num = autoWorkReportDTO.getCreateWorkorderRecordDTO().getQualifiedNum().add(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum());
         if(num.compareTo(BigDecimal.ZERO)<=Constants.ZERO){
@@ -1601,6 +1613,15 @@
         workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user);
         //宸ュ崟鎶ュ伐
         workorderRecordStandardService.comfirmDone(workorder);
+        //鏇存柊宸ュ崟鐘舵��
+        if(num.compareTo(BigDecimal.valueOf(surplusNum))==Constants.ZERO){
+            plans.setStatus(Constants.PLAN_STATUS.done);
+        }else{
+            if(plans.getStatus().equals(Constants.PLAN_STATUS.create)){
+                plans.setStatus(Constants.PLAN_STATUS.distribute);
+            }
+        }
+        plansExtMapper.updateById(plans);
 
 
     }

--
Gitblit v1.9.3