浏览代码

河南郸城调度计划 bug修复

1037015548@qq.com 11 月之前
父节点
当前提交
9b05df5e51

+ 62 - 31
src/main/java/com/shkpr/service/aimodelpower/dbdao/services/WODispatchPlanDBServiceImpl.java

@@ -221,14 +221,26 @@ public class WODispatchPlanDBServiceImpl implements WODispatchPlanDBService,WODi
         if(model.getChufaRulsFlag()==1) {
             for (JPDispatchPlanInfoRuleSave jp : rulesList) {
                 Map<String, Object> map = FastJsonUtil.obj2Map(jp, true);
-                map.put(WODispatchPlanRulsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
                 map.put("update_time", TimeTool.getCurMsUTC());
-                woDispatchPlanRulsMapper.inserts(map);
+                if(StringUtils.isEmpty(jp.getPlanId())) {
+                    map.put(WODispatchPlanRulsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
+                    woDispatchPlanRulsMapper.inserts(map);
+                }else{
+                    HashMap<String,Object> rulsMapUpWhere = new HashMap<>();
+                    rulsMapUpWhere.put("plan_id",jp.getPlanId());
+                    woDispatchPlanRulsMapper.updateWiths(map,rulsMapUpWhere,new HashMap<>(),"");
+                }
             }
             for (JPDispatchPlanInfoTagsSave jp : tagsList) {
                 Map<String, Object> map = FastJsonUtil.obj2Map(jp, true);
-                map.put(WODispatchPlanTagsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
-                woDispatchPlanTagsMapper.inserts(map);
+                if(StringUtils.isEmpty(jp.getPlanId())) {
+                    map.put(WODispatchPlanTagsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
+                    woDispatchPlanTagsMapper.inserts(map);
+                }else{
+                    HashMap<String,Object> rulsMapUpWhere = new HashMap<>();
+                    rulsMapUpWhere.put("plan_id",jp.getPlanId());
+                    woDispatchPlanTagsMapper.updateWiths(map,rulsMapUpWhere,new HashMap<>(),"");
+                }
             }
         }
         for (JPDispatchCmdBatchItem jp:itemsList){
@@ -274,45 +286,57 @@ public class WODispatchPlanDBServiceImpl implements WODispatchPlanDBService,WODi
         woDispatchPlanMapper.updateWiths(upMap,andWhereUp,new HashMap<>(),"");
 
         //TODO 先删除所有关联再添加
-        if(model.getChufaRulsFlag()!=-1) {
-            Map<String, Object> andWhereRuls = new HashMap<>();
-            andWhereRuls.put("plan_id", model.getPlanId());
-            woDispatchPlanRulsMapper.deleteWiths(andWhereRuls, new HashMap<>(), "");
-            Map<String, Object> andWherePlanTags = new HashMap<>();
-            andWherePlanTags.put("plan_id", model.getPlanId());
-            woDispatchPlanTagsMapper.deleteWiths(andWherePlanTags, new HashMap<>(), "");
-        }
-        //删除排班
-        Map<String,Object> andWheresItems = new HashMap<>();
-        andWheresItems.put("plan_id",model.getPlanId());
-        List<DispatchCmdBatchItemModel> woMap = woDispatchCmdBatchItemDBService.listAllWithsExByDispoal("","",andWheresItems,new HashMap<>(),"handle_start_time","");
-        if(!CollectionUtils.isEmpty(woMap)){
-            for (DispatchCmdBatchItemModel item:woMap){
-                woDispatchCmdPatchItemMapper.deleteWiths(andWheresItems,new HashMap<>(),"");
-                //删除对应的处置建议
-                Map<String,Object> andWheresItemDisposals = new HashMap<>();
-                andWheresItemDisposals.put("batch_item_id",model.getPlanId());
-                woDispatchCmdPatchDisposalMapper.deleteWiths(andWheresItemDisposals,new HashMap<>(),"");
-            }
-        }
+//        if(model.getChufaRulsFlag()!=-1) {
+//            Map<String, Object> andWhereRuls = new HashMap<>();
+//            andWhereRuls.put("plan_id", model.getPlanId());
+//            woDispatchPlanRulsMapper.deleteWiths(andWhereRuls, new HashMap<>(), "");
+//            Map<String, Object> andWherePlanTags = new HashMap<>();
+//            andWherePlanTags.put("plan_id", model.getPlanId());
+//            woDispatchPlanTagsMapper.deleteWiths(andWherePlanTags, new HashMap<>(), "");
+//        }
+//        //删除排班
+//        Map<String,Object> andWheresItems = new HashMap<>();
+//        andWheresItems.put("plan_id",model.getPlanId());
+//        List<DispatchCmdBatchItemModel> woMap = woDispatchCmdBatchItemDBService.listAllWithsExByDispoal("","",andWheresItems,new HashMap<>(),"handle_start_time","");
+//        if(!CollectionUtils.isEmpty(woMap)){
+//            for (DispatchCmdBatchItemModel item:woMap){
+//                woDispatchCmdPatchItemMapper.deleteWiths(andWheresItems,new HashMap<>(),"");
+//                //删除对应的处置建议
+//                Map<String,Object> andWheresItemDisposals = new HashMap<>();
+//                andWheresItemDisposals.put("batch_item_id",model.getPlanId());
+//                woDispatchCmdPatchDisposalMapper.deleteWiths(andWheresItemDisposals,new HashMap<>(),"");
+//            }
+//        }
 
         if(model.getChufaRulsFlag()==1) {
             for (JPDispatchPlanInfoRuleSave jp : rulesList) {
+                //先判断是否修改
                 Map<String, Object> map = FastJsonUtil.obj2Map(jp, true);
-                map.put(WODispatchPlanRulsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
                 map.put("update_time", TimeTool.getCurMsUTC());
-                woDispatchPlanRulsMapper.inserts(map);
+                if(StringUtils.isEmpty(jp.getPlanId())) {
+                    map.put(WODispatchPlanRulsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
+                    woDispatchPlanRulsMapper.inserts(map);
+                }else{
+                    HashMap<String,Object> rulsMapUpWhere = new HashMap<>();
+                    rulsMapUpWhere.put("plan_id",jp.getPlanId());
+                    woDispatchPlanRulsMapper.updateWiths(map,rulsMapUpWhere,new HashMap<>(),"");
+                }
             }
             for (JPDispatchPlanInfoTagsSave jp : tagsList) {
                 Map<String, Object> map = FastJsonUtil.obj2Map(jp, true);
-                map.put(WODispatchPlanTagsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
-                woDispatchPlanTagsMapper.inserts(map);
+                if(StringUtils.isEmpty(jp.getPlanId())) {
+                    map.put(WODispatchPlanTagsTable.W_INFO.PRIMARY_KEY, model.getPlanId());
+                    woDispatchPlanTagsMapper.inserts(map);
+                }else{
+                    HashMap<String,Object> rulsMapUpWhere = new HashMap<>();
+                    rulsMapUpWhere.put("plan_id",jp.getPlanId());
+                    woDispatchPlanTagsMapper.updateWiths(map,rulsMapUpWhere,new HashMap<>(),"");
+                }
             }
         }
         if(itemsList!=null) {
             for (JPDispatchCmdBatchItem jp : itemsList) {
                 Map<String, Object> map = FastJsonUtil.obj2Map(jp, true);
-                map.put(WODispatchCmdPatchItemTable.W_INFO.PRIMARY_KEY, CommTool.genPlanItemId());
                 map.put(WODispatchCmdPatchItemTable.W_INFO.PLAN_ID, model.getPlanId());
                 map.put(WODispatchCmdPatchItemTable.W_INFO.CREATE_TIME, TimeTool.getCurMsUTC());
                 map.remove("dispoal_list");
@@ -330,7 +354,14 @@ public class WODispatchPlanDBServiceImpl implements WODispatchPlanDBService,WODi
                         woDispatchCmdPatchDisposalMapper.updateWiths(mapDispoal,andWhereUpDis,new HashMap<>(),"");
                     }
                 }
-                woDispatchCmdPatchItemMapper.inserts(map);
+                if(StringUtils.isEmpty(jp.getBatchItemId())) {
+                    map.put(WODispatchCmdPatchItemTable.W_INFO.PRIMARY_KEY, CommTool.genPlanItemId());
+                    woDispatchCmdPatchItemMapper.inserts(map);
+                }else{
+                    Map<String,Object> andWhereUpItem = new HashMap<>();
+                    andWhereUpItem.put("batch_item_id",jp.getBatchItemId());
+                    woDispatchCmdPatchItemMapper.updateWiths(map,andWhereUpItem,new HashMap<>(),"");
+                }
             }
         }
         return ResponseCode.RESULT_NORMAL;

+ 1 - 1
src/main/java/com/shkpr/service/aimodelpower/dbdao/tables/WODispatchPlanRulsTable.java

@@ -3,7 +3,7 @@ package com.shkpr.service.aimodelpower.dbdao.tables;
 public interface WODispatchPlanRulsTable {
     interface R_INFO{
         String ID = "id";
-        String TABLE = "";
+        String TABLE = "k4_wo_dispatch_plan_ruls";
         String PRIMARY_KEY = "plan_id";
         String ALL_FILED = "*";
         String UNIQUE_ID = "plan_id";

+ 1 - 1
src/main/java/com/shkpr/service/aimodelpower/dbdao/tables/WODispatchPlanTagsTable.java

@@ -2,7 +2,7 @@ package com.shkpr.service.aimodelpower.dbdao.tables;
 
 public interface WODispatchPlanTagsTable {
     interface R_INFO{
-        String TABLE = "";
+        String TABLE = "k4_wo_dispatch_plan_tags";
         String PRIMARY_KEY = "plan_id";
         String ALL_FILED = "*";
         String UNIQUE_ID = "plan_id";

+ 1 - 1
src/main/java/com/shkpr/service/aimodelpower/jsonbean/woDispatchPlan/JPDispatchCmdBatchItem.java

@@ -17,7 +17,7 @@ import java.util.List;
  **/
 @Data
 public class JPDispatchCmdBatchItem implements Serializable {
-//    private String batchItem_id;//批次项id
+    private String batchItemId;//批次项id
 //    private String planId;//所属计划id
     private String headUserId;//指定负责人uid
     private String handleStartTime;//指定处理有效起始时间(HH:mm:ss) 日期为计划的预计开始时间

+ 5 - 1
src/main/java/com/shkpr/service/aimodelpower/jsonbean/woDispatchPlan/JPDispatchPlanInfoRuleSave.java

@@ -1,5 +1,7 @@
 package com.shkpr.service.aimodelpower.jsonbean.woDispatchPlan;
 
+import com.shkpr.service.aimodelpower.components.validators.StrNullOrSize;
+import com.shkpr.service.aimodelpower.controllervalid.CommonParamValidReset;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
@@ -18,7 +20,9 @@ public class JPDispatchPlanInfoRuleSave implements Serializable{
    private String temperature;//适用气温
    private String param1;//复合参数预留后用
    private String param2;//复合参数2预留后用
-//   private String planId;//计划id
+
+   private String planId;//计划id,用于修改
+
    private Long sampleBeginTime;//参考样本的起始时间(毫秒级UTC),如:iot采集数据的起始时间
    private Long sampleEndTime;//参考样本的截止时间(毫秒级UTC),如:iot采集数据的截止时间
 //   private String updateTime;//创建/修改时间

+ 1 - 1
src/main/java/com/shkpr/service/aimodelpower/jsonbean/woDispatchPlan/JPDispatchPlanInfoTagsSave.java

@@ -15,7 +15,7 @@ import java.io.Serializable;
 @Data
 public class JPDispatchPlanInfoTagsSave implements Serializable {
 
-//   private String planId;//计划id
+   private String planId;//计划id,用于修改
    private String key;//附加标签标识符
    private String data;//附加标签值