工业互联网平台2.0版本后端代码
dengzedong
2025-04-16 fbe8d4c023163130e498c2b51c8bdebab6c0fbf2
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
@@ -117,9 +117,6 @@
    @Autowired
    private StScheduleModelSettingService stScheduleModelSettingService;
    @Autowired
    private MmPredictAutoAdjustConfigService autoAdjustService;
    private int HOUR_MINS = 60;
    @Override
@@ -786,6 +783,7 @@
        return result;
    }
    @Override
    public Map<String, BigDecimal> getPredictLastValue(PredictLastValueReqVO reqVO) {
        Map<String, BigDecimal> result = new HashMap<>(reqVO.getItemNos().size());
        if (CollectionUtils.isEmpty(reqVO.getItemNos())) {
@@ -808,6 +806,30 @@
            }
            Date predictTime = predictItem.getLastTime();
            List<Object[]> curData = mmItemResultJsonService.getData(outputId, predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
            if (CollectionUtils.isEmpty(curData)) {
                result.put(key, BigDecimal.ZERO);
            } else {
                result.put(key, new BigDecimal(curData.get(curData.size() - 1)[1].toString()));
            }
        }
        return result;
    }
    @Override
    public Map<String, BigDecimal> getPredictValueByTime(PredictLastValueReqVO reqVO) {
        Map<String, BigDecimal> result = new HashMap<>(reqVO.getItemNos().size());
        if (CollectionUtils.isEmpty(reqVO.getItemNos())) {
            return result;
        }
        List<String[]> itemNos = reqVO.getItemNos();
        for (String[] itemNo : itemNos) {
            String key = itemNo[0] + "," + itemNo[1] + "," + itemNo[2];
            ItemVO predictItem = mmPredictItemService.getItemByItemNo(itemNo[0]);
            if (predictItem == null || predictItem.getLastTime() == null) {
                result.put(key, BigDecimal.ZERO);
            }
            MmItemOutputEntity outPut = mmItemOutputService.getByItemid(predictItem.getId(), itemNo[1], itemNo[2]);
            List<Object[]> curData = mmItemResultJsonService.getData(outPut.getId(), reqVO.getPredictTime(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
            if (CollectionUtils.isEmpty(curData)) {
                result.put(key, BigDecimal.ZERO);
            } else {
@@ -948,11 +970,6 @@
    @Override
    public List<ScheduleSuggestRespDTO> getLastSuggest(Map<String, Object> params) {
        return stScheduleSuggestService.getLastSuggest(params);
    }
    @Override
    public Boolean autoAdjustByCode(MmPredictAutoAdjustReqVO reqVO) {
        return autoAdjustService.autoAdjustByCode(reqVO.getConfigCode(), reqVO.getAdjustStartTime());
    }
    private Date[] calResultTime(ItemVO predictItem, Date startTimeReq, Date endTimeReq, int lengthLeft, int lengthRight) {