package com.qianwen.mdc.collect.job;
|
|
import com.qianwen.mdc.collect.cache.WorkstationCache;
|
import com.qianwen.mdc.collect.dto.WorkstationDTO;
|
import com.qianwen.mdc.collect.service.DeviceStateAggregateService;
|
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
import com.xxl.job.core.log.XxlJobLogger;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import java.util.Map;
|
import java.util.Set;
|
|
import javax.annotation.Resource;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
@Component
|
public class DeviceStatusAggregateJob {
|
private static final Logger log = LoggerFactory.getLogger(DeviceStatusAggregateJob.class);
|
@Resource
|
private DeviceStateAggregateService deviceStateAggregateService;
|
@Autowired
|
private WorkstationCache workstationCache;
|
@XxlJob("workStationAggregateJobHandler")
|
public ReturnT<String> workStationAggregateJobHandler(String param) throws Exception {
|
XxlJobLogger.log("XXL-JOB, 定时计算工位的状态,产量等信息,开始发送.....", new Object[0]);
|
|
Map<Long, WorkstationDTO> workstations = workstationCache.getWorkstations();
|
if (ObjectUtil.isNotEmpty(workstations)) {
|
|
Set<Long> workStationIds = workstations.keySet();
|
log.info("聚合状态工位总数:{}",workStationIds.size());
|
for(Long workstationId :workStationIds) {
|
log.info("开始聚合工位{}的状态",workstationId);
|
deviceStateAggregateService.stateAggregate(workstationId);
|
}
|
}
|
log.info("聚合状态整体结束");
|
XxlJobLogger.log("XXL-JOB, 定时计算工位的状态,产量等信息,发送结束", new Object[0]);
|
return ReturnT.SUCCESS;
|
}
|
}
|