追溯代码备份

cert
anthonywj 2 years ago
parent a2ecdabbe4
commit 6778617902

@ -1,6 +1,8 @@
package com.glxp.api.controller.trace; package com.glxp.api.controller.trace;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
@ -10,6 +12,7 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.entity.trace.*; import com.glxp.api.entity.trace.*;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.trace.TraceOrderUploadRequest; import com.glxp.api.req.trace.TraceOrderUploadRequest;
import com.glxp.api.req.trace.TraceRecordRequest; import com.glxp.api.req.trace.TraceRecordRequest;
import com.glxp.api.res.basic.BasicUdiRelResponse; import com.glxp.api.res.basic.BasicUdiRelResponse;
@ -36,8 +39,6 @@ import java.util.List;
public class UdiTraceController extends BaseController { public class UdiTraceController extends BaseController {
@Resource
TraceRecordService traceRecordService;
@Resource @Resource
TraceProductDetailService traceProductDetailService; TraceProductDetailService traceProductDetailService;
@Resource @Resource
@ -50,6 +51,10 @@ public class UdiTraceController extends BaseController {
RabbitPushService rabbitPushService; RabbitPushService rabbitPushService;
@Resource @Resource
TraceOrderService traceOrderService; TraceOrderService traceOrderService;
@Resource
TraceRecordService traceRecordService;
@Resource
UdiTraceService udiTraceService;
/** /**
@ -61,116 +66,104 @@ public class UdiTraceController extends BaseController {
@AuthRuleAnnotation("udi/trace/source/search") @AuthRuleAnnotation("udi/trace/source/search")
@GetMapping("udi/trace/source/search") @GetMapping("udi/trace/source/search")
public BaseResponse createTrace(TraceRecordRequest traceRecordRequest) { public BaseResponse createTrace(TraceRecordRequest traceRecordRequest) {
TraceRecordLogEntity traceRecordLogEntity = null;
TraceProductDetailEntity traceProductDetailEntity = null;
BasicUdiRelResponse basicUdiRelResponse = null;
UdiEntity udiEntity = null;
UserCompanyEntity userCompanyEntity = null;
if (traceRecordRequest.getTraceType() == Constant.UDI_TRACE) { if (traceRecordRequest.getTraceType() == Constant.UDI_TRACE) {
//1.校验UDI码格式 //1.校验UDI码格式
UdiEntity udiEntity = FilterUdiUtils.getUdi(traceRecordRequest.getUdiCode()); udiEntity = FilterUdiUtils.getUdi(traceRecordRequest.getUdiCode());
if (udiEntity == null) { if (udiEntity == null) {
return ResultVOUtils.error(500, "UDI码格式错误"); return ResultVOUtils.error(500, "UDI码格式错误");
} }
//2.查询源头企业 //2.查询源头企业
UserCompanyEntity userCompanyEntity = basicUdiRelService.findByNameCode(udiEntity.getUdi()); userCompanyEntity = basicUdiRelService.findByNameCode(udiEntity.getUdi());
if (userCompanyEntity == null) { if (userCompanyEntity == null) {
return ResultVOUtils.error(500, "生产企业未关联该产品信息!"); return ResultVOUtils.error(500, "生产企业未关联该产品信息!");
} }
//3.查询产品信息 //3.查询产品信息
BasicUdiRelResponse basicUdiRelResponse = basicUdiRelService.findByProductNameCode(traceRecordRequest.getNameCode()); basicUdiRelResponse = basicUdiRelService.findByProductNameCode(udiEntity.getUdi());
if (basicUdiRelResponse == null) { if (basicUdiRelResponse == null) {
return ResultVOUtils.error(500, "未查询到产品信息"); return ResultVOUtils.error(500, "未查询到产品信息");
} }
//4.生成查询记录 //4.生成查询记录
String userId = getUserId() + ""; String userId = getUserId() + "";
TraceRecordLogEntity traceRecordLogEntity = new TraceRecordLogEntity(); traceRecordLogEntity = traceRecordService.getById(traceRecordRequest.getRecordCode());
traceRecordLogEntity.setId(IdUtil.getSnowflakeNextId()); if (traceRecordLogEntity == null)
traceRecordLogEntity.setRecordCode(gennerOrderUtils.getRecordNo()); traceRecordLogEntity = udiTraceService.createRecordLog(userId, traceRecordRequest.getFromType(), traceRecordRequest.getTraceType());
traceRecordLogEntity.setCreateTime(new Date());
traceRecordLogEntity.setUpdateTime(new Date());
traceRecordLogEntity.setStatus(1); //5.创建查询详情记录,若存在相同查询记录则直接获取
traceRecordLogEntity.setCreateUser(userId); if (traceRecordLogEntity.getTraceProductIdFk() != null) {
traceRecordLogEntity.setFromType(traceRecordRequest.getFromType()); traceProductDetailEntity = traceProductDetailService.getById(traceRecordLogEntity.getTraceProductIdFk());
traceRecordLogEntity.setTraceType(traceRecordRequest.getTraceType());
//4.创建查询详情记录,若存在相同查询记录则直接获取
TraceProductDetailEntity traceProductDetailEntity = null;
if (traceRecordRequest.getTraceType() == 1) {//按UDI码查询
traceProductDetailEntity = traceProductDetailService.findUniqueByCode(1, traceRecordRequest.getUdiCode());
if (traceProductDetailEntity == null) {
traceProductDetailEntity.setId(IdUtil.getSnowflakeNextId());
traceProductDetailEntity.setTraceSource(1);
traceProductDetailEntity.setTraceType(traceRecordRequest.getTraceType());
traceProductDetailEntity.setUdiCode(traceRecordRequest.getUdiCode());
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);
}
} else { //按批次号查询
traceProductDetailEntity = traceProductDetailService.findUniqueByData(1, traceRecordRequest.getYlqxzcrbarmc(),
traceRecordRequest.getCpmctymc(), traceRecordRequest.getGgxh(), traceRecordRequest.getNameCode(), traceRecordRequest.getBatchNo());
if (traceProductDetailEntity == null) { if (traceProductDetailEntity == null) {
traceProductDetailEntity.setId(IdUtil.getSnowflakeNextId()); traceProductDetailEntity = udiTraceService.createTracerProductByUdiCode(traceRecordRequest.getUdiCode(), 1, 1, basicUdiRelResponse, udiEntity);
traceProductDetailEntity.setTraceSource(1); traceRecordLogEntity.setTraceProductIdFk(traceProductDetailEntity.getId());
traceProductDetailEntity.setTraceType(traceRecordRequest.getTraceType()); traceRecordService.updateById(traceRecordLogEntity);
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);
} }
} else {
traceProductDetailEntity = udiTraceService.createTracerProductByUdiCode(traceRecordRequest.getUdiCode(), 1, 1, basicUdiRelResponse, udiEntity);
}
} else {
//1:校验参数是否正确
if (StrUtil.isEmpty(traceRecordRequest.getYlqxzcrbarmc())) {
return ResultVOUtils.error(500, "医疗器械注册人不能为空!");
}
if (StrUtil.isEmpty(traceRecordRequest.getCpmctymc())) {
return ResultVOUtils.error(500, "产品通用名称不能为空!");
}
if (StrUtil.isEmpty(traceRecordRequest.getGgxh())) {
return ResultVOUtils.error(500, "规格型号不能为空!");
} }
//5.创建查询任务表 //2.查询源头企业
TraceTaskNoticeEntity traceTaskNoticeEntity = new TraceTaskNoticeEntity(); FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
traceTaskNoticeEntity.setId(IdUtil.getSnowflakeNextId()); filterUdiRelRequest.setYlqxzcrbarmc(traceRecordRequest.getYlqxzcrbarmc());
traceTaskNoticeEntity.setRecordCode(traceRecordLogEntity.getId()); filterUdiRelRequest.setCpmctymc(traceRecordRequest.getCpmctymc());
traceTaskNoticeEntity.setTaskType(1); filterUdiRelRequest.setGgxh(traceRecordRequest.getGgxh());
traceTaskNoticeEntity.setStatus(1); userCompanyEntity = basicUdiRelService.findByProduct(filterUdiRelRequest);
traceTaskNoticeEntity.setCompanyIdFk(basicUdiRelResponse.getCompanyIdFk()); if (userCompanyEntity == null) {
traceTaskNoticeEntity.setYlqxzcrbarmc(basicUdiRelResponse.getYlqxzcrbarmc()); return ResultVOUtils.error(500, "生产企业未关联该产品信息!");
traceTaskNoticeEntity.setCreditNum(basicUdiRelResponse.getTyshxydm()); }
traceTaskNoticeEntity.setCpmctymc(basicUdiRelResponse.getCpmctymc());
traceTaskNoticeEntity.setGgxh(basicUdiRelResponse.getGgxh()); //3.查询产品信息
traceTaskNoticeEntity.setBatchNo(udiEntity.getBatchNo()); basicUdiRelResponse = basicUdiRelService.findByProductName(filterUdiRelRequest);
traceTaskNoticeEntity.setProduceDate(udiEntity.getProduceDate()); if (basicUdiRelResponse == null) {
traceTaskNoticeEntity.setExpireDate(udiEntity.getExpireDate()); return ResultVOUtils.error(500, "未查询到产品信息");
traceTaskNoticeEntity.setSerialNo(udiEntity.getSerialNo()); }
traceTaskNoticeEntity.setCreateTime(new Date());
List<String> diList = basicUdiRelService.getBaseMapper().findDiList(basicUdiRelResponse.getUuid()); //4.生成查询记录
traceTaskNoticeEntity.setDiList(diList); String userId = getUserId() + "";
traceTaskNoticeEntity.setTaskType(1); traceRecordLogEntity = udiTraceService.createRecordLog(userId, traceRecordRequest.getFromType(), traceRecordRequest.getTraceType());
traceTaskNoticeService.save(traceTaskNoticeEntity);
//5.创建查询详情记录,若存在相同查询记录则直接获取
traceProductDetailEntity = udiTraceService.createTracerProductByBatchNo(traceRecordRequest, 1, 2, basicUdiRelResponse);
//6.构建MQ推送消息
MqTraceMessage mqTraceMessage = new MqTraceMessage();
mqTraceMessage.setCreateTime(new Date());
mqTraceMessage.setTaskType(1);
mqTraceMessage.setCompanyId(basicUdiRelResponse.getCompanyIdFk());
mqTraceMessage.setCerditNo(userCompanyEntity.getCreditNum());
rabbitPushService.send(mqTraceMessage);
return ResultVOUtils.success("创建查询成功,请稍后刷新查看查询结果!");
} }
return ResultVOUtils.error(500, "查询失败"); //5.创建查询任务表
} TraceTaskNoticeEntity traceTaskNoticeEntity = udiTraceService.createTraceNotice(1, traceProductDetailEntity, basicUdiRelResponse, udiEntity);
//6.构建MQ推送消息
MqTraceMessage mqTraceMessage = new MqTraceMessage();
mqTraceMessage.setCreateTime(new Date());
mqTraceMessage.setTaskType(1);
mqTraceMessage.setCompanyId(basicUdiRelResponse.getCompanyIdFk());
mqTraceMessage.setCerditNo(userCompanyEntity.getCreditNum());
mqTraceMessage.setTaskId(traceTaskNoticeEntity.getId());
rabbitPushService.send(mqTraceMessage);
return ResultVOUtils.success(traceRecordLogEntity);
}
/** /**
* *

@ -19,5 +19,8 @@ public interface BasicUdiRelMapper extends BaseMapper<BasicUdiRelEntity> {
UserCompanyEntity findByNameCode(@Param("nameCode") String nameCode); UserCompanyEntity findByNameCode(@Param("nameCode") String nameCode);
List<String> findDiList(@Param("nameCode") String uuid); UserCompanyEntity findByProduct(FilterUdiRelRequest filterUdiRelRequest);
List<String> findDiList(@Param("uuid") String uuid);
} }

@ -28,7 +28,7 @@ public class MqTraceMessage {
/** /**
* ID() * ID()
*/ */
private String taskId; private Long taskId;
} }

@ -7,13 +7,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import com.glxp.api.annotation.RepeatSubmit;
import lombok.Data; import lombok.Data;
/** /**
* *
*/ */
@Data @Data
@TableName(value = "trace_record_detail") @TableName(value = "trace_product_record")
public class TraceProductDetailEntity implements Serializable { public class TraceProductDetailEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT) @TableId(value = "id", type = IdType.INPUT)
private Long id; private Long id;
@ -96,5 +97,7 @@ public class TraceProductDetailEntity implements Serializable {
@TableField(value = "status") @TableField(value = "status")
private Integer status; private Integer status;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -68,6 +68,12 @@ public class TraceRecordLogEntity implements Serializable {
@TableField(value = "traceType") @TableField(value = "traceType")
private Integer traceType; private Integer traceType;
/**
*
*/
@TableField(value = "traceProductIdFk")
private Long traceProductIdFk;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -37,11 +37,23 @@ public class BasicUdiRelService extends ServiceImpl<BasicUdiRelMapper, BasicUdiR
return basicUdiRelMapper.findByNameCode(nameCode); return basicUdiRelMapper.findByNameCode(nameCode);
} }
public UserCompanyEntity findByProduct(FilterUdiRelRequest filterUdiRelRequest) {
return basicUdiRelMapper.findByProduct(filterUdiRelRequest);
}
public BasicUdiRelResponse findByProductNameCode(String namCode) { public BasicUdiRelResponse findByProductNameCode(String namCode) {
if (StrUtil.isEmpty(namCode)) if (StrUtil.isEmpty(namCode))
return null; return null;
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setNameCode(namCode);
List<BasicUdiRelResponse> udiRelResponses = basicUdiRelMapper.filterList(filterUdiRelRequest);
if (CollUtil.isNotEmpty(udiRelResponses))
return udiRelResponses.get(0);
return null;
}
public BasicUdiRelResponse findByProductName(FilterUdiRelRequest filterUdiRelRequest) {
List<BasicUdiRelResponse> udiRelResponses = basicUdiRelMapper.filterList(filterUdiRelRequest); List<BasicUdiRelResponse> udiRelResponses = basicUdiRelMapper.filterList(filterUdiRelRequest);
if (CollUtil.isNotEmpty(udiRelResponses)) if (CollUtil.isNotEmpty(udiRelResponses))
return udiRelResponses.get(0); return udiRelResponses.get(0);

@ -1,12 +1,21 @@
package com.glxp.api.service.trace; package com.glxp.api.service.trace;
import cn.hutool.core.util.IdUtil;
import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.sup.UserCompanyEntity; 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.BasicUdiProductService;
import com.glxp.api.service.basic.BasicUdiRelService; import com.glxp.api.service.basic.BasicUdiRelService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Resource @Resource
public class UdiTraceService { public class UdiTraceService {
@ -16,23 +25,108 @@ public class UdiTraceService {
BasicUdiProductService basicUdiProductService; BasicUdiProductService basicUdiProductService;
@Resource @Resource
BasicUdiRelService basicUdiRelService; 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) {
public String vailUdiCode(String udiCode) { TraceProductDetailEntity traceProductDetailEntity = null;
UdiEntity udiEntity = FilterUdiUtils.getUdi(udiCode); traceProductDetailEntity = traceProductDetailService.findUniqueByData(1, traceRecordRequest.getYlqxzcrbarmc(),
if (udiEntity == null) { traceRecordRequest.getCpmctymc(), traceRecordRequest.getGgxh(), traceRecordRequest.getNameCode(), traceRecordRequest.getBatchNo());
return "UDI码格式错误"; 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 null; return traceProductDetailEntity;
} }
/** //创建任务列表
* public void createTraceTask() {
*
* @param udiEntity
*/
public UserCompanyEntity findSourceCompamy(UdiEntity udiEntity) {
String nameCode = udiEntity.getUdi();
UserCompanyEntity userCompanyEntity = basicUdiRelService.findByNameCode(nameCode);
return userCompanyEntity;
} }
//创建任务列表
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;
}
} }

@ -4,55 +4,55 @@
<select id="filterList" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="filterList" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.BasicUdiRelResponse"> resultType="com.glxp.api.res.basic.BasicUdiRelResponse">
select bur.*, select bur.*,
uc.companyName, uc.companyName,
nameCode, nameCode,
packRatio, packRatio,
packLevel, packLevel,
bhxjsl, bhxjsl,
bhzxxsbzsl, bhzxxsbzsl,
zxxsbzbhsydysl, zxxsbzbhsydysl,
bhxjcpbm, bhxjcpbm,
sjcpbm, sjcpbm,
bzcj, bzcj,
thirdProductNo, thirdProductNo,
thirdProductName, thirdProductName,
addType, addType,
deviceRecordKey, deviceRecordKey,
isUseDy, isUseDy,
cpmctymc, cpmctymc,
cplb, cplb,
flbm, flbm,
ggxh, ggxh,
qxlb, qxlb,
tyshxydm, tyshxydm,
ylqxzcrbarmc, ylqxzcrbarmc,
zczbhhzbapzbh, zczbhhzbapzbh,
ylqxzcrbarywmc, ylqxzcrbarywmc,
sydycpbs, sydycpbs,
versionNumber, versionNumber,
diType, diType,
scbssfbhph, scbssfbhph,
scbssfbhxlh, scbssfbhxlh,
scbssfbhscrq, scbssfbhscrq,
scbssfbhsxrq, scbssfbhsxrq,
ybbm, ybbm,
spmc, spmc,
cphhhbh, cphhhbh,
cpms, cpms,
cpbsbmtxmc, cpbsbmtxmc,
cplx, cplx,
hchzsb, hchzsb,
sfwblztlcp, sfwblztlcp,
cgzmraqxgxx, cgzmraqxgxx,
sfbjwycxsy, sfbjwycxsy,
zdcfsycs, zdcfsycs,
sfwwjbz, sfwwjbz,
syqsfxyjxmj, syqsfxyjxmj,
qtxxdwzlj, qtxxdwzlj,
mjfs mjfs
FROM basic_udi_rel bur FROM basic_udi_rel bur
left JOIN basic_udi_product p on bur.uuid = p.uuid left JOIN basic_udi_product p on bur.uuid = p.uuid
left join user_company uc on bur.companyIdFk = uc.id left join user_company uc on bur.companyIdFk = uc.id
<where> <where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null"> <if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%') AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -99,12 +99,25 @@
resultType="com.glxp.api.entity.sup.UserCompanyEntity"> resultType="com.glxp.api.entity.sup.UserCompanyEntity">
select user_company.* select user_company.*
from basic_udi_rel from basic_udi_rel
INNER JOIN basic_udi_product on basic_udi_rel.uuid = basic_udi_product.uuid INNER JOIN basic_udi_product on basic_udi_rel.uuid = basic_udi_product.uuid
INNER JOIN user_company on basic_udi_rel.companyIdFk = user_company.id INNER JOIN user_company on basic_udi_rel.companyIdFk = user_company.id
where basic_udi_product.nameCode = #{nameCode} where basic_udi_product.nameCode = #{nameCode}
limit 1 limit 1
</select> </select>
<select id="findByProduct"
resultType="com.glxp.api.entity.sup.UserCompanyEntity">
select user_company.*
from basic_udi_rel
INNER JOIN basic_udi_product on basic_udi_rel.uuid = basic_udi_product.uuid
INNER JOIN user_company on basic_udi_rel.companyIdFk = user_company.id
where basic_udi_product.ylqxzcrbarmc = #{ylqxzcrbarmc}
and basic_udi_product.cpmctymc = #{cpmctymc}
and basic_udi_product.ggxh = #{ggxh}
limit 1
</select>
<select id="findDiList" parameterType="java.lang.String" <select id="findDiList" parameterType="java.lang.String"
resultType="java.lang.String"> resultType="java.lang.String">
select nameCode select nameCode

@ -8,7 +8,7 @@
LEFT JOIN user_company uc ON uc.id = tmo.companyIdFk LEFT JOIN user_company uc ON uc.id = tmo.companyIdFk
LEFT JOIN (SELECT tr.recordCode,tr.createUser,tr.remark,trd.batchNo,trd.traceType LEFT JOIN (SELECT tr.recordCode,tr.createUser,tr.remark,trd.batchNo,trd.traceType
FROM trace_record_log tr FROM trace_record_log tr
LEFT JOIN trace_record_detail trd ON trd.recordIdFk = tr.id) mid ON mid.recordCode = tmo.recordCode LEFT JOIN trace_product_record trd ON trd.recordIdFk = tr.id) mid ON mid.recordCode = tmo.recordCode
<where> <where>
<if test="recordCode != '' and recordCode != null"> <if test="recordCode != '' and recordCode != null">
and recordCode = #{recordCode} and recordCode = #{recordCode}

@ -9,7 +9,7 @@
LEFT JOIN user_company uc ON uc.id = tor.companyIdFk LEFT JOIN user_company uc ON uc.id = tor.companyIdFk
LEFT JOIN (SELECT tr.recordCode, trd.* LEFT JOIN (SELECT tr.recordCode, trd.*
FROM trace_record_log tr FROM trace_record_log tr
LEFT JOIN trace_record_detail trd ON trd.recordIdFk = tr.id) trmid LEFT JOIN trace_product_record trd ON trd.recordIdFk = tr.id) trmid
ON trmid.recordCode = tor.recordCode ON trmid.recordCode = tor.recordCode
<where> <where>
<if test="udiCode != '' and udiCode != null"> <if test="udiCode != '' and udiCode != null">

@ -5,7 +5,7 @@
resultType="com.glxp.api.res.trace.TraceRecordResponse"> resultType="com.glxp.api.res.trace.TraceRecordResponse">
SELECT tr.recordCode, tr.remark, trd.*, mid.* SELECT tr.recordCode, tr.remark, trd.*, mid.*
FROM trace_record_log tr FROM trace_record_log tr
LEFT JOIN trace_record_detail trd ON trd.recordIdFk = tr.id LEFT JOIN trace_product_record trd ON trd.recordIdFk = tr.id
LEFT JOIN (SELECT tor.billNo, tor.fromCorp, tor.toCorp, tor.createUser, uc.companyName LEFT JOIN (SELECT tor.billNo, tor.fromCorp, tor.toCorp, tor.createUser, uc.companyName
FROM trace_order tor FROM trace_order tor
LEFT JOIN user_company uc ON uc.id = tor.companyIdFk) mid LEFT JOIN user_company uc ON uc.id = tor.companyIdFk) mid

Loading…
Cancel
Save