Browse Source

超过计划的时间,提示xx逾期,包括:需求提报逾期、采购完成逾期、计划交付逾期

buzhanyi 1 year ago
parent
commit
f2ec7901cb

+ 3 - 0
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -695,6 +695,9 @@ public class PmPurchaseExecutionController extends BaseController {
             if (ObjectUtils.isEmpty(pmDemand.getRealDeliverTime()) && diff3 > 0 && diff3 <= setting3) {
                 log.info("******** 计划交付预警: " + pmDemand.getProjectName());
                 pmDemandUpdate.setWarnStatus(WarnStatus.PLAN_DELIVER_WARNING.getCode());
+            } else if (ObjectUtils.isEmpty(pmDemand.getRealDeliverTime()) && pmDemand.getPlanDeliverTime().getTime() < System.currentTimeMillis()) {
+                log.info("******** 计划交付逾期: " + pmDemand.getProjectName());
+                pmDemandUpdate.setWarnStatus(WarnStatus.PLAN_DELIVER_EX.getCode());
             } else {
                 pmDemandUpdate.setWarnStatus(WarnStatus.NORMAL.getCode());
             }

+ 21 - 0
purchase-admin/src/main/java/com/ozs/web/controller/tool/PmTaskServer.java

@@ -59,6 +59,13 @@ public class PmTaskServer {
                 pmDemand.setWarnStatus(WarnStatus.DEMAND_COMMT_WARNING.getCode());
                 updateList.add(pmDemand);
             } else {
+                if (ObjectUtils.isEmpty(item.getRealDemandCommitTime()) && item.getPlanDemandSubTime().getTime() < System.currentTimeMillis()) {
+                    log.info("******** 需求提报逾期: " + item.getProjectName());
+                    PmDemand pmDemandUpdate = new PmDemand();
+                    pmDemandUpdate.setDemandId(item.getDemandId());
+                    pmDemandUpdate.setWarnStatus(WarnStatus.DEMAND_COMMT_EX.getCode());
+                    updateList.add(pmDemandUpdate);
+                }
                 //采购完成时间:根据数据阈值中设置的采购完成时间进行判断,进行预警
                 int diff2 = DateUtils.differentDaysByMillisecond(item.getPlanPurchaseFinishTime(), now);
                 if (ObjectUtils.isEmpty(item.getRealPurchaseFinishTime()) && diff2 > 0 && diff2 <= setting2) {
@@ -68,6 +75,13 @@ public class PmTaskServer {
                     pmDemand.setWarnStatus(WarnStatus.PURCHASE_FINISH_WARNING.getCode());
                     updateList.add(pmDemand);
                 } else {
+                    if (ObjectUtils.isEmpty(item.getRealPurchaseFinishTime()) && item.getPlanPurchaseFinishTime().getTime() < System.currentTimeMillis()) {
+                        log.info("******** 采购完成逾期: " + item.getProjectName());
+                        PmDemand pmDemandUpdate = new PmDemand();
+                        pmDemandUpdate.setDemandId(item.getDemandId());
+                        pmDemandUpdate.setWarnStatus(WarnStatus.PURCHASE_FINISH_EX.getCode());
+                        updateList.add(pmDemandUpdate);
+                    }
                     //计划交付时间:根据数据阈值中设置的交付时间进行判断,进行预警
                     int diff3 = DateUtils.differentDaysByMillisecond(item.getPlanDeliverTime(), now);
                     if (ObjectUtils.isEmpty(item.getRealDeliverTime()) && diff3 > 0 && diff3 <= setting3) {
@@ -77,6 +91,13 @@ public class PmTaskServer {
                         pmDemand.setWarnStatus(WarnStatus.PLAN_DELIVER_WARNING.getCode());
                         updateList.add(pmDemand);
                     } else {
+                        if (ObjectUtils.isEmpty(item.getRealDeliverTime()) && item.getPlanDeliverTime().getTime() < System.currentTimeMillis()) {
+                            log.info("******** 计划交付逾期: " + item.getProjectName());
+                            PmDemand pmDemandUpdate = new PmDemand();
+                            pmDemandUpdate.setDemandId(item.getDemandId());
+                            pmDemandUpdate.setWarnStatus(WarnStatus.PLAN_DELIVER_EX.getCode());
+                            updateList.add(pmDemandUpdate);
+                        }
                         PmDemand pmDemand = new PmDemand();
                         pmDemand.setDemandId(item.getDemandId());
                         pmDemand.setWarnStatus(WarnStatus.NORMAL.getCode());

+ 5 - 2
purchase-common/src/main/java/com/ozs/common/enums/WarnStatus.java

@@ -6,10 +6,13 @@ package com.ozs.common.enums;
  * @author buzhanyi
  */
 public enum WarnStatus {
-    NORMAL ("0", "正常"),
+    NORMAL("0", "正常"),
     DEMAND_COMMT_WARNING("1", "需求提报预警"),
     PURCHASE_FINISH_WARNING("2", "采购完成预警"),
-    PLAN_DELIVER_WARNING("3", "计划交付预警");
+    PLAN_DELIVER_WARNING("3", "计划交付预警"),
+    DEMAND_COMMT_EX("4", "需求提报逾期"),
+    PURCHASE_FINISH_EX("5", "采购完成逾期"),
+    PLAN_DELIVER_EX("6", "计划交付逾期");
 
     private final String code;
     private final String info;

+ 9 - 0
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -868,6 +868,10 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         if (ObjectUtils.isEmpty(pmDemand.getRealPurchaseFinishTime()) && diff2 > 0 && diff2 <= setting2) {
             log.info("******** 采购完成预警: " + pmDemand.getProjectName());
             pmDemandUpdate.setWarnStatus(WarnStatus.PURCHASE_FINISH_WARNING.getCode());
+        } else if (ObjectUtils.isEmpty(pmDemand.getRealPurchaseFinishTime()) && pmDemand.getPlanPurchaseFinishTime().getTime() < System.currentTimeMillis()) {
+            log.info("******** 采购完成逾期: " + pmDemand.getProjectName());
+            pmDemandUpdate.setWarnStatus(WarnStatus.PURCHASE_FINISH_EX.getCode());
+            this.updateById(pmDemandUpdate);
         } else {
             pmDemandUpdate.setWarnStatus(WarnStatus.NORMAL.getCode());
         }
@@ -1836,6 +1840,11 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             pmDemandUpdate.setDemandId(demnadId);
             pmDemandUpdate.setWarnStatus(WarnStatus.DEMAND_COMMT_WARNING.getCode());
             this.updateById(pmDemandUpdate);
+        } else if (ObjectUtils.isEmpty(pmDemand.getRealDemandCommitTime()) && pmDemand.getPlanDemandSubTime().getTime() < System.currentTimeMillis()) {
+            PmDemand pmDemandUpdate = new PmDemand();
+            pmDemandUpdate.setDemandId(demnadId);
+            pmDemandUpdate.setWarnStatus(WarnStatus.DEMAND_COMMT_EX.getCode());
+            this.updateById(pmDemandUpdate);
         }
     }