parent
b3cd205a2c
commit
2a4657db51
@ -0,0 +1,24 @@
|
||||
package jnpf.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class EqmtCollectExceptMasterEntity {
|
||||
private Long id;
|
||||
private Date gmtCreate;
|
||||
private Date gmtModified;
|
||||
private Long collectId;
|
||||
private Long eqmtId;
|
||||
private String exceptType;
|
||||
private String exceptTypeName;
|
||||
private String registorAddress;
|
||||
private String exceptMessage;
|
||||
private String createBy;
|
||||
private Date createTime;
|
||||
private String updateBy;
|
||||
private Date updateTime;
|
||||
private String sysOrgCode;
|
||||
private String line;
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package jnpf.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class EqmtCollectPubDataEntity {
|
||||
private Long id;
|
||||
private Long eqmtId;
|
||||
private String productType;
|
||||
private Double speed;
|
||||
private Integer totalProductQty;
|
||||
private Integer intradayProductQty;
|
||||
private Integer intradayOkQty;
|
||||
private Integer intradayNgQty;
|
||||
private BigDecimal intradayYieldRate;
|
||||
private Long intradayEqmtRunTime;
|
||||
private Long intradayEqmtWorkTime;
|
||||
private Double intradayEqmtWorkRate;
|
||||
private Long intradayEqmtStopTime;
|
||||
private Integer intradayEqmtStopTimes;
|
||||
private String eqmtStatus;
|
||||
private String eqmtExceptFlag;
|
||||
private String eqmtAlarmFlag;
|
||||
private Date gmtCreate;
|
||||
private Long collectId;
|
||||
private Date gmtModified;
|
||||
private BigDecimal oee;
|
||||
private String productTypeName;
|
||||
private String createBy;
|
||||
private Date createTime;
|
||||
private String updateBy;
|
||||
private Date updateTime;
|
||||
private String sysOrgCode;
|
||||
|
||||
private String line;
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
package jnpf.scheduletask.task;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import jnpf.entity.EqmtCollectExceptMasterEntity;
|
||||
import jnpf.entity.EqmtCollectPubDataEntity;
|
||||
import jnpf.entity.YysDeviceDataEntity;
|
||||
import jnpf.entity.YysDeviceWarnStatisticsEntity;
|
||||
import jnpf.service.YysDeviceDataService;
|
||||
import jnpf.service.YysDeviceWarnService;
|
||||
import jnpf.service.YysDeviceWarnStatisticsService;
|
||||
import jnpf.util.DateUtil;
|
||||
import jnpf.util.RandomUtil;
|
||||
import jnpf.util.UserProvider;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
public class YysTaskHandler {
|
||||
|
||||
@Resource
|
||||
private YysDeviceDataService yysDeviceDataService;
|
||||
|
||||
@Resource
|
||||
private YysDeviceWarnStatisticsService yysDeviceWarnStatisticsService;
|
||||
|
||||
@Resource
|
||||
private YysDeviceWarnService yysDeviceWarnService;
|
||||
|
||||
@Autowired
|
||||
private UserProvider userProvider;
|
||||
|
||||
//每十分钟执行一次
|
||||
@XxlJob("syncDeviceData")
|
||||
public void syncDeviceData() {
|
||||
//查询表中数据
|
||||
LambdaQueryWrapper<YysDeviceDataEntity> wrapper = new LambdaQueryWrapper<>(YysDeviceDataEntity.class);
|
||||
wrapper.isNull(YysDeviceDataEntity::getDeleteMark);
|
||||
List<YysDeviceDataEntity> list1 = yysDeviceDataService.list(wrapper);
|
||||
List<EqmtCollectPubDataEntity> list = yysDeviceDataService.syncData(list1.stream().map(YysDeviceDataEntity::getSyncId).collect(Collectors.toList()));
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
List<YysDeviceDataEntity> collect = list.stream().map(obj -> {
|
||||
String mainId = RandomUtil.uuId();
|
||||
YysDeviceDataEntity entity = new YysDeviceDataEntity();
|
||||
entity.setId(mainId);
|
||||
entity.setProductionLine(obj.getLine());
|
||||
entity.setProductionTime(obj.getGmtCreate());
|
||||
entity.setCreatorTime(obj.getCreateTime());
|
||||
entity.setProductionModels(obj.getProductType());
|
||||
entity.setProductionName(obj.getProductTypeName());
|
||||
entity.setProductionSpeed(String.valueOf(obj.getSpeed()));
|
||||
entity.setProductionNum(String.valueOf(obj.getTotalProductQty()));
|
||||
entity.setDayNum(String.valueOf(obj.getIntradayProductQty()));
|
||||
entity.setDayQualifiedNum(String.valueOf(obj.getIntradayOkQty()));
|
||||
entity.setDayBadNum(String.valueOf(obj.getIntradayNgQty()));
|
||||
entity.setDayPassRate(obj.getIntradayYieldRate());
|
||||
entity.setDayOnTime(String.valueOf(obj.getIntradayEqmtRunTime()));
|
||||
entity.setDayLoadingTime(String.valueOf(obj.getIntradayEqmtWorkTime()));
|
||||
entity.setDayStopTime(String.valueOf(obj.getIntradayEqmtStopTime()));
|
||||
entity.setDayStopNum(String.valueOf(obj.getIntradayEqmtStopTimes()));
|
||||
entity.setOee(obj.getOee());
|
||||
entity.setSyncId(obj.getId());
|
||||
entity.setCreatorUserId(userProvider.get().getUserId());
|
||||
return entity;
|
||||
}).collect(Collectors.toList());
|
||||
//批量存储
|
||||
yysDeviceDataService.saveBatch(collect);
|
||||
}
|
||||
|
||||
|
||||
//每十分钟执行一次
|
||||
@XxlJob("syncDeviceWarnData")
|
||||
public void syncDeviceWarnData() {
|
||||
//查询表中数据
|
||||
LambdaQueryWrapper<YysDeviceWarnStatisticsEntity> wrapper = new LambdaQueryWrapper<>(YysDeviceWarnStatisticsEntity.class);
|
||||
wrapper.isNull(YysDeviceWarnStatisticsEntity::getDeleteMark);
|
||||
List<YysDeviceWarnStatisticsEntity> list1 = yysDeviceWarnStatisticsService.list(wrapper);
|
||||
List<EqmtCollectExceptMasterEntity> list = yysDeviceWarnStatisticsService.syncData(list1.stream().map(YysDeviceWarnStatisticsEntity::getSyncId).collect(Collectors.toList()));
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return;
|
||||
}
|
||||
List<YysDeviceWarnStatisticsEntity> collect = list.stream().map(obj -> {
|
||||
String mainId = RandomUtil.uuId();
|
||||
YysDeviceWarnStatisticsEntity entity = new YysDeviceWarnStatisticsEntity();
|
||||
entity.setId(mainId);
|
||||
entity.setDeviceName(obj.getLine());
|
||||
entity.setProductionTime(obj.getGmtCreate());
|
||||
entity.setCreatorTime(obj.getCreateTime());
|
||||
entity.setRegisterAddress(obj.getRegistorAddress());
|
||||
entity.setWarnDetails(obj.getExceptMessage());
|
||||
entity.setWarnType(obj.getExceptTypeName());
|
||||
entity.setSyncId(obj.getId());
|
||||
entity.setCreatorUserId(userProvider.get().getUserId());
|
||||
return entity;
|
||||
}).collect(Collectors.toList());
|
||||
//批量存储
|
||||
boolean result = yysDeviceWarnStatisticsService.saveBatch(collect);
|
||||
//存储成功之后 统计数量
|
||||
if (result) {
|
||||
CompletableFuture.runAsync(() -> yysDeviceWarnService.syncCount(collect));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue