Ver código fonte

河南郸城调度计划 详情界面接口代码模型修改

1037015548@qq.com 11 meses atrás
pai
commit
f76085f90e

+ 29 - 11
src/main/java/com/shkpr/service/aimodelpower/bizmgr/WODispatchPlanTmDoBizFun.java

@@ -200,19 +200,37 @@ public class WODispatchPlanTmDoBizFun {
             return oRes;
         }
         try{
-            Map<String,Object> map = getThisDBService().viewInfo("","",oJsonParam.getPlanId());
-            if(map!=null||map.size()>0){
+            Map<String,Object> map = getThisDBService().getOne(oJsonParam.getPlanId());
+            if(map!=null||map.keySet().size()>0){
                 DispatchPlanInfoDetailsModel model = FastJsonUtil.map2Obj(map,DispatchPlanInfoDetailsModel.class,true);
+                if (model!=null) {
+                    //TODO 查询相关联规则和标签
+                    Map<String, Object> andWheresRuls = new HashMap<>();
+                    andWheresRuls.put("plan_id", oJsonParam.getPlanId());
+                    List<Map<String,Object>> rulsModels = getThisDBService().selectAllRuls("","",
+                            andWheresRuls,new HashMap<>(),"","");
+                    Map<String, Object> andWheresTags = new HashMap<>();
+                    andWheresTags.put("plan_id", oJsonParam.getPlanId());
+                    List<Map<String,Object>> tagModels = getThisDBService().selectAllTags("","",
+                            andWheresTags,new HashMap<>(),"","");
+                    //TODO 查询相关联的排班项信息
+                    Map<String, Object> andWheres = new HashMap<>();
+                    andWheres.put("plan_id", oJsonParam.getPlanId());
+                    List<DispatchCmdBatchItemModel> itemModels = getItemDBService()
+                            .listAllWithsExByDispoal("", "", andWheres, new HashMap<>(), "handle_start_time", "");
+
+                    if(!CollectionUtils.isEmpty(rulsModels)){
+                        model.setRulsModels(FastJsonUtil.batchMap2Obj(rulsModels,DispatchPlanInfoRuleModel.class,true));
+                    }
+                    if(!CollectionUtils.isEmpty(tagModels)){
+                        model.setItemModels(FastJsonUtil.batchMap2Obj(tagModels,DispatchCmdBatchItemModel.class,true));
+                    }
+                    if(!CollectionUtils.isEmpty(itemModels)) {
+                        model.setItemModels(itemModels);
+                    }
 
-                //TODO 查询相关联的排班项信息
-                Map<String,Object> andWheres = new HashMap<>();
-                andWheres.put("plan_id",oJsonParam.getPlanId());
-                List<DispatchCmdBatchItemModel> itemModels = getItemDBService()
-                        .listAllWithsExByDispoal("","",andWheres,new HashMap<>(),"handle_start_time","");
-
-                model.setItemModels(itemModels);
-
-                oRes.setResdata(FastJsonUtil.toJSON(model));
+                    oRes.setResdata(FastJsonUtil.toJSON(model));
+                }
             }
 
             oRes.setRescode(ResponseCode.RESULT_NORMAL.toStrCode());

+ 23 - 0
src/main/java/com/shkpr/service/aimodelpower/dbdao/services/WODispatchPlanDBServiceImpl.java

@@ -348,4 +348,27 @@ public class WODispatchPlanDBServiceImpl implements WODispatchPlanDBService,WODi
         }
         return arrRes;
     }
+    public List<Map<String, Object>> selectAllRuls(String table, String filed, Map<String, Object> andWheres, Map<String, Object> orWheres, String orderBy, String extend) {
+        int nCode = 0;
+        String strMsg = "Success";
+        List<Map<String, Object>> arrRes = null;
+        try {
+            arrRes = woDispatchPlanRulsMapper.batchQueryWiths(table, filed, andWheres, orWheres, orderBy, extend);
+        }catch (Exception e){
+            nCode = LogLevelFlag.LOG_ERROR.ordinal();
+            strMsg = e.getLocalizedMessage();
+        }finally {
+            LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
+                    , mBusinessType
+                    , mStrClassName
+                    , String.format("Batch Query %s:{andWhere.size=%d, orWhere.size=%d, orderBy=%s, extend=%s, back.size=%d} from database, code:{%d} msg:{%s} ..."
+                            , logTag
+                            , CommTool.mapSize(andWheres)
+                            , CommTool.mapSize(orWheres)
+                            , orderBy, extend
+                            , CommTool.listSize(arrRes)
+                            , nCode, strMsg));
+        }
+        return arrRes;
+    }
 }

+ 6 - 0
src/main/java/com/shkpr/service/aimodelpower/dbdao/services/intef/WODispatchPlanDBService.java

@@ -51,5 +51,11 @@ public interface WODispatchPlanDBService extends BaseDBService {
             , Map<String, Object> orWheres
             , String orderBy
             , String extend);
+
+    List<Map<String,Object>> selectAllRuls(String table, String filed
+            , Map<String, Object> andWheres
+            , Map<String, Object> orWheres
+            , String orderBy
+            , String extend);
 }
 

+ 56 - 11
src/main/java/com/shkpr/service/aimodelpower/dto/woDispatchPlanModel/DispatchPlanInfoDetailsModel.java

@@ -19,18 +19,63 @@ import java.util.List;
 public class DispatchPlanInfoDetailsModel {
     private String planId;//计划id
 
-    private String weather;//适用天气
-    private String temperature;//适用气温
-    private String param1;//复合参数预留后用
-    private String param2;//复合参数2预留后用
-    private Long sampleBeginTime;//参考样本的起始时间(毫秒级UTC),如:iot采集数据的起始时间
-    private Long sampleEndTime;//参考样本的截止时间(毫秒级UTC),如:iot采集数据的截止时间
-    private String updateTime;//创建/修改时间
-
-    private String tags;
-    private String zoneId;
-    private String zoneType;
+    private Integer planType;//类型:0--临时;1--日循环;2--周循环;3--月循环;4--年循环,注:该字段新建时定义,后期不可再随意变更
 
+    private Integer planStatus;//状态:-1--注销;0--停用;1--启用
+
+    private String title;//标题
+
+    private Integer urgentLevel;//紧急程度(优先级)紧急级别:1 -- 一般;2 --重要;4 -- 紧急
+
+    private String dispatchRemark;//调度描述
+
+    private Integer dispatchLeadTime;//派单时间提前量设定(单位分钟)
+    //    提前或推迟的校正时间(存储单位:分钟)
+    //*) =0则不推迟也不提前
+    //*) >0则推迟触发
+    //*) <0则提前触发
+
+    private String creatorId;//创建人id
+    private String creatorName;//创建人姓名
+    private String creatorOrg;//创建人组织
+
+    private Long createTime;//创建时间
+
+    private Long updateTime;//修改时间
+
+    private String cycles;//TODO 循环具体周期,如: ["yyyy-mm-dd"] 存list stringJson
+
+    private String zoneId;//监测分区id
+    private String zoneType;//监测分区类型
+    private String zone;//监测分区名称
+
+    private Long lastTakeTime;//最近成功触发的时间(毫秒级UTC),该字段计算因子:*)
+    // 用指令工单新增成功返回结果中的时间填充
+
+    private Long nextTakeTime;//下一次预计触发的时间(毫秒级UTC),该字段计算因子:
+    //*) type
+    //*) cycles
+    //*) adjust
+    //*) 调度指令排班表中的min(sug_begin_time)
+    //    注:【计划新建/修改计划cycles/计划触发成功后】就得计算出该值,且临时计划触发成功后需置为0以便不再参与定时扫描
+
+    private String updaterId;//修改人
+
+    private Integer takes;//总计触发次数(成功+未成功),用于后台查询分析
+
+    private String errors;//最近一次触发失败的原因,用于后台查询分析
+
+    private Integer sendway;//派单提醒方式:1--app通知;2--短信通知;3--app&短信通知
+
+    private Long id;//自增序列号
+
+    private Integer chufaRulsFlag;//是否触发保存规则 0否 1是
+    private Integer batchTotal;//排班数量
+    private String minBatchStartTime;//排班最早时刻
+
+
+    private List<DispatchPlanInfoRuleModel> rulsModels = new ArrayList<>();
     private List<DispatchCmdBatchItemModel> itemModels = new ArrayList<>();
+    private List<DispatchPlanInfoTagsModel> tagsList = new ArrayList<>();
 
 }

+ 24 - 24
src/main/java/com/shkpr/service/aimodelpower/globalmgr/ScheduleTaskMgr.java

@@ -170,30 +170,30 @@ public class ScheduleTaskMgr {
 
 
     //TODO 启动时执行一次
-    @PostConstruct
-    public void initOneTapWater(){
-        Timer timer = new Timer();
-        // 创建定时器任务
-        TimerTask timerTask = new TimerTask() {
-            @Override
-            public void run() {
-                KprAimTapWaterBizFun.initTapWaterData();
-            }
-        };
-        timer.schedule(timerTask, 10000); // 10秒后执行一次
-    }
-
-    @PostConstruct
-    public void initWaterRecordAll(){
-        Timer timer = new Timer();
-        TimerTask timerTask1 = new TimerTask() {
-            @Override
-            public void run() {
-                KprAimTapWaterBizFun.initWaterCollecationReacordAll();
-            }
-        };
-        timer.schedule(timerTask1,11000);//11秒后执行一次
-    }
+//    @PostConstruct
+//    public void initOneTapWater(){
+//        Timer timer = new Timer();
+//        // 创建定时器任务
+//        TimerTask timerTask = new TimerTask() {
+//            @Override
+//            public void run() {
+//                KprAimTapWaterBizFun.initTapWaterData();
+//            }
+//        };
+//        timer.schedule(timerTask, 10000); // 10秒后执行一次
+//    }
+//
+//    @PostConstruct
+//    public void initWaterRecordAll(){
+//        Timer timer = new Timer();
+//        TimerTask timerTask1 = new TimerTask() {
+//            @Override
+//            public void run() {
+//                KprAimTapWaterBizFun.initWaterCollecationReacordAll();
+//            }
+//        };
+//        timer.schedule(timerTask1,11000);//11秒后执行一次
+//    }
 
     @Scheduled(cron = "${cron.check.wo.dispatch.plan}")
     public void checkPatrolPlan(){