|
|
|
@ -2,7 +2,7 @@ package com.glxp.api.service.trace;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
|
import com.glxp.api.entity.basic.UdiEntity;
|
|
|
|
|
import com.glxp.api.entity.sup.UserCompanyEntity;
|
|
|
|
|
import com.glxp.api.entity.trace.MqTraceMessage;
|
|
|
|
|
import com.glxp.api.entity.trace.TraceProductDetailEntity;
|
|
|
|
|
import com.glxp.api.entity.trace.TraceRecordLogEntity;
|
|
|
|
|
import com.glxp.api.entity.trace.TraceTaskNoticeEntity;
|
|
|
|
@ -11,7 +11,6 @@ import com.glxp.api.res.basic.BasicUdiRelResponse;
|
|
|
|
|
import com.glxp.api.service.basic.BasicUdiProductService;
|
|
|
|
|
import com.glxp.api.service.basic.BasicUdiRelService;
|
|
|
|
|
import com.glxp.api.util.GennerOrderUtils;
|
|
|
|
|
import com.glxp.api.util.udi.FilterUdiUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
@ -36,6 +35,8 @@ public class UdiTraceService {
|
|
|
|
|
TraceProductDetailService traceProductDetailService;
|
|
|
|
|
@Resource
|
|
|
|
|
TraceTaskNoticeService traceTaskNoticeService;
|
|
|
|
|
@Resource
|
|
|
|
|
RabbitPushService rabbitPushService;
|
|
|
|
|
|
|
|
|
|
//创建查询日志
|
|
|
|
|
public TraceRecordLogEntity createRecordLog(String userId, Integer fromType, Integer traceType) {
|
|
|
|
@ -100,34 +101,69 @@ public class UdiTraceService {
|
|
|
|
|
return traceProductDetailEntity;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
TraceManuOrderService traceManuOrderService;
|
|
|
|
|
|
|
|
|
|
//创建任务列表
|
|
|
|
|
public void createTraceTask() {
|
|
|
|
|
public void createTraceTask(TraceProductDetailEntity traceProductDetailEntity, Long companyId) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//1.查询生产订单信息是否已上传
|
|
|
|
|
if (traceProductDetailEntity.getManuStatus() != 3) {
|
|
|
|
|
//生产订单关联关系
|
|
|
|
|
if (traceProductDetailEntity.getManuStatus() == 2) {
|
|
|
|
|
TraceTaskNoticeEntity taskNoticeEntity = traceTaskNoticeService.findTask(1, traceProductDetailEntity.getId());
|
|
|
|
|
if (taskNoticeEntity == null) {
|
|
|
|
|
createTraceNotice(1, traceProductDetailEntity, companyId);
|
|
|
|
|
pushMq(traceProductDetailEntity, companyId);
|
|
|
|
|
} else if (taskNoticeEntity.getStatus() == 4) {
|
|
|
|
|
//任务超时未处理,重新推送消息
|
|
|
|
|
pushMq(traceProductDetailEntity, companyId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//2.查询出入库单消息是否已经上传
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//创建任务列表
|
|
|
|
|
public TraceTaskNoticeEntity createTraceNotice(Integer taskType, TraceProductDetailEntity traceProductDetailEntity, BasicUdiRelResponse basicUdiRelResponse, UdiEntity udiEntity) {
|
|
|
|
|
public TraceTaskNoticeEntity createTraceNotice(Integer taskType, TraceProductDetailEntity traceProductDetailEntity, Long companyId) {
|
|
|
|
|
TraceTaskNoticeEntity traceTaskNoticeEntity = new TraceTaskNoticeEntity();
|
|
|
|
|
traceTaskNoticeEntity.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
traceTaskNoticeEntity.setRecordCode(traceProductDetailEntity.getId());
|
|
|
|
|
traceTaskNoticeEntity.setProdudctRecordIdFk(traceProductDetailEntity.getId());
|
|
|
|
|
traceTaskNoticeEntity.setTaskType(taskType);
|
|
|
|
|
traceTaskNoticeEntity.setStatus(1);
|
|
|
|
|
traceTaskNoticeEntity.setCompanyIdFk(basicUdiRelResponse.getCompanyIdFk());
|
|
|
|
|
traceTaskNoticeEntity.setYlqxzcrbarmc(basicUdiRelResponse.getYlqxzcrbarmc());
|
|
|
|
|
traceTaskNoticeEntity.setCreditNum(basicUdiRelResponse.getTyshxydm());
|
|
|
|
|
traceTaskNoticeEntity.setCpmctymc(basicUdiRelResponse.getCpmctymc());
|
|
|
|
|
traceTaskNoticeEntity.setGgxh(basicUdiRelResponse.getGgxh());
|
|
|
|
|
traceTaskNoticeEntity.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
traceTaskNoticeEntity.setProduceDate(udiEntity.getProduceDate());
|
|
|
|
|
traceTaskNoticeEntity.setExpireDate(udiEntity.getExpireDate());
|
|
|
|
|
traceTaskNoticeEntity.setSerialNo(udiEntity.getSerialNo());
|
|
|
|
|
traceTaskNoticeEntity.setCompanyIdFk(companyId);
|
|
|
|
|
traceTaskNoticeEntity.setYlqxzcrbarmc(traceProductDetailEntity.getYlqxzcrbarmc());
|
|
|
|
|
traceTaskNoticeEntity.setCreditNum(traceProductDetailEntity.getCreditNum());
|
|
|
|
|
traceTaskNoticeEntity.setCpmctymc(traceProductDetailEntity.getCpmctymc());
|
|
|
|
|
traceTaskNoticeEntity.setGgxh(traceProductDetailEntity.getGgxh());
|
|
|
|
|
traceTaskNoticeEntity.setBatchNo(traceProductDetailEntity.getBatchNo());
|
|
|
|
|
traceTaskNoticeEntity.setProduceDate(traceProductDetailEntity.getProduceDate());
|
|
|
|
|
traceTaskNoticeEntity.setExpireDate(traceProductDetailEntity.getExpireDate());
|
|
|
|
|
traceTaskNoticeEntity.setSerialNo(traceProductDetailEntity.getSerialNo());
|
|
|
|
|
traceTaskNoticeEntity.setCreateTime(new Date());
|
|
|
|
|
List<String> diList = basicUdiRelService.getBaseMapper().findDiList(basicUdiRelResponse.getUuid());
|
|
|
|
|
traceTaskNoticeEntity.setDiList(diList);
|
|
|
|
|
// List<String> diList = basicUdiRelService.getBaseMapper().findDiList(basicUdiRelResponse.getUuid());
|
|
|
|
|
// traceTaskNoticeEntity.setDiList(diList);
|
|
|
|
|
traceTaskNoticeService.save(traceTaskNoticeEntity);
|
|
|
|
|
return traceTaskNoticeEntity;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void pushMq(TraceProductDetailEntity traceProductDetailEntity, Long companyId) {
|
|
|
|
|
//6.构建MQ推送消息
|
|
|
|
|
MqTraceMessage mqTraceMessage = new MqTraceMessage();
|
|
|
|
|
mqTraceMessage.setCreateTime(new Date());
|
|
|
|
|
mqTraceMessage.setTaskType(1);
|
|
|
|
|
mqTraceMessage.setCompanyId(companyId);
|
|
|
|
|
mqTraceMessage.setCerditNo(traceProductDetailEntity.getCreditNum());
|
|
|
|
|
mqTraceMessage.setTaskId(traceProductDetailEntity.getId());
|
|
|
|
|
rabbitPushService.send(mqTraceMessage);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|