第三方产品信息选入

dev_no_inv
yewj 10 months ago
parent 9a9ae6dd51
commit 177a2651dd

@ -1,5 +1,6 @@
package com.glxp.api.service.basic;
import com.glxp.api.exception.JsonException;
import org.springframework.beans.BeanUtils;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.constant.ConstantStatus;
@ -171,6 +172,8 @@ public class BasicBackUpdateProductService {
return -1;
}
@Resource
UdiContrastService udiContrastService;
//定时或一键下载更新本地所有产品信息
@Async
@ -185,65 +188,71 @@ public class BasicBackUpdateProductService {
filterThrInvProductsRequest.setPage(null);
List<ThrProductsEntity> thrProductsEntities = thrProductsService.filterThrProducts(filterThrInvProductsRequest);
SystemParamConfigEntity isUpdate = systemParamConfigService.selectByParamKey("erp_updateErpData_type");
if (isEnable == null || isEnable == false) {
isUpdate.setParamValue("1");
}
// SystemParamConfigEntity isUpdate = systemParamConfigService.selectByParamKey("erp_updateErpData_type");
// if (isEnable == null || isEnable == false) {
// isUpdate.setParamValue("1");
// }
if (thrProductsEntities != null && thrProductsEntities.size() > 0) {
for (ThrProductsEntity thrProductsEntity : thrProductsEntities) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrProductsEntity.getCode(), thirdSysId);
if (udiRelevanceEntity == null) {
if (isUpdate.getParamValue().equals("1")) {
UdiProductEntity udiProductEntity = new UdiProductEntity();
udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setGgxh(thrProductsEntity.getSpec());
udiProductEntity.setUuid(CustomUtil.getUUId());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1);
udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
udiProductService.insertUdiInfo(udiProductEntity);
UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
udiRelevanceEntity1.setUuid(udiProductEntity.getUuid());
udiRelevanceEntity1.setIsDisable(false);
udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName());
if ("thirdId".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
} else if ("thirdId1".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId1(thrProductsEntity.getCode());
} else if ("thirdId2".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
} else if ("thirdId3".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId3(thrProductsEntity.getCode());
} else if ("thirdId4".equals(thirdSysId)) {
udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
}
ThrSystemEntity thrSystemEntity = thrSystemService.selectMainThrSys();
String mainSys = thrSystemEntity.getThirdId();
if (mainSys.equals("thirdId")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId());
} else if (mainSys.equals("thirdId1")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId1());
} else if (mainSys.equals("thirdId2")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId2());
} else if (mainSys.equals("thirdId3")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId3());
} else if (mainSys.equals("thirdId4")) {
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId4());
}
// if (isUpdate.getParamValue().equals("1")) {
//
// UdiProductEntity udiProductEntity = new UdiProductEntity();
// udiProductEntity.setNameCode(thrProductsEntity.getCode());
// udiProductEntity.setCpmctymc(thrProductsEntity.getName());
// udiProductEntity.setGgxh(thrProductsEntity.getSpec());
// udiProductEntity.setUuid(CustomUtil.getUUId());
// udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
// udiProductEntity.setDiType(1);
// udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
// udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
// udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
// udiProductEntity.setRequireScanCode(0);
// udiProductService.insertUdiInfo(udiProductEntity);
// UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
// udiRelevanceEntity1.setUuid(udiProductEntity.getUuid());
// udiRelevanceEntity1.setIsDisable(false);
// udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName());
//
// if ("thirdId".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
// } else if ("thirdId1".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId1(thrProductsEntity.getCode());
// } else if ("thirdId2".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
// } else if ("thirdId3".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId3(thrProductsEntity.getCode());
// } else if ("thirdId4".equals(thirdSysId)) {
// udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
// }
//
//
// ThrSystemEntity thrSystemEntity = thrSystemService.selectMainThrSys();
// String mainSys = thrSystemEntity.getThirdId();
// if (mainSys.equals("thirdId")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId());
// } else if (mainSys.equals("thirdId1")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId1());
// } else if (mainSys.equals("thirdId2")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId2());
// } else if (mainSys.equals("thirdId3")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId3());
// } else if (mainSys.equals("thirdId4")) {
// udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId4());
// }
//
// udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
// udiRelevanceEntity1.setUpdateTime(new Date());
// udiRelevanceEntity1.setModifyTime(new Date());
// udiRelevanceEntity1.setId(gennerOrderUtils.getRelId());
// udiRelevanceService.insertUdiRelevanceignore(udiRelevanceEntity1);
// }
try {
udiContrastService.createOnlyMainId(thrProductsEntity.getCode());
} catch (JsonException e) {
udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
udiRelevanceEntity1.setUpdateTime(new Date());
udiRelevanceEntity1.setModifyTime(new Date());
udiRelevanceEntity1.setId(gennerOrderUtils.getRelId());
udiRelevanceService.insertUdiRelevanceignore(udiRelevanceEntity1);
}
}

@ -109,7 +109,7 @@ public class UdiContrastService {
return false;
}
public boolean isDrugExit(String originUuid,String mainId, String thirdSys) {
public boolean isDrugExit(String originUuid, String mainId, String thirdSys) {
String deviceRecordKey = null;
//国家库的key
@ -267,9 +267,9 @@ public class UdiContrastService {
BasicInsDrugEntity basicInsDrugEntity = null;
BasicInsMaterialEntity basicInsMaterialEntity = null;
if (thrProductsEntity.getYbbm() != null){
if (thrProductsEntity.getYbbm() != null) {
//判断药品还是器械
if (thrProductsEntity.getProductType() == 2){
if (thrProductsEntity.getProductType() == 2) {
ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
List<BasicInsDrugEntity> basicInsDrugEntities = basicInsDrugService.filterList(thrInsDrugFeeRequest);
@ -277,38 +277,39 @@ public class UdiContrastService {
List<BasicInsDrugEntity> filteredEntities = basicInsDrugEntities.stream()
.filter(entity -> entity.getGenericName() != null) // 过滤掉 genericName 为 null 的元素
.collect(Collectors.toList());
if (filteredEntities.size() > 0){
basicInsDrugEntity= filteredEntities.get(0);
}else {
Boolean aBoolean = insertProduct(thrProductsEntity,basicInsMaterialEntity,udiRelevanceEntity);
if (!aBoolean){
throw new JsonException(500,"系统繁忙");
if (filteredEntities.size() > 0) {
basicInsDrugEntity = filteredEntities.get(0);
} else {
Boolean aBoolean = insertProduct(thrProductsEntity, basicInsMaterialEntity, udiRelevanceEntity);
if (!aBoolean) {
throw new JsonException(500, "系统繁忙");
}
return;
}
int packLevel = 1; // 初始化计数器
//循环插入
for (BasicInsDrugEntity basicInsDrug : basicInsDrugEntities){
for (BasicInsDrugEntity basicInsDrug : basicInsDrugEntities) {
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
udiProductEntity.setNameCode(basicInsDrug.getTradeName());
udiProductEntity.setPrepnSpec(basicInsDrug.getPackagingSpec() != null ? basicInsDrug.getPackagingSpec() :basicInsDrugEntity.getPackagingSpec());
udiProductEntity.setPrepnSpec(basicInsDrug.getPackagingSpec() != null ? basicInsDrug.getPackagingSpec() : basicInsDrugEntity.getPackagingSpec());
// udiProductEntity.setPrepnSpec(basicInsDrug.getPrepnSpec() != null ? basicInsDrug.getPrepnSpec() :basicInsDrugEntity.getPrepnSpec());
udiProductEntity.setZczbhhzbapzbh(basicInsDrug.getApprovalNum() != null ? basicInsDrug.getApprovalNum() :basicInsDrugEntity.getApprovalNum());
udiProductEntity.setZczbhhzbapzbh(basicInsDrug.getApprovalNum() != null ? basicInsDrug.getApprovalNum() : basicInsDrugEntity.getApprovalNum());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
if (basicInsDrugEntity.getInsuranceDrugClass() != null){
if (basicInsDrugEntity != null && basicInsDrugEntity.getInsuranceDrugClass() != null) {
udiProductEntity.setMedicareType(setMedicareType(basicInsDrugEntity.getInsuranceDrugClass()));
}
//最小产品单位
udiProductEntity.setPackUnit(basicInsDrug.getMinPackagingUnit() != null ? basicInsDrug.getMinPackagingUnit() : basicInsDrugEntity.getMinPackagingUnit());
udiProductEntity.setPackUnit(basicInsDrug.getMinPackagingUnit() != null ? basicInsDrug.getMinPackagingUnit() : basicInsDrugEntity.getMinPackagingUnit());
//设置最小产品数量
udiProductEntity.setBhxjsl(basicInsDrug.getMinPackagingQuantity() != null ? basicInsDrug.getMinPackagingQuantity() : basicInsDrugEntity.getMinPackagingQuantity());
udiProductEntity.setBhxjsl(basicInsDrug.getMinPackagingQuantity() != null ? basicInsDrug.getMinPackagingQuantity() : basicInsDrugEntity.getMinPackagingQuantity());
//设置包装级别
udiProductEntity.setPackLevel(packLevel + "");
//生产厂家
udiProductEntity.setManufactory(basicInsDrug.getManufacturerName() != null ? basicInsDrug.getManufacturerName() : basicInsDrugEntity.getManufacturerName());
udiProductEntity.setManufactory(basicInsDrug.getManufacturerName() != null ? basicInsDrug.getManufacturerName() : basicInsDrugEntity.getManufacturerName());
//商品条码 essentialDrugMarkName sptm
udiProductEntity.setSptm(basicInsDrug.getEssentialDrugMarkName() != null ? basicInsDrug.getEssentialDrugMarkName() : basicInsDrugEntity.getEssentialDrugMarkName());
udiProductEntity.setSptm(basicInsDrug.getEssentialDrugMarkName() != null ? basicInsDrug.getEssentialDrugMarkName() : basicInsDrugEntity.getEssentialDrugMarkName());
udiProductEntity.setPrepnUnit(thrProductsEntity.getPrepnUnit() == null ? null : thrProductsEntity.getPrepnUnit());
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setDiType(1);
@ -331,12 +332,12 @@ public class UdiContrastService {
UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid());
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
}else {
} else {
//器械
ThrInsMaterialFeeRequest request = new ThrInsMaterialFeeRequest();
request.setMedCatalogCode(thrProductsEntity.getYbbm());
List<BasicInsMaterialEntity> basicInsMaterialEntities = basicInsMaterialService.filterList(request);
if (basicInsMaterialEntities.size() > 0){
if (basicInsMaterialEntities.size() > 0) {
basicInsMaterialEntity = basicInsMaterialEntities.get(0);
}
UdiProductEntity udiProductEntity = new UdiProductEntity();
@ -370,10 +371,11 @@ public class UdiContrastService {
}
} else {
//没有医保编码
Boolean aBoolean = insertProduct(thrProductsEntity,basicInsMaterialEntity,udiRelevanceEntity);
if (!aBoolean){
throw new JsonException(500,"系统繁忙,");
Boolean aBoolean = insertProduct(thrProductsEntity, basicInsMaterialEntity, udiRelevanceEntity);
if (!aBoolean) {
throw new JsonException(500, "系统繁忙,");
}
return;
// UdiProductEntity udiProductEntity = new UdiProductEntity();
// BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
// if (thrProductsEntity.getProductType() != 2){
@ -416,11 +418,11 @@ public class UdiContrastService {
}
public Boolean insertProduct(ThrProductsEntity thrProductsEntity,BasicInsMaterialEntity basicInsMaterialEntity, UdiRelevanceEntity udiRelevanceEntity ){
public Boolean insertProduct(ThrProductsEntity thrProductsEntity, BasicInsMaterialEntity basicInsMaterialEntity, UdiRelevanceEntity udiRelevanceEntity) {
//没有医保编码
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
if (thrProductsEntity.getProductType() != 2){
if (thrProductsEntity.getProductType() != 2) {
//不是药品就设置namecode
udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
@ -443,11 +445,11 @@ public class UdiContrastService {
udiProductEntity.setScbssfbhxlh("否");
udiProductEntity.setProductsType(thrProductsEntity.getProductType());
if (thrProductsEntity.getProductType() == 2){
if (thrProductsEntity.getProductType() == 2) {
udiProductEntity.setRequireScanCode(1);
udiProductEntity.setMajorStatus(1);
udiProductEntity.setPhysicType(3);
}else {
} else {
udiProductEntity.setRequireScanCode(0);
}
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
@ -506,7 +508,7 @@ public class UdiContrastService {
}
}
public Integer setMedicareType(String insuranceDrugClass){
public Integer setMedicareType(String insuranceDrugClass) {
if ("甲类".equals(insuranceDrugClass)) {
return 1;
} else if ("乙类".equals(insuranceDrugClass)) {
@ -518,9 +520,9 @@ public class UdiContrastService {
}
}
public void setLevel(String uuid){
public void setLevel(String uuid) {
List<UdiProductEntity> list = udiProductService.getList(uuid);
if (list.size() > 1){
if (list.size() > 1) {
// 根据条件设置上级和下级标识
for (int i = 0; i < list.size(); i++) {
// 设置上级标识

Loading…
Cancel
Save