package com.zy.asrs.task; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.WorkErpReportHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.List; @Slf4j @Component public class WorkErpReportScheduler { @Autowired private WrkMastService wrkMastService; @Autowired private WorkErpReportHandler workErpReportHandler; @Scheduled(cron = "0/10 * * * * ? ") private void execute() { List wrkMasts = wrkMastService.selectList(new EntityWrapper() .eq("wrk_sts", WorkErpReportHandler.ERP_REPORT_PENDING_WRK_STS) .orderBy("io_time", true) .orderBy("wrk_no", true)); if (wrkMasts.isEmpty()) { return; } for (WrkMast wrkMast : wrkMasts) { ReturnT result = workErpReportHandler.start(wrkMast); if (!result.isSuccess()) { log.error("workNo={} erp report failed: {}", wrkMast.getWrkNo(), result.getMsg()); } } } }