diff --git a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java index 436af852..6981cc6b 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java @@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; @@ -12,7 +14,9 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.*; import com.glxp.api.controller.BaseController; import com.glxp.api.controller.sync.SpsSyncWebSocket; +import com.glxp.api.dao.basic.BasicProductsRegistrationCertDao; import com.glxp.api.dto.BasicProductsCreateDto; +import com.glxp.api.entity.basic.BasicProductsRegistrationCertEntity; import com.glxp.api.entity.basic.ProductInfoEntity; import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity; @@ -79,6 +83,8 @@ public class UdiContrastController extends BaseController{ @Resource SpsSyncWebSocket webSocketServer; + @Resource + BasicProductsRegistrationCertDao registrationCertDao; /** * 耗材字典添加 @@ -438,6 +444,16 @@ public class UdiContrastController extends BaseController{ List<DiLevelResponse> diLevelResponses = udiProductService.findLevelByRelId(filterUdiRelRequest.getId()); return ResultVOUtils.success(diLevelResponses); } + /** + * 耗材字典信息获取同一产品对应DI信息 + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/udi/local/getzczbhhzbapzbhs") + public BaseResponse getzczbhhzbapzbhs(FilterUdiRelRequest filterUdiRelRequest) { + List<BasicProductsRegistrationCertEntity> basicProductsRegistrationCertEntities = registrationCertDao.selectList + (new QueryWrapper<BasicProductsRegistrationCertEntity>().eq("nameCode", filterUdiRelRequest.getNameCode())); + return ResultVOUtils.success(basicProductsRegistrationCertEntities); + } public void updateDi(UdiRelevanceEntity udiRelevanceEntity, String key) { List<UdiProductEntity> udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key); 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 bc9264ac..07f60c9e 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -406,6 +406,7 @@ public class UdiRelevanceController extends BaseController { udiProductEntity.setRequireScanCode(udiRelevanceSaveRequest.getRequireScanCode()); udiProductEntity.setFlbm(udiRelevanceSaveRequest.getFlbm()); udiProductEntity.setWorkPlaceCount(udiRelevanceSaveRequest.getWorkPlaceCount()); + udiProductEntity.setZczbhhzbapzbhSys(udiRelevanceSaveRequest.getZczbhhzbapzbhSys()); udiProductEntity.setUpdateTime(new Date()); // udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) { diff --git a/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java b/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java index e7df7360..90a5de12 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java @@ -3,14 +3,19 @@ package com.glxp.api.controller.basic; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.Page; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.AsyncDiDlHelper; +import com.glxp.api.controller.BaseController; +import com.glxp.api.dao.basic.BasicProductsRegistrationCertDao; import com.glxp.api.dto.DictDto; import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.dev.DeviceInfoEntity; import com.glxp.api.req.basic.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.basic.*; @@ -22,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -30,7 +36,7 @@ import java.util.stream.Collectors; */ @Slf4j @RestController -public class UdiSyncController { +public class UdiSyncController extends BaseController { @Resource UdiRelevanceService udiRelevanceService; @@ -44,6 +50,8 @@ public class UdiSyncController { ProductInfoService productInfoService; @Resource UdiCompanyService udiCompanyService; + @Resource + BasicProductsRegistrationCertDao registrationCertDao; //获取同步库UDI信息 @@ -224,6 +232,8 @@ public class UdiSyncController { List<ProductInfoEntity> productInfoEntityList = listBaseResponse.getData(); if (CollUtil.isNotEmpty(productInfoEntityList)) { productInfoService.insertProductInfos(productInfoEntityList); + //处理注册证插入 + handleRegistrationCert(productInfoEntityList); udiDlDeviceResponse = syncUdiService.filterUdi(productInfoFilterRequest); } else { ResultVOUtils.error(500, "未查询到该产品DI"); @@ -266,6 +276,37 @@ public class UdiSyncController { } } + private void handleRegistrationCert(List<ProductInfoEntity> productInfoEntityList) { + for (int i = 0; i < productInfoEntityList.size(); i++) { + ProductInfoEntity productInfoEntity = productInfoEntityList.get(i); + String zczbhhzbapzbh = productInfoEntity.getZczbhhzbapzbh(); + if (StrUtil.isNotEmpty(zczbhhzbapzbh)){ + // 使用逗号作为分隔符进行分割 + String[] parts = zczbhhzbapzbh.split(","); + // 将结果转换为一个列表(如果你需要使用List类型) + java.util.List<String> resultList = java.util.Arrays.asList(parts); + List<BasicProductsRegistrationCertEntity> adds = new ArrayList<>(); + BasicProductsRegistrationCertEntity oBean = new BasicProductsRegistrationCertEntity(); + oBean.setUuid(productInfoEntity.getUuid()); + oBean.setNameCode(productInfoEntity.getNameCode()); + oBean.setCreateUser(String.valueOf(getUser().getId())); + oBean.setCreateTime(new Date()); + resultList.forEach( item -> { + BasicProductsRegistrationCertEntity addBean = new BasicProductsRegistrationCertEntity(); + BeanUtils.copyProperties(oBean,addBean); + addBean.setZczbhhzbapzbh(item); + adds.add(addBean); + }); + + //删除当前已保存的 nameCode 的证书列表 + registrationCertDao.delete(new QueryWrapper<BasicProductsRegistrationCertEntity>().eq("nameCode", productInfoEntity.getNameCode())); + + //进行批量保存 + registrationCertDao.insertBatch(adds); + } + } + } + @AuthRuleAnnotation("") @GetMapping("/udiwms/basic/instrument/maintain/filterProduct") public BaseResponse filterProduct(FilterUdiRelRequest filterUdiRelRequest) { diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductsRegistrationCertDao.java b/src/main/java/com/glxp/api/dao/basic/BasicProductsRegistrationCertDao.java new file mode 100644 index 00000000..599fa344 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductsRegistrationCertDao.java @@ -0,0 +1,10 @@ +package com.glxp.api.dao.basic; + +import com.glxp.api.dao.BaseMapperPlus; +import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; +import com.glxp.api.entity.basic.BasicProductsRegistrationCertEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BasicProductsRegistrationCertDao extends BaseMapperPlus<BasicProductsRegistrationCertDao, BasicProductsRegistrationCertEntity, BasicProductsRegistrationCertEntity> { +} diff --git a/src/main/java/com/glxp/api/entity/basic/BasicProductsRegistrationCertEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicProductsRegistrationCertEntity.java new file mode 100644 index 00000000..0f96ab4a --- /dev/null +++ b/src/main/java/com/glxp/api/entity/basic/BasicProductsRegistrationCertEntity.java @@ -0,0 +1,49 @@ +package com.glxp.api.entity.basic; + +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 io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@TableName(value = "basic_products_registration_cert") +public class BasicProductsRegistrationCertEntity { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * UUID + */ + @TableField(value = "uuid") + private String uuid; + + /** + * 最小销售产品标识 + */ + @TableField(value = "nameCode") + private String nameCode; + + /** + * "注册/备案证号, + */ + @TableField(value = "zczbhhzbapzbh") + private String zczbhhzbapzbh; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + /** + * 创建人 + */ + @TableField(value = "createUser") + private String createUser; + +} 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 af69b851..ee932b2d 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java @@ -350,6 +350,9 @@ public class UdiProductEntity { // @TableField(value = "detailSort") // private Integer detailSort; + @TableField(value = "zczbhhzbapzbhSys") + private String zczbhhzbapzbhSys; + public Integer getMyBhxjsl() { if (bhxjsl == null || bhxjsl == 0) return 1; 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 eaf61d13..d621b4f4 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java @@ -166,6 +166,7 @@ public class UdiRelevanceSaveRequest { private Integer distributeLevelCount; private String useLevelDi; private String useLevelUnit; + private String zczbhhzbapzbhSys; private Integer useLeverCount; private Integer useLevel; private Integer distributeLevel; 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 70f75dcb..90f08ef1 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -335,4 +335,6 @@ public class UdiRelevanceResponse { */ private Integer detailSort; + private String zczbhhzbapzbhSys; + } diff --git a/src/main/resources/mybatis/mapper/basic/BasicProductsRegistrationCertDao.xml b/src/main/resources/mybatis/mapper/basic/BasicProductsRegistrationCertDao.xml new file mode 100644 index 00000000..842cb88f --- /dev/null +++ b/src/main/resources/mybatis/mapper/basic/BasicProductsRegistrationCertDao.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > + +<mapper namespace="com.glxp.api.dao.basic.BasicProductsRegistrationCertDao"> + + + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 91b6485a..dbf127e4 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -600,6 +600,9 @@ <if test="zczbhhzbapzbh != null"> zczbhhzbapzbh=#{zczbhhzbapzbh}, </if> + <if test="zczbhhzbapzbhSys != null"> + zczbhhzbapzbhSys=#{zczbhhzbapzbhSys}, + </if> <if test="ylqxzcrbarywmc != null"> ylqxzcrbarywmc=#{ylqxzcrbarywmc}, </if> diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 4a464b0d..dafb7b11 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -434,6 +434,7 @@ basic_products.tyshxydm, basic_products.ylqxzcrbarmc, basic_products.zczbhhzbapzbh, + basic_products.zczbhhzbapzbhSys, basic_products.ylqxzcrbarywmc, basic_products.sydycpbs, basic_products.sjcpbm, diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 265cc015..2a07af86 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -1280,3 +1280,20 @@ INSERT ignore INTO `sys_param_config` (`id`, `parentId`, `paramName`, `paramKey VALUES (20101, 0, '新增送货单立即提交前置通过参数设置', 'create_order_pass_type', '3', 1, 0, '1:必须全部扫齐,才可以通过 2:必须选择了马上放心才能提交 3:必须有码才可以', NULL); INSERT ignore INTO `sys_param_config`(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`, `paramType`, `paramExplain`, `updateTime`) VALUES (90001, 0, '是否调用阿里关联关系模式', 'aliRelCodeDetail', '1', 1, 1, '值为0 是关闭 1是开启',now()); + + + +CREATE TABLE IF NOT EXISTS `basic_products_registration_cert` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `uuid` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'UUID', + `nameCode` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最小销售产品标识', + `zczbhhzbapzbh` varchar(255) 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 '创建人', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +CALL Pro_Temp_ColumnWork('basic_products', 'zczbhhzbapzbhSys', + 'varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''注册/备案证号系统使用''', + 1); \ No newline at end of file