You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-cpt-java/src/main/java/com/glxp/api/service/trace/UdiTraceService.java

133 lines
6.5 KiB
Java

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.TraceProductDetailEntity;
import com.glxp.api.entity.trace.TraceRecordLogEntity;
import com.glxp.api.entity.trace.TraceTaskNoticeEntity;
import com.glxp.api.req.trace.TraceRecordRequest;
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 javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Resource
public class UdiTraceService {
@Resource
BasicUdiProductService basicUdiProductService;
@Resource
BasicUdiRelService basicUdiRelService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
TraceOrderService traceOrderService;
@Resource
TraceRecordService traceRecordService;
@Resource
TraceProductDetailService traceProductDetailService;
@Resource
TraceTaskNoticeService traceTaskNoticeService;
//创建查询日志
public TraceRecordLogEntity createRecordLog(String userId, Integer fromType, Integer traceType) {
TraceRecordLogEntity traceRecordLogEntity = new TraceRecordLogEntity();
traceRecordLogEntity.setId(IdUtil.getSnowflakeNextId());
traceRecordLogEntity.setRecordCode(gennerOrderUtils.getRecordNo());
traceRecordLogEntity.setCreateTime(new Date());
traceRecordLogEntity.setUpdateTime(new Date());
traceRecordLogEntity.setStatus(1);
traceRecordLogEntity.setCreateUser(userId);
traceRecordLogEntity.setFromType(fromType);
traceRecordLogEntity.setTraceType(traceType);
traceRecordService.save(traceRecordLogEntity);
return traceRecordLogEntity;
}
//创建追溯产品详情
public TraceProductDetailEntity createTracerProductByUdiCode(String udiCode, Integer traceSource, Integer traceType, BasicUdiRelResponse basicUdiRelResponse, UdiEntity udiEntity) {
TraceProductDetailEntity traceProductDetailEntity = null;
traceProductDetailEntity = traceProductDetailService.findUniqueByCode(1, udiCode);
if (traceProductDetailEntity == null) {
traceProductDetailEntity.setId(IdUtil.getSnowflakeNextId());
traceProductDetailEntity.setTraceSource(traceSource);
traceProductDetailEntity.setTraceType(traceType);
traceProductDetailEntity.setUdiCode(udiCode);
traceProductDetailEntity.setYlqxzcrbarmc(basicUdiRelResponse.getYlqxzcrbarmc());
traceProductDetailEntity.setCreditNum(basicUdiRelResponse.getTyshxydm());
traceProductDetailEntity.setCpmctymc(basicUdiRelResponse.getCpmctymc());
traceProductDetailEntity.setGgxh(basicUdiRelResponse.getGgxh());
traceProductDetailEntity.setNameCode(basicUdiRelResponse.getNameCode());
traceProductDetailEntity.setBatchNo(udiEntity.getBatchNo());
traceProductDetailEntity.setProduceDate(udiEntity.getProduceDate());
traceProductDetailEntity.setExpireDate(udiEntity.getExpireDate());
traceProductDetailEntity.setSerialNo(udiEntity.getSerialNo());
traceProductDetailEntity.setStatus(1);
traceProductDetailService.save(traceProductDetailEntity);
return traceProductDetailEntity;
}
return traceProductDetailEntity;
}
//创建追溯产品详情
public TraceProductDetailEntity createTracerProductByBatchNo(TraceRecordRequest traceRecordRequest, Integer traceSource, Integer traceType, BasicUdiRelResponse basicUdiRelResponse) {
TraceProductDetailEntity traceProductDetailEntity = null;
traceProductDetailEntity = traceProductDetailService.findUniqueByData(1, traceRecordRequest.getYlqxzcrbarmc(),
traceRecordRequest.getCpmctymc(), traceRecordRequest.getGgxh(), traceRecordRequest.getNameCode(), traceRecordRequest.getBatchNo());
if (traceProductDetailEntity == null) {
traceProductDetailEntity.setId(IdUtil.getSnowflakeNextId());
traceProductDetailEntity.setTraceSource(traceSource);
traceProductDetailEntity.setTraceType(traceType);
traceProductDetailEntity.setYlqxzcrbarmc(basicUdiRelResponse.getYlqxzcrbarmc());
traceProductDetailEntity.setCreditNum(basicUdiRelResponse.getTyshxydm());
traceProductDetailEntity.setCpmctymc(basicUdiRelResponse.getCpmctymc());
traceProductDetailEntity.setGgxh(basicUdiRelResponse.getGgxh());
traceProductDetailEntity.setNameCode(basicUdiRelResponse.getNameCode());
traceProductDetailEntity.setBatchNo(traceRecordRequest.getBatchNo());
traceProductDetailEntity.setStatus(1);
traceProductDetailService.save(traceProductDetailEntity);
}
return traceProductDetailEntity;
}
//创建任务列表
public void createTraceTask() {
}
//创建任务列表
public TraceTaskNoticeEntity createTraceNotice(Integer taskType, TraceProductDetailEntity traceProductDetailEntity, BasicUdiRelResponse basicUdiRelResponse, UdiEntity udiEntity) {
TraceTaskNoticeEntity traceTaskNoticeEntity = new TraceTaskNoticeEntity();
traceTaskNoticeEntity.setId(IdUtil.getSnowflakeNextId());
traceTaskNoticeEntity.setRecordCode(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.setCreateTime(new Date());
List<String> diList = basicUdiRelService.getBaseMapper().findDiList(basicUdiRelResponse.getUuid());
traceTaskNoticeEntity.setDiList(diList);
traceTaskNoticeService.save(traceTaskNoticeEntity);
return traceTaskNoticeEntity;
}
}