diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index d76d560d2..3b1f43d2d 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -248,6 +248,7 @@ public class UdiRelevanceController extends BaseController { UdiRelevanceResponse udiRelevanceResponse = new UdiRelevanceResponse(); BeanUtils.copyProperties(udiProductEntity, udiRelevanceResponse); BeanUtil.copyProperties(udiRelevanceEntity, udiRelevanceResponse); + udiRelevanceResponse.setFlbm(udiProductEntity.getFlbm()); udiRelevanceResponses.add(udiRelevanceResponse); } } @@ -378,6 +379,8 @@ public class UdiRelevanceController extends BaseController { udiProductEntity.setCatalogname2(udiRelevanceSaveRequest.getCatalogname2()); udiProductEntity.setCatalogname3(udiRelevanceSaveRequest.getCatalogname3()); udiProductEntity.setMatrial(udiRelevanceSaveRequest.getMatrial()); + udiProductEntity.setRequireScanCode(udiRelevanceSaveRequest.getRequireScanCode()); + udiProductEntity.setFlbm(udiRelevanceSaveRequest.getFlbm()); // udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) { udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI); diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java index 6667a8ec9..19670ca84 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java @@ -67,6 +67,8 @@ public class UdiRlSupController extends BaseController { SpGetHttpClient spGetHttpClient; @Resource private IBasicBussinessTypeService basicBussinessTypeService; + @Resource + private com.glxp.api.service.system.ClassifyCodeService classifyCodeService; @AuthRuleAnnotation("") @GetMapping("/sale/info/company/product/relevance/filter") diff --git a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java index e0fd97be2..14eb94d56 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java @@ -134,4 +134,6 @@ public class UdiProductEntity { private Integer hcType; + private Integer requireScanCode; + } diff --git a/src/main/java/com/glxp/api/entity/system/ClassifyCodeEntity.java b/src/main/java/com/glxp/api/entity/system/ClassifyCodeEntity.java index 38b86981a..04d903a6d 100644 --- a/src/main/java/com/glxp/api/entity/system/ClassifyCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/system/ClassifyCodeEntity.java @@ -11,4 +11,5 @@ public class ClassifyCodeEntity { private String level; private String qxlb; + private Integer requireScanCode; } diff --git a/src/main/java/com/glxp/api/req/basic/AddProductRequest.java b/src/main/java/com/glxp/api/req/basic/AddProductRequest.java index 242d8932e..15d47ded0 100644 --- a/src/main/java/com/glxp/api/req/basic/AddProductRequest.java +++ b/src/main/java/com/glxp/api/req/basic/AddProductRequest.java @@ -148,4 +148,6 @@ public class AddProductRequest { private String price; private Integer destinyType; private String code; + + private Integer requireScanCode; } diff --git a/src/main/java/com/glxp/api/req/basic/SupplementRequest.java b/src/main/java/com/glxp/api/req/basic/SupplementRequest.java index 163e5c5f1..f79f72fe4 100644 --- a/src/main/java/com/glxp/api/req/basic/SupplementRequest.java +++ b/src/main/java/com/glxp/api/req/basic/SupplementRequest.java @@ -23,4 +23,8 @@ public class SupplementRequest { private String cpms; private String price; private Integer purType; + + private String flbm; + + private String requireScanCode; } diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java index 78a7d75fe..02f7eee74 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java @@ -145,4 +145,6 @@ public class UdiRelevanceSaveRequest { @TableField(value = "matrial") @ApiModelProperty(value="耗材材质") private String matrial; + + private Integer requireScanCode; } diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index 22ab57751..7a48e6231 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -201,6 +201,8 @@ public class UdiRelevanceResponse { @ApiModelProperty(value = "类型:1:定数包,内部使用;2:项目、组套外部关联") private Integer destinyType; + private Integer requireScanCode; + public int getBhzxxsbzsl() { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { return 1; diff --git a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java index d31ba24da..d282aa1ef 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java @@ -119,4 +119,6 @@ public class UdiRlSupResponse { @TableField(value = "matrial") @ApiModelProperty(value="耗材材质") private String matrial; + + private Integer requireScanCode; } diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java index 2ca3d9de4..a670aff58 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java @@ -46,6 +46,8 @@ public class UdiProductServiceImpl implements UdiProductService { UdiRelevanceDao udiRelevanceDao; @Resource GennerOrderUtils gennerOrderUtils; + @Resource + private com.glxp.api.service.system.ClassifyCodeService classifyCodeService; private static final Logger logger = LoggerFactory.getLogger(UdiProductServiceImpl.class); @@ -255,7 +257,8 @@ public class UdiProductServiceImpl implements UdiProductService { udiRelevanceEntity.setHcType(addProductRequest.getHcType()); // TODO: 2024/2/27 初始化其他字段 setUpdateInfo(udiProductEntity,udiRelevanceEntity); - + //处理是否需要扫码字段 + classifyCodeService.updateRequireScanCode(udiProductEntity); udiProductDao.insertUdiInfo(udiProductEntity); udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity); } diff --git a/src/main/java/com/glxp/api/service/system/ClassifyCodeService.java b/src/main/java/com/glxp/api/service/system/ClassifyCodeService.java index e6b11b2c6..790f41460 100644 --- a/src/main/java/com/glxp/api/service/system/ClassifyCodeService.java +++ b/src/main/java/com/glxp/api/service/system/ClassifyCodeService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.system; +import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.system.ClassifyCodeEntity; import com.glxp.api.req.system.FilterClassifyCodeRequest; @@ -12,4 +13,5 @@ public interface ClassifyCodeService { ClassifyCodeEntity findByCode(String code); + void updateRequireScanCode(UdiProductEntity udiProductEntity); } diff --git a/src/main/java/com/glxp/api/service/system/impl/ClassifyCodeServiceImpl.java b/src/main/java/com/glxp/api/service/system/impl/ClassifyCodeServiceImpl.java index 2e0d0263e..94c8dca4e 100644 --- a/src/main/java/com/glxp/api/service/system/impl/ClassifyCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/system/impl/ClassifyCodeServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.system.ClassifyCodeDao; +import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.system.ClassifyCodeEntity; import com.glxp.api.req.system.FilterClassifyCodeRequest; import com.glxp.api.service.system.ClassifyCodeService; @@ -54,4 +55,19 @@ public class ClassifyCodeServiceImpl implements ClassifyCodeService { } return null; } + + + @Override + public void updateRequireScanCode(UdiProductEntity udiProductEntity) { + udiProductEntity.setRequireScanCode(0); + String flbm = udiProductEntity.getFlbm(); + if (StrUtil.isNotEmpty(flbm)){ + FilterClassifyCodeRequest filterClassifyCodeRequest = new FilterClassifyCodeRequest(); + filterClassifyCodeRequest.setCode(flbm); + List classifyCodeEntities = classifyCodeDao.filteClassifyCode(filterClassifyCodeRequest); + if (classifyCodeEntities.size() > 0){ + udiProductEntity.setRequireScanCode(classifyCodeEntities.get(0).getRequireScanCode()); + } + } + } } diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 5148a56c5..2b870a137 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -193,7 +193,8 @@ catalogname2, catalogname3, matrial, - destinyType) + destinyType, + requireScanCode) values (#{id}, #{uuid}, #{originUuid}, #{nameCode}, @@ -254,7 +255,8 @@ #{catalogname2}, #{catalogname3}, #{matrial}, - #{destinyType}) + #{destinyType}, + #{requireScanCode}) @@ -725,6 +727,9 @@ matrial=#{matrial}, + + requireScanCode=#{requireScanCode}, + where uuid = #{uuid} diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 9d74bc0b0..26211f54c 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -556,6 +556,7 @@ basic_products.catalogname2, basic_products.catalogname3, basic_products.matrial, + basic_products.requireScanCode, th.hsmc hslbName FROM basic_products inner JOIN basic_udirel diff --git a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml index d94206e66..f09e0e59d 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml @@ -108,6 +108,7 @@ basic_products.catalogname1, basic_products.catalogname2, basic_products.catalogname3, + basic_products.requireScanCode, basic_products.matrial FROM company_product_relevance inner JOIN basic_udirel diff --git a/src/main/resources/mybatis/mapper/system/ClassifyCodeDao.xml b/src/main/resources/mybatis/mapper/system/ClassifyCodeDao.xml index e7c9c0075..49300f362 100644 --- a/src/main/resources/mybatis/mapper/system/ClassifyCodeDao.xml +++ b/src/main/resources/mybatis/mapper/system/ClassifyCodeDao.xml @@ -6,23 +6,25 @@ - \ 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 9d1f14c55..993faf1dc 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -3668,3 +3668,20 @@ INSERT IGNORE INTO sys_pdf_template_relevance_statemen(`id`, `templateId`, `cus CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailHcType', 'tinyint NULL DEFAULT NULL COMMENT '' 校验耗材类型 :0:不耗材;1:高值耗材;2:无普通耗材''', 1); + +CREATE TABLE IF NOT EXISTS `thr_medical_product_category` ( + `id` int NOT NULL AUTO_INCREMENT, + `materialId` int DEFAULT NULL COMMENT '物资分类编码', + `materialName` varchar(255) DEFAULT NULL COMMENT '物资分类的名称', + `firstLevelCategoryCode` int DEFAULT NULL COMMENT '一级分类的编码', + `firstLevelCategoryName` varchar(255) DEFAULT NULL COMMENT '一级分类的名称', + `secondLevelCategoryCode` int DEFAULT NULL COMMENT '二级分类的编码', + `secondLevelCategoryName` varchar(255) DEFAULT NULL COMMENT '二级分类的名称', + `managementType` int DEFAULT NULL COMMENT '管理类别 ', + `materialCode` varchar(255) DEFAULT NULL COMMENT '标识', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=160 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='医疗产品分类标识'; + +CALL Pro_Temp_ColumnWork('basic_products', 'requireScanCode', + 'bit(1) NOT NULL DEFAULT b''0'' COMMENT ''是否需要扫码 1是;0否''', + 1);