Merge remote-tracking branch 'origin/dev_drug' into dev_drug

dev_unify
yewj 9 months ago
commit ea4fc93a5d

@ -22,6 +22,7 @@ import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.http.NmpaUdiClient; import com.glxp.api.http.NmpaUdiClient;
import com.glxp.api.req.basic.*; import com.glxp.api.req.basic.*;
import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest;
import com.glxp.api.res.DiLevelResponse;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
@ -81,7 +82,6 @@ public class UdiContrastController {
@PostMapping("/udi/udirel/revleance") @PostMapping("/udi/udirel/revleance")
@Log(title = "耗材字典", businessType = BusinessType.INSERT) @Log(title = "耗材字典", businessType = BusinessType.INSERT)
public BaseResponse revleanceUdi(@RequestBody UdiCombineRequest udiCombineRequest) { public BaseResponse revleanceUdi(@RequestBody UdiCombineRequest udiCombineRequest) {
udiCombineRequest.setCustomerId(Long.valueOf(customerService.getCustomerId()));
List<String> keys = udiCombineRequest.getKeys(); List<String> keys = udiCombineRequest.getKeys();
if (keys != null && keys.size() > 0) { if (keys != null && keys.size() > 0) {
for (String key : keys) { for (String key : keys) {
@ -92,21 +92,6 @@ public class UdiContrastController {
return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!");
} else { } else {
udiContrastService.createUnionContrast(udiCombineRequest, key); udiContrastService.createUnionContrast(udiCombineRequest, key);
if (udiCombineRequest.isIdSpliUdi()) {
List<UdiRelevanceResponse> temps = udiContrastService.findByUnion(key, udiCombineRequest.getThirdId());
if (CollUtil.isNotEmpty(temps)) {
UdiRelevanceResponse temp = temps.get(0);
CompanyEntity companyEntity = companyService.findCompany(udiCombineRequest.getCustomerId() + "");
CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity();
companyProductRelevanceEntity.setCreateTime(new Date());
companyProductRelevanceEntity.setUpdateTime(new Date());
companyProductRelevanceEntity.setAuditStatus("3");
companyProductRelevanceEntity.setUnitFk(companyEntity.getUnitIdFk());
companyProductRelevanceEntity.setUdiRlIdFk(temp.getId());
companyProductRelevanceEntity.setCustomerId(companyEntity.getCustomerId());
boolean b = companyProductRelevanceService.insertCompanyProductRelevance(companyProductRelevanceEntity);
}
}
} }
} else { } else {
//只添加DI //只添加DI
@ -380,11 +365,46 @@ public class UdiContrastController {
} }
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/updateLevelDrug") @PostMapping("/udi/udirel/updateLevelDrug")
public BaseResponse updateLevelDrug(@RequestBody UpdateLevelDrugRequest updateLevelDrugRequest) { public BaseResponse updateLevelDrug(@RequestBody UpdateLevelDrugRequest updateLevelDrugRequest) {
udiProductService.saveOrUpadateLevelDrug(updateLevelDrugRequest); udiProductService.saveOrUpadateLevelDrug(updateLevelDrugRequest);
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
}
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/calculateDistCount")
public BaseResponse calculateDistCount(@RequestBody UdiProductEntity udiProductEntity) {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiProductService.calculateDistCount(udiProductEntity, udiRelevanceEntity);
return ResultVOUtils.success(udiRelevanceEntity);
}
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/calculateUseCount")
public BaseResponse calculateUseCount(@RequestBody UdiProductEntity udiProductEntity) {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiProductService.calculateUseCount(udiProductEntity, udiRelevanceEntity);
return ResultVOUtils.success(udiRelevanceEntity);
}
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/drug/delLevel")
public BaseResponse delLevel(@RequestBody AddProductRequest addProductRequest) {
boolean b = udiProductService.deleteByNameCode(addProductRequest.getNameCode());
return ResultVOUtils.success("删除成功!");
}
/**
* DI
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/udi/local/levelByUuid")
public BaseResponse filterLocalByUuid(FilterUdiRelRequest filterUdiRelRequest) {
List<DiLevelResponse> diLevelResponses = udiProductService.findLevelByRelId(filterUdiRelRequest.getId());
return ResultVOUtils.success(diLevelResponses);
} }
public void updateDi(UdiRelevanceEntity udiRelevanceEntity, String key) { public void updateDi(UdiRelevanceEntity udiRelevanceEntity, String key) {

@ -233,15 +233,15 @@ public class UdiRelevanceController extends BaseController {
@GetMapping("udiwms/udiinfo/local/filterByUuid") @GetMapping("udiwms/udiinfo/local/filterByUuid")
public BaseResponse filterLocalByUuid(FilterUdiRelRequest filterUdiRelRequest) { public BaseResponse filterLocalByUuid(FilterUdiRelRequest filterUdiRelRequest) {
if (filterUdiRelRequest.getId() == null) {
return ResultVOUtils.error(500, "产品ID主键不能为空");
}
if (filterUdiRelRequest.getId() == null) { if (filterUdiRelRequest.getId() == null) {
return ResultVOUtils.error(500, "产品ID主键不能为空"); return ResultVOUtils.error(500, "产品ID主键不能为空");
} }
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(filterUdiRelRequest.getId()); UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(filterUdiRelRequest.getId());
FilterUdiRelRequest tempRequest = new FilterUdiRelRequest(); FilterUdiRelRequest tempRequest = new FilterUdiRelRequest();
tempRequest.setUuid(udiRelevanceEntity.getUuid()); tempRequest.setUuid(udiRelevanceEntity.getUuid());
if (filterUdiRelRequest.getProductsType() == 2) {
tempRequest.setNameCode(filterUdiRelRequest.getNameCode());
}
List<UdiProductEntity> udiInfoEntities = udiProductService.filterAllUdiInfo(tempRequest); List<UdiProductEntity> udiInfoEntities = udiProductService.filterAllUdiInfo(tempRequest);
List<UdiRelevanceResponse> udiRelevanceResponses = new ArrayList<>(); List<UdiRelevanceResponse> udiRelevanceResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(udiInfoEntities)) { if (CollUtil.isNotEmpty(udiInfoEntities)) {
@ -250,6 +250,7 @@ public class UdiRelevanceController extends BaseController {
BeanUtils.copyProperties(udiProductEntity, udiRelevanceResponse); BeanUtils.copyProperties(udiProductEntity, udiRelevanceResponse);
BeanUtil.copyProperties(udiRelevanceEntity, udiRelevanceResponse); BeanUtil.copyProperties(udiRelevanceEntity, udiRelevanceResponse);
udiRelevanceResponse.setFlbm(udiProductEntity.getFlbm()); udiRelevanceResponse.setFlbm(udiProductEntity.getFlbm());
udiRelevanceResponse.setProductId(udiProductEntity.getId());
udiRelevanceResponses.add(udiRelevanceResponse); udiRelevanceResponses.add(udiRelevanceResponse);
} }
} }
@ -257,7 +258,6 @@ public class UdiRelevanceController extends BaseController {
} }
//多选删除 //多选删除
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udi/udirel/deleteAll") @PostMapping("/udi/udirel/deleteAll")
@ -332,12 +332,26 @@ public class UdiRelevanceController extends BaseController {
//更新关联表 //更新关联表
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
BeanUtil.copyProperties(udiRelevanceSaveRequest, udiRelevanceEntity); BeanUtils.copyProperties(udiRelevanceSaveRequest, udiRelevanceEntity);
udiRelevanceEntity.setId(udiRelevanceSaveRequest.getId()); udiRelevanceEntity.setId(udiRelevanceSaveRequest.getId());
udiRelevanceEntity.setUpdateTime(new Date()); udiRelevanceEntity.setUpdateTime(new Date());
udiRelevanceEntity.setModifyTime(new Date()); udiRelevanceEntity.setModifyTime(new Date());
udiRelevanceEntity.setUpdateUser(customerService.getUserId() + ""); udiRelevanceEntity.setUpdateUser(customerService.getUserId() + "");
udiRelevanceEntity.setUseMuti(udiRelevanceEntity.getUseMuti()); udiRelevanceEntity.setUseMuti(udiRelevanceEntity.getUseMuti());
// udiRelevanceEntity.setUseLeverCount(udiRelevanceSaveRequest.getUseLeverCount());
udiRelevanceEntity.setSplitEnable(udiRelevanceSaveRequest.getSplitEnable());
udiRelevanceEntity.setAutoCode(udiRelevanceSaveRequest.getAutoCode());
// udiRelevanceEntity.setUseLevelDi(udiRelevanceSaveRequest.getUseLevelDi());
// udiRelevanceEntity.setUseLevelUnit(udiRelevanceSaveRequest.getUseLevelUnit());
udiRelevanceEntity.setUseLevel(udiRelevanceSaveRequest.getUseLevel());
// udiRelevanceEntity.setDistributeLevelDi(udiRelevanceSaveRequest.getDistributeLevelDi());
// udiRelevanceEntity.setDistributeLevelUnit(udiRelevanceSaveRequest.getDistributeLevelUnit());
// udiRelevanceEntity.setDistributeLevelCount(udiRelevanceSaveRequest.getDistributeLevelCount());
udiRelevanceEntity.setDistributeLevel(udiRelevanceSaveRequest.getDistributeLevel());
udiRelevanceEntity.setPayFeeCode(udiRelevanceSaveRequest.getPayFeeCode());
udiRelevanceEntity.setSplitEnable(udiRelevanceSaveRequest.getSplitEnable());
udiRelevanceEntity.setAutoCode(udiRelevanceSaveRequest.getAutoCode());
udiRelevanceEntity.setPayFeeCode(udiRelevanceSaveRequest.getPayFeeCode());
udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); udiRelevanceService.updateUdiRelevance(udiRelevanceEntity);
//关联更新 //关联更新
@ -348,12 +362,12 @@ public class UdiRelevanceController extends BaseController {
udiProductEntity.setCpms(udiRelevanceSaveRequest.getCpms()); udiProductEntity.setCpms(udiRelevanceSaveRequest.getCpms());
udiProductEntity.setPrice(udiRelevanceSaveRequest.getPrice()); udiProductEntity.setPrice(udiRelevanceSaveRequest.getPrice());
udiProductEntity.setSpmc(udiRelevanceSaveRequest.getSpmc()); udiProductEntity.setSpmc(udiRelevanceSaveRequest.getSpmc());
udiProductEntity.setBzgg(udiRelevanceSaveRequest.getBzgg());
udiProductEntity.setAllowNoBatch(udiRelevanceSaveRequest.getAllowNoBatch()); udiProductEntity.setAllowNoBatch(udiRelevanceSaveRequest.getAllowNoBatch());
udiProductEntity.setAllowNoExpire(udiRelevanceSaveRequest.getAllowNoExpire()); udiProductEntity.setAllowNoExpire(udiRelevanceSaveRequest.getAllowNoExpire());
udiProductEntity.setAllowNoProduct(udiRelevanceSaveRequest.getAllowNoProduct()); udiProductEntity.setAllowNoProduct(udiRelevanceSaveRequest.getAllowNoProduct());
udiProductEntity.setAllowNoSerial(udiRelevanceSaveRequest.getAllowNoSerial()); udiProductEntity.setAllowNoSerial(udiRelevanceSaveRequest.getAllowNoSerial());
udiProductEntity.setZxxsbzbhsydysl(udiRelevanceEntity.getUseNum()); udiProductEntity.setZxxsbzbhsydysl(udiRelevanceEntity.getUseNum());
udiProductEntity.setGroupBuy(udiRelevanceSaveRequest.getGroupBuy());
udiProductEntity.setBasicPrductRemak1(udiRelevanceSaveRequest.getBasicPrductRemak1()); udiProductEntity.setBasicPrductRemak1(udiRelevanceSaveRequest.getBasicPrductRemak1());
udiProductEntity.setBasicPrductRemak2(udiRelevanceSaveRequest.getBasicPrductRemak2()); udiProductEntity.setBasicPrductRemak2(udiRelevanceSaveRequest.getBasicPrductRemak2());
udiProductEntity.setBasicPrductRemak3(udiRelevanceSaveRequest.getBasicPrductRemak3()); udiProductEntity.setBasicPrductRemak3(udiRelevanceSaveRequest.getBasicPrductRemak3());
@ -363,14 +377,13 @@ public class UdiRelevanceController extends BaseController {
udiProductEntity.setBasicPrductRemak7(udiRelevanceSaveRequest.getBasicPrductRemak7()); udiProductEntity.setBasicPrductRemak7(udiRelevanceSaveRequest.getBasicPrductRemak7());
udiProductEntity.setBasicPrductRemak8(udiRelevanceSaveRequest.getBasicPrductRemak8()); udiProductEntity.setBasicPrductRemak8(udiRelevanceSaveRequest.getBasicPrductRemak8());
udiProductEntity.setCatalogcode(udiRelevanceSaveRequest.getCatalogcode());
udiProductEntity.setCatalogname1(udiRelevanceSaveRequest.getCatalogname1()); udiProductEntity.setCatalogname1(udiRelevanceSaveRequest.getCatalogname1());
udiProductEntity.setCatalogname2(udiRelevanceSaveRequest.getCatalogname2()); udiProductEntity.setCatalogname2(udiRelevanceSaveRequest.getCatalogname2());
udiProductEntity.setCatalogname3(udiRelevanceSaveRequest.getCatalogname3()); udiProductEntity.setCatalogname3(udiRelevanceSaveRequest.getCatalogname3());
udiProductEntity.setMatrial(udiRelevanceSaveRequest.getMatrial()); udiProductEntity.setMatrial(udiRelevanceSaveRequest.getMatrial());
udiProductEntity.setRequireScanCode(udiRelevanceSaveRequest.getRequireScanCode()); udiProductEntity.setRequireScanCode(udiRelevanceSaveRequest.getRequireScanCode());
udiProductEntity.setFlbm(udiRelevanceSaveRequest.getFlbm()); udiProductEntity.setFlbm(udiRelevanceSaveRequest.getFlbm());
udiProductEntity.setBzgg(udiRelevanceSaveRequest.getBzgg()); udiProductEntity.setWorkPlaceCount(udiRelevanceSaveRequest.getWorkPlaceCount());
// udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); // udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) { if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) {
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI); udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI);
@ -378,6 +391,8 @@ public class UdiRelevanceController extends BaseController {
udiProductEntity.setUuid(udiRelevanceSaveRequest.getUuid()); udiProductEntity.setUuid(udiRelevanceSaveRequest.getUuid());
udiProductService.updateUdiInfoByUuid(udiProductEntity); udiProductService.updateUdiInfoByUuid(udiProductEntity);
udiProductService.updateLevelCount(udiRelevanceEntity);
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
} }
@ -733,10 +748,10 @@ public class UdiRelevanceController extends BaseController {
} }
boolean falg = udiProductService.updateUdiInfoById(udiProductEntity); boolean falg = udiProductService.updateUdiInfoById(udiProductEntity);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(udiProductEntity.getUid()); // udiRelevanceEntity.setId(udiProductEntity.getUid());
udiRelevanceEntity.setGroupBuy(IntUtil.value(udiProductEntity.getGroupBuy())); // udiRelevanceEntity.setGroupBuy(IntUtil.value(udiProductEntity.getGroupBuy()));
udiRelevanceEntity.setPurType(udiProductEntity.getPurType()); udiRelevanceEntity.setPurType(udiProductEntity.getPurType());
udiRelevanceEntity.setAttributeType(udiProductEntity.getAttributeType()); // udiRelevanceEntity.setAttributeType(udiProductEntity.getAttributeType());
udiRelevanceEntity.setHcType(udiProductEntity.getHcType()); udiRelevanceEntity.setHcType(udiProductEntity.getHcType());
udiRelevanceEntity.setIsStack(udiProductEntity.getIsStack()); udiRelevanceEntity.setIsStack(udiProductEntity.getIsStack());
udiRelevanceEntity.setUpdateTime(new Date()); udiRelevanceEntity.setUpdateTime(new Date());
@ -767,13 +782,13 @@ public class UdiRelevanceController extends BaseController {
} }
boolean falg = udiProductService.updateUdiInfoById(udiProductEntity); boolean falg = udiProductService.updateUdiInfoById(udiProductEntity);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(udiProductEntity.getUid()); // udiRelevanceEntity.setId(udiProductEntity.getUid());
udiRelevanceEntity.setUseLeverCount(udiProductEntity.getUseLeverCount()); // udiRelevanceEntity.setUseLeverCount(udiProductEntity.getUseLeverCount());
udiRelevanceEntity.setUseLevelDi(udiProductEntity.getUseLevelDi()); // udiRelevanceEntity.setUseLevelDi(udiProductEntity.getUseLevelDi());
udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getUseLevelUnit()); // udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getUseLevelUnit());
udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getDistributeLevelDi()); // udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getDistributeLevelDi());
udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getDistributeLevelUnit()); // udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getDistributeLevelUnit());
udiRelevanceEntity.setDistributeLevelCount(udiProductEntity.getDistributeLevelCount()); // udiRelevanceEntity.setDistributeLevelCount(udiProductEntity.getDistributeLevelCount());
udiRelevanceEntity.setUpdateTime(new Date()); udiRelevanceEntity.setUpdateTime(new Date());
boolean b = udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); boolean b = udiRelevanceService.updateUdiRelevance(udiRelevanceEntity);
if (udiProductEntity.getRelSupId() != null) { if (udiProductEntity.getRelSupId() != null) {

@ -772,14 +772,13 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, "该产品不可配送,请联系院方!"); return ResultVOUtils.error(500, "该产品不可配送,请联系院方!");
} }
if (bussinessTypeEntity.getVailGroupBuy() == 1 && !IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集集采产品 if (bussinessTypeEntity.getVailGroupBuy() == 1 && !udiRelevanceResponse.isGroupBuy()) { //只采集集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!"); return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!");
} }
if (bussinessTypeEntity.getVailGroupBuy() == 2 && IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集非集采产品 if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!"); return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!");
} }
//计算实际数量 //计算实际数量
codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse)); codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse));
} else if (udiRelevanceResponses.size() == 0) { } else if (udiRelevanceResponses.size() == 0) {
@ -1095,12 +1094,12 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, "该产品不可配送,请联系院方!"); return ResultVOUtils.error(500, "该产品不可配送,请联系院方!");
} }
if (bussinessTypeEntity.getVailGroupBuy() == 1 && !IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集集采产品 if (bussinessTypeEntity.getVailGroupBuy() == 1 && !udiRelevanceResponse.isGroupBuy()) { //只采集集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!"); return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入集采产品!");
} }
if (bussinessTypeEntity.getVailGroupBuy() == 2 && IntUtil.value(udiRelevanceResponse.getGroupBuy())) { //只采集非集采产品 if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!"); return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "只允许录入非集采产品!");
} }
//计算实际数量 //计算实际数量

@ -62,7 +62,7 @@ public class SpsSyncBasicController {
//入院申请无DI的数据需更新产品编码 //入院申请无DI的数据需更新产品编码
if (IntUtil.value(udiRelevanceEntity.getNewNeedUpload())) { if (IntUtil.value(udiRelevanceEntity.getNewNeedUpload())) {
UdiProductEntity udiProductEntity = udiProductService.findByUuid(udiRelevanceEntity.getUuid()); UdiProductEntity udiProductEntity = udiProductService.findByUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setRemark(udiProductEntity.getNameCode()); // udiProductEntity.setRemark(udiProductEntity.getNameCode());
udiProductEntity.setNameCode(udiRelevanceEntity.getMainId()); udiProductEntity.setNameCode(udiRelevanceEntity.getMainId());
udiProductService.updateUdiInfoByUuid(udiProductEntity); udiProductService.updateUdiInfoByUuid(udiProductEntity);
ThrProductsAddDiEntity thrProductsAddDiEntity = thrProductsAddDiDao.selectOne(new QueryWrapper<ThrProductsAddDiEntity>().eq("code", udiProductEntity.getRemark()).last("limit 1")); ThrProductsAddDiEntity thrProductsAddDiEntity = thrProductsAddDiDao.selectOne(new QueryWrapper<ThrProductsAddDiEntity>().eq("code", udiProductEntity.getRemark()).last("limit 1"));

@ -227,7 +227,7 @@ public class ThrProductsAddDiController {
udiProductEntity.setBasicPrductRemak6(thrProductsAddDiEntity.getBasicPrductRemak6()); udiProductEntity.setBasicPrductRemak6(thrProductsAddDiEntity.getBasicPrductRemak6());
udiProductEntity.setBasicPrductRemak7(thrProductsAddDiEntity.getBasicPrductRemak7()); udiProductEntity.setBasicPrductRemak7(thrProductsAddDiEntity.getBasicPrductRemak7());
udiProductEntity.setBasicPrductRemak8(thrProductsAddDiEntity.getBasicPrductRemak8()); udiProductEntity.setBasicPrductRemak8(thrProductsAddDiEntity.getBasicPrductRemak8());
udiProductEntity.setGroupBuy(thrProductsAddDiEntity.getGroupBuy()); // udiProductEntity.setGroupBuy(thrProductsAddDiEntity.getGroupBuy());
udiProductEntity.setCatalogname1(thrProductsAddDiEntity.getCatalogname1()); udiProductEntity.setCatalogname1(thrProductsAddDiEntity.getCatalogname1());
udiProductEntity.setCatalogname2(thrProductsAddDiEntity.getCatalogname2()); udiProductEntity.setCatalogname2(thrProductsAddDiEntity.getCatalogname2());
udiProductEntity.setCatalogname3(thrProductsAddDiEntity.getCatalogname3()); udiProductEntity.setCatalogname3(thrProductsAddDiEntity.getCatalogname3());
@ -320,7 +320,7 @@ public class ThrProductsAddDiController {
udiProductEntity.setBasicPrductRemak6(thrProductsAddDiResponse.getBasicPrductRemak6()); udiProductEntity.setBasicPrductRemak6(thrProductsAddDiResponse.getBasicPrductRemak6());
udiProductEntity.setBasicPrductRemak7(thrProductsAddDiResponse.getBasicPrductRemak7()); udiProductEntity.setBasicPrductRemak7(thrProductsAddDiResponse.getBasicPrductRemak7());
udiProductEntity.setBasicPrductRemak8(thrProductsAddDiResponse.getBasicPrductRemak8()); udiProductEntity.setBasicPrductRemak8(thrProductsAddDiResponse.getBasicPrductRemak8());
udiProductEntity.setGroupBuy(thrProductsAddDiResponse.getGroupBuy()); // udiProductEntity.setGroupBuy(thrProductsAddDiResponse.getGroupBuy());
udiProductEntity.setCatalogname1(thrProductsAddDiResponse.getCatalogname1()); udiProductEntity.setCatalogname1(thrProductsAddDiResponse.getCatalogname1());
udiProductEntity.setCatalogname2(thrProductsAddDiResponse.getCatalogname2()); udiProductEntity.setCatalogname2(thrProductsAddDiResponse.getCatalogname2());
udiProductEntity.setCatalogname3(thrProductsAddDiResponse.getCatalogname3()); udiProductEntity.setCatalogname3(thrProductsAddDiResponse.getCatalogname3());

@ -212,8 +212,8 @@ public class ThrProductsController {
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getYlqxzcrbarmc()); udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getYlqxzcrbarmc());
if (StrUtil.isNotEmpty(thrProductsEntity.getCpms())) if (StrUtil.isNotEmpty(thrProductsEntity.getCpms()))
udiProductEntity.setCpms(thrProductsEntity.getCpms()); udiProductEntity.setCpms(thrProductsEntity.getCpms());
if (StrUtil.isNotEmpty(thrProductsEntity.getBzgg())) // if (StrUtil.isNotEmpty(thrProductsEntity.getBzgg()))
udiProductEntity.setBzgg(thrProductsEntity.getBzgg()); // udiProductEntity.setBzgg(thrProductsEntity.getBzgg());
// if (StrUtil.isNotEmpty(thrProductsEntity.getStandard())) // if (StrUtil.isNotEmpty(thrProductsEntity.getStandard()))
// udiProductEntity.setGgxh(thrProductsEntity.getStandard()); // udiProductEntity.setGgxh(thrProductsEntity.getStandard());
udiProductService.updateUdiInfo(udiProductEntity); udiProductService.updateUdiInfo(udiProductEntity);

@ -0,0 +1,13 @@
package com.glxp.api.dao.thrsys;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.thrsys.BasicInsMaterialEntity;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface BasicInsMaterialMapper extends BaseMapper<BasicInsMaterialEntity> {
List<BasicInsMaterialEntity> filterList(ThrInsMaterialFeeRequest thrInsMaterialFeeRequest);
}

@ -0,0 +1,17 @@
package com.glxp.api.dao.thrsys;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.thrsys.YbDrug;
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface YbDrugMapper extends BaseMapper<YbDrug> {
void batchSaveOrUpdateByGoodsCode(@Param("list")List<YbDrug> ybHcflEntities);
List<YbDrug> list(YbDrugDetailFilterRequest param);
}

@ -1,11 +1,14 @@
package com.glxp.api.entity.basic; package com.glxp.api.entity.basic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -14,129 +17,7 @@ import java.util.Date;
@Data @Data
@TableName("basic_products") @TableName("basic_products")
public class UdiProductEntity { public class UdiProductEntity {
// @TableId(value = "id", type = IdType.INPUT)
// private Long id;
// private String uuid;
// private String originUuid;
// private String nameCode;
// private String deviceRecordKey;
// private String packRatio;
// private String packLevel;
// private String packUnit;
// private Integer bhxjsl;
// private Integer bhzxxsbzsl;
// private Integer zxxsbzbhsydysl;
// private String bhxjcpbm;
// private String bzcj;
// private String cpmctymc;
// private String cplb;
// private String flbm;
// private String ggxh;
// private String qxlb;
// private String tyshxydm;
// private String ylqxzcrbarmc;
// private String zczbhhzbapzbh;
// private String ylqxzcrbarywmc;
// private String sydycpbs;
// private String sjcpbm;
// private Integer versionNumber;
// private Integer diType;
// private String ybbm;
// private String sptm;
// private String manufactory;
// private String manufactoryCode;
// private String measname;
// private Integer productType;
// private String scbssfbhph;
// private String scbssfbhxlh;
// private String scbssfbhscrq;
// private String scbssfbhsxrq;
// private String cpms;
// private Boolean allowNoBatch;
// private Boolean allowNoExpire;
// private Boolean allowNoProduct;
// private Boolean allowNoSerial;
// private String spmc;
// private String cplx;
// private String hchzsb;
// private String cpdls;
// private String basicPrductRemak1;
// private String basicPrductRemak2;
// private String basicPrductRemak3;
// private String basicPrductRemak4;
// private String basicPrductRemak5;
// private String basicPrductRemak6;
// private String basicPrductRemak7;
// private String basicPrductRemak8;
// private String price;
//
//
// private String sfwblztlcp;
// private String cgzmraqxgxx;
// private String sfbjwycxsy;
// private String zdcfsycs;
// private String sfwwjbz;
// private String syqsfxyjxmj;
// private String mjfs;
// private String categoryName;
//
//
// //本地生成信息
// private String batchNo;
// private String produceDate;
// private String expireDate;
// private String serialNo;
// private String udi;
// private String code;
// private Integer count;
// private String warehouseCode;
// private String deptCode;
// private String udplatCode;
// private String relId;//关联ID主键
// private Integer status;
// private String supId;
private Long relSupId;
private Boolean groupBuy;
private Long uid;
private Integer attributeType;
//
private String remark;
private String catalogcode;
//
/**
* (
*/
@TableField(value = "catalogCode1")
@ApiModelProperty(value = "一级分类名称(学科,品名)")
private Integer catalogCode1;
//
/**
* (
*/
@TableField(value = "catalogCode2")
@ApiModelProperty(value = "二级分类名称(用途、品目)")
private Integer catalogCode2;
//
// /**
// * 三级分类名称(部位、功能、品种)
// */
@TableField(value = "catalogCode3")
@ApiModelProperty(value = "三级分类名称(部位、功能、品种)")
private Integer catalogCode3;
@TableField(exist = false)
private Boolean isStack;
private Long id; private Long id;
@TableField(value = "uuid") @TableField(value = "uuid")
private String uuid; private String uuid;
@ -246,7 +127,6 @@ public class UdiProductEntity {
@TableField(exist = false) @TableField(exist = false)
//本地生成信息 //本地生成信息
private String batchNo; private String batchNo;
@TableField(exist = false)
private String produceDate; private String produceDate;
@TableField(exist = false) @TableField(exist = false)
private String expireDate; private String expireDate;
@ -272,11 +152,12 @@ public class UdiProductEntity {
private String supId; private String supId;
@TableField(exist = false) @TableField(exist = false)
private Boolean useMuti; //是否多次使用 private Boolean useMuti; //是否多次使用
@TableField(exist = false)
private Long relSupId;
@TableField(value = "pinyinInitial") @TableField(value = "pinyinInitial")
private String pinyinInitial; private String pinyinInitial;
@TableField(value = "zdcfsycs") @TableField(value = "zdcfsycs")
private String zdcfsycs; private Integer zdcfsycs;
@TableField(value = "sfwblztlcp") @TableField(value = "sfwblztlcp")
private String sfwblztlcp; private String sfwblztlcp;
@ -311,6 +192,12 @@ public class UdiProductEntity {
@TableField(value = "bzgg") @TableField(value = "bzgg")
private String bzgg; private String bzgg;
/**
*
*/
@TableField(value = "remark")
private String remark;
/** /**
* ( * (
*/ */
@ -344,6 +231,7 @@ public class UdiProductEntity {
private Integer hcType; private Integer hcType;
@TableField(value = "requireScanCode") @TableField(value = "requireScanCode")
private Integer requireScanCode; private Integer requireScanCode;
private Boolean isStack;
/** /**
@ -365,6 +253,11 @@ public class UdiProductEntity {
@TableField(value = "prepnUnit") @TableField(value = "prepnUnit")
private String prepnUnit; private String prepnUnit;
/**
*
*/
@TableField(value = "packMatrial")
private String packMatrial;
/** /**
* 使 * 使
@ -395,7 +288,7 @@ public class UdiProductEntity {
* 使 * 使
*/ */
@TableField(value = "indate") @TableField(value = "indate")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private Date indate; private Date indate;
@ -411,12 +304,6 @@ public class UdiProductEntity {
@TableField(value = "prepnSpec") @TableField(value = "prepnSpec")
private String prepnSpec; private String prepnSpec;
/**
*
*/
@TableField(value = "packMatrial")
private String packMatrial;
/** /**
* *
*/ */
@ -433,17 +320,33 @@ public class UdiProductEntity {
@TableField(value = "majorStatus") @TableField(value = "majorStatus")
private Integer majorStatus; private Integer majorStatus;
@TableField(exist = false) /**
private String distributeLevelDi; * 使
@TableField(exist = false) */
private String distributeLevelUnit; @TableField(value = "bhltcjsl")
@TableField(exist = false) private Integer bhltcjsl;
private Integer distributeLevelCount;
@TableField(exist = false) /**
private String useLevelDi; * 使
@TableField(exist = false) */
private String useLevelUnit; @TableField(value = "bhsycjsl")
@TableField(exist = false) private Integer bhsycjsl;
private Integer useLeverCount;
//工位预警数量
@TableField(value = "workPlaceCount")
private Integer workPlaceCount;
/**
*
*/
@TableField(value = "xjdw")
private String xjdw;
public Integer getMyBhxjsl() {
if (bhxjsl == null || bhxjsl == 0)
return 1;
return bhxjsl;
}
} }

@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
@ -13,6 +16,9 @@ import java.util.Date;
*/ */
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("basic_udirel") @TableName("basic_udirel")
public class UdiRelevanceEntity { public class UdiRelevanceEntity {
@ -96,24 +102,23 @@ public class UdiRelevanceEntity {
*/ */
@TableField(value = "isAdavence") @TableField(value = "isAdavence")
private Boolean isAdavence; private Boolean isAdavence;
/** /**
* 1:23 * 1:23
*/ */
@TableField(value = "purType") @TableField(value = "purType")
private Integer purType; private Integer purType;
/** /**
* 0:1)23. * 0:1)23.
*/ */
@TableField(value = "attributeType") @TableField(value = "attributeType")
private Integer attributeType; private Integer attributeType;
/** /**
* 12. * 12.
*/ */
@TableField(value = "hcType") @TableField(value = "hcType")
private Integer hcType; private Integer hcType;
/** /**
* 使 * 使
*/ */
@ -178,11 +183,9 @@ public class UdiRelevanceEntity {
private Integer useExpireTime; private Integer useExpireTime;
@TableField(value = "dispatch") @TableField(value = "dispatch")
private Boolean dispatch; private Boolean dispatch;
@TableField(value = "groupBuy") //是否可配送
//是否集采产品
@TableField(value = "groupBuy")
private Boolean groupBuy; private Boolean groupBuy;
//是否可配送 //是否集采产品
@TableField(value = "isDateBy") @TableField(value = "isDateBy")
private Integer isDateBy; private Integer isDateBy;
@TableField(value = "needCert") @TableField(value = "needCert")
@ -190,53 +193,89 @@ public class UdiRelevanceEntity {
@TableField(value = "certIdFk") @TableField(value = "certIdFk")
private String certIdFk; private String certIdFk;
/**
*
*/
@TableField(value = "newNeedUpload")
private Boolean newNeedUpload;
/** /**
* * 0:1:
*/ */
@TableField(value = "isStack") @TableField(value = "uploadFlag")
private Boolean isStack; private Integer uploadFlag;
/** /**
* *
*/ */
@TableField(value = "distributeLevelDi") @TableField(value = "uploadMsg")
private String distributeLevelDi; private String uploadMsg;
/** /**
* *
*/ */
@TableField(value = "distributeLevelUnit") @TableField(value = "newNeedUpload")
private String distributeLevelUnit; private Boolean newNeedUpload;
// /**
// * 流通计量层层级标识
// */
// @TableField(value = "distributeLevelDi")
// private String distributeLevelDi;
//
// /**
// * 流通计量层级单位
// */
// @TableField(value = "distributeLevelUnit")
// private String distributeLevelUnit;
//
/** /**
* *
*/ */
@TableField(value = "distributeLevelCount") @TableField(value = "distributeLevelCount")
private Integer distributeLevelCount; private Integer distributeLevelCount;
/** /**
* 使 *
*/
@TableField(value = "distributeLevel")
private Integer distributeLevel;
// /**
// * 使用计量层级标识
// */
// @TableField(value = "useLevelDi")
// private String useLevelDi;
//
// /**
// * 使用计量层级单位
// */
// @TableField(value = "useLevelUnit")
// private String useLevelUnit;
//
// /**
// * 使用是当前层级包含计量单元数量
// */
// @TableField(value = "useLeverCount")
// private Integer useLeverCount;
/**
* 使
*/ */
@TableField(value = "useLevelDi") @TableField(value = "useLevel")
private String useLevelDi; private Integer useLevel;
/** /**
* 使 *
*/ */
@TableField(value = "useLevelUnit") @TableField(value = "autoCode")
private String useLevelUnit; private Boolean autoCode;
/** /**
* 使 *
*/ */
@TableField(value = "useLeverCount") @TableField(value = "splitEnable")
private Integer useLeverCount; private Boolean splitEnable;
/** /**
@ -247,4 +286,29 @@ public class UdiRelevanceEntity {
@TableField(value = "productsType") @TableField(value = "productsType")
private Integer productsType; private Integer productsType;
/**
*
*/
@TableField(value = "isStack")
private Boolean isStack;
/**
*
*/
@TableField(value = "distributeMaxLevel")
private Integer distributeMaxLevel;
/**
* 使
*/
@TableField(value = "useMaxLevel")
private Integer useMaxLevel;
/**
* ()
*/
@TableField(value = "unpackUseTime")
private Integer unpackUseTime;
} }

@ -0,0 +1,529 @@
package com.glxp.api.entity.thrsys;
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.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
*/
@ApiModel(value="com-glxp-api-entity-thrsys-BasicInsMaterial")
@Data
@TableName(value = "basic_ins_material")
public class BasicInsMaterialEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="")
private Integer id;
/**
*
*/
@TableField(value = "medCatalogCode")
@ApiModelProperty(value="医疗目录编码")
private String medCatalogCode;
/**
*
*/
@TableField(value = "consumableName")
@ApiModelProperty(value="耗材名称")
private String consumableName;
/**
*
*/
@TableField(value = "deviceUniqueCode")
@ApiModelProperty(value="医疗器械唯一标识码")
private String deviceUniqueCode;
/**
*
*/
@TableField(value = "insuranceGenericCode")
@ApiModelProperty(value="医保通用名代码")
private String insuranceGenericCode;
/**
*
*/
@TableField(value = "insuranceGenericName")
@ApiModelProperty(value="医保通用名")
private String insuranceGenericName;
/**
*
*/
@TableField(value = "productModel")
@ApiModelProperty(value="产品型号")
private String productModel;
/**
*
*/
@TableField(value = "specCode")
@ApiModelProperty(value="规格代码")
private String specCode;
/**
*
*/
@TableField(value = "specification")
@ApiModelProperty(value="规格")
private String specification;
/**
*
*/
@TableField(value = "consumableCategory")
@ApiModelProperty(value="耗材分类")
private String consumableCategory;
/**
*
*/
@TableField(value = "specModel")
@ApiModelProperty(value="规格型号")
private String specModel;
/**
*
*/
@TableField(value = "materialCode")
@ApiModelProperty(value="材质代码")
private String materialCode;
/**
*
*/
@TableField(value = "consumableMaterial")
@ApiModelProperty(value="耗材材质")
private String consumableMaterial;
/**
*
*/
@TableField(value = "packagingSpec")
@ApiModelProperty(value="包装规格")
private String packagingSpec;
/**
*
*/
@TableField(value = "packagingQuantity")
@ApiModelProperty(value="包装数量")
private Integer packagingQuantity;
/**
*
*/
@TableField(value = "packagingMaterial")
@ApiModelProperty(value="产品包装材质")
private String packagingMaterial;
/**
*
*/
@TableField(value = "packagingUnit")
@ApiModelProperty(value="包装单位")
private String packagingUnit;
/**
*
*/
@TableField(value = "productConversionRate")
@ApiModelProperty(value="产品转换比")
private Double productConversionRate;
/**
* 使
*/
@TableField(value = "minUsageUnit")
@ApiModelProperty(value="最小使用单位")
private String minUsageUnit;
/**
*
*/
@TableField(value = "productionAreaType")
@ApiModelProperty(value="生产地类别")
private String productionAreaType;
/**
*
*/
@TableField(value = "productionAreaName")
@ApiModelProperty(value="生产地类别名称")
private String productionAreaName;
/**
*
*/
@TableField(value = "productStandard")
@ApiModelProperty(value="产品标准")
private String productStandard;
/**
*
*/
@TableField(value = "productExpiry")
@ApiModelProperty(value="产品有效期")
private String productExpiry;
/**
*
*/
@TableField(value = "structureComposition")
@ApiModelProperty(value="性能结构与组成")
private String structureComposition;
/**
*
*/
@TableField(value = "applicableScope")
@ApiModelProperty(value="适用范围")
private String applicableScope;
/**
* 使
*/
@TableField(value = "usageMethod")
@ApiModelProperty(value="产品使用方法")
private String usageMethod;
/**
*
*/
@TableField(value = "productImageCode")
@ApiModelProperty(value="产品图片编号")
private String productImageCode;
/**
*
*/
@TableField(value = "qualityStandard")
@ApiModelProperty(value="产品质量标准")
private String qualityStandard;
/**
*
*/
@TableField(value = "instructions")
@ApiModelProperty(value="说明书")
private String instructions;
/**
*
*/
@TableField(value = "otherCertMaterials")
@ApiModelProperty(value="其他证明材料")
private String otherCertMaterials;
/**
*
*/
@TableField(value = "dedicatedMachineFlag")
@ApiModelProperty(value="专机专用标志")
private Byte dedicatedMachineFlag;
/**
*
*/
@TableField(value = "dedicatedMachineName")
@ApiModelProperty(value="专机名称")
private String dedicatedMachineName;
/**
*
*/
@TableField(value = "setNames")
@ApiModelProperty(value="组套名称")
private String setNames;
/**
*
*/
@TableField(value = "setFlag")
@ApiModelProperty(value="机套标志")
private Byte setFlag;
/**
* 使
*/
@TableField(value = "usageRestrictionFlag")
@ApiModelProperty(value="限制使用标志")
private Byte usageRestrictionFlag;
/**
*
*/
@TableField(value = "insuranceUsageScope")
@ApiModelProperty(value="医保限用范围")
private String insuranceUsageScope;
/**
*
*/
@TableField(value = "minSalesUnit")
@ApiModelProperty(value="最小销售单位")
private String minSalesUnit;
/**
*
*/
@TableField(value = "highValueConsumableFlag")
@ApiModelProperty(value="高值耗材标志")
private Byte highValueConsumableFlag;
/**
*
*/
@TableField(value = "medicalMaterialCategoryCode")
@ApiModelProperty(value="医用材料分类代码")
private String medicalMaterialCategoryCode;
/**
*
*/
@TableField(value = "implantMaterialFlag")
@ApiModelProperty(value="植入材料和人体器官标志")
private Byte implantMaterialFlag;
/**
*
*/
@TableField(value = "sterilizationFlag")
@ApiModelProperty(value="灭菌标志")
private Byte sterilizationFlag;
/**
*
*/
@TableField(value = "sterilizationFlagName")
@ApiModelProperty(value="灭菌标志名称")
private String sterilizationFlagName;
/**
*
*/
@TableField(value = "implantOrInterventionalFlag")
@ApiModelProperty(value="植入或介入类标志")
private Byte implantOrInterventionalFlag;
/**
*
*/
@TableField(value = "implantOrInterventionalName")
@ApiModelProperty(value="植入或介入类名称")
private String implantOrInterventionalName;
/**
* 使
*/
@TableField(value = "singleUseFlag")
@ApiModelProperty(value="一次性使用标志")
private Byte singleUseFlag;
/**
* 使
*/
@TableField(value = "singleUseFlagName")
@ApiModelProperty(value="一次性使用标志名称")
private String singleUseFlagName;
/**
*
*/
@TableField(value = "regFilingPersonName")
@ApiModelProperty(value="注册备案人名称")
private String regFilingPersonName;
/**
*
*/
@TableField(value = "startDate")
@ApiModelProperty(value="开始日期")
private Date startDate;
/**
*
*/
@TableField(value = "endDate")
@ApiModelProperty(value="结束日期")
private Date endDate;
/**
*
*/
@TableField(value = "deviceManagementCategory")
@ApiModelProperty(value="医疗器械管理类别")
private String deviceManagementCategory;
/**
*
*/
@TableField(value = "deviceManagementCategoryName")
@ApiModelProperty(value="医疗器械管理类别名称")
private String deviceManagementCategoryName;
/**
*
*/
@TableField(value = "regFilingNum")
@ApiModelProperty(value="注册备案号")
private String regFilingNum;
/**
*
*/
@TableField(value = "regFilingProductName")
@ApiModelProperty(value="注册备案产品名称")
private String regFilingProductName;
/**
*
*/
@TableField(value = "structureCompositionDetail")
@ApiModelProperty(value="结构及组成")
private String structureCompositionDetail;
/**
*
*/
@TableField(value = "otherDetails")
@ApiModelProperty(value="其他内容")
private String otherDetails;
/**
*
*/
@TableField(value = "approvalDate")
@ApiModelProperty(value="批准日期")
private Date approvalDate;
/**
*
*/
@TableField(value = "regFilingPersonAddress")
@ApiModelProperty(value="注册备案人住所")
private String regFilingPersonAddress;
/**
*
*/
@TableField(value = "regCertStartDate")
@ApiModelProperty(value="注册证有效期开始时间")
private Date regCertStartDate;
/**
*
*/
@TableField(value = "regCertEndDate")
@ApiModelProperty(value="注册证有效期结束时间")
private Date regCertEndDate;
/**
*
*/
@TableField(value = "manufacturerNum")
@ApiModelProperty(value="生产企业编号")
private String manufacturerNum;
/**
*
*/
@TableField(value = "manufacturerName")
@ApiModelProperty(value="生产企业名称")
private String manufacturerName;
/**
*
*/
@TableField(value = "manufacturingAddress")
@ApiModelProperty(value="生产地址")
private String manufacturingAddress;
/**
*
*/
@TableField(value = "agentCompany")
@ApiModelProperty(value="代理人企业")
private String agentCompany;
/**
*
*/
@TableField(value = "agentCompanyAddress")
@ApiModelProperty(value="代理人企业地址")
private String agentCompanyAddress;
/**
*
*/
@TableField(value = "productionCountry")
@ApiModelProperty(value="生产国或地区")
private String productionCountry;
/**
*
*/
@TableField(value = "afterSalesService")
@ApiModelProperty(value="售后服务机构")
private String afterSalesService;
/**
*
*/
@TableField(value = "regOrFilingCertFile")
@ApiModelProperty(value="注册或备案证电子档案")
private String regOrFilingCertFile;
/**
*
*/
@TableField(value = "productImage")
@ApiModelProperty(value="产品影像")
private String productImage;
/**
*
*/
@TableField(value = "activeMark")
@ApiModelProperty(value="有效标志")
private Byte activeMark;
/**
*
*/
@TableField(value = "uniqueRecordNum")
@ApiModelProperty(value="唯一记录号")
private String uniqueRecordNum;
/**
*
*/
@TableField(value = "versionNum")
@ApiModelProperty(value="版本号")
private String versionNum;
/**
*
*/
@TableField(value = "versionName")
@ApiModelProperty(value="版本名称")
private String versionName;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="备注")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
/** /**
* <p> * <p>
* *
@ -161,12 +163,6 @@ public class ThrProductsEntity {
*/ */
private String price; private String price;
/**
*
*/
private String bzgg;
/** /**
* *
*/ */
@ -185,5 +181,83 @@ public class ThrProductsEntity {
@TableField("updateUser") @TableField("updateUser")
private String updateUser; private String updateUser;
/**
*
*/
@TableField("manufactoryCode")
private String manufactoryCode;
/**
*
*/
@TableField("supCode")
private String supCode;
@TableField("type")
private Integer type;
@TableField(exist = false)
private String createByName;
/**
*
*/
@TableField("prcitmcode")
private String prcitmcode;
/**
* /
*/
@TableField("invCode")
private String invCode;
/**
* (
*/
@TableField(value = "catalogname1")
@ApiModelProperty(value="一级分类名称(学科,品名)")
private String catalogname1;
/**
* (
*/
@TableField(value = "catalogname2")
@ApiModelProperty(value="二级分类名称(用途、品目)")
private String catalogname2;
/**
* (
*/
@TableField(value = "catalogname3")
@ApiModelProperty(value="三级分类名称(部位、功能、品种)")
private String catalogname3;
/**
*
*/
@TableField(value = "matrial")
@ApiModelProperty(value="耗材材质")
private String matrial;
/**
* 1: 2:
*/
@TableField(value = "productType")
private Integer productType;
/**
*
*/
@TableField(value = "prepnSpec")
@ApiModelProperty(value="制剂规格")
private String prepnSpec;
/**
*
*/
@TableField(value = "prepnUnit")
@ApiModelProperty(value="制剂单位")
private String prepnUnit;
} }

@ -0,0 +1,149 @@
package com.glxp.api.entity.thrsys;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
*
*/
@Data
@TableName(value = "yb_drug")
public class YbDrug implements Serializable {
/**
*
*/
@TableField(value = "businessLicense")
private String businessLicense;
/**
*
*/
@TableField(value = "companyNameSc")
private String companyNameSc;
/**
*
*/
@TableField(value = "approvalCode")
private String approvalCode;
/**
*
*/
@TableField(value = "goodsStandardCode")
private String goodsStandardCode;
/**
* baseId
*/
@TableField(value = "baseId")
private String baseId;
/**
*
*/
@TableField(value = "productName")
private String productName;
/**
*
*/
@TableField(value = "productMedicinemodel")
private String productMedicinemodel;
/**
*
*/
@TableField(value = "registeredProductName")
private String registeredProductName;
/**
*
*/
@TableField(value = "listingHolder")
private String listingHolder;
/**
*
*/
@TableField(value = "registeredMedicinemodel")
private String registeredMedicinemodel;
/**
*
*/
@TableField(value = "minUnit")
private String minUnit;
/**
*
*/
@TableField(value = "factor")
private Integer factor;
@TableField(value = "goodsName")
private String goodsName;
@TableField(value = "dataSouce")
private String dataSouce;
/**
*
*/
@TableField(value = "realityOutlook")
private String realityOutlook;
@TableField(value = "productRemark")
private String productRemark;
@TableField(value = "subpackager")
private String subpackager;
@TableField(value = "version")
private String version;
@TableField(value = "productInsuranceType")
private String productInsuranceType;
/**
*
*/
@TableField(value = "realityMedicinemodel")
private String realityMedicinemodel;
@TableField(value = "marketState")
private String marketState;
/**
*
*/
@TableField(value = "materialName")
private String materialName;
/**
*
*/
@TableField(value = "unit")
private String unit;
/**
*
*/
@TableField(value = "registeredOutlook")
private String registeredOutlook;
@TableField(value = "productCode")
private String productCode;
/**
*
*/
@TableField(value = "goodsCode")
private String goodsCode;
}

@ -9,8 +9,10 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.thrsys.ThrManufacturerEntity; import com.glxp.api.entity.thrsys.ThrManufacturerEntity;
import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.entity.thrsys.YbDrug;
import com.glxp.api.http.req.UdiwmsBusTypeRequest; import com.glxp.api.http.req.UdiwmsBusTypeRequest;
import com.glxp.api.http.req.UdiwmsUnitRequest; import com.glxp.api.http.req.UdiwmsUnitRequest;
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
import com.glxp.api.req.basic.YbHcflDetailFilterRequest; import com.glxp.api.req.basic.YbHcflDetailFilterRequest;
import com.glxp.api.req.thrsys.*; import com.glxp.api.req.thrsys.*;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
@ -216,4 +218,17 @@ public class ErpBasicClient {
} }
} }
public BaseResponse<PageSimpleResponse<YbDrug>> getYbDrugDetail(YbDrugDetailFilterRequest ybHcflDetailFilterRequest) {
String url = "https://www.udims.com/UDI_DL_Server_test" + "/udchs/ybDrug/list";
try {
String response = httpOkClient.uCloudPost(url, ybHcflDetailFilterRequest);
BaseResponse<PageSimpleResponse<YbDrug>> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<YbDrug>>>() {
});
return listBaseResponse;
} catch (Exception e) {
log.error("医保药品详情", e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
}
}
} }

@ -239,6 +239,13 @@ public class AddProductRequest {
*/ */
@TableField(value = "medicareType") @TableField(value = "medicareType")
private Integer medicareType; private Integer medicareType;
/**
* ()
*/
@TableField(value = "unpackUseTime")
private Integer unpackUseTime;
private Integer majorStatus; private Integer majorStatus;
/** /**
@ -263,16 +270,31 @@ public class AddProductRequest {
private Long id; private Long id;
private String distributeLevelDi; // private String distributeLevelDi;
private String distributeLevelUnit; // private String distributeLevelUnit;
private Integer distributeLevelCount; // private Integer distributeLevelCount;
private String useLevelDi; // private String useLevelDi;
private String useLevelUnit; // private String useLevelUnit;
private Integer useLeverCount; // private Integer useLeverCount;
private Boolean splitEnable;
private Boolean autoCode;
/** /**
* *
*/ */
private String payFeeCode; private String payFeeCode;
private String packUnit; private Integer useLevel;
private Integer distributeLevel;
/**
*
*/
private Integer distributeMaxLevel;
/**
* 使
*/
private Integer useMaxLevel;
} }

@ -3,6 +3,7 @@ package com.glxp.api.req.basic;
import com.glxp.api.util.page.ListPageRequest; import com.glxp.api.util.page.ListPageRequest;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
@ -17,18 +18,19 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String ggxh; private String ggxh;
private String thirdId; private String thirdId;
private Long id; private Long id;
private String packLevel;
private String thirdId1; private String thirdId1;
private String thirdId2; private String thirdId2;
private String thirdId3; private String thirdId3;
private String thirdId4; private String thirdId4;
private Boolean isDisable;
private String thirdCode; private String thirdCode;
private String thirdSys; private String thirdSys;
private String lastUpdateTime; private String lastUpdateTime;
private String zczbhhzbapzbh; private String zczbhhzbapzbh;
private String packLevel;
private Integer diType; private Integer diType;
@ -40,12 +42,14 @@ public class FilterUdiRelRequest extends ListPageRequest {
private Boolean isCheck; private Boolean isCheck;
private Integer filterType; //0:全部1.对照完成2.未对照DI3.未对照产品编码4.未对照其他产品编码 private Integer filterType; //0:全部1.对照完成2.未对照DI3.未对照产品编码4.未对照其他产品编码
private String customerId;
private String pinyinInitial;
private String code;
private Integer lockStatus; private Integer lockStatus;
private String customerId;
private String udplatCode; private String udplatCode;
private String mainId; private String mainId;
private String mainIdLike;
private Boolean isAdavence; private Boolean isAdavence;
/** /**
* 1:23 * 1:23
@ -56,7 +60,7 @@ public class FilterUdiRelRequest extends ListPageRequest {
*/ */
private Integer attributeType; private Integer attributeType;
/** /**
* 12. * 12.
*/ */
private Integer hcType; private Integer hcType;
private String corpId; private String corpId;
@ -65,8 +69,8 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String ybbm; private String ybbm;
private String sptm; private String sptm;
private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询 private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询
private String main;
private Boolean isDisable;
List<String> relIds; List<String> relIds;
private String uniqueNameCode; private String uniqueNameCode;
private String supName; private String supName;
@ -82,17 +86,43 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String tyshxydm; private String tyshxydm;
private Boolean dispatch; private Boolean dispatch;
private Boolean groupBuy; private Boolean groupBuy;
private String category;
private List<String> uuids;
private List<Long> ids;
private String flbm;
private String parentCode;
private List<Long> existid;
private String basicPrductRemak1;
private String basicPrductRemak2;
private String basicPrductRemak3;
private String basicPrductRemak4;
private String basicPrductRemak5;
private String basicPrductRemak6;
private String basicPrductRemak7;
private String basicPrductRemak8;
//定数包参数
private String destinyId;
private String destinyNo;
private String billNo;
private Date billDate;
private String invCode;
private String remark;
private String key;
private String sfwblztlcp;
private String cgzmraqxgxx;
private String sfbjwycxsy;
private String zdcfsycs;
private String sfwwjbz;
private String syqsfxyjxmj;
private String mjfs;
private String categoryName;
private String deviceRecordKey; private String deviceRecordKey;
private String packMatrial;
private Integer productsType = 1; //药品参数
private String cpms;
private Integer productsType = 1;//默认是耗材
private Integer productType;
/**
*
*/
private String payFeeCode;
} }

@ -33,9 +33,10 @@ public class UdiRelevanceSaveRequest {
*/ */
private Integer attributeType; private Integer attributeType;
/** /**
* 12. * 12.
*/ */
private Integer hcType; private Integer hcType;
private Boolean useMuti; private Boolean useMuti;
private Integer useNum; private Integer useNum;
private String supName; private String supName;
@ -114,6 +115,16 @@ public class UdiRelevanceSaveRequest {
private Boolean groupBuy; //是否集采产品 private Boolean groupBuy; //是否集采产品
private Boolean needCert; //是否需要资质材料 private Boolean needCert; //是否需要资质材料
private String certIdFk; private String certIdFk;
private Integer zdcfsycs;
private Boolean splitEnable;
private Boolean autoCode;
/**
*
*/
private String bzgg;
/** /**
* ( * (
*/ */
@ -142,12 +153,32 @@ public class UdiRelevanceSaveRequest {
@ApiModelProperty(value="耗材材质") @ApiModelProperty(value="耗材材质")
private String matrial; private String matrial;
private String catalogcode; /**
*
*/
private String payFeeCode;
private Integer requireScanCode; private Integer requireScanCode;
private String distributeLevelDi;
private String distributeLevelUnit;
private Integer distributeLevelCount;
private String useLevelDi;
private String useLevelUnit;
private Integer useLeverCount;
private Integer useLevel;
private Integer distributeLevel;
//工位预警数
private Integer workPlaceCount;
/** /**
* *
*/ */
private String bzgg; private Integer distributeMaxLevel;
/**
* 使
*/
private Integer useMaxLevel;
} }

@ -31,5 +31,14 @@ public class UpdateLevelDrugRequest {
*/ */
private Integer bhxjsl; private Integer bhxjsl;
private Long relId; private Long relId;
private Long productId;
private String uuid; private String uuid;
private String xjdw;
private Integer diType;
public Integer getMyBhxjsl() {
if (bhxjsl == null || bhxjsl == 0)
return 1;
return bhxjsl;
}
} }

@ -0,0 +1,14 @@
package com.glxp.api.req.basic;
import lombok.Data;
@Data
public class YbDrugDetailFilterRequest {
private String goodsCode;
private Integer page;
private Integer limit;
}

@ -0,0 +1,31 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class ThrInsDrugFeeRequest extends ListPageRequest {
/**
*
*/
private String medCatalogCode;
/**
*
*/
private String tradeName;
/**
*
*/
private String genericNum;
/**
*
*/
private String genericName;
}

@ -0,0 +1,20 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class ThrInsMaterialFeeRequest extends ListPageRequest {
/**
*
*/
private String medCatalogCode;
/**
*
*/
private String consumableName;
}

@ -0,0 +1,21 @@
package com.glxp.api.res;
import lombok.Data;
@Data
public class DiLevelResponse {
private String levelUnit;
private Integer packLevel;
private String packUnit;
private Integer diType;
private String xjdw;
private Integer bhxjsl;
public Integer getMyBhxjsl() {
if (bhxjsl == null || bhxjsl == 0)
return 1;
return bhxjsl;
}
}

@ -2,7 +2,6 @@ package com.glxp.api.res.basic;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -33,14 +32,10 @@ public class UdiRelevanceResponse {
* 0:1)23. * 0:1)23.
*/ */
private Integer attributeType; private Integer attributeType;
/** /**
* 12. * 12.
*/ */
private Integer hcType; private Integer hcType;
private Boolean useMuti; private Boolean useMuti;
private Integer useNum; private Integer useNum;
private String supName; private String supName;
@ -51,6 +46,7 @@ public class UdiRelevanceResponse {
private String updateUser; private String updateUser;
private String remark; private String remark;
//UdiInfoEntity //UdiInfoEntity
private String originUuid; private String originUuid;
private String nameCode; private String nameCode;
@ -80,6 +76,7 @@ public class UdiRelevanceResponse {
private String sptm; private String sptm;
private String manufactory; private String manufactory;
private String measname; private String measname;
private Integer productsType;
private Integer productType; private Integer productType;
private String scbssfbhph; private String scbssfbhph;
private String scbssfbhxlh; private String scbssfbhxlh;
@ -103,6 +100,7 @@ public class UdiRelevanceResponse {
private String basicPrductRemak7; private String basicPrductRemak7;
private String basicPrductRemak8; private String basicPrductRemak8;
private BigDecimal price; private BigDecimal price;
private String PRId;
private Boolean isSelect; private Boolean isSelect;
@ -115,38 +113,60 @@ public class UdiRelevanceResponse {
private Integer recentDateTime; private Integer recentDateTime;
private Integer isDateBy; private Integer isDateBy;
private String relCode; private String relCode;
private int index;
private int reCount;
//关联查询字典 //关联查询字典
private String unitFk; //供应商ID private String unitFk; //供应商ID
private String companyName; //供应商名称 private String companyName; //供应商名称
//手持终端下载需要主键 //手持终端下载需要主键
private Long relId; private Long relId;
private boolean dispatch; //是否可配送 private boolean dispatch; //是否可配送
private Boolean groupBuy; //是否集采产品 private boolean groupBuy; //是否集采产品
private boolean needCert; //是否需要资质材料 private boolean needCert; //是否需要资质材料
private Boolean splitEnable;
private Boolean autoCode;
private String classifyName; //物资分类名称 private String classifyName; //物资分类名称
private Integer zdcfsycs;
private String certIdFk; private String customerId;
private String sfwblztlcp; private String sfwblztlcp;
private String cgzmraqxgxx; private String cgzmraqxgxx;
private String sfbjwycxsy; private String sfbjwycxsy;
private String zdcfsycs;
private String sfwwjbz; private String sfwwjbz;
private String syqsfxyjxmj; private String syqsfxyjxmj;
private String mjfs; private String mjfs;
private String categoryName; private String categoryName;
private String cphhhbh; private Integer count;
private Long deId;
/** /**
* *
*/ */
private Boolean newNeedUpload; private Boolean newNeedUpload;
private Boolean isStack; private Boolean isStack;
/**
* 0:1:
*/
private Integer uploadFlag;
/**
*
*/
private String uploadMsg;
private Integer bpcrid;
private String hslbName;
private String supId;
private Long relIdFk;
/** /**
* ( * (
@ -176,8 +196,14 @@ public class UdiRelevanceResponse {
@ApiModelProperty(value = "耗材材质") @ApiModelProperty(value = "耗材材质")
private String matrial; private String matrial;
private Integer requireScanCode; /**
* 1使2
*/
@TableField(value = "destinyType")
@ApiModelProperty(value = "类型1定数包内部使用2项目、组套外部关联")
private Integer destinyType;
private Integer requireScanCode;
/** /**
* *
@ -217,14 +243,43 @@ public class UdiRelevanceResponse {
private String useLevelDi; private String useLevelDi;
private String useLevelUnit; private String useLevelUnit;
private Integer useLeverCount; private Integer useLeverCount;
private String payFeeCode; private String payFeeCode;
/**
* 使
*/
private Integer bhltcjsl;
/**
* 使
*/
private Integer bhsycjsl;
/**
*
*/
private String xjdw;
/**
*
*/
private Integer distributeMaxLevel;
/** /**
* * 使
*/ */
private Integer useMaxLevel;
private Long productId;
/**
*
*/
private Integer workPlaceCount;
private Integer type;
public int getBhzxxsbzsl() { public int getBhzxxsbzsl() {
if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) {
@ -253,8 +308,9 @@ public class UdiRelevanceResponse {
} }
public Boolean getAllowNoSerial() { public Boolean getAllowNoSerial() {
if (allowNoSerial == null) if (allowNoSerial == null)
return false; return true;
return allowNoSerial; return allowNoSerial;
} }
@ -263,4 +319,15 @@ public class UdiRelevanceResponse {
return false; return false;
return isUseDy; return isUseDy;
} }
private Integer distributeLevel;
private Integer useLevel;
/**
* ()
*/
@TableField(value = "unpackUseTime")
private Integer unpackUseTime;
} }

@ -7,6 +7,7 @@ import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.ErpBasicClient; import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
@ -174,6 +175,9 @@ public class BasicBackUpdateProductService {
} }
@Resource
UdiContrastService udiContrastService;
//定时或一键下载更新本地所有产品信息 //定时或一键下载更新本地所有产品信息
@Async @Async
public void loadLocal(FilterThrProductsRequest filterThrProductsRequest, String thirdSysId, String onHandUrl, Boolean isEnable) { public void loadLocal(FilterThrProductsRequest filterThrProductsRequest, String thirdSysId, String onHandUrl, Boolean isEnable) {
@ -187,65 +191,71 @@ public class BasicBackUpdateProductService {
filterThrInvProductsRequest.setPage(null); filterThrInvProductsRequest.setPage(null);
List<ThrProductsEntity> thrProductsEntities = thrProductsService.filterThrProducts(filterThrInvProductsRequest); List<ThrProductsEntity> thrProductsEntities = thrProductsService.filterThrProducts(filterThrInvProductsRequest);
SystemParamConfigEntity isUpdate = systemParamConfigService.selectByParamKey("erp_updateErpData_type"); // SystemParamConfigEntity isUpdate = systemParamConfigService.selectByParamKey("erp_updateErpData_type");
if (isEnable == null || isEnable == false) { // if (isEnable == null || isEnable == false) {
isUpdate.setParamValue("1"); // isUpdate.setParamValue("1");
} // }
if (thrProductsEntities != null && thrProductsEntities.size() > 0) { if (thrProductsEntities != null && thrProductsEntities.size() > 0) {
for (ThrProductsEntity thrProductsEntity : thrProductsEntities) { for (ThrProductsEntity thrProductsEntity : thrProductsEntities) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrProductsEntity.getCode(), thirdSysId); UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrProductsEntity.getCode(), thirdSysId);
if (udiRelevanceEntity == null) { if (udiRelevanceEntity == null) {
if (isUpdate.getParamValue().equals("1")) { // if (isUpdate.getParamValue().equals("1")) {
//
UdiProductEntity udiProductEntity = new UdiProductEntity(); // UdiProductEntity udiProductEntity = new UdiProductEntity();
udiProductEntity.setNameCode(thrProductsEntity.getCode()); // udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setCpmctymc(thrProductsEntity.getName()); // udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setGgxh(thrProductsEntity.getSpec()); // udiProductEntity.setGgxh(thrProductsEntity.getSpec());
udiProductEntity.setUuid(CustomUtil.getUUId()); // udiProductEntity.setUuid(CustomUtil.getUUId());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD); // udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1); // udiProductEntity.setDiType(1);
udiProductEntity.setManufactory(thrProductsEntity.getManufactory()); // udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory()); // udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo()); // udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
udiProductService.insertUdiInfo(udiProductEntity); // udiProductEntity.setRequireScanCode(0);
UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity(); // udiProductService.insertUdiInfo(udiProductEntity);
udiRelevanceEntity1.setUuid(udiProductEntity.getUuid()); // UdiRelevanceEntity udiRelevanceEntity1 = new UdiRelevanceEntity();
udiRelevanceEntity1.setIsDisable(false); // udiRelevanceEntity1.setUuid(udiProductEntity.getUuid());
udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName()); // udiRelevanceEntity1.setIsDisable(false);
// udiRelevanceEntity1.setSupName(thrProductsEntity.getSupName());
if ("thirdId".equals(thirdSysId)) { //
udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode()); // if ("thirdId".equals(thirdSysId)) {
} else if ("thirdId1".equals(thirdSysId)) { // udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode());
udiRelevanceEntity1.setThirdId1(thrProductsEntity.getCode()); // } else if ("thirdId1".equals(thirdSysId)) {
} else if ("thirdId2".equals(thirdSysId)) { // udiRelevanceEntity1.setThirdId1(thrProductsEntity.getCode());
udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode()); // } else if ("thirdId2".equals(thirdSysId)) {
} else if ("thirdId3".equals(thirdSysId)) { // udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
udiRelevanceEntity1.setThirdId3(thrProductsEntity.getCode()); // } else if ("thirdId3".equals(thirdSysId)) {
} else if ("thirdId4".equals(thirdSysId)) { // udiRelevanceEntity1.setThirdId3(thrProductsEntity.getCode());
udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode()); // } else if ("thirdId4".equals(thirdSysId)) {
} // udiRelevanceEntity1.setThirdId4(thrProductsEntity.getCode());
// }
//
ThrSystemEntity thrSystemEntity = thrSystemService.selectMainThrSys(); //
String mainSys = thrSystemEntity.getThirdId(); // ThrSystemEntity thrSystemEntity = thrSystemService.selectMainThrSys();
if (mainSys.equals("thirdId")) { // String mainSys = thrSystemEntity.getThirdId();
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId()); // if (mainSys.equals("thirdId")) {
} else if (mainSys.equals("thirdId1")) { // udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId());
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId1()); // } else if (mainSys.equals("thirdId1")) {
} else if (mainSys.equals("thirdId2")) { // udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId1());
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId2()); // } else if (mainSys.equals("thirdId2")) {
} else if (mainSys.equals("thirdId3")) { // udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId2());
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId3()); // } else if (mainSys.equals("thirdId3")) {
} else if (mainSys.equals("thirdId4")) { // udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId3());
udiRelevanceEntity1.setMainId(udiRelevanceEntity1.getThirdId4()); // } 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);
} }
} }

@ -7,17 +7,26 @@ import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.thrsys.BasicInsMaterialEntity;
import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity; import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.entity.thrsys.YbDrug;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.NmpaUdiClient; import com.glxp.api.http.NmpaUdiClient;
import com.glxp.api.req.basic.UdiCombineRequest; import com.glxp.api.req.basic.UdiCombineRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.req.thrsys.ThrInsDrugFeeRequest;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.thrsys.BasicInsMaterialService;
import com.glxp.api.service.thrsys.ThrProductsService; import com.glxp.api.service.thrsys.ThrProductsService;
import com.glxp.api.service.thrsys.YbDrugService;
import com.glxp.api.util.CustomUtil; import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.udi.UdiInfoUtil; import com.glxp.api.util.udi.UdiInfoUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -45,6 +54,11 @@ public class UdiContrastService {
@Resource @Resource
NmpaUdiClient udiDlHttpClient; NmpaUdiClient udiDlHttpClient;
@Resource
BasicInsMaterialService basicInsMaterialService;
@Resource
YbDrugService ybDrugService;
public boolean isExit(String originUuid, String mainId, String thirdSys) { public boolean isExit(String originUuid, String mainId, String thirdSys) {
@ -178,14 +192,19 @@ public class UdiContrastService {
udiRelevanceEntity.setId(gennerOrderUtils.getRelId()); udiRelevanceEntity.setId(gennerOrderUtils.getRelId());
udiRelevanceEntity.setIsDisable(false); udiRelevanceEntity.setIsDisable(false);
if (udiInfoEntities.get(0).getDiType() == ConstantStatus.DI_TYPE_SYDY) { UdiProductEntity udiProductEntity = getDiProduct(udiInfoEntities);
udiRelevanceEntity.setIsUseDy(true); udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
}
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
insertUdiInfos(udiInfoEntities); insertUdiInfos(udiInfoEntities);
} }
public UdiProductEntity getDiProduct(List<UdiProductEntity> udiInfoEntities) {
return udiInfoEntities.stream()
.filter(udiProductEntity -> IntUtil.value(udiProductEntity.getDiType()) == 1)
.findFirst()
.orElse(null);
}
public void createOnlyMainId(String mainId) { public void createOnlyMainId(String mainId) {
FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest();
@ -199,25 +218,152 @@ public class UdiContrastService {
udiRelevanceEntity.setUuid(CustomUtil.getUUId()); udiRelevanceEntity.setUuid(CustomUtil.getUUId());
udiRelevanceEntity.setSupName(thrProductsEntity.getSupName()); udiRelevanceEntity.setSupName(thrProductsEntity.getSupName());
udiRelevanceEntity.setId(gennerOrderUtils.getRelId()); udiRelevanceEntity.setId(gennerOrderUtils.getRelId());
udiRelevanceEntity.setSplitEnable(true);
udiRelevanceEntity.setAutoCode(true);
udiRelevanceEntity.setIsDisable(false); udiRelevanceEntity.setIsDisable(false);
BasicInsMaterialEntity basicInsMaterialEntity = null;
if (thrProductsEntity.getYbbm() != null) {
//判断药品还是器械
if (thrProductsEntity.getProductType() == 2) {
ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
YbDrugDetailFilterRequest ybHcflDetailFilterRequest = new YbDrugDetailFilterRequest();
ybHcflDetailFilterRequest.setLimit(1);
ybHcflDetailFilterRequest.setPage(1);
ybHcflDetailFilterRequest.setGoodsCode(thrProductsEntity.getYbbm());
List<YbDrug> list = ybDrugService.getList(ybHcflDetailFilterRequest);
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
if (list.size() > 0) {
YbDrug ybDrug = list.get(0);
// udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook());
udiProductEntity.setZczbhhzbapzbh(ybDrug.getApprovalCode());
udiProductEntity.setCpmctymc(ybDrug.getRegisteredProductName());
udiProductEntity.setSpmc(ybDrug.getGoodsName());
udiProductEntity.setBzgg(String.valueOf(ybDrug.getFactor())+ ybDrug.getMinUnit() + "/" + ybDrug.getUnit());
udiProductEntity.setMatrial(ybDrug.getMaterialName());
udiProductEntity.setPackMatrial(ybDrug.getMaterialName());
udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType()));
//最小产品单位
udiProductEntity.setPackUnit(ybDrug.getUnit());
//设置最小产品数量
udiProductEntity.setBhxjsl(ybDrug.getFactor());
//设置包装级别
udiProductEntity.setPackLevel(1 + "");
//生产厂家
udiProductEntity.setManufactory(ybDrug.getCompanyNameSc());
//商品条码 essentialDrugMarkName sptm
// udiProductEntity.setSptm(ybDrug.getBusinessLicense());
udiProductEntity.setPrepnUnit(ybDrug.getRealityMedicinemodel());
}
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setDiType(1);
udiProductEntity.setScbssfbhph("是");
udiProductEntity.setScbssfbhscrq("是");
udiProductEntity.setScbssfbhsxrq("是");
udiProductEntity.setScbssfbhxlh("否");
udiProductEntity.setProductsType(thrProductsEntity.getProductType());
udiProductEntity.setRequireScanCode(1);
udiProductEntity.setMajorStatus(1);
udiProductEntity.setPhysicType(3);
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice("0.00");
}
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity);
// setLevel(udiRelevanceEntity.getUuid());
UdiProductEntity byUuid = udiProductService.findByUuid(udiRelevanceEntity.getUuid());
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, byUuid);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} 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(); UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity); BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
udiProductEntity.setNameCode(thrProductsEntity.getCode()); 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());
udiProductEntity.setBzgg(thrProductsEntity.getSpec());
udiProductEntity.setCpmctymc(thrProductsEntity.getName()); udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setManufactory(thrProductsEntity.getManufactory());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory()); udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
udiProductEntity.setGgxh(thrProductsEntity.getSpec()); //包装单位
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo()); udiProductEntity.setPrepnUnit(thrProductsEntity.getPrepnUnit() == null ? null : thrProductsEntity.getPrepnUnit());
udiProductEntity.setUuid(udiRelevanceEntity.getUuid()); udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD); udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1); udiProductEntity.setDiType(1);
udiProductEntity.setScbssfbhph("否"); udiProductEntity.setScbssfbhph("");
udiProductEntity.setScbssfbhscrq("否"); udiProductEntity.setScbssfbhscrq("");
udiProductEntity.setScbssfbhsxrq("否"); udiProductEntity.setScbssfbhsxrq("");
udiProductEntity.setScbssfbhxlh("否"); udiProductEntity.setScbssfbhxlh("否");
udiProductEntity.setProductsType(thrProductsEntity.getProductType());
udiProductEntity.setRequireScanCode(0);
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice(null);
}
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity); udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity); udiProductService.insertUdiInfo(udiProductEntity);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
}
} else {
//没有医保编码
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){
// //不是药品就设置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());
// }
// udiProductEntity.setBzgg(thrProductsEntity.getSpec());
// udiProductEntity.setCpmctymc(thrProductsEntity.getName());
// udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
//
// //包装单位
// udiProductEntity.setPrepnUnit(thrProductsEntity.getMeasname());
// udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
// udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
// udiProductEntity.setDiType(1);
// udiProductEntity.setScbssfbhph("是");
// udiProductEntity.setScbssfbhscrq("是");
// udiProductEntity.setScbssfbhsxrq("是");
// udiProductEntity.setScbssfbhxlh("否");
//
// udiProductEntity.setProductsType(thrProductsEntity.getProductType());
// if (thrProductsEntity.getProductType() == 2){
// udiProductEntity.setRequireScanCode(1);
// udiProductEntity.setMajorStatus(1);
// }else {
// udiProductEntity.setRequireScanCode(0);
// }
// if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
// udiProductEntity.setPrice(null);
// }
// udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
// udiProductService.insertUdiInfo(udiProductEntity);
// udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
// udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
}
} }
@ -255,12 +401,6 @@ public class UdiContrastService {
public Long createOnlyUuid(UdiCombineRequest udiCombineRequest, String key) { public Long createOnlyUuid(UdiCombineRequest udiCombineRequest, String key) {
List<UdiProductEntity> udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key); List<UdiProductEntity> udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key);
if (udiInfoEntities == null || udiInfoEntities.size() == 0) {
//为了处理审核时的线上问题
int a = 9999;
return Long.valueOf(a);
} else {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUpdateTime(new Date()); udiRelevanceEntity.setUpdateTime(new Date());
udiRelevanceEntity.setModifyTime(new Date()); udiRelevanceEntity.setModifyTime(new Date());
@ -268,17 +408,27 @@ public class UdiContrastService {
if (StrUtil.isNotBlank(udiCombineRequest.getSupName())) { if (StrUtil.isNotBlank(udiCombineRequest.getSupName())) {
udiRelevanceEntity.setSupName(udiCombineRequest.getSupName()); udiRelevanceEntity.setSupName(udiCombineRequest.getSupName());
} }
if (udiInfoEntities.get(0).getDiType() == ConstantStatus.DI_TYPE_SYDY) {
udiRelevanceEntity.setIsUseDy(true);
}
Long relId = gennerOrderUtils.getRelId(); Long relId = gennerOrderUtils.getRelId();
udiRelevanceEntity.setId(relId); udiRelevanceEntity.setId(relId);
udiRelevanceEntity.setIsDisable(false); udiRelevanceEntity.setIsDisable(false);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); UdiProductEntity udiProductEntity = udiRelevanceService.getDiProduct(udiInfoEntities);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
insertUdiInfos(udiInfoEntities); insertUdiInfos(udiInfoEntities);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
return relId; return relId;
} }
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("未知的医保类别");
}
} }
public void insertUdiInfos(List<UdiProductEntity> udiInfoEntities) { public void insertUdiInfos(List<UdiProductEntity> udiInfoEntities) {
@ -293,4 +443,49 @@ public class UdiContrastService {
} }
} }
public Boolean insertProduct(ThrProductsEntity thrProductsEntity, BasicInsMaterialEntity basicInsMaterialEntity, UdiRelevanceEntity udiRelevanceEntity) {
//没有医保编码
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());
}
udiProductEntity.setBzgg(thrProductsEntity.getSpec());
udiProductEntity.setCpmctymc(thrProductsEntity.getName());
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory());
//包装单位
udiProductEntity.setPackUnit(thrProductsEntity.getMeasname());
udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD);
udiProductEntity.setDiType(1);
udiProductEntity.setScbssfbhph("是");
udiProductEntity.setScbssfbhscrq("是");
udiProductEntity.setScbssfbhsxrq("是");
udiProductEntity.setScbssfbhxlh("否");
udiProductEntity.setProductsType(thrProductsEntity.getProductType());
if (thrProductsEntity.getProductType() == 2) {
udiProductEntity.setRequireScanCode(1);
udiProductEntity.setMajorStatus(1);
udiProductEntity.setPhysicType(3);
} else {
udiProductEntity.setRequireScanCode(0);
}
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice(null);
}
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
udiProductService.insertUdiInfo(udiProductEntity);
udiRelevanceEntity = udiRelevanceService.insertDefaultLevel(udiRelevanceEntity, udiProductEntity);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
return true;
}
} }

@ -1,10 +1,12 @@
package com.glxp.api.service.basic; package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.req.basic.AddProductRequest; import com.glxp.api.req.basic.AddProductRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoRequest; import com.glxp.api.req.basic.UdiInfoRequest;
import com.glxp.api.req.basic.UpdateLevelDrugRequest; import com.glxp.api.req.basic.UpdateLevelDrugRequest;
import com.glxp.api.res.DiLevelResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import java.util.List; import java.util.List;
@ -70,4 +72,14 @@ public interface UdiProductService {
AddProductRequest addDrug(AddProductRequest addProductRequest); AddProductRequest addDrug(AddProductRequest addProductRequest);
void saveOrUpadateLevelDrug(UpdateLevelDrugRequest updateLevelDrugRequest); void saveOrUpadateLevelDrug(UpdateLevelDrugRequest updateLevelDrugRequest);
List<DiLevelResponse> findLevelByRelId(Long id);
void calculateDistCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity);
void calculateUseCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity);
void updateLevelCount(UdiRelevanceEntity udiRelevanceEntity);
boolean deleteByNameCode(String nameCode);
} }

@ -2,6 +2,7 @@ package com.glxp.api.service.basic;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
@ -104,4 +105,7 @@ public interface UdiRelevanceService extends IService<UdiRelevanceEntity> {
Integer findPurType(Long relId); Integer findPurType(Long relId);
UdiRelevanceEntity insertDefaultLevel(UdiRelevanceEntity udiRelevanceEntity, UdiProductEntity udiProductEntity);
UdiProductEntity getDiProduct(List<UdiProductEntity> udiInfoEntities);
} }

@ -3,6 +3,7 @@ package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.basic.UdiProductDao;
@ -14,20 +15,23 @@ import com.glxp.api.req.basic.AddProductRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoRequest; import com.glxp.api.req.basic.UdiInfoRequest;
import com.glxp.api.req.basic.UpdateLevelDrugRequest; import com.glxp.api.req.basic.UpdateLevelDrugRequest;
import com.glxp.api.res.DiLevelResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.UdiProductService; import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.util.IntUtil; import com.glxp.api.util.IntUtil;
import com.glxp.api.util.PinyinUtils;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections; import java.util.*;
import java.util.Date; import java.util.stream.Collectors;
import java.util.List;
import java.util.Optional;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -42,6 +46,8 @@ public class UdiProductServiceImpl implements UdiProductService {
@Resource @Resource
private CustomerService customerService; private CustomerService customerService;
private static final Logger logger = LoggerFactory.getLogger(UdiProductService.class);
@Override @Override
public List<UdiProductEntity> filterUdiInfo(FilterUdiRelRequest filterUdiRelRequest) { public List<UdiProductEntity> filterUdiInfo(FilterUdiRelRequest filterUdiRelRequest) {
if (filterUdiRelRequest == null) { if (filterUdiRelRequest == null) {
@ -124,27 +130,42 @@ public class UdiProductServiceImpl implements UdiProductService {
return udiProductEntities.get(0); return udiProductEntities.get(0);
return null; return null;
} }
@Override
public boolean insertUdiInfo(UdiProductEntity udiProductEntity) { public boolean insertUdiInfo(UdiProductEntity udiProductEntity) {
udiProductEntity.setUpdateTime(new Date());
if (udiProductEntity.getId() == null) { if (udiProductEntity.getId() == null) {
udiProductEntity.setId(IdUtil.getSnowflakeNextId()); udiProductEntity.setId(IdUtil.getSnowflakeNextId());
} }
if (StrUtil.isNotBlank(udiProductEntity.getCpmctymc()) && StrUtil.isBlank(udiProductEntity.getPinyinInitial())) {
//医保编码解析 try {
String catalogcode = udiProductEntity.getCatalogcode(); String pinyin = PinyinUtils.converterToFirstSpell(udiProductEntity.getCpmctymc());
if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) { udiProductEntity.setPinyinInitial(pinyin);
Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3)); } catch (Exception e) {
Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5)); logger.error(ExceptionUtils.getStackTrace(e));
Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7)); e.printStackTrace();
udiProductEntity.setCatalogCode1(catalogcode1);
udiProductEntity.setCatalogCode2(catalogcode2);
udiProductEntity.setCatalogCode3(catalogcode3);
} }
}
return udiProductDao.insertUdiInfo(udiProductEntity); return udiProductDao.insertUdiInfo(udiProductEntity);
} }
// @Override
// public boolean insertUdiInfo(UdiProductEntity udiProductEntity) {
// udiProductEntity.setUpdateTime(new Date());
// if (udiProductEntity.getId() == null) {
// udiProductEntity.setId(IdUtil.getSnowflakeNextId());
// }
//
// //医保编码解析
// String catalogcode = udiProductEntity.getCatalogcode();
// if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
// Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
// Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
// Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
// udiProductEntity.setCatalogCode1(catalogcode1);
// udiProductEntity.setCatalogCode2(catalogcode2);
// udiProductEntity.setCatalogCode3(catalogcode3);
// }
//
// return udiProductDao.insertUdiInfo(udiProductEntity);
// }
@Override @Override
public boolean insertUdiInfos(List<UdiProductEntity> udiInfoEntities) { public boolean insertUdiInfos(List<UdiProductEntity> udiInfoEntities) {
@ -159,38 +180,48 @@ public class UdiProductServiceImpl implements UdiProductService {
return udiProductDao.updateUdiInfo(udiProductEntity); return udiProductDao.updateUdiInfo(udiProductEntity);
} }
@Override // @Override
// public boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity) {
// if (StrUtil.isEmpty(udiProductEntity.getUuid()))
// return false;
// udiProductEntity.setUpdateTime(new Date());
// //医保编码解析
// String catalogcode = udiProductEntity.getCatalogcode();
// if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
// Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
// Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
// Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
// udiProductEntity.setCatalogCode1(catalogcode1);
// udiProductEntity.setCatalogCode2(catalogcode2);
// udiProductEntity.setCatalogCode3(catalogcode3);
// }
// return udiProductDao.updateUdiInfoByUuid(udiProductEntity);
// }
public boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity) { public boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity) {
if (StrUtil.isEmpty(udiProductEntity.getUuid())) if (StrUtil.isEmpty(udiProductEntity.getUuid()))
return false; return false;
udiProductEntity.setUpdateTime(new Date());
//医保编码解析
String catalogcode = udiProductEntity.getCatalogcode();
if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
udiProductEntity.setCatalogCode1(catalogcode1);
udiProductEntity.setCatalogCode2(catalogcode2);
udiProductEntity.setCatalogCode3(catalogcode3);
}
return udiProductDao.updateUdiInfoByUuid(udiProductEntity); return udiProductDao.updateUdiInfoByUuid(udiProductEntity);
} }
// @Override
// public boolean updateUdiInfoById(UdiProductEntity udiProductEntity) {
// udiProductEntity.setUpdateTime(new Date());
// //医保编码解析
// String catalogcode = udiProductEntity.getCatalogcode();
// if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
// Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
// Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
// Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
// udiProductEntity.setCatalogCode1(catalogcode1);
// udiProductEntity.setCatalogCode2(catalogcode2);
// udiProductEntity.setCatalogCode3(catalogcode3);
// }
//
// return udiProductDao.updateUdiInfoById(udiProductEntity);
// }
@Override @Override
public boolean updateUdiInfoById(UdiProductEntity udiProductEntity) { public boolean updateUdiInfoById(UdiProductEntity udiProductEntity) {
udiProductEntity.setUpdateTime(new Date());
//医保编码解析
String catalogcode = udiProductEntity.getCatalogcode();
if (StrUtil.isNotEmpty(catalogcode) && catalogcode.length() >= 7) {
Integer catalogcode1 = Integer.valueOf(catalogcode.substring(1, 3));
Integer catalogcode2 = Integer.valueOf(catalogcode1 + catalogcode.substring(3, 5));
Integer catalogcode3 = Integer.valueOf(catalogcode2 + catalogcode.substring(5, 7));
udiProductEntity.setCatalogCode1(catalogcode1);
udiProductEntity.setCatalogCode2(catalogcode2);
udiProductEntity.setCatalogCode3(catalogcode3);
}
return udiProductDao.updateUdiInfoById(udiProductEntity); return udiProductDao.updateUdiInfoById(udiProductEntity);
} }
@ -227,6 +258,12 @@ public class UdiProductServiceImpl implements UdiProductService {
@Override @Override
/**
* /
*
* @param addProductRequest
* @return
*/
/** /**
* / * /
* *
@ -253,20 +290,29 @@ public class UdiProductServiceImpl implements UdiProductService {
if (IntUtil.value(udiProductEntity.getPackLevel()) == 1) { if (IntUtil.value(udiProductEntity.getPackLevel()) == 1) {
udiProductEntity.setDiType(1); udiProductEntity.setDiType(1);
} }
udiProductDao.updateUdiInfo(udiProductEntity); int i = udiProductDao.updateById(udiProductEntity);
if (i == 0) {
throw new JsonException(500, "更新错误");
}
}
//修改关联表 //修改关联表
udiRelevanceEntity.setUseLeverCount(addProductRequest.getUseLeverCount()); // udiRelevanceEntity.setUseLeverCount(addProductRequest.getUseLeverCount());
udiRelevanceEntity.setUseLevelDi(addProductRequest.getUseLevelDi()); udiRelevanceEntity.setSplitEnable(addProductRequest.getSplitEnable());
udiRelevanceEntity.setUseLevelUnit(addProductRequest.getUseLevelUnit()); udiRelevanceEntity.setAutoCode(addProductRequest.getAutoCode());
udiRelevanceEntity.setDistributeLevelDi(addProductRequest.getDistributeLevelDi()); // udiRelevanceEntity.setUseLevelDi(addProductRequest.getUseLevelDi());
udiRelevanceEntity.setDistributeLevelUnit(addProductRequest.getDistributeLevelUnit()); // udiRelevanceEntity.setUseLevelUnit(addProductRequest.getUseLevelUnit());
udiRelevanceEntity.setDistributeLevelCount(addProductRequest.getDistributeLevelCount()); udiRelevanceEntity.setUseLevel(addProductRequest.getUseLevel());
// udiRelevanceEntity.setDistributeLevelDi(addProductRequest.getDistributeLevelDi());
// udiRelevanceEntity.setDistributeLevelUnit(addProductRequest.getDistributeLevelUnit());
// udiRelevanceEntity.setDistributeLevelCount(addProductRequest.getDistributeLevelCount());
udiRelevanceEntity.setDistributeLevel(addProductRequest.getDistributeLevel());
udiRelevanceEntity.setPayFeeCode(addProductRequest.getPayFeeCode()); udiRelevanceEntity.setPayFeeCode(addProductRequest.getPayFeeCode());
udiRelevanceEntity.setUpdateTime(new Date()); udiRelevanceEntity.setUseMaxLevel(addProductRequest.getUseMaxLevel());
udiRelevanceEntity.setDistributeMaxLevel(addProductRequest.getDistributeMaxLevel());
udiRelevanceEntity.setUnpackUseTime(addProductRequest.getUnpackUseTime());
udiRelevanceDao.updateById(udiRelevanceEntity); udiRelevanceDao.updateById(udiRelevanceEntity);
updateLevelCount(udiRelevanceEntity);
}
} else { } else {
udiRelevanceEntity = new UdiRelevanceEntity(); udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(IdUtil.getSnowflakeNextId()); udiRelevanceEntity.setId(IdUtil.getSnowflakeNextId());
@ -274,13 +320,41 @@ public class UdiProductServiceImpl implements UdiProductService {
udiRelevanceEntity.setIsUseDy(false); udiRelevanceEntity.setIsUseDy(false);
udiRelevanceEntity.setUuid(IdUtil.getSnowflakeNextId() + ""); udiRelevanceEntity.setUuid(IdUtil.getSnowflakeNextId() + "");
udiRelevanceEntity.setNeedCert(false); udiRelevanceEntity.setNeedCert(false);
udiRelevanceEntity.setSplitEnable(true);
udiRelevanceEntity.setAutoCode(true);
udiRelevanceEntity.setPurType(1); udiRelevanceEntity.setPurType(1);
udiRelevanceEntity.setProductsType(2); udiRelevanceEntity.setProductsType(2);
udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType()); udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType());
udiRelevanceEntity.setHcType(addProductRequest.getHcType()); udiRelevanceEntity.setHcType(addProductRequest.getHcType());
udiRelevanceEntity.setPayFeeCode(addProductRequest.getPayFeeCode()); udiRelevanceEntity.setPayFeeCode(addProductRequest.getPayFeeCode());
udiRelevanceEntity.setUnpackUseTime(addProductRequest.getUnpackUseTime());
// if (addProductRequest.getDistributeLevelDi() != null) {
// udiRelevanceEntity.setDistributeLevelDi(addProductRequest.getDistributeLevelDi());
// }
// if (addProductRequest.getDistributeLevelCount() != null) {
// udiRelevanceEntity.setDistributeLevelCount(addProductRequest.getDistributeLevelCount());
// }
// if (addProductRequest.getDistributeLevelUnit() != null) {
// udiRelevanceEntity.setDistributeLevelUnit(addProductRequest.getDistributeLevelUnit());
// }
//
// if (addProductRequest.getUseLevelDi() != null) {
// udiRelevanceEntity.setUseLevelDi(addProductRequest.getUseLevelDi());
// }
// if (addProductRequest.getUseLevelUnit() != null) {
// udiRelevanceEntity.setUseLevelUnit(addProductRequest.getUseLevelUnit());
// }
// if (addProductRequest.getUseLeverCount() != null) {
// udiRelevanceEntity.setUseLeverCount(addProductRequest.getUseLeverCount());
// }
if (addProductRequest.getDistributeLevel() != null) {
udiRelevanceEntity.setDistributeLevel(addProductRequest.getDistributeLevel());
}
if (addProductRequest.getUseLevel() != null) {
udiRelevanceEntity.setUseLevel(addProductRequest.getUseLevel());
}
udiRelevanceEntity.setUseMaxLevel(addProductRequest.getUseMaxLevel());
udiRelevanceEntity.setDistributeMaxLevel(addProductRequest.getDistributeMaxLevel());
if (CollUtil.isNotEmpty(addProductRequest.getDrugLevelLists())) { if (CollUtil.isNotEmpty(addProductRequest.getDrugLevelLists())) {
for (UpdateLevelDrugRequest updateLevelDrugRequest : addProductRequest.getDrugLevelLists()) { for (UpdateLevelDrugRequest updateLevelDrugRequest : addProductRequest.getDrugLevelLists()) {
UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode()); UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
@ -291,10 +365,11 @@ public class UdiProductServiceImpl implements UdiProductService {
// BeanUtils.copyProperties(updateLevelDrugRequest, udiProductEntity); // BeanUtils.copyProperties(updateLevelDrugRequest, udiProductEntity);
BeanUtils.copyProperties(addProductRequest, udiProductEntity); BeanUtils.copyProperties(addProductRequest, udiProductEntity);
udiProductEntity.setNameCode(updateLevelDrugRequest.getNameCode()); udiProductEntity.setNameCode(updateLevelDrugRequest.getNameCode());
udiProductEntity.setBhxjsl(updateLevelDrugRequest.getBhxjsl()); udiProductEntity.setBhxjsl(updateLevelDrugRequest.getMyBhxjsl());
udiProductEntity.setPackUnit(updateLevelDrugRequest.getPackUnit()); udiProductEntity.setPackUnit(updateLevelDrugRequest.getPackUnit());
udiProductEntity.setSjcpbm(updateLevelDrugRequest.getSjcpbm()); udiProductEntity.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity.setCpmctymc(addProductRequest.getCpmctymc()); udiProductEntity.setCpmctymc(addProductRequest.getCpmctymc());
udiProductEntity.setPackLevel(String.valueOf(updateLevelDrugRequest.getPackLevel()));
udiProductEntity.setUuid(udiRelevanceEntity.getUuid()); udiProductEntity.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity.setProductsType(2); udiProductEntity.setProductsType(2);
udiProductEntity.setGgxh(addProductRequest.getSpec()); udiProductEntity.setGgxh(addProductRequest.getSpec());
@ -302,8 +377,7 @@ public class UdiProductServiceImpl implements UdiProductService {
udiProductEntity.setZczbhhzbapzbh(addProductRequest.getRegisterNo()); udiProductEntity.setZczbhhzbapzbh(addProductRequest.getRegisterNo());
udiProductEntity.setPackLevel(updateLevelDrugRequest.getPackLevel() + ""); udiProductEntity.setPackLevel(updateLevelDrugRequest.getPackLevel() + "");
udiProductEntity.setUuid(udiProductEntity.getUuid()); udiProductEntity.setUuid(udiProductEntity.getUuid());
//药品扫码 过滤 三期 udiProductEntity.setPrice(udiProductEntity.getPrice());
udiProductEntity.setAllowNoSerial(true);
if (IntUtil.value(udiProductEntity.getPackLevel()) == 1 || addProductRequest.getDrugLevelLists().size() == 1) { if (IntUtil.value(udiProductEntity.getPackLevel()) == 1 || addProductRequest.getDrugLevelLists().size() == 1) {
udiProductEntity.setDiType(1); udiProductEntity.setDiType(1);
if (IntUtil.value(udiProductEntity.getPackLevel()) == 1) { if (IntUtil.value(udiProductEntity.getPackLevel()) == 1) {
@ -318,6 +392,7 @@ public class UdiProductServiceImpl implements UdiProductService {
} }
udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity); udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity);
updateLevelCount(udiRelevanceEntity);
} }
return addProductRequest; return addProductRequest;
} }
@ -328,31 +403,31 @@ public class UdiProductServiceImpl implements UdiProductService {
if (updateLevelDrugRequest.getRelId() != null) { if (updateLevelDrugRequest.getRelId() != null) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(updateLevelDrugRequest.getRelId()); UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(updateLevelDrugRequest.getRelId());
UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode()); UdiProductEntity byUuids = udiProductDao.findById(updateLevelDrugRequest.getProductId() + "");
UdiProductEntity udiProductEntity1 = null;
if (updateLevelDrugRequest.getProductId() != null) {
udiProductEntity1 = byUuids;
} else {
udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
}
if (udiProductEntity1 != null) { if (udiProductEntity1 != null) {
//更新 updateUdiProductEntity(udiProductEntity1, updateLevelDrugRequest);
udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode());
udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + "");
udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit());
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
udiProductDao.updateById(udiProductEntity1); udiProductDao.updateById(udiProductEntity1);
} else { } else {
//新增 udiProductEntity1 = new UdiProductEntity();
udiProductEntity1 = udiProductDao.findByUuid(udiRelevanceEntity.getUuid());
udiProductEntity1.setNameCode(updateLevelDrugRequest.getNameCode());
udiProductEntity1.setPackLevel(updateLevelDrugRequest.getPackLevel() + "");
udiProductEntity1.setPackUnit(updateLevelDrugRequest.getPackUnit());
udiProductEntity1.setSjcpbm(updateLevelDrugRequest.getSjcpbm());
udiProductEntity1.setBhxjcpbm(updateLevelDrugRequest.getBhxjcpbm());
udiProductEntity1.setBhxjsl(updateLevelDrugRequest.getBhxjsl());
udiProductEntity1.setUuid(udiRelevanceEntity.getUuid()); udiProductEntity1.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity1.setId(IdUtil.getSnowflakeNextId()); udiProductEntity1.setId(IdUtil.getSnowflakeNextId());
updateUdiProductEntity(udiProductEntity1, updateLevelDrugRequest);
udiProductDao.insert(udiProductEntity1); udiProductDao.insert(udiProductEntity1);
} }
updateLevelCount(udiRelevanceEntity);
// if (IntUtil.value(udiProductEntity1.getPackLevel()) == 1) {
// calculateDistCount(udiProductEntity1, udiRelevanceEntity);
// calculateUseCount(udiProductEntity1, udiRelevanceEntity);
// }
} else { } else {
//必须先提交后才能保存
UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode()); UdiProductEntity udiProductEntity1 = udiProductDao.findByNameCode(updateLevelDrugRequest.getNameCode());
if (udiProductEntity1 != null) { if (udiProductEntity1 != null) {
throw new JsonException(500, "层级编码已存在!"); throw new JsonException(500, "层级编码已存在!");
@ -360,16 +435,63 @@ public class UdiProductServiceImpl implements UdiProductService {
} }
} }
private void updateUdiProductEntity(UdiProductEntity entity, UpdateLevelDrugRequest request) {
entity.setNameCode(request.getNameCode());
entity.setPackLevel(String.valueOf(request.getPackLevel()));
entity.setPackUnit(request.getPackUnit());
entity.setSjcpbm(request.getSjcpbm());
entity.setBhxjcpbm(request.getBhxjcpbm());
entity.setBhxjsl(request.getMyBhxjsl());
entity.setDiType(request.getDiType());
entity.setXjdw(request.getXjdw());
}
@Override
public List<DiLevelResponse> findLevelByRelId(Long relId) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(relId);
List<UdiProductEntity> udiInfoEntities = findByUuids(udiRelevanceEntity.getUuid());
List<DiLevelResponse> diLevelResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(udiInfoEntities)) {
Map<String, List<UdiProductEntity>> groupedByLevel = udiInfoEntities.stream()
.collect(Collectors.groupingBy(UdiProductEntity::getPackLevel));
groupedByLevel.forEach((level, entities) -> {
UdiProductEntity udiProductEntity = entities.get(0);
DiLevelResponse diLevelResponse = new DiLevelResponse();
diLevelResponse.setLevelUnit(udiProductEntity.getLevelUnit());
diLevelResponse.setPackLevel(IntUtil.value(udiProductEntity.getPackLevel()));
diLevelResponse.setDiType(udiProductEntity.getDiType());
diLevelResponse.setXjdw(udiProductEntity.getXjdw());
diLevelResponse.setPackUnit(udiProductEntity.getPackUnit());
diLevelResponse.setBhxjsl(udiProductEntity.getBhxjsl());
diLevelResponses.add(diLevelResponse);
if (udiProductEntity.getProductsType() == 2 && IntUtil.value(udiProductEntity.getPackLevel()) == 1) {
DiLevelResponse diLevelResponse1 = new DiLevelResponse();
diLevelResponse1.setLevelUnit(udiProductEntity.getXjdw());
diLevelResponse1.setPackLevel(0);
diLevelResponse1.setDiType(ConstantStatus.DITYPE_SYDY);
diLevelResponse1.setXjdw(udiProductEntity.getXjdw());
diLevelResponse1.setPackUnit(udiProductEntity.getXjdw());
diLevelResponse1.setBhxjsl(1);
diLevelResponses.add(diLevelResponse1);
}
});
}
Collections.sort(diLevelResponses, Comparator.comparing(DiLevelResponse::getPackLevel));
return diLevelResponses;
}
/** /**
* *
*/ */
public void calculateDistCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) { public void calculateDistCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) {
List<UdiProductEntity> udiProductEntities = udiProductDao.findByOriginUuid(udiProductEntity.getUuid()); List<UdiProductEntity> udiProductEntities = udiProductDao.findByUuids(udiProductEntity.getUuid());
CountWrapper xjCountWrapper = new CountWrapper(); CountWrapper xjCountWrapper = new CountWrapper();
findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper); findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper);
udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getNameCode()); // udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getNameCode());
udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getPackUnit()); // udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getPackUnit());
udiRelevanceEntity.setDistributeLevel(IntUtil.value(udiProductEntity.getPackLevel()));
udiRelevanceEntity.setDistributeLevelCount(xjCountWrapper.getCount()); udiRelevanceEntity.setDistributeLevelCount(xjCountWrapper.getCount());
} }
@ -377,12 +499,13 @@ public class UdiProductServiceImpl implements UdiProductService {
* 使 * 使
*/ */
public void calculateUseCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) { public void calculateUseCount(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) {
List<UdiProductEntity> udiProductEntities = udiProductDao.findByOriginUuid(udiProductEntity.getUuid()); List<UdiProductEntity> udiProductEntities = udiProductDao.findByUuids(udiProductEntity.getUuid());
CountWrapper xjCountWrapper = new CountWrapper(); CountWrapper xjCountWrapper = new CountWrapper();
findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper); findUltimateEntity(udiProductEntity, udiProductEntities, xjCountWrapper);
udiRelevanceEntity.setUseLevelDi(udiProductEntity.getNameCode()); // udiRelevanceEntity.setUseLevelDi(udiProductEntity.getNameCode());
udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getPackUnit()); // udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getPackUnit());
udiRelevanceEntity.setUseLeverCount(xjCountWrapper.getCount()); udiRelevanceEntity.setUseLevel(IntUtil.value(udiProductEntity.getPackLevel()));
// udiRelevanceEntity.setUseLeverCount(xjCountWrapper.getCount());
} }
public static UdiProductEntity findUltimateEntity(UdiProductEntity udiProductEntity, List<UdiProductEntity> udiProductEntities, CountWrapper xjCountWrapper) { public static UdiProductEntity findUltimateEntity(UdiProductEntity udiProductEntity, List<UdiProductEntity> udiProductEntities, CountWrapper xjCountWrapper) {
@ -403,12 +526,60 @@ public class UdiProductServiceImpl implements UdiProductService {
} }
/**
*
*
* @param udiRelevanceEntity
*/
public void updateLevelCount(UdiRelevanceEntity udiRelevanceEntity) {
List<UdiProductEntity> udiProductEntities = udiProductDao.findByUuids(udiRelevanceEntity.getUuid());
Integer curLevel = udiRelevanceEntity.getDistributeLevel();
List<DiLevelResponse> diLevelResponses = findLevelByRelId(udiRelevanceEntity.getId());
//更新各个层级流通时包含计量单元数量
if (CollUtil.isNotEmpty(udiProductEntities)) {
for (UdiProductEntity udiProductEntity : udiProductEntities) {
int bhltsl = 1;
if (IntUtil.value(udiProductEntity.getPackLevel()) > curLevel) {
bhltsl = udiProductEntity.getBhxjsl();
for (DiLevelResponse diLevelResponse : diLevelResponses) {
if (IntUtil.value(udiProductEntity.getPackLevel()) > diLevelResponse.getPackLevel() && IntUtil.value(diLevelResponse.getPackLevel()) > curLevel) {
bhltsl = bhltsl * diLevelResponse.getBhxjsl();
}
}
}
udiProductEntity.setBhltcjsl(bhltsl);
}
}
curLevel = udiRelevanceEntity.getUseLevel();
//更新各个层级使用时包含计量单元数量
if (CollUtil.isNotEmpty(udiProductEntities)) {
for (UdiProductEntity udiProductEntity : udiProductEntities) {
int bhltsl = 1;
if (IntUtil.value(udiProductEntity.getPackLevel()) > curLevel) {
bhltsl = udiProductEntity.getBhxjsl();
for (DiLevelResponse diLevelResponse : diLevelResponses) {
if (IntUtil.value(udiProductEntity.getPackLevel()) > diLevelResponse.getPackLevel() && IntUtil.value(diLevelResponse.getPackLevel()) > curLevel) {
bhltsl = bhltsl * diLevelResponse.getBhxjsl();
}
}
}
udiProductEntity.setBhsycjsl(bhltsl);
}
}
udiProductDao.updateBatchById(udiProductEntities);
}
@Override
public boolean deleteByNameCode(String nameCode) {
return udiProductDao.delete(new QueryWrapper<UdiProductEntity>().eq("nameCode", nameCode)) > 0;
}
/** /**
* *
*/ */
private void setUpdateInfo(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) { private void setUpdateInfo(UdiProductEntity udiProductEntity, UdiRelevanceEntity udiRelevanceEntity) {
Date now = new Date(); Date now = new Date();
String userId = String.valueOf(customerService.getUserBean().getId()); String userId = String.valueOf(customerService.getUserBean().getId());

@ -8,6 +8,7 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
@ -413,4 +414,29 @@ public class UdiRelevanceServiceImpl extends ServiceImpl<UdiRelevanceDao, UdiRel
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectOne(new QueryWrapper<UdiRelevanceEntity>().select("purType").eq("id", relId).last("limit 1")); UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectOne(new QueryWrapper<UdiRelevanceEntity>().select("purType").eq("id", relId).last("limit 1"));
return IntUtil.value(udiRelevanceEntity.getPurType()); return IntUtil.value(udiRelevanceEntity.getPurType());
} }
@Override
public UdiRelevanceEntity insertDefaultLevel(UdiRelevanceEntity udiRelevanceEntity, UdiProductEntity udiProductEntity) {
if (udiProductEntity != null) {
udiRelevanceEntity.setDistributeLevel(IntUtil.value(udiProductEntity.getPackLevel()));
// udiRelevanceEntity.setDistributeLevelDi(udiProductEntity.getNameCode());
// udiRelevanceEntity.setDistributeLevelUnit(udiProductEntity.getPackUnit());
// udiRelevanceEntity.setDistributeLevelCount(IntUtil.value(udiProductEntity.getBhxjsl()));
udiRelevanceEntity.setUseLevel(IntUtil.value(udiProductEntity.getPackLevel()));
// udiRelevanceEntity.setUseLevelDi(udiProductEntity.getNameCode());
// udiRelevanceEntity.setUseLevelUnit(udiProductEntity.getPackUnit());
// udiRelevanceEntity.setUseLeverCount(IntUtil.value(udiProductEntity.getBhxjsl()));
}
return udiRelevanceEntity;
}
@Override
public UdiProductEntity getDiProduct(List<UdiProductEntity> udiInfoEntities) {
return udiInfoEntities.stream()
.filter(udiProductEntity -> IntUtil.value(udiProductEntity.getDiType()) == 1)
.findFirst()
.orElse(null);
}
} }

@ -0,0 +1,26 @@
package com.glxp.api.service.thrsys;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.thrsys.BasicInsMaterialMapper;
import com.glxp.api.entity.thrsys.BasicInsMaterialEntity;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
public class BasicInsMaterialService extends ServiceImpl<BasicInsMaterialMapper, BasicInsMaterialEntity> {
public List<BasicInsMaterialEntity> filterList(ThrInsMaterialFeeRequest thrInsMaterialFeeRequest) {
if (thrInsMaterialFeeRequest == null) {
return Collections.emptyList();
}
if (thrInsMaterialFeeRequest.getPage() != null) {
int offset = (thrInsMaterialFeeRequest.getPage() - 1) * thrInsMaterialFeeRequest.getLimit();
PageHelper.offsetPage(offset, thrInsMaterialFeeRequest.getLimit());
}
return super.baseMapper.filterList(thrInsMaterialFeeRequest);
}
}

@ -0,0 +1,36 @@
package com.glxp.api.service.thrsys;
import cn.hutool.core.collection.CollUtil;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.dao.thrsys.YbDrugMapper;
import com.glxp.api.entity.thrsys.YbDrug;
import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.YbDrugDetailFilterRequest;
import com.glxp.api.res.PageSimpleResponse;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class YbDrugService {
@Resource
YbDrugMapper ybDrugMapper;
@Resource
ErpBasicClient erpBasicClient;
public List<YbDrug> getList(YbDrugDetailFilterRequest ybHcflDetailFilterRequest) {
ybHcflDetailFilterRequest.setPage(1);
ybHcflDetailFilterRequest.setLimit(1);
List<YbDrug> list = ybDrugMapper.list(ybHcflDetailFilterRequest);
if (CollUtil.isEmpty(list)){
BaseResponse<PageSimpleResponse<YbDrug>> ybDrugDetail = erpBasicClient.getYbDrugDetail(ybHcflDetailFilterRequest);
PageSimpleResponse<YbDrug> data = ybDrugDetail.getData();
List<YbDrug> list1 = data.getList();
ybDrugMapper.batchSaveOrUpdateByGoodsCode(list1);
return list1;
}
return list;
}
}

@ -129,7 +129,7 @@ public class AsyncDiDlService {
if (StrUtil.isNotEmpty(productInfoEntity.getSfbjwycxsy())) if (StrUtil.isNotEmpty(productInfoEntity.getSfbjwycxsy()))
udiProductEntity.setSfbjwycxsy(productInfoEntity.getSfbjwycxsy()); udiProductEntity.setSfbjwycxsy(productInfoEntity.getSfbjwycxsy());
if (StrUtil.isNotEmpty(productInfoEntity.getZdcfsycs())) if (StrUtil.isNotEmpty(productInfoEntity.getZdcfsycs()))
udiProductEntity.setZdcfsycs(productInfoEntity.getZdcfsycs()); udiProductEntity.setZdcfsycs(Integer.valueOf(productInfoEntity.getZdcfsycs()));
if (StrUtil.isNotEmpty(productInfoEntity.getSfwwjbz())) if (StrUtil.isNotEmpty(productInfoEntity.getSfwwjbz()))
udiProductEntity.setSfwwjbz(productInfoEntity.getSfwwjbz()); udiProductEntity.setSfwwjbz(productInfoEntity.getSfwwjbz());
if (StrUtil.isNotEmpty(productInfoEntity.getSyqsfxyjxmj())) if (StrUtil.isNotEmpty(productInfoEntity.getSyqsfxyjxmj()))

@ -0,0 +1,57 @@
package com.glxp.api.util;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
*/
public class PinyinUtils {
//汉字转换位汉语拼音首字母,英文字符不变
public static String converterToFirstSpell(String chines) {
chines = cleanChar(chines);
String pinyinName = "";
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < nameChar.length; i++) {
if (nameChar[i] > 128) {
try {
pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinName += nameChar[i];
}
}
return pinyinName;
}
/**
* 便
* @param chines
* @return
*/
public static String cleanChar(String chines) {
chines = chines.replaceAll("[\\p{Punct}\\p{Space}]+", ""); // 正则去掉所有字符操作
// 正则表达式去掉所有中文的特殊符号
String regEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~@#¥%……&*()——+|{}<>《》【】‘;:”“’。,、?ⅢγⅣβⅡⅠ×π]";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(chines);
chines = matcher.replaceAll("").trim();
return chines;
}
}

@ -179,6 +179,7 @@
WHERE (basic_products.nameCode = #{nameCode}) WHERE (basic_products.nameCode = #{nameCode})
limit 1 limit 1
</select> </select>
<insert id="insertUdiInfo" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiProductEntity"> <insert id="insertUdiInfo" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiProductEntity">
replace replace
INTO basic_products INTO basic_products
@ -288,7 +289,7 @@
allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2, allowNoProduct, allowNoSerial, spmc, cplx, hchzsb, cpdls, price, basicPrductRemak1, basicPrductRemak2,
basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7, basicPrductRemak3, basicPrductRemak4, basicPrductRemak5, basicPrductRemak6, basicPrductRemak7,
basicPrductRemak8, updateTime, sfwblztlcp, cgzmraqxgxx, sfbjwycxsy, zdcfsycs, sfwwjbz, syqsfxyjxmj, basicPrductRemak8, updateTime, sfwblztlcp, cgzmraqxgxx, sfbjwycxsy, zdcfsycs, sfwwjbz, syqsfxyjxmj,
mjfs, categoryName) mjfs, categoryName, pinyinInitial)
values values
<foreach collection="udiInfoEntities" item="item" index="index" <foreach collection="udiInfoEntities" item="item" index="index"
@ -347,7 +348,7 @@
#{item.basicPrductRemak8}, #{item.updateTime}, #{item.sfwblztlcp}, #{item.cgzmraqxgxx}, #{item.sfbjwycxsy}, #{item.basicPrductRemak8}, #{item.updateTime}, #{item.sfwblztlcp}, #{item.cgzmraqxgxx}, #{item.sfbjwycxsy},
#{item.zdcfsycs}, #{item.zdcfsycs},
#{item.sfwwjbz}, #{item.syqsfxyjxmj}, #{item.mjfs}, #{item.sfwwjbz}, #{item.syqsfxyjxmj}, #{item.mjfs},
#{item.categoryName}) #{item.categoryName}, #{item.pinyinInitial})
</foreach> </foreach>
</insert> </insert>
@ -714,6 +715,9 @@
<if test="spmc != null"> <if test="spmc != null">
spmc=#{spmc}, spmc=#{spmc},
</if> </if>
<if test="bzgg != null">
bzgg=#{bzgg},
</if>
<if test="cplx != null"> <if test="cplx != null">
cplx=#{cplx}, cplx=#{cplx},
</if> </if>
@ -750,9 +754,6 @@
<if test="basicPrductRemak8 != null"> <if test="basicPrductRemak8 != null">
basicPrductRemak8=#{basicPrductRemak8}, basicPrductRemak8=#{basicPrductRemak8},
</if> </if>
<if test="groupBuy != null">
groupBuy=#{groupBuy},
</if>
<if test="updateTime != null"> <if test="updateTime != null">
updateTime=#{updateTime}, updateTime=#{updateTime},
</if> </if>
@ -781,6 +782,7 @@
<if test="categoryName != null"> <if test="categoryName != null">
categoryName=#{categoryName}, categoryName=#{categoryName},
</if> </if>
<if test="catalogname1 != null"> <if test="catalogname1 != null">
catalogname1=#{catalogname1}, catalogname1=#{catalogname1},
</if> </if>
@ -790,26 +792,14 @@
<if test="catalogname3 != null"> <if test="catalogname3 != null">
catalogname3=#{catalogname3}, catalogname3=#{catalogname3},
</if> </if>
<if test="catalogCode1 != null">
catalogCode1=#{catalogCode1},
</if>
<if test="catalogCode2 != null">
catalogCode2=#{catalogCode2},
</if>
<if test="catalogCode3 != null">
catalogCode3=#{catalogCode3},
</if>
<if test="matrial != null"> <if test="matrial != null">
matrial=#{matrial}, matrial=#{matrial},
</if> </if>
<if test="remark != null">
remark=#{remark},
</if>
<if test="requireScanCode != null"> <if test="requireScanCode != null">
requireScanCode=#{requireScanCode}, requireScanCode=#{requireScanCode},
</if> </if>
<if test="bzgg != null"> <if test="workPlaceCount != null">
bzgg=#{bzgg}, workPlaceCount=#{workPlaceCount},
</if> </if>
</trim> </trim>
where uuid = #{uuid} where uuid = #{uuid}
@ -866,6 +856,9 @@
<if test="qxlb != null"> <if test="qxlb != null">
qxlb =#{qxlb}, qxlb =#{qxlb},
</if> </if>
<if test="bzgg != null">
bzgg =#{bzgg},
</if>
<if test="tyshxydm != null"> <if test="tyshxydm != null">
tyshxydm=#{tyshxydm}, tyshxydm=#{tyshxydm},
</if> </if>
@ -974,8 +967,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
updateTime=#{updateTime}, updateTime=#{updateTime},
</if> </if>
<if test="pinyinInitial != null">
pinyinInitial=#{pinyinInitial},
</if>
<if test="sfwblztlcp != null"> <if test="sfwblztlcp != null">
sfwblztlcp=#{sfwblztlcp}, sfwblztlcp=#{sfwblztlcp},
</if> </if>
@ -1012,63 +1006,7 @@
<if test="matrial != null"> <if test="matrial != null">
matrial=#{matrial}, matrial=#{matrial},
</if> </if>
<if test="catalogCode1 != null">
catalogCode1=#{catalogCode1},
</if>
<if test="catalogCode2 != null">
catalogCode2=#{catalogCode2},
</if>
<if test="catalogCode3 != null">
catalogCode3=#{catalogCode3},
</if>
<if test="requireScanCode != null">
requireScanCode=#{requireScanCode},
</if>
<if test="bzgg != null">
bzgg=#{bzgg},
</if>
<if test="productsType != null">
productsType=#{productsType},
</if>
<if test="levelUnit != null">
levelUnit=#{levelUnit},
</if>
<if test="prepnUnit != null">
prepnUnit=#{prepnUnit},
</if>
<if test="prepnSpec != null">
prepnSpec=#{prepnSpec},
</if>
<if test="specialCode != null">
specialCode=#{specialCode},
</if>
<if test="storageCondition != null">
storageCondition=#{storageCondition},
</if>
<if test="transportCondition != null">
transportCondition=#{transportCondition},
</if>
<if test="useAttribute != null">
useAttribute=#{useAttribute},
</if>
<if test="majorType != null">
majorType=#{majorType},
</if>
<if test="majorStatus != null">
majorStatus=#{majorStatus},
</if>
<if test="physicType != null">
physicType=#{physicType},
</if>
<if test="medicareType != null">
medicareType=#{medicareType},
</if>
<if test="indate != null">
indate=#{indate},
</if>
<if test="packMatrial != null">
packMatrial=#{packMatrial},
</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>

@ -457,6 +457,7 @@
basic_products.basicPrductRemak5, basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6, basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7, basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8,
basic_products.sfwblztlcp, basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx, basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy, basic_products.sfbjwycxsy,
@ -464,19 +465,17 @@
basic_products.sfwwjbz, basic_products.sfwwjbz,
basic_products.syqsfxyjxmj, basic_products.syqsfxyjxmj,
basic_products.mjfs, basic_products.mjfs,
basic_products.bzgg,
basic_products.id as productId,
basic_products.categoryName, basic_products.categoryName,
basic_products.groupBuy,
basic_products.basicPrductRemak8,
basic_products.cphhhbh,
basic_products.catalogname1, basic_products.catalogname1,
basic_products.catalogname2, basic_products.catalogname2,
basic_products.catalogname3, basic_products.catalogname3,
basic_products.matrial, basic_products.matrial,
basic_products.requireScanCode, basic_products.requireScanCode,
basic_products.bzgg,
basic_products.prepnSpec, basic_products.prepnSpec,
basic_products.prepnUnit,
basic_products.levelUnit, basic_products.levelUnit,
basic_products.prepnUnit,
basic_products.majorStatus, basic_products.majorStatus,
basic_products.physicType, basic_products.physicType,
basic_products.packMatrial, basic_products.packMatrial,
@ -484,24 +483,24 @@
basic_products.transportCondition, basic_products.transportCondition,
basic_products.indate, basic_products.indate,
basic_products.majorType, basic_products.majorType,
basic_products.medicareType basic_products.medicareType,
basic_products.workPlaceCount,
th.hsmc hslbName
FROM basic_products FROM basic_products
inner JOIN basic_udirel inner JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid ON basic_products.uuid = basic_udirel.uuid
left join basic_hosp_type bht on basic_udirel.relCode = bht.code left join basic_hosp_type bht on basic_udirel.relCode = bht.code
left join thr_hslb th on basic_products.basicPrductRemak8 = th.hsbm
<where> <where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null"> <if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%') AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
</if> </if>
<if test="mainIdLike != '' and mainIdLike != null"> <if test="relCode != '' and relCode != null">
AND mainId LIKE concat('%', #{mainIdLike}, '%') AND relCode = #{relCode}
</if> </if>
<if test="productsType != '' and productsType != null"> <if test="productsType != '' and productsType != null">
AND basic_products.productsType = #{productsType} AND basic_products.productsType = #{productsType}
</if> </if>
<if test="relCode != '' and relCode != null">
AND relCode = #{relCode}
</if>
<if test="bindType != '' and bindType != null"> <if test="bindType != '' and bindType != null">
AND (relCode is null AND (relCode is null
or trim(relCode) = '') or trim(relCode) = '')
@ -510,17 +509,25 @@
AND supName LIKE concat('%', #{supName}, '%') AND supName LIKE concat('%', #{supName}, '%')
</if> </if>
<if test="nameCode != '' and nameCode != null"> <if test="nameCode != '' and nameCode != null">
AND nameCode LIKE concat(#{nameCode}, '%') AND (
</if> nameCode LIKE concat('%', #{nameCode}, '%')
or ybbm LIKE concat('%', #{nameCode}, '%')
<if test="entireCpmctymc != '' and entireCpmctymc != null"> or sptm LIKE concat('%', #{nameCode}, '%')
AND cpmctymc = #{entireCpmctymc} or basic_udirel.mainId LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId1 LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId2 LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId3 LIKE concat('%', #{nameCode}, '%')
or basic_udirel.thirdId4 LIKE concat('%', #{nameCode}, '%'))
</if> </if>
<if test="cpmctymc != '' and cpmctymc != null"> <if test="cpmctymc != '' and cpmctymc != null">
AND cpmctymc LIKE concat('%', #{cpmctymc}, '%') AND basic_products.cpmctymc LIKE concat('%', #{cpmctymc}, '%')
</if>
<if test="entireCpmctymc != '' and entireCpmctymc != null">
AND basic_products.cpmctymc = #{entireCpmctymc}
</if> </if>
<if test="ggxh != '' and ggxh != null"> <if test="ggxh != '' and ggxh != null">
AND ggxh LIKE concat('%', #{ggxh}, '%') AND basic_products.ggxh LIKE concat('%', #{ggxh}, '%')
</if> </if>
<if test="unionCode != '' and unionCode != null"> <if test="unionCode != '' and unionCode != null">
and ( and (
@ -531,6 +538,9 @@
<if test="isDisable == false"> <if test="isDisable == false">
AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false) AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false)
</if> </if>
<if test="isDisable == true">
AND basic_udirel.isDisable = true
</if>
<if test="thrPiId != '' and thrPiId != null"> <if test="thrPiId != '' and thrPiId != null">
and (thirdId LIKE concat('%', #{thrPiId}, '%') and (thirdId LIKE concat('%', #{thrPiId}, '%')
or thirdId1 LIKE concat('%', #{thrPiId}, '%') or thirdId1 LIKE concat('%', #{thrPiId}, '%')
@ -548,7 +558,7 @@
AND udplatCode = #{udplatCode} AND udplatCode = #{udplatCode}
</if> </if>
<if test="zczbhhzbapzbh != '' and zczbhhzbapzbh != null"> <if test="zczbhhzbapzbh != '' and zczbhhzbapzbh != null">
AND zczbhhzbapzbh LIKE concat(#{zczbhhzbapzbh}, '%') AND basic_products.zczbhhzbapzbh LIKE concat('%', #{zczbhhzbapzbh}, '%')
</if> </if>
<if test="diType != '' and diType != null"> <if test="diType != '' and diType != null">
AND diType = #{diType} AND diType = #{diType}
@ -556,15 +566,19 @@
<if test="filterType != null and filterType == 1"> <if test="filterType != null and filterType == 1">
AND (thirdId <![CDATA[<>]]> '' or thirdId1 <![CDATA[<>]]> '' or thirdId2 <![CDATA[<>]]> '' or AND (thirdId <![CDATA[<>]]> '' or thirdId1 <![CDATA[<>]]> '' or thirdId2 <![CDATA[<>]]> '' or
thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '') thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '')
<if test="productsType == 1">
and basic_products.originUuid <![CDATA[<>]]> '' and basic_products.originUuid <![CDATA[<>]]> ''
</if> </if>
</if>
<if test="filterType != null and filterType == 2"> <if test="filterType != null and filterType == 2">
AND basic_products.originUuid is NULL AND basic_products.originUuid is NULL
</if> </if>
<if test="filterType != null and filterType == 3"> <if test="filterType != null and filterType == 3">
AND (mainId is NULL or mainId = '') AND (mainId is NULL or mainId = '')
<if test="productsType == 1">
and basic_products.originUuid <![CDATA[<>]]> '' and basic_products.originUuid <![CDATA[<>]]> ''
</if> </if>
</if>
<if test="filterType != null and filterType == 4"> <if test="filterType != null and filterType == 4">
AND thirdId1 is NULL AND thirdId1 is NULL
and basic_products.originUuid <![CDATA[<>]]> '' and basic_products.originUuid <![CDATA[<>]]> ''
@ -597,7 +611,13 @@
and originUuid = #{originUuid} and originUuid = #{originUuid}
</if> </if>
<if test="manufactory != null and manufactory != ''"> <if test="manufactory != null and manufactory != ''">
and manufactory LIKE concat('%', #{manufactory}, '%') and basic_products.manufactory LIKE concat('%', #{manufactory}, '%')
</if>
<if test="ybbm != null and ybbm != ''">
AND basic_products.ybbm LIKE concat(#{ybbm}, '%')
</if>
<if test="cpms != null and cpms != ''">
AND basic_products.cpms LIKE concat(#{cpms}, '%')
</if> </if>
<if test="dispatch != null"> <if test="dispatch != null">
and basic_udirel.dispatch = #{dispatch} and basic_udirel.dispatch = #{dispatch}
@ -605,10 +625,8 @@
<if test="groupBuy != null"> <if test="groupBuy != null">
and basic_udirel.groupBuy = #{groupBuy} and basic_udirel.groupBuy = #{groupBuy}
</if> </if>
<if test="purType != null">
and basic_udirel.purType = #{purType}
</if>
</where> </where>
GROUP BY basic_udirel.id
ORDER BY modifyTime DESC ORDER BY modifyTime DESC
</select> </select>
@ -993,7 +1011,11 @@
updateTime, modifyTime, updateTime, modifyTime,
createUser, createUser,
updateUser, updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert, newNeedUpload, isStack) remark, useExpireTime, `dispatch`,
groupBuy, needCert, isStack,
distributeLevelCount, useLevel,
distributeLevel,
splitEnable, autoCode, distributeMaxLevel, useMaxLevel)
values (#{id}, values (#{id},
#{uuid}, #{uuid},
#{mainId}, #{mainId},
@ -1007,7 +1029,10 @@
#{isDisable}, #{isDisable},
#{isLock}, #{isLock},
#{lockStatus}, #{lockStatus},
#{isAdavence}, #{purType}, #{attributeType}, #{hcType}, #{isAdavence},
#{purType},
#{attributeType},
#{hcType},
#{useMuti}, #{useMuti},
#{useNum}, #{useNum},
#{supName}, #{supName},
@ -1016,7 +1041,17 @@
#{modifyTime}, #{modifyTime},
#{createUser}, #{createUser},
#{updateUser}, #{updateUser},
#{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert}, #{newNeedUpload}, #{isStack}) #{remark},
#{useExpireTime},
#{dispatch},
#{groupBuy},
#{needCert},
#{isStack},
#{distributeLevelCount},
#{useLevel},
#{distributeLevel},
#{splitEnable},
#{autoCode}, #{distributeMaxLevel}, #{useMaxLevel})
</insert> </insert>
<insert id="insertUdiRelevanceignore" keyProperty="id" <insert id="insertUdiRelevanceignore" keyProperty="id"

@ -0,0 +1,17 @@
<?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.thrsys.BasicInsMaterialMapper">
<select id="filterList" parameterType="com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest"
resultType="com.glxp.api.entity.thrsys.BasicInsMaterialEntity">
SELECT basic_ins_material.*
FROM basic_ins_material
<where>
<if test="consumableName != '' and consumableName != null">
AND consumableName LIKE concat('%', #{consumableName}, '%')
</if>
<if test="medCatalogCode != '' and medCatalogCode != null">
AND medCatalogCode LIKE concat('%', #{medCatalogCode}, '%')
</if>
</where>
</select>
</mapper>

@ -0,0 +1,135 @@
<?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.thrsys.YbDrugMapper">
<!-- 自定义批量保存数据-->
<insert id="batchSaveOrUpdateByGoodsCode" parameterType="int">
INSERT INTO
yb_drug
(
businessLicense,
companyNameSc,
approvalCode,
goodsStandardCode,
baseId,
productName,
productMedicinemodel,
registeredProductName,
listingHolder,
registeredMedicinemodel,
minUnit,
factor,
goodsName,
dataSouce,
realityOutlook,
productRemark,
subpackager,
version,
productInsuranceType,
realityMedicinemodel,
marketState,
materialName,
unit,
registeredOutlook,
productCode,
goodsCode
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.businessLicense},
#{item.companyNameSc},
#{item.approvalCode},
#{item.goodsStandardCode},
#{item.baseId},
#{item.productName},
#{item.productMedicinemodel},
#{item.registeredProductName},
#{item.listingHolder},
#{item.registeredMedicinemodel},
#{item.minUnit},
#{item.factor},
#{item.goodsName},
#{item.dataSouce},
#{item.realityOutlook},
#{item.productRemark},
#{item.subpackager},
#{item.version},
#{item.productInsuranceType},
#{item.realityMedicinemodel},
#{item.marketState},
#{item.materialName},
#{item.unit},
#{item.registeredOutlook},
#{item.productCode},
#{item.goodsCode}
)
</foreach>
ON DUPLICATE KEY UPDATE
businessLicense = VALUES(businessLicense),
companyNameSc = VALUES(companyNameSc),
approvalCode = VALUES(approvalCode),
goodsStandardCode = VALUES(goodsStandardCode),
baseId = VALUES(baseId),
productName = VALUES(productName),
productMedicinemodel = VALUES(productMedicinemodel),
registeredProductName = VALUES(registeredProductName),
listingHolder= VALUES(listingHolder),
registeredMedicinemodel = VALUES(registeredMedicinemodel),
minUnit = VALUES(minUnit),
factor = VALUES(factor),
goodsName = VALUES(goodsName),
dataSouce = VALUES(dataSouce),
realityOutlook = VALUES(realityOutlook),
productRemark = VALUES(productRemark),
subpackager = VALUES(subpackager),
version = VALUES(version),
productInsuranceType = VALUES(productInsuranceType),
realityMedicinemodel = VALUES(realityMedicinemodel),
marketState = VALUES(marketState),
materialName = VALUES(materialName),
unit = VALUES(unit),
registeredOutlook = VALUES(registeredOutlook),
productCode = VALUES(productCode),
goodsCode = VALUES(goodsCode)
</insert>
<select id="list" resultType="com.glxp.api.entity.thrsys.YbDrug" parameterType="com.glxp.api.entity.thrsys.YbDrug">
select
businessLicense,
companyNameSc,
approvalCode,
goodsStandardCode,
baseId,
productName,
productMedicinemodel,
registeredProductName,
listingHolder,
registeredMedicinemodel,
minUnit,
factor,
goodsName,
dataSouce,
realityOutlook,
productRemark,
subpackager,
version,
productInsuranceType,
realityMedicinemodel,
marketState,
materialName,
unit,
registeredOutlook,
productCode,
goodsCode
from yb_drug
<where>
<if test="goodsCode != '' and goodsCode != null">
and goodsCode like concat(#{goodsCode},'%')
</if>
</where>
order by goodsCode DESC
</select>
</mapper>
Loading…
Cancel
Save