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 901ff6284..ab08699ab 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java @@ -316,10 +316,20 @@ public class UdiContrastController { } + /** + * 药品新增产品信息 + * + * @param addProductRequest + * @return + */ @AuthRuleAnnotation("") @PostMapping("/udi/udirel/addDrug") public BaseResponse addDrug(@RequestBody AddProductRequest addProductRequest) { - udiProductService.addDrug(addProductRequest); + if (addProductRequest.getRelId() != null) + udiProductService.addDrug(addProductRequest); + else { + udiProductService.addDrug(addProductRequest); + } return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java b/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java index 9046e194d..fe6a26962 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java @@ -1,6 +1,8 @@ package com.glxp.api.dao.basic; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.basic.UdiProductEntity; +import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.UdiInfoRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; @@ -10,7 +12,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper -public interface UdiProductDao { +public interface UdiProductDao extends BaseMapperPlus { List filterUdiInfo(FilterUdiRelRequest filterUdiRelRequest); @@ -57,12 +59,6 @@ public interface UdiProductDao { UdiRelevanceResponse filterUdiInfoById(String id); - - /** - * 导入医疗器械信息 - */ - void importUdiInfo(@Param("udiInfoEntities") List udiInfoEntities); - /** * 查询包装层级 * 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 91b44c6a5..6094cd2aa 100644 --- a/src/main/java/com/glxp/api/req/basic/AddProductRequest.java +++ b/src/main/java/com/glxp/api/req/basic/AddProductRequest.java @@ -126,28 +126,28 @@ public class AddProductRequest { * 一级分类名称(学科,品名) */ @TableField(value = "catalogname1") - @ApiModelProperty(value="一级分类名称(学科,品名)") + @ApiModelProperty(value = "一级分类名称(学科,品名)") private String catalogname1; /** * 二级分类名称(用途、品目) */ @TableField(value = "catalogname2") - @ApiModelProperty(value="二级分类名称(用途、品目)") + @ApiModelProperty(value = "二级分类名称(用途、品目)") private String catalogname2; /** * 三级分类名称(部位、功能、品种) */ @TableField(value = "catalogname3") - @ApiModelProperty(value="三级分类名称(部位、功能、品种)") + @ApiModelProperty(value = "三级分类名称(部位、功能、品种)") private String catalogname3; /** * 耗材材质 */ @TableField(value = "matrial") - @ApiModelProperty(value="耗材材质") + @ApiModelProperty(value = "耗材材质") private String matrial; private BigDecimal price; @@ -230,7 +230,7 @@ public class AddProductRequest { /** - *制剂规格 + * 制剂规格 */ @TableField(value = "prepnSpec") private String prepnSpec; @@ -260,4 +260,9 @@ public class AddProductRequest { private String nameCode; private String cpmctymc; private List drugLevelLists; + + /** + * 关联表主键 + */ + private Long relId; } 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 12c399f4d..e2d1b707a 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 @@ -234,9 +234,9 @@ public class UdiProductServiceImpl implements UdiProductService { long relId = gennerOrderUtils.getRelId(); udiProductEntity.setId(relId); String code = addProductRequest.getCode(); - if (StrUtil.isEmpty(code)){ + if (StrUtil.isEmpty(code)) { udiProductEntity.setNameCode(relId + ""); - }else { + } else { udiProductEntity.setNameCode(code); } udiProductEntity.setUuid(IdUtil.getSnowflakeNextId() + ""); @@ -256,7 +256,7 @@ public class UdiProductServiceImpl implements UdiProductService { udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType()); udiRelevanceEntity.setHcType(addProductRequest.getHcType()); // TODO: 2024/2/27 初始化其他字段 - setUpdateInfo(udiProductEntity,udiRelevanceEntity); + setUpdateInfo(udiProductEntity, udiRelevanceEntity); //处理是否需要扫码字段 classifyCodeService.updateRequireScanCode(udiProductEntity); udiProductDao.insertUdiInfo(udiProductEntity); @@ -270,9 +270,9 @@ public class UdiProductServiceImpl implements UdiProductService { long relId = gennerOrderUtils.getRelId(); udiProductEntity.setId(relId); String code = addProductRequest.getCode(); - if (StrUtil.isEmpty(code)){ + if (StrUtil.isEmpty(code)) { udiProductEntity.setNameCode(relId + ""); - }else { + } else { udiProductEntity.setNameCode(code); } udiProductEntity.setUuid(IdUtil.getSnowflakeNextId() + ""); @@ -293,13 +293,47 @@ public class UdiProductServiceImpl implements UdiProductService { udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType()); udiRelevanceEntity.setHcType(addProductRequest.getHcType()); // TODO: 2024/2/27 初始化其他字段 - setUpdateInfo(udiProductEntity,udiRelevanceEntity); + setUpdateInfo(udiProductEntity, udiRelevanceEntity); //处理是否需要扫码字段 classifyCodeService.updateRequireScanCode(udiProductEntity); udiProductDao.insertUdiInfo(udiProductEntity); udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity); } + /** + * 添加或更新层级药品信息 + * + * @param addProductRequest + */ + @Override + public void saveOrUpadateLevelDrug(AddProductRequest addProductRequest) { + UdiProductEntity udiProductEntity = new UdiProductEntity(); + BeanUtils.copyProperties(addProductRequest, udiProductEntity); + if (addProductRequest.getRelId() != null) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(addProductRequest.getRelId()); + if (udiRelevanceEntity != null) { + udiProductEntity.setUuid(udiRelevanceEntity.getUuid()); + } + } else { + udiProductEntity.setUuid(IdUtil.getSnowflakeNextId() + ""); + } + udiProductEntity.setCpmctymc(addProductRequest.getCpmctymc()); + udiProductEntity.setGgxh(addProductRequest.getSpec()); + udiProductEntity.setPrice(addProductRequest.getPrice().toString()); + udiProductEntity.setZczbhhzbapzbh(addProductRequest.getRegisterNo()); + udiProductEntity.setDiType(ConstantStatus.DI_TYPE_MAIN); + + //处理是否需要扫码字段 + classifyCodeService.updateRequireScanCode(udiProductEntity); + + UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(udiProductEntity.getNameCode()); + if (udiProductEntity1 != null) { + udiProductDao.updateUdiInfoById(udiProductEntity); + } else + udiProductDao.insertUdiInfo(udiProductEntity); + } + + private void setUpdateInfo(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) { Date now = new Date(); String userId = String.valueOf(customerService.getUserBean().getId());