鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
3 天以前 aa6e10d480e9380804a7c1d4b1eec75b2fd2b560
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingProdDayTask.java
@@ -6,9 +6,13 @@
import com.iailab.module.ansteel.coking.service.CokingProcessConfService;
import com.iailab.module.ansteel.coking.service.CokingProdDayService;
import com.iailab.module.ansteel.common.enums.ProcessConfDataTypeEnum;
import com.iailab.module.data.api.arc.ArcDataApi;
import com.iailab.module.data.api.arc.dto.ApiArcDataDTO;
import com.iailab.module.data.api.ind.IndItemApi;
import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO;
import com.iailab.module.data.api.point.DataPointApi;
import com.iailab.module.data.api.point.dto.ApiPointValueDTO;
import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,6 +46,8 @@
    @Resource
    private DataPointApi dataPointApi;
    @Resource
    private ArcDataApi arcDataApi;
    @Resource
    private IndItemApi indItemApi;
@@ -77,10 +83,16 @@
                String value = "";
                switch (ProcessConfDataTypeEnum.getEumByCode(conf.getDataType())) {
                    case DATAPOINT:
                        List<String> points = new ArrayList<>();
                        points.add(conf.getPointNo());
                        Map<String, Object> pointsRealValue = dataPointApi.queryPointsRealValue(points);
                        value = pointsRealValue.get(conf.getPointNo()).toString();
                        ApiPointValueQueryDTO queryDTO = new ApiPointValueQueryDTO();
                        queryDTO.setPointNo(conf.getPointNo());
                        Calendar calendar1 = Calendar.getInstance();
                        queryDTO.setEnd(calendar1.getTime());
                        calendar1.add(Calendar.DAY_OF_YEAR,-1);
                        queryDTO.setStart(calendar1.getTime());
                        List<ApiPointValueDTO> values = dataPointApi.queryPointHistoryValue(queryDTO);
                        if (!CollectionUtils.isEmpty(values)) {
                            value = String.valueOf(values.get(values.size() - 1).getV());
                        }
                        break;
                    case IND:
                        List<ApiIndItemValueDTO> indValues = indItemApi.queryIndItemDefaultValue(conf.getPointNo());
@@ -88,10 +100,19 @@
                            value = indValues.get(indValues.size() - 1).getDataValue().toString();
                        }
                        break;
                    case ARC:
                        ApiArcDataDTO apiArcDataDTO = arcDataApi.queryArcLastValue(conf.getPointNo());
                        if (apiArcDataDTO != null) {
                            value = apiArcDataDTO.getArcValue().toString();
                        }
                        break;
                   default:
                        break;
                }
                if (StringUtils.isBlank(value)) {
                    value = "-2";
                }
                saveProdDay(conf, value, clock, conf.getIndCode());
            }
        } catch (Exception ex) {