package com.iailab.module.shasteel.job.task; 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.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.util.*; /** * 压缩空气è¿è¡ŒæŒ‡æ ‡ï¼ˆå‘¨ï¼‰ * 最近7å¤©çš„æ•°æ® * æ¯å¤©æ›´æ–°ï¼Œ20 0 0 1/1 * ? * * @author PanZhibao * @Description * @createTime 2025å¹´01月03æ—¥ */ @Component("runScheduleAirIndexWeekTask") public class RunScheduleAirIndexWeekTask implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); @Resource private McsApi mcsApi; @Autowired private MdkApi mdkApi; @Override public void run(String params) { logger.info("RunScheduleAirIndexWeekTask,å‚数为:{}", params); try { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.MILLISECOND, 0); calendar.set(Calendar.SECOND, 0); Date scheduleTime = calendar.getTime(); if (StringUtils.isEmpty(params)) { logger.info("å‚数为空"); return; } // æ ¹æ®æ¡ä»¶æŸ¥æ‰¾æ–¹æ¡ˆ List<StScheduleSchemeDTO> schemeList = mcsApi.listScheduleScheme(ScheduleTriggerMethodEnum.JOB.getCode(), params); if (CollectionUtils.isEmpty(schemeList)) { logger.info("方案为空"); return; } for (StScheduleSchemeDTO scheme : schemeList) { MdkScheduleReqDTO dto = new MdkScheduleReqDTO(); dto.setScheduleTime(scheduleTime); dto.setScheduleCode(scheme.getCode()); MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); // 结果写入测点 mdkApi.scheduleModelOut(mdkScheduleRespDTO); } logger.info(params + "调度方案执行完æˆ"); } catch (Exception ex) { logger.error("RunScheduleAirIndexWeekTaskè¿è¡Œå¼‚常"); ex.printStackTrace(); } logger.info("RunScheduleAirIndexWeekTaskè¿è¡Œå®Œæˆ"); } }