package com.iailab.module.ansteel.job.task;
|
|
import com.iailab.module.ansteel.api.entity.CokingProcessConfEntity;
|
import com.iailab.module.ansteel.api.entity.CokingProdDayEntity;
|
import com.iailab.module.ansteel.api.service.CokingProcessConfService;
|
import com.iailab.module.ansteel.api.service.CokingProdDayService;
|
import com.iailab.module.data.api.point.DataPointApi;
|
import com.iailab.module.model.api.mcs.McsApi;
|
import com.iailab.module.model.api.mcs.dto.StScheduleSchemeDTO;
|
import com.iailab.module.model.api.mdk.MdkApi;
|
import com.iailab.module.model.api.mdk.dto.MdkScheduleReqDTO;
|
import com.iailab.module.model.api.mdk.dto.MdkScheduleRespDTO;
|
import com.iailab.module.model.enums.ScheduleTriggerMethodEnum;
|
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.StringUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
import org.springframework.util.CollectionUtils;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author HouZhongjian
|
* @Description
|
* @createTime 2025年04月12日
|
*/
|
@Component("runCokingProdDayTask")
|
public class RunCokingProdDayTask implements ITask {
|
|
private Logger logger = LoggerFactory.getLogger(getClass());
|
|
@Resource
|
private CokingProcessConfService cokingProcessConfService;
|
|
@Resource
|
private CokingProdDayService cokingProdDayService;
|
|
@Resource
|
private DataPointApi dataPointApi;
|
|
@Override
|
public void run(String params) {
|
logger.info("RunCokingProdDayTask,参数为:{}", params);
|
try {
|
Calendar calendar = Calendar.getInstance();
|
calendar.set(Calendar.MILLISECOND, 0);
|
calendar.set(Calendar.SECOND, 0);
|
CokingProcessConfEntity queryParams = new CokingProcessConfEntity();
|
queryParams.setIndType("prod_day");
|
List<CokingProcessConfEntity> list = cokingProcessConfService.list(queryParams);
|
if (ObjectUtils.isNotEmpty(list)) {
|
// List<String> points = list.stream().map(CokingProcessConfEntity::getIndCode).collect(Collectors.toList());
|
// Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points);
|
// 获取当前日期时间
|
LocalDateTime now = LocalDateTime.now();
|
// 减去一天得到昨天同一时间
|
LocalDateTime yesterday = now.minusDays(1);
|
// 格式化输出
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
String formattedDateTime = yesterday.format(formatter);
|
|
list.stream().forEach(cokingProcessConfEntity -> {
|
List<String> points = new ArrayList<>();
|
points.add(cokingProcessConfEntity.getPointNo());
|
Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points);
|
//保存数据
|
if(ObjectUtils.isNotEmpty(stringObjectMap.get(cokingProcessConfEntity.getPointNo()))) {
|
CokingProdDayEntity cokingProdDayEntity = new CokingProdDayEntity();
|
cokingProdDayEntity.setInfoType("0");
|
cokingProdDayEntity.setSort(cokingProcessConfEntity.getSort());
|
cokingProdDayEntity.setIndName(cokingProcessConfEntity.getIndName());
|
cokingProdDayEntity.setIndUnit(cokingProcessConfEntity.getIndUnit());
|
cokingProdDayEntity.setIndValue(stringObjectMap.get(cokingProcessConfEntity.getPointNo()).toString());
|
cokingProdDayEntity.setClock(formattedDateTime);
|
cokingProdDayService.save(cokingProdDayEntity);
|
}
|
});
|
}
|
|
} catch (Exception ex) {
|
logger.error("RunCokingProdDayTask运行异常");
|
ex.printStackTrace();
|
}
|
logger.info("RunCokingProdDayTask运行完成");
|
|
}
|
}
|