鞍钢鲅鱼圈能源管控系统后端代码
liriming
3 天以前 dbfe06e01e1dd97675b5889588ed058c1817a8c6
计划修正
已修改2个文件
55 ■■■■■ 文件已修改
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PlanDataChartReqVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PlanDataChartReqVO.java
@@ -27,4 +27,7 @@
    @Schema(description = "预测时间")
    private String predictTime;
    @Schema(description = "右侧长度")
    private int lengthRight;
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/DataServiceImpl.java
@@ -185,6 +185,34 @@
        result[2] = endTime;
        return result;
    }
    private Date[] calResultTime2(Date predictTimeReq,String startTimeReq, String endTimeReq, int lengthLeft, int lengthRight) {
        Date[] result = new Date[2];
        Date predictTime = predictTimeReq;
        Date startTime = new Date();
        if (startTimeReq == null) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(predictTime);
            calendar.add(Calendar.SECOND, -1 * lengthLeft * 60);
            startTime = calendar.getTime();
        }
        Date endTime = new Date();
        if (endTimeReq == null) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(predictTime);
            calendar.add(Calendar.SECOND, lengthRight * 60);
            endTime = calendar.getTime();
        }
        if (endTime.getTime() <= startTime.getTime()) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(startTime);
            calendar.add(Calendar.SECOND, lengthRight * 60);
            endTime = calendar.getTime();
        }
        result[0] = startTime;
        result[1] = endTime;
        return result;
    }
    /**
     *  查询原始计划、修正计划数据
     */
@@ -203,10 +231,23 @@
        if (planCode == null) {
            return null;
        }
        String itemCode = tMap.get(CommonConstant.ITEM_CODE);
        if (itemCode == null) {
            return null;
        }
        Date startTime = DateUtils.parse(reqVO.getStartTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
        Date endTime = DateUtils.parse(reqVO.getEndTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
        Date predictTime = DateUtils.parse(reqVO.getPredictTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
        PreDataSingleChartReqVO queryDto = new PreDataSingleChartReqVO();
        queryDto.setChartCode(reqVO.getChartCode());
        PreDataSingleChartRespVO chartData = mcsApi.getPreDataSingleChart(queryDto);
        Date predictTime = chartData.getPredictTime();
        int lengthLeft = new BigDecimal(tMap.get(CommonConstant.LENGTH_LEFT)).intValue();
        int lengthRight = reqVO.getLengthRight();
        Date[] timeArray = calResultTime2(predictTime, reqVO.getStartTime(), reqVO.getEndTime(), lengthLeft, lengthRight);
        Date startTime = timeArray[0];
        Date endTime = timeArray[1];
        // 原始计划数据
        LinkedHashMap<String, List<String[]>> planData = getRealPlanData(planCode, startTime, endTime, predictTime);
@@ -222,7 +263,8 @@
    public LinkedHashMap<String, List<String[]>> getRealPlanData(String planCode, Date startTime, Date endTime, Date predictTime) {
        LinkedHashMap<String, List<String[]>> result = new LinkedHashMap<>();
        ApiDataQueryDTO apiDataQueryDTO = new ApiDataQueryDTO();
        apiDataQueryDTO.setItemNo(planCode);
        List<String> itemList = Arrays.asList(planCode.toString().split(","));
        apiDataQueryDTO.setItemNos(itemList);
        apiDataQueryDTO.setStart(startTime);
        apiDataQueryDTO.setEnd(endTime);
        LinkedHashMap<String, List<ApiPlanDataDTO>> planData = planItemApi.queryPlanItemRecordValue(apiDataQueryDTO);
@@ -251,7 +293,7 @@
        PreDataSingleChartReqVO queryDto = new PreDataSingleChartReqVO();
        queryDto.setChartCode(charCode);
        queryDto.setStartTime(startTime);
        queryDto.setEndTime(startTime);
        queryDto.setEndTime(endTime);
        PreDataSingleChartRespVO chartData = mcsApi.getPreDataSingleChart(queryDto);
        if (CollectionUtils.isEmpty(chartData.getDataView().getPreDataN())) {
            return result;