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.
133 lines
6.5 KiB
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;
|
|
}
|
|
|
|
|
|
}
|