9/5 基础数据药品

workplace
wangwei 10 months ago
parent 5116d2db66
commit acc4863693

@ -517,6 +517,12 @@ public class BasicInsMaterialEntity implements Serializable {
@TableField(value = "versionName")
@ApiModelProperty(value="版本名称")
private String versionName;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="备注")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -1,5 +1,11 @@
package com.glxp.api.service.basic;
import com.glxp.api.entity.thrsys.BasicInsDrugEntity;
import com.glxp.api.entity.thrsys.BasicInsMaterialEntity;
import com.glxp.api.req.thrsys.ThrInsDrugFeeRequest;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import com.glxp.api.service.thrsys.BasicInsDrugService;
import com.glxp.api.service.thrsys.BasicInsMaterialService;
import com.glxp.api.util.IntUtil;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.collection.CollUtil;
@ -21,13 +27,12 @@ import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.udi.UdiInfoUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.logging.Logger;
import java.util.stream.Collectors;
/**
*
@ -48,6 +53,13 @@ public class UdiContrastService {
@Resource
NmpaUdiClient udiDlHttpClient;
@Resource
BasicInsDrugService basicInsDrugService;
@Resource
BasicInsMaterialService basicInsMaterialService;
public boolean isExit(String originUuid, String mainId, String thirdSys) {
String deviceRecordKey = null;
@ -249,25 +261,64 @@ public class UdiContrastService {
udiRelevanceEntity.setAutoCode(true);
udiRelevanceEntity.setIsDisable(false);
BasicInsDrugEntity basicInsDrugEntity = null;
BasicInsMaterialEntity basicInsMaterialEntity = null;
if (thrProductsEntity.getYbbm() != null){
//判断药品还是器械
if (thrProductsEntity.getProductType() == 2){
ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
List<BasicInsDrugEntity> basicInsDrugEntities = basicInsDrugService.filterList(thrInsDrugFeeRequest);
List<BasicInsDrugEntity> filteredEntities = basicInsDrugEntities.stream()
.filter(entity -> entity.getGenericName() != null) // 过滤掉 genericName 为 null 的元素
.collect(Collectors.toList());
if (filteredEntities.size() > 0){
basicInsDrugEntity= filteredEntities.get(0);
}
}else {
//器械
ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest();
request.setMedCatalogCode(thrProductsEntity.getYbbm());
List<BasicInsMaterialEntity> basicInsMaterialEntities = basicInsMaterialService.filterList(request);
if (basicInsMaterialEntities.size() > 0){
basicInsMaterialEntity = basicInsMaterialEntities.get(0);
}
}
}
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
if (thrProductsEntity.getProductType() != 2){
//不是药品就设置namecode
udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
udiProductEntity.setPackUnit(thrProductsEntity.getMeasname());
udiProductEntity.setGgxh(basicInsMaterialEntity != null ? basicInsMaterialEntity.getSpecification() : thrProductsEntity.getSpec());
udiProductEntity.setManufactory(basicInsMaterialEntity != null ? basicInsMaterialEntity.getManufacturerName() : thrProductsEntity.getManufactory());
}
if (basicInsDrugEntity != null){
if (thrProductsEntity.getProductType() == 2){
//药品设置
udiProductEntity.setBzgg(basicInsDrugEntity.getPackagingSpec());
udiProductEntity.setPrepnSpec(basicInsDrugEntity.getPrepnSpec());
udiProductEntity.setZczbhhzbapzbh(basicInsDrugEntity.getApprovalNum());
if (basicInsDrugEntity.getInsuranceDrugClass() != null){
udiProductEntity.setMedicareType(setMedicareType(basicInsDrugEntity.getInsuranceDrugClass()));
}
//最小产品单位
udiProductEntity.setPackUnit(basicInsDrugEntity.getMinPackagingUnit());
//设置最小产品数量
udiProductEntity.setBhxjsl(basicInsDrugEntity.getMinPackagingQuantity());
//生产厂家
udiProductEntity.setManufactory(basicInsDrugEntity.getManufacturerName() != null ? basicInsDrugEntity.getManufacturerName() : thrProductsEntity.getManufactory());
}
}
udiProductEntity.setBzgg(thrProductsEntity.getSpec());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
udiProductEntity.setGgxh(thrProductsEntity.getSpec());
if (thrProductsEntity.getProductType() == 2){
//不是药品就设置namecode
udiProductEntity.setBzgg(thrProductsEntity.getSpec());
}
if (thrProductsEntity.getProductType() != 2){
//不是药品就设置namecode
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
}
//包装单位
udiProductEntity.setPrepnUnit(thrProductsEntity.getMeasname());
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1);
@ -339,4 +390,16 @@ public class UdiContrastService {
}
}
public Integer setMedicareType(String insuranceDrugClass){
if ("甲类".equals(insuranceDrugClass)) {
return 1;
} else if ("乙类".equals(insuranceDrugClass)) {
return 2;
} else if ("丙类".equals(insuranceDrugClass)) {
return 3;
} else {
return null; // 或者 throw new IllegalArgumentException("未知的医保类别");
}
}
}

@ -462,10 +462,10 @@ public class UdiProductService {
List<UdiProductEntity> byUuids = udiProductDao.findByUuids(updateLevelDrugRequest.getUuid());
UdiProductEntity udiProductEntity1 = null;
if (byUuids.size() == 1) {
if (byUuids.size() == 1){
//只有一条药品数据
udiProductEntity1 = byUuids.get(0);
if (udiProductEntity1 != null && udiProductEntity1.getNameCode() == null) {
if (udiProductEntity1!= null && udiProductEntity1.getNameCode() == null){
//更新
udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode());
udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + "");
@ -473,7 +473,7 @@ public class UdiProductService {
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
udiProductDao.updateById(udiProductEntity1);
}
}
udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
@ -486,6 +486,7 @@ public class UdiProductService {
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
udiProductDao.updateById(udiProductEntity1);
} else {
//新增
udiProductEntity1 = udiProductDao.findByUuid(udiRelevanceEntity.getUuid());
@ -497,14 +498,8 @@ public class UdiProductService {
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
udiProductEntity1.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity1.setId(IdUtil.getSnowflakeNextId());
udiProductDao.insert(udiProductEntity1);
}
if (IntUtil.value(udiProductEntity1.getPackLevel()) == 1) {
if (IntUtil.value(udiProductEntity1.getPackLevel()) == 1) {
calculateDistCount(udiProductEntity1, udiRelevanceEntity);
calculateUseCount(udiProductEntity1, udiRelevanceEntity);
}
}
udiProductDao.updateById(udiProductEntity1);
} else {
//必须先提交后才能保存
UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());

@ -4333,6 +4333,16 @@ CALL Pro_Temp_ColumnWork('io_collect_order_biz', 'autoTagStatus',
'tinyint NULL DEFAULT 1 COMMENT ''自动赋码状态1无法自动赋码2可以自动赋码3:可以自动赋码,但是数量不足''',
1);
CALL Pro_Temp_ColumnWork('basic_ins_drug', 'prepnSpec',
'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''采集规格''',
1);
CALL Pro_Temp_ColumnWork('basic_ins_material', 'remark',
'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''备注''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'prepnSpec',
'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''制剂规格''',
1);
CALL Pro_Temp_ColumnWork('thr_products', 'prepnUnit',
'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''制剂单位''',
1);

Loading…
Cancel
Save