diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
index dd475a7f..b1748145 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
@@ -537,6 +537,28 @@ public class IoCodeTempController extends BaseController {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
+ //判断层级标识是否正确
+ if (bussinessTypeEntity.isUse()) {
+ if (udiRelevanceResponse.getUseMaxLevel() != null && IntUtil.value(udiRelevanceResponse.getUseMaxLevel()) < IntUtil.value(udiRelevanceResponse.getPackLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+
+ if (udiRelevanceResponse.getUseMaxLevel() == null && IntUtil.value(udiRelevanceResponse.getPackLevel()) > 1) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+ if (IntUtil.value(udiRelevanceResponse.getPackLevel()) < IntUtil.value(udiRelevanceResponse.getUseLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+ } else {
+ if (udiRelevanceResponse.getDistributeMaxLevel() != null && IntUtil.value(udiRelevanceResponse.getDistributeMaxLevel()) < IntUtil.value(udiRelevanceResponse.getPackLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+ if (IntUtil.value(udiRelevanceResponse.getPackLevel()) < IntUtil.value(udiRelevanceResponse.getDistributeLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+ }
+
+
//近效期提醒
// SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip");
long recent = 0;
@@ -1042,6 +1064,35 @@ public class IoCodeTempController extends BaseController {
}
}
+ //判断层级标识是否正确
+ if (bussinessTypeEntity.isUse()) {
+ if (udiRelevanceResponse.getUseMaxLevel() != null && IntUtil.value(udiRelevanceResponse.getUseMaxLevel()) < IntUtil.value(udiRelevanceResponse.getPackLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+
+ if (udiRelevanceResponse.getUseMaxLevel() == null && IntUtil.value(udiRelevanceResponse.getPackLevel()) > 1) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+ if (IntUtil.value(udiRelevanceResponse.getPackLevel()) < IntUtil.value(udiRelevanceResponse.getUseLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+
+ } else {
+ if (udiRelevanceResponse.getDistributeMaxLevel() != null && IntUtil.value(udiRelevanceResponse.getDistributeMaxLevel()) < IntUtil.value(udiRelevanceResponse.getPackLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+ if (IntUtil.value(udiRelevanceResponse.getPackLevel()) < IntUtil.value(udiRelevanceResponse.getDistributeLevel())) {
+ return ResultVOUtils.error(500, "当前产品不支持采集该包装层级追溯码!");
+ }
+ }
+
+ if (IntUtil.value(udiRelevanceResponse.getPackLevel()) == 0) {
+ RelCodeDetailResponse relCodeDetailResponse = relCodeDetailService.findByCode(code);
+ if (relCodeDetailResponse == null) {
+ return ResultVOUtils.error(500, "请先上传关联关系!");
+ }
+ }
+
//先生成扫码单据
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
String inBatch = "";
diff --git a/src/main/resources/mybatis/mapper/thrsys/ThirdAliDrugMapper.xml b/src/main/resources/mybatis/mapper/thrsys/ThirdAliDrugMapper.xml
index 7055aaaf..a4a43e1c 100644
--- a/src/main/resources/mybatis/mapper/thrsys/ThirdAliDrugMapper.xml
+++ b/src/main/resources/mybatis/mapper/thrsys/ThirdAliDrugMapper.xml
@@ -38,47 +38,49 @@
-
- INSERT INTO third_ali_drug (`type`, manufacturer, cpmctymc, form, formSpec, bzgg, spmc, nameCode, packRatio,
- packLevel, createTime, updateTime,erpId)
- VALUES
+
+ replace INTO third_ali_drug (`type`, manufacturer, cpmctymc, form, formSpec, bzgg, spmc, nameCode, packRatio,
+ packLevel, createTime, updateTime, erpId, approvalNum)
+ VALUES
- (#{item.type}, #{item.manufacturer}, #{item.cpmctymc}, #{item.form}, #{item.formSpec}, #{item.bzgg}, #{item.spmc}, #{item.nameCode},
- #{item.packRatio}, #{item.packLevel}, #{item.createTime}, #{item.updateTime}, #{item.erpId})
+ (#{item.type}, #{item.manufacturer}, #{item.cpmctymc}, #{item.form}, #{item.formSpec}, #{item.bzgg},
+ #{item.spmc}, #{item.nameCode},
+ #{item.packRatio}, #{item.packLevel}, #{item.createTime}, #{item.updateTime}, #{item.erpId},
+ #{item.approvalNum})
-
-
-
+
\ No newline at end of file
diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql
index c2735294..71e53884 100644
--- a/src/main/resources/schemas/schema_v2.4.sql
+++ b/src/main/resources/schemas/schema_v2.4.sql
@@ -1045,39 +1045,47 @@ CALL Pro_Temp_ColumnWork('io_code_temp', 'drugLink',
' tinyint NULL DEFAULT b''0''COMMENT ''药品关联关系是否存在 0不存在 1存在''',
1);
-CREATE TABLE IF NOT EXISTS `rel_code_batch` (
- `id` int NOT NULL AUTO_INCREMENT,
- `productCode` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '产品编码',
- `subTypeNo` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '类型编码',
- `cascadeRatio` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '包装比例',
- `packageSpec` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '包装规格',
- `comment` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
- `batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号',
- `madeDate` datetime DEFAULT NULL COMMENT '生产日期',
- `validateDate` datetime DEFAULT NULL COMMENT '失效日期',
- `workShop` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产车间',
- `lineName` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产线',
- `lineManager` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '负责人',
- `createTime` datetime DEFAULT NULL COMMENT '创建时间',
- `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人',
- `updateTime` datetime DEFAULT NULL COMMENT '更新时间',
- `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人',
- `parentCode` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '父级码',
- `uploadFlagUp` tinyint(1) DEFAULT '0' COMMENT '0 未上传 1已上传 2上传失败',
- `uploadFlagDown` tinyint(1) DEFAULT '0' COMMENT '0 未上传 1已上传 2上传失败',
- `erpId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商ID',
+CREATE TABLE IF NOT EXISTS `rel_code_batch`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `productCode` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '产品编码',
+ `subTypeNo` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '类型编码',
+ `cascadeRatio` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '包装比例',
+ `packageSpec` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '包装规格',
+ `comment` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
+ `batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号',
+ `madeDate` datetime DEFAULT NULL COMMENT '生产日期',
+ `validateDate` datetime DEFAULT NULL COMMENT '失效日期',
+ `workShop` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产车间',
+ `lineName` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产线',
+ `lineManager` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '负责人',
+ `createTime` datetime DEFAULT NULL COMMENT '创建时间',
+ `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人',
+ `updateTime` datetime DEFAULT NULL COMMENT '更新时间',
+ `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人',
+ `parentCode` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '父级码',
+ `uploadFlagUp` tinyint(1) DEFAULT '0' COMMENT '0 未上传 1已上传 2上传失败',
+ `uploadFlagDown` tinyint(1) DEFAULT '0' COMMENT '0 未上传 1已上传 2上传失败',
+ `erpId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商ID',
PRIMARY KEY (`id`) USING BTREE
- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 1
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_0900_ai_ci;
-CREATE TABLE IF NOT EXISTS `rel_code_detail` (
- `id` int NOT NULL AUTO_INCREMENT,
- `curCode` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '当前条码',
- `packLayer` tinyint DEFAULT NULL COMMENT '包装级别',
+CREATE TABLE IF NOT EXISTS `rel_code_detail`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `curCode` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '当前条码',
+ `packLayer` tinyint DEFAULT NULL COMMENT '包装级别',
`parentCode` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '父级码',
- `flag` tinyint DEFAULT NULL COMMENT '状态',
- `batchIdFk` int DEFAULT NULL COMMENT '产品批次ID外键',
+ `flag` tinyint DEFAULT NULL COMMENT '状态',
+ `batchIdFk` int DEFAULT NULL COMMENT '产品批次ID外键',
PRIMARY KEY (`id`) USING BTREE
- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 1
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_0900_ai_ci;
CREATE TABLE if not exists `third_ali_drug`
@@ -1164,7 +1172,13 @@ CALL Pro_Temp_ColumnWork('rel_code_batch', 'threeLevelCount',
1);
+CALL Pro_Temp_ColumnWork('third_ali_drug', 'erpId',
+ ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''供应商ID''',
+ 1);
CALL Pro_Temp_ColumnWork('third_ali_drug', 'approvalNum',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''批准文号''',
1);
+
+
+call Modify_index('third_ali_drug', 'approvalNum', 'approvalNum', 'BTREE');
\ No newline at end of file