From d588b27bb288e86425bae084c6d8f6aceae867f4 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sat, 27 May 2023 19:21:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E4=BB=BB=E5=8A=A1=E5=85=AC=E5=91=8A=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/trace/UdiTraceController.java | 20 +++++ .../glxp/api/dao/basic/BasicUdiRelMapper.java | 5 ++ .../entity/basic/BasicUdiProductEntity.java | 3 + .../glxp/api/entity/trace/MqTraceMessage.java | 34 ++++++++ .../entity/trace/TraceTaskNoticeEntity.java | 75 +++++++++++++++-- .../api/res/trace/TraceTaskDlResponse.java | 82 +++++++++++++++++++ .../service/basic/BasicUdiProductService.java | 1 - .../api/service/basic/BasicUdiRelService.java | 7 ++ .../BasicUdiProductServiceImpl.java | 3 +- .../service/trace/TraceTaskNoticeService.java | 8 +- .../api/service/trace/UdiTraceService.java | 38 +++++++++ .../TraceManuCodeRelServiceImpl.java | 3 +- .../{ => impl}/TraceOrderServiceImpl.java | 5 +- .../impl/TraceTaskNoticeServiceImpl.java | 12 --- src/main/resources/application-dev.yml | 4 +- .../mapper/basic/BasicUdiRelMapper.xml | 11 +++ .../mapper/trace/TraceTaskNoticeMapper.xml | 1 + 17 files changed, 281 insertions(+), 31 deletions(-) create mode 100644 src/main/java/com/glxp/api/entity/trace/MqTraceMessage.java create mode 100644 src/main/java/com/glxp/api/res/trace/TraceTaskDlResponse.java rename src/main/java/com/glxp/api/service/basic/{ => impl}/BasicUdiProductServiceImpl.java (94%) create mode 100644 src/main/java/com/glxp/api/service/trace/UdiTraceService.java rename src/main/java/com/glxp/api/service/trace/{ => impl}/TraceManuCodeRelServiceImpl.java (92%) rename src/main/java/com/glxp/api/service/trace/{ => impl}/TraceOrderServiceImpl.java (88%) delete mode 100644 src/main/java/com/glxp/api/service/trace/impl/TraceTaskNoticeServiceImpl.java diff --git a/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java b/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java index 9f25a38..63afcb8 100644 --- a/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java +++ b/src/main/java/com/glxp/api/controller/trace/UdiTraceController.java @@ -5,8 +5,12 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.req.trace.TraceRecordRequest; +import com.glxp.api.service.basic.BasicUdiRelService; import com.glxp.api.service.trace.TraceRecordService; +import com.glxp.api.util.udi.FilterUdiUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -22,6 +26,8 @@ public class UdiTraceController extends BaseController { @Resource TraceRecordService traceRecordService; + @Resource + BasicUdiRelService basicUdiRelService; /** * 源头追溯查询 @@ -36,6 +42,20 @@ public class UdiTraceController extends BaseController { if (traceRecordRequest.getTraceType() == Constant.UDI_TRACE) { + //1.校验UDI码格式 + UdiEntity udiEntity = FilterUdiUtils.getUdi(traceRecordRequest.getUdiCode()); + if (udiEntity == null) { + return ResultVOUtils.error(500, "UDI码格式错误"); + } + + //2.查询源头企业 + UserCompanyEntity userCompanyEntity = basicUdiRelService.findByNameCode(udiEntity.getUdi()); + if (userCompanyEntity == null) { + return ResultVOUtils.error(500, "生产企业未关联该产品信息!"); + } + + + } else if (traceRecordRequest.getTraceType() == Constant.UDI_BATCHNO) { } else { diff --git a/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java b/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java index e62903e..56824ee 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicUdiRelMapper.java @@ -2,9 +2,11 @@ package com.glxp.api.dao.basic; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.basic.BasicUdiRelEntity; +import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.res.basic.BasicUdiRelResponse; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -13,4 +15,7 @@ public interface BasicUdiRelMapper extends BaseMapper { List filterList(FilterUdiRelRequest filterUdiRelRequest); + + + UserCompanyEntity findByNameCode(@Param("nameCode") String nameCode); } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java index 740ceff..c5c2fa6 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java @@ -10,6 +10,9 @@ import java.util.Date; import lombok.Data; +/** + * UDI医疗器械信息字典表 + */ @Data @TableName(value = "basic_udi_product") public class BasicUdiProductEntity implements Serializable { diff --git a/src/main/java/com/glxp/api/entity/trace/MqTraceMessage.java b/src/main/java/com/glxp/api/entity/trace/MqTraceMessage.java new file mode 100644 index 0000000..27bdfa9 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/trace/MqTraceMessage.java @@ -0,0 +1,34 @@ +package com.glxp.api.entity.trace; + +import lombok.Data; + +import java.util.Date; + +@Data +public class MqTraceMessage { + + /** + * 消息创建时间 + */ + private Date createTime; + /** + * 报备企业ID唯一键 + */ + private Long companyId; + /** + * 报备企业统一社会信用号 + */ + private Long cerditNo; + + /** + * 任务类型 1:提交生产信息和出入库信息;2:提交出入库信息 + */ + private Integer taskType; + + /** + * 任务ID识别号(查询记录号) 调用接口后需回传 + */ + private String taskId; + + +} diff --git a/src/main/java/com/glxp/api/entity/trace/TraceTaskNoticeEntity.java b/src/main/java/com/glxp/api/entity/trace/TraceTaskNoticeEntity.java index 995237b..0dc7505 100644 --- a/src/main/java/com/glxp/api/entity/trace/TraceTaskNoticeEntity.java +++ b/src/main/java/com/glxp/api/entity/trace/TraceTaskNoticeEntity.java @@ -4,12 +4,15 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; +import java.util.Date; + import lombok.Data; /** - * 任务公告表 - */ + * 任务公告表 + */ @Data @TableName(value = "trace_task_notice") public class TraceTaskNoticeEntity implements Serializable { @@ -19,8 +22,8 @@ public class TraceTaskNoticeEntity implements Serializable { /** * 查询记录表ID外键 */ - @TableField(value = "traceRecordIdFk") - private Long traceRecordIdFk; + @TableField(value = "recordCode") + private Long recordCode; /** * 任务类型1:关联关系;2:入库;3:出库 @@ -30,22 +33,76 @@ public class TraceTaskNoticeEntity implements Serializable { /** * 任务状态(未处理/正在处理(任务被下载)/ -已处理(任务已提交) + * 已处理(任务已提交) */ @TableField(value = "`status`") private Byte status; /** - * 统一社会信用号 + * 企业信息ID外键 + */ + @TableField(value = "companyIdFk") + private Long companyIdFk; + + /** + * 医疗器械注册人 + */ + @TableField(value = "ylqxzcrbarmc") + private String ylqxzcrbarmc; + + /** + * 医疗器械注册人统一社会信用号 */ @TableField(value = "creditNum") private String creditNum; /** - * 企业信息ID外键 + * 产品名称 */ - @TableField(value = "companyIdFk") - private Long companyIdFk; + @TableField(value = "cpmctymc") + private String cpmctymc; + + /** + * 规格型号 + */ + @TableField(value = "ggxh") + private String ggxh; + + /** + * 批次号 + */ + @TableField(value = "batchNo") + private String batchNo; + + /** + * 失效日期 + */ + @TableField(value = "expireDate") + private String expireDate; + + /** + * 序列号 + */ + @TableField(value = "serialNo") + private String serialNo; + + /** + * 查询UDI码 + */ + @TableField(value = "udiCode") + private String udiCode; + /** + * 任务创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + /** + * 任务更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/res/trace/TraceTaskDlResponse.java b/src/main/java/com/glxp/api/res/trace/TraceTaskDlResponse.java new file mode 100644 index 0000000..af6fa8e --- /dev/null +++ b/src/main/java/com/glxp/api/res/trace/TraceTaskDlResponse.java @@ -0,0 +1,82 @@ +package com.glxp.api.res.trace; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.models.auth.In; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 客户端查询任务列表实体类 + */ +@Data +public class TraceTaskDlResponse { + + /** + * 按UDI码查询出入库信息 + */ + private String udiCode; + + /** + * 查询记录表ID外键 + */ + private Long recordCode; + + /** + * 任务类型1:关联nte:入库;3:出库 + */ + private Integer taskType; + /** + * DI标识列表,多级包装会有多个DI + */ + private List diList; + + /** + * 企业信息ID外键 + */ + private Long companyIdFk; + + /** + * 医疗器械注册人 + */ + private String ylqxzcrbarmc; + + /** + * 医疗器械注册人统一社会信用号 + */ + private String creditNum; + + /** + * 产品名称 + */ + private String cpmctymc; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 任务时间 + */ + private Date createTime; + +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicUdiProductService.java b/src/main/java/com/glxp/api/service/basic/BasicUdiProductService.java index edbed00..fe98e9e 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicUdiProductService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicUdiProductService.java @@ -3,7 +3,6 @@ package com.glxp.api.service.basic; import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.basic.BasicUdiProductEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; -import com.glxp.api.res.basic.BasicUdiRelResponse; import java.util.List; diff --git a/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java b/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java index 5068b93..9c3ee7d 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicUdiRelService.java @@ -2,6 +2,7 @@ package com.glxp.api.service.basic; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; +import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.res.basic.BasicUdiRelResponse; import org.springframework.stereotype.Service; @@ -28,4 +29,10 @@ public class BasicUdiRelService extends ServiceImpl{ - +import com.glxp.api.dao.trace.TraceTaskNoticeMapper; +@Service +public class TraceTaskNoticeService extends ServiceImpl { } diff --git a/src/main/java/com/glxp/api/service/trace/UdiTraceService.java b/src/main/java/com/glxp/api/service/trace/UdiTraceService.java new file mode 100644 index 0000000..86f632e --- /dev/null +++ b/src/main/java/com/glxp/api/service/trace/UdiTraceService.java @@ -0,0 +1,38 @@ +package com.glxp.api.service.trace; + +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.sup.UserCompanyEntity; +import com.glxp.api.service.basic.BasicUdiProductService; +import com.glxp.api.service.basic.BasicUdiRelService; +import com.glxp.api.util.udi.FilterUdiUtils; + +import javax.annotation.Resource; + +@Resource +public class UdiTraceService { + + + @Resource + BasicUdiProductService basicUdiProductService; + @Resource + BasicUdiRelService basicUdiRelService; + + public String vailUdiCode(String udiCode) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(udiCode); + if (udiEntity == null) { + return "UDI码格式错误"; + } + return null; + } + + /** + * 查询源头企业 + * + * @param udiEntity + */ + public UserCompanyEntity findSourceCompamy(UdiEntity udiEntity) { + String nameCode = udiEntity.getUdi(); + UserCompanyEntity userCompanyEntity = basicUdiRelService.findByNameCode(nameCode); + return userCompanyEntity; + } +} diff --git a/src/main/java/com/glxp/api/service/trace/TraceManuCodeRelServiceImpl.java b/src/main/java/com/glxp/api/service/trace/impl/TraceManuCodeRelServiceImpl.java similarity index 92% rename from src/main/java/com/glxp/api/service/trace/TraceManuCodeRelServiceImpl.java rename to src/main/java/com/glxp/api/service/trace/impl/TraceManuCodeRelServiceImpl.java index eef2c4a..4099ef3 100644 --- a/src/main/java/com/glxp/api/service/trace/TraceManuCodeRelServiceImpl.java +++ b/src/main/java/com/glxp/api/service/trace/impl/TraceManuCodeRelServiceImpl.java @@ -1,8 +1,9 @@ -package com.glxp.api.service.trace; +package com.glxp.api.service.trace.impl; import com.github.pagehelper.PageHelper; import com.glxp.api.req.trace.TraceManuDetailRequest; import com.glxp.api.res.trace.TraceManuCodeRellResponse; +import com.glxp.api.service.trace.TraceManuCodeRelService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.trace.TraceManuCodeRelEntity; diff --git a/src/main/java/com/glxp/api/service/trace/TraceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/trace/impl/TraceOrderServiceImpl.java similarity index 88% rename from src/main/java/com/glxp/api/service/trace/TraceOrderServiceImpl.java rename to src/main/java/com/glxp/api/service/trace/impl/TraceOrderServiceImpl.java index b5342cd..a1c1b4a 100644 --- a/src/main/java/com/glxp/api/service/trace/TraceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/trace/impl/TraceOrderServiceImpl.java @@ -1,9 +1,10 @@ -package com.glxp.api.service.trace; +package com.glxp.api.service.trace.impl; import com.github.pagehelper.PageHelper; import com.glxp.api.req.trace.TraceOrderDetailRequest; import com.glxp.api.req.trace.TraceOrderRequest; import com.glxp.api.res.trace.TraceOrderResponse; +import com.glxp.api.service.trace.TraceOrderService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.trace.TraceOrderMapper; @@ -14,7 +15,7 @@ import java.util.Collections; import java.util.List; @Service -public class TraceOrderServiceImpl extends ServiceImpl implements TraceOrderService{ +public class TraceOrderServiceImpl extends ServiceImpl implements TraceOrderService { @Resource TraceOrderMapper traceOrderMapper; diff --git a/src/main/java/com/glxp/api/service/trace/impl/TraceTaskNoticeServiceImpl.java b/src/main/java/com/glxp/api/service/trace/impl/TraceTaskNoticeServiceImpl.java deleted file mode 100644 index 5bd0aa8..0000000 --- a/src/main/java/com/glxp/api/service/trace/impl/TraceTaskNoticeServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.glxp.api.service.trace.impl; - -import com.glxp.api.service.trace.TraceTaskNoticeService; -import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.glxp.api.entity.trace.TraceTaskNoticeEntity; -import com.glxp.api.dao.trace.TraceTaskNoticeMapper; - -@Service -public class TraceTaskNoticeServiceImpl extends ServiceImpl implements TraceTaskNoticeService { - -} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 5a82785..4011118 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_cpt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_cpt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: Glxp@6066 + password: 123456 hikari: connection-timeout: 60000 maximum-pool-size: 20 diff --git a/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml index bdd8311..69d4b7f 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicUdiRelMapper.xml @@ -93,4 +93,15 @@ ORDER BY bur.updateTime DESC + + + diff --git a/src/main/resources/mybatis/mapper/trace/TraceTaskNoticeMapper.xml b/src/main/resources/mybatis/mapper/trace/TraceTaskNoticeMapper.xml index 23646b6..19019e8 100644 --- a/src/main/resources/mybatis/mapper/trace/TraceTaskNoticeMapper.xml +++ b/src/main/resources/mybatis/mapper/trace/TraceTaskNoticeMapper.xml @@ -1,4 +1,5 @@ +