选入药品逻辑优化

dev_drug
qiuyt 3 months ago
parent 0c8bf588d4
commit fc3c3a5e5a

@ -6,6 +6,7 @@ import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.CusRedissonAnnotation; import com.glxp.api.annotation.CusRedissonAnnotation;
import com.glxp.api.annotation.Log; import com.glxp.api.annotation.Log;
@ -37,6 +38,7 @@ import com.glxp.api.util.IntUtil;
import com.glxp.api.util.JsonUtils; import com.glxp.api.util.JsonUtils;
import com.glxp.api.util.alihealth.AlihealthUtils; import com.glxp.api.util.alihealth.AlihealthUtils;
import com.glxp.api.util.alihealth.CopyUtils; import com.glxp.api.util.alihealth.CopyUtils;
import com.glxp.api.util.alihealth.PaginationUtil;
import com.google.api.client.json.Json; import com.google.api.client.json.Json;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -104,10 +106,12 @@ public class AlihealthBusController extends BaseController {
@Resource @Resource
private UdiContrastService udiContrastService; private UdiContrastService udiContrastService;
@PostMapping("/spms/alihealth/thirdAliDrugList") @PostMapping("/spms/alihealth/thirdAliDrugList")
@Log(title = "获取阿里药品码段信息列表包括查询国家库", businessType = BusinessType.OTHER) @Log(title = "获取阿里药品码段信息列表包括查询国家库", businessType = BusinessType.OTHER)
public BaseResponse<List<ThirdAliDrug>> thirdAliDrugList(@RequestBody AlihealthThirdAliDrugInsertReqeust alihealthThirdAliDrugInsertReqeust) { public BaseResponse<PageSimpleResponse<ThirdAliDrug>> thirdAliDrugList(@RequestBody AlihealthThirdAliDrugInsertReqeust alihealthThirdAliDrugInsertReqeust) {
List<ThirdAliDrug> thirdAliDrugsListGjk = null; List<ThirdAliDrug> thirdAliDrugsListGjk = null;
PageSimpleResponse<ThirdAliDrug> pageSimpleResponse =new PageSimpleResponse();
// 本地查询和新增都先注释了 到时候加到这边来 // 本地查询和新增都先注释了 到时候加到这边来
YbDrug ybDrug = alihealthThirdAliDrugInsertReqeust.getYbDrug(); YbDrug ybDrug = alihealthThirdAliDrugInsertReqeust.getYbDrug();
if(ybDrug!= null && StringUtils.isNotEmpty(ybDrug.getGoodsCode())){ if(ybDrug!= null && StringUtils.isNotEmpty(ybDrug.getGoodsCode())){
@ -123,8 +127,12 @@ public class AlihealthBusController extends BaseController {
if(responseListAndAliDrug.getCode() == 20000){ if(responseListAndAliDrug.getCode() == 20000){
thirdAliDrugsListGjk = responseListAndAliDrug.getData(); thirdAliDrugsListGjk = responseListAndAliDrug.getData();
if(thirdAliDrugsListGjk != null && thirdAliDrugsListGjk.size() >0){ if(thirdAliDrugsListGjk != null && thirdAliDrugsListGjk.size() >0){
return ResultVOUtils.success(thirdAliDrugsListGjk); pageSimpleResponse.setList(thirdAliDrugsListGjk);
return ResultVOUtils.success(pageSimpleResponse);
} }
}else {
pageSimpleResponse.setList(thirdAliDrugsListGjk);
return ResultVOUtils.success(pageSimpleResponse);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("国家库===用医保编码查询国家库药品信息===出现错误===" + e.getMessage()); log.error("国家库===用医保编码查询国家库药品信息===出现错误===" + e.getMessage());
@ -133,7 +141,8 @@ public class AlihealthBusController extends BaseController {
} }
// 校验标识判断 为false不会后续增加多玛融合库的逻辑 直接返回 // 校验标识判断 为false不会后续增加多玛融合库的逻辑 直接返回
if(alihealthThirdAliDrugInsertReqeust.isDrugCheckMark() == false){ if(alihealthThirdAliDrugInsertReqeust.isDrugCheckMark() == false){
return ResultVOUtils.success(thirdAliDrugsListGjk); pageSimpleResponse.setList(thirdAliDrugsListGjk);
return ResultVOUtils.success(pageSimpleResponse);
} }
// 查询国家库药品信息 并且要插入到多玛融合表 // 查询国家库药品信息 并且要插入到多玛融合表
@ -162,6 +171,7 @@ public class AlihealthBusController extends BaseController {
} }
map.put("page", alihealthThirdAliDrugInsertReqeust.getPage()); map.put("page", alihealthThirdAliDrugInsertReqeust.getPage());
map.put("limit", alihealthThirdAliDrugInsertReqeust.getLimit()); map.put("limit", alihealthThirdAliDrugInsertReqeust.getLimit());
map.put("nameCodeIn", alihealthThirdAliDrugInsertReqeust.getNameCodeIn());
if(alihealthThirdAliDrugInsertReqeust.getGjkSwitch()){ if(alihealthThirdAliDrugInsertReqeust.getGjkSwitch()){
@ -175,6 +185,12 @@ public class AlihealthBusController extends BaseController {
) { ) {
// 查询国家库是否有值 有值直接返回没值查询阿里接口 // 查询国家库是否有值 有值直接返回没值查询阿里接口
thirdAliDrugsListGjk = udiDlDeviceResponse.getData().getList(); thirdAliDrugsListGjk = udiDlDeviceResponse.getData().getList();
if(thirdAliDrugsListGjk.size() == udiDlDeviceResponse.getData().getTotal()){
thirdAliDrugsListGjk = PaginationUtil.getPage(thirdAliDrugsListGjk, alihealthThirdAliDrugInsertReqeust.getPage()
, alihealthThirdAliDrugInsertReqeust.getLimit());
}
pageSimpleResponse.setList(thirdAliDrugsListGjk);
pageSimpleResponse.setTotal(Long.valueOf(udiDlDeviceResponse.getData().getTotal()));
} }
} catch (Exception e) { } catch (Exception e) {
log.error("国家库===查询药品信息===出现错误===" + e.getMessage()); log.error("国家库===查询药品信息===出现错误===" + e.getMessage());
@ -182,38 +198,38 @@ public class AlihealthBusController extends BaseController {
} }
} }
if (thirdAliDrugsListGjk != null && thirdAliDrugsListGjk.size() > 0) { // if (thirdAliDrugsListGjk != null && thirdAliDrugsListGjk.size() > 0) {
} else {
// BaseResponse<List<ThirdAliDrug>> baseResponse = alihealthUtils.thirdAliDrugInsertAll(alihealthThirdAliDrugInsertReqeust);
// if (baseResponse.getCode() == 20000) {
// thirdAliDrugsListGjk = baseResponse.getData();
// } else {
// log.error("阿里接口未查到产品信息===" + baseResponse.getMessage());
// return ResultVOUtils.error("阿里接口未查到产品信息===" + baseResponse.getMessage());
// //
// } // } else {
// // 上传到国家库 //// BaseResponse<List<ThirdAliDrug>> baseResponse = alihealthUtils.thirdAliDrugInsertAll(alihealthThirdAliDrugInsertReqeust);
// try { //// if (baseResponse.getCode() == 20000) {
// Map mapNew = new HashMap(); //// thirdAliDrugsListGjk = baseResponse.getData();
// mapNew.put("list", thirdAliDrugsListGjk); //// } else {
// String response = HttpUtil.post(udiUrl + "/udiwms/aliDrug/addThirdAliDrug", JSONUtil.toJsonStr(mapNew)); //// log.error("阿里接口未查到产品信息===" + baseResponse.getMessage());
// BaseResponse baseResponseAdd = JSONUtil.toBean(response, BaseResponse.class); //// return ResultVOUtils.error("阿里接口未查到产品信息===" + baseResponse.getMessage());
// log.info("成功上传国家库阿里产品数据"); ////
// } catch (Exception e) { //// }
//// // 上传到国家库
//// try {
//// Map mapNew = new HashMap();
//// mapNew.put("list", thirdAliDrugsListGjk);
//// String response = HttpUtil.post(udiUrl + "/udiwms/aliDrug/addThirdAliDrug", JSONUtil.toJsonStr(mapNew));
//// BaseResponse baseResponseAdd = JSONUtil.toBean(response, BaseResponse.class);
//// log.info("成功上传国家库阿里产品数据");
//// } catch (Exception e) {
////
//// log.error("国家库上传阿里产品访问出现错误===" + e.getMessage());
//// }
// //
// log.error("国家库上传阿里产品访问出现错误===" + e.getMessage()); // }
// } // // 上传多玛关系于处理规则在插入到融合表
// if(ybDrug!= null && StringUtils.isNotEmpty(ybDrug.getGoodsCode())
} // ){
// 上传多玛关系于处理规则在插入到融合表 // // 规则匹配
if(ybDrug!= null && StringUtils.isNotEmpty(ybDrug.getGoodsCode()) // thirdAliDrugsListGjk = udiContrastService.disposeYbDrugList(thirdAliDrugsListGjk,ybDrug,alihealthThirdAliDrugInsertReqeust.getNameCodeIn());
){ //
// 规则匹配 // }
thirdAliDrugsListGjk = udiContrastService.disposeYbDrugList(thirdAliDrugsListGjk,ybDrug,alihealthThirdAliDrugInsertReqeust.getNameCodeIn()); return ResultVOUtils.success(pageSimpleResponse);
}
return ResultVOUtils.success(thirdAliDrugsListGjk);
// udiProductService.insertUdiInfo(udiProductEntity); // udiProductService.insertUdiInfo(udiProductEntity);
} }

@ -1,5 +1,6 @@
package com.glxp.api.controller.thrsys; package com.glxp.api.controller.thrsys;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -123,16 +124,13 @@ public class ThirdAliDrugController extends BaseController {
alihealthKytDrugrescodeReqeust.setApp_key(authAliUser.getAppkey()); alihealthKytDrugrescodeReqeust.setApp_key(authAliUser.getAppkey());
alihealthKytDrugrescodeReqeust.setRef_ent_id(authAliUser.getRefentid()); alihealthKytDrugrescodeReqeust.setRef_ent_id(authAliUser.getRefentid());
alihealthThirdAliDrugInsertReqeust.setAlihealthKytDrugrescodeReqeust(alihealthKytDrugrescodeReqeust); alihealthThirdAliDrugInsertReqeust.setAlihealthKytDrugrescodeReqeust(alihealthKytDrugrescodeReqeust);
Integer total = 0;
try { try {
BaseResponse baseResponse = alihealthBusController.thirdAliDrugList(alihealthThirdAliDrugInsertReqeust); BaseResponse<PageSimpleResponse<ThirdAliDrug>> baseResponse = alihealthBusController.thirdAliDrugList(alihealthThirdAliDrugInsertReqeust);
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
if (!CollUtil.isEmpty(baseResponse.getData().getList())){
if (thirdAliDrugService.addOrUpdate((List) baseResponse.getData())) { list = baseResponse.getData().getList();
list = thirdAliDrugService.filterList(thirdAliDrug); total = baseResponse.getData().getTotal();
} else {
log.error("获取阿里和国家库码段信息===未查到产品信息");
} }
@ -151,7 +149,7 @@ public class ThirdAliDrugController extends BaseController {
// } // }
PageInfo<ThirdAliDrug> pageInfo = new PageInfo<>(list); PageInfo<ThirdAliDrug> pageInfo = new PageInfo<>(list);
PageSimpleResponse<ThirdAliDrug> pageSimpleResponse = new PageSimpleResponse<>(); PageSimpleResponse<ThirdAliDrug> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setTotal(Long.valueOf(total));
pageSimpleResponse.setList(list); pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse); return ResultVOUtils.success(pageSimpleResponse);
} }

@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.alihealth.AlihealthBusController; import com.glxp.api.controller.alihealth.AlihealthBusController;
import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dao.basic.UdiRelevanceDao;
@ -25,6 +26,7 @@ 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.basic.YbDrugDetailFilterRequest;
import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.req.thrsys.ThirdAliDrugRequest;
import com.glxp.api.req.thrsys.ThrInsDrugFeeRequest; import com.glxp.api.req.thrsys.ThrInsDrugFeeRequest;
import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest; import com.glxp.api.req.thrsys.ThrInsMaterialFeeRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
@ -360,9 +362,9 @@ public class UdiContrastService {
alihealthKytDrugrescodeReqeust.setRef_ent_id(authAliUser.getRefentid()); alihealthKytDrugrescodeReqeust.setRef_ent_id(authAliUser.getRefentid());
alihealthThirdAliDrugInsertReqeust.setAlihealthKytDrugrescodeReqeust(alihealthKytDrugrescodeReqeust); alihealthThirdAliDrugInsertReqeust.setAlihealthKytDrugrescodeReqeust(alihealthKytDrugrescodeReqeust);
try { try {
BaseResponse baseResponse = alihealthBusController.thirdAliDrugList(alihealthThirdAliDrugInsertReqeust); BaseResponse<PageSimpleResponse<ThirdAliDrug>> baseResponse = alihealthBusController.thirdAliDrugList(alihealthThirdAliDrugInsertReqeust);
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
thirdAliDrugList = (List) baseResponse.getData(); thirdAliDrugList = baseResponse.getData().getList();
// if (thirdAliDrugService.addOrUpdate((List) baseResponse.getData())) { // if (thirdAliDrugService.addOrUpdate((List) baseResponse.getData())) {
// thirdAliDrugList = thirdAliDrugService.list( // thirdAliDrugList = thirdAliDrugService.list(
@ -616,7 +618,7 @@ public class UdiContrastService {
String response = HttpUtil.post(udiUrl + "/udchs/codeRel/updateBatch", JSONUtil.toJsonStr(list)); String response = HttpUtil.post(udiUrl + "/udchs/codeRel/updateBatch", JSONUtil.toJsonStr(list));
BaseResponse<String> baseResponse = JSONUtil.toBean(response, BaseResponse.class); BaseResponse<String> baseResponse = JSONUtil.toBean(response, BaseResponse.class);
if (baseResponse.getCode() == 2000) { if (baseResponse.getCode() == 20000) {
log.error("国家库===上传多码关系===" + list.get(0).getYbbm() + "成功==="); log.error("国家库===上传多码关系===" + list.get(0).getYbbm() + "成功===");
} else { } else {
@ -641,7 +643,7 @@ public class UdiContrastService {
String response = HttpUtil.post(udiUrl + "/udchs/codeRel/delete", JSONUtil.toJsonStr(codeRel)); String response = HttpUtil.post(udiUrl + "/udchs/codeRel/delete", JSONUtil.toJsonStr(codeRel));
BaseResponse<String> baseResponse = JSONUtil.toBean(response, BaseResponse.class); BaseResponse<String> baseResponse = JSONUtil.toBean(response, BaseResponse.class);
if (baseResponse.getCode() == 2000) { if (baseResponse.getCode() == 20000) {
} else { } else {
log.error("国家库===删除多玛关系===出现错误===" + baseResponse.getMessage()); log.error("国家库===删除多玛关系===出现错误===" + baseResponse.getMessage());
@ -654,7 +656,29 @@ public class UdiContrastService {
} }
} }
public List<ThirdAliDrug> optThirdAliDrug(ThirdAliDrugRequest thirdAliDrugRequest) {
List<ThirdAliDrug> thirdAliDrugList = new ArrayList<>();
try {
String response = HttpUtil.post(udiUrl + "/udiwms/aliDrug/optThirdAliDrug", JSONUtil.toJsonStr(thirdAliDrugRequest));
BaseResponse<List<ThirdAliDrug>> baseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<List<ThirdAliDrug>>>() {
});
if (baseResponse.getCode() == 20000) {
thirdAliDrugList =baseResponse.getData();
} else {
log.error("国家库===查询选入数据失败===" + baseResponse.getMessage());
}
} catch (Exception e) {
log.error("国家库===查询选入数据失败===出现错误===" + e.getMessage());
}
return thirdAliDrugList;
}
public List<ThirdAliDrug> disposeYbDrugList(List<ThirdAliDrug> thirdAliDrugList, YbDrug ybDrug, List<String> codeIn) { public List<ThirdAliDrug> disposeYbDrugList(List<ThirdAliDrug> thirdAliDrugList, YbDrug ybDrug, List<String> codeIn) {
List<ThirdAliDrug> list1 = new ArrayList<>(); List<ThirdAliDrug> list1 = new ArrayList<>();
String result = null; String result = null;

@ -474,9 +474,9 @@ public class UdiProductServiceImpl implements UdiProductService {
// 上传多玛融合表 // 上传多玛融合表
List<CodeRel> codeRelArrayList = new ArrayList<>(); List<CodeRel> codeRelArrayList = new ArrayList<>();
if(StringUtils.isNotEmpty(updateLevelDrugRequest.getPackUnit()) if (StringUtils.isNotEmpty(updateLevelDrugRequest.getPackUnit())
|| !Objects.isNull(updateLevelDrugRequest.getBhxjsl()) || StringUtils.isNotEmpty(updateLevelDrugRequest.getXjdw()) || !Objects.isNull(updateLevelDrugRequest.getBhxjsl()) || StringUtils.isNotEmpty(updateLevelDrugRequest.getXjdw())
){ ) {
CodeRel codeRel = new CodeRel(); CodeRel codeRel = new CodeRel();
codeRel.setDrugCode(udiProductEntity1.getNameCode()); codeRel.setDrugCode(udiProductEntity1.getNameCode());
codeRel.setUpdateTime(new Date()); codeRel.setUpdateTime(new Date());
@ -673,192 +673,184 @@ public class UdiProductServiceImpl implements UdiProductService {
@Override @Override
public BaseResponse saveOrUpadateLevelDrugAli(ThirdAliDrugRequest thirdAliDrugRequest) { public BaseResponse saveOrUpadateLevelDrugAli(ThirdAliDrugRequest thirdAliDrugRequest) {
Integer detailSort = 0; Integer detailSort = 0;
ThirdAliDrug thirdAliDrugServiceOne = thirdAliDrugService.getOne( // ThirdAliDrug thirdAliDrugServiceOne = thirdAliDrugService.getOne(
new QueryWrapper<ThirdAliDrug>().eq("nameCode", thirdAliDrugRequest.getNameCodeRow()).last("limit 1") // new QueryWrapper<ThirdAliDrug>().eq("nameCode", thirdAliDrugRequest.getNameCodeRow()).last("limit 1")
); // );
String str = ""; String str = "";
if (thirdAliDrugServiceOne != null) { List<ThirdAliDrug> thirdAliDrugList = new ArrayList<>();
List<ThirdAliDrug> thirdAliDrugList = thirdAliDrugService.list( thirdAliDrugRequest.setNameCode(thirdAliDrugRequest.getNameCodeRow());
new QueryWrapper<ThirdAliDrug>().eq(StringUtils.isNotBlank(thirdAliDrugServiceOne.getBzgg()), "bzgg", thirdAliDrugServiceOne.getBzgg()) thirdAliDrugList = udiContrastService.optThirdAliDrug(thirdAliDrugRequest);
.eq(StringUtils.isNotBlank(thirdAliDrugServiceOne.getPackRatio()), "packRatio", thirdAliDrugServiceOne.getPackRatio()) if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) {
.like(StringUtils.isNotBlank(thirdAliDrugRequest.getCpmctymc()), "cpmctymc", thirdAliDrugRequest.getCpmctymc()) // 多码融合表拼接参数
.like(StringUtils.isNotBlank(thirdAliDrugRequest.getManufacturer()), "manufacturer", thirdAliDrugRequest.getManufacturer()) List<CodeRel> codeRelArrayList = new ArrayList<>();
.like(StringUtils.isNotBlank(thirdAliDrugRequest.getApprovalNum()), "approvalNum", thirdAliDrugRequest.getApprovalNum()) udiProductDao.delete(new QueryWrapper<UdiProductEntity>()
.like(StringUtils.isNotBlank(thirdAliDrugRequest.getFormSpec()), "formSpec", thirdAliDrugRequest.getFormSpec()) .eq("uuid", thirdAliDrugRequest.getUuid())
.like(StringUtils.isNotBlank(thirdAliDrugRequest.getBzgg()), "bzgg", thirdAliDrugRequest.getBzgg()) .isNull("nameCode")
); );
if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) { ThrProductsEntity thrProductsEntity = thrProductsService.selectByCode(thirdAliDrugRequest.getYbbm());
// 多码融合表拼接参数 for (ThirdAliDrug thirdAliDrug : thirdAliDrugList) {
List<CodeRel> codeRelArrayList = new ArrayList<>(); ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
udiProductDao.delete(new QueryWrapper<UdiProductEntity>() thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
.eq("uuid", thirdAliDrugRequest.getUuid()) YbDrugDetailFilterRequest ybHcflDetailFilterRequest = new YbDrugDetailFilterRequest();
.isNull("nameCode") ybHcflDetailFilterRequest.setLimit(1);
); ybHcflDetailFilterRequest.setPage(1);
ThrProductsEntity thrProductsEntity = thrProductsService.selectByCode(thirdAliDrugRequest.getYbbm()); ybHcflDetailFilterRequest.setGoodsCode(thrProductsEntity.getYbbm());
for (ThirdAliDrug thirdAliDrug : thirdAliDrugList) { List<YbDrug> list = ybDrugService.getList(ybHcflDetailFilterRequest);
ThrInsDrugFeeRequest thrInsDrugFeeRequest = new ThrInsDrugFeeRequest();
thrInsDrugFeeRequest.setMedCatalogCode(thrProductsEntity.getYbbm());
YbDrugDetailFilterRequest ybHcflDetailFilterRequest = new YbDrugDetailFilterRequest(); UdiProductEntity udiProductEntity = new UdiProductEntity();
ybHcflDetailFilterRequest.setLimit(1); BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
ybHcflDetailFilterRequest.setPage(1); YbDrug ybDrug = new YbDrug();
ybHcflDetailFilterRequest.setGoodsCode(thrProductsEntity.getYbbm());
List<YbDrug> list = ybDrugService.getList(ybHcflDetailFilterRequest); // 数据处理
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
UdiProductEntity udiProductEntity = new UdiProductEntity();
BeanUtils.copyProperties(thrProductsEntity, udiProductEntity);
YbDrug ybDrug = new YbDrug();
// 数据处理
udiProductEntity.setId(IdUtil.getSnowflakeNextId());
// udiProductEntity.setNameCode(thrProductsEntity.getCode()); // udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setUuid(thirdAliDrugRequest.getUuid()); udiProductEntity.setUuid(thirdAliDrugRequest.getUuid());
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.setProductsType(thrProductsEntity.getProductType());
udiProductEntity.setRequireScanCode(1); udiProductEntity.setRequireScanCode(1);
udiProductEntity.setMajorStatus(1); udiProductEntity.setMajorStatus(1);
udiProductEntity.setPhysicType(3); udiProductEntity.setPhysicType(3);
//设置包装级别 //设置包装级别
udiProductEntity.setPackLevel(1 + ""); udiProductEntity.setPackLevel(1 + "");
if (StrUtil.isEmpty(udiProductEntity.getPrice())) { if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice("0.00"); udiProductEntity.setPrice("0.00");
}
udiProductEntity.setUpdateTime(new Date());
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
if (list != null && list.size() > 0) {
ybDrug = list.get(0);
// 数据做处理好查询阿里接口
if (ybDrug.getApprovalCode().contains("(")) {
String[] charArr = ybDrug.getRegisteredProductName().split("\\(");
ybDrug.setApprovalCode(charArr[0]);
} }
udiProductEntity.setUpdateTime(new Date());
udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
if (list != null && list.size() > 0) {
ybDrug = list.get(0);
// 数据做处理好查询阿里接口
if (ybDrug.getApprovalCode().contains("(")) {
String[] charArr = ybDrug.getRegisteredProductName().split("\\(");
ybDrug.setApprovalCode(charArr[0]);
}
// udiProductEntity.setNameCode(thrProductsEntity.getCode()); // udiProductEntity.setNameCode(thrProductsEntity.getCode());
udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook()); udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook());
udiProductEntity.setZczbhhzbapzbh(ybDrug.getApprovalCode()); udiProductEntity.setZczbhhzbapzbh(ybDrug.getApprovalCode());
udiProductEntity.setCpmctymc(ybDrug.getRegisteredProductName()); udiProductEntity.setCpmctymc(ybDrug.getRegisteredProductName());
udiProductEntity.setSpmc(ybDrug.getGoodsName()); udiProductEntity.setSpmc(ybDrug.getGoodsName());
udiProductEntity.setBzgg(String.valueOf(ybDrug.getFactor()) + ybDrug.getMinUnit() + "/" + ybDrug.getUnit()); udiProductEntity.setBzgg(String.valueOf(ybDrug.getFactor()) + ybDrug.getMinUnit() + "/" + ybDrug.getUnit());
udiProductEntity.setMatrial(ybDrug.getMaterialName()); udiProductEntity.setMatrial(ybDrug.getMaterialName());
udiProductEntity.setPackMatrial(ybDrug.getMaterialName()); udiProductEntity.setPackMatrial(ybDrug.getMaterialName());
udiProductEntity.setMedicareType(udiContrastService.setMedicareType(ybDrug.getProductInsuranceType())); udiProductEntity.setMedicareType(udiContrastService.setMedicareType(ybDrug.getProductInsuranceType()));
//最小产品单位 //最小产品单位
udiProductEntity.setPackUnit(ybDrug.getUnit()); udiProductEntity.setPackUnit(ybDrug.getUnit());
//设置最小产品数量 //设置最小产品数量
udiProductEntity.setBhxjsl(ybDrug.getFactor()); udiProductEntity.setBhxjsl(ybDrug.getFactor());
//生产厂家 //生产厂家
udiProductEntity.setManufactory(ybDrug.getCompanyNameSc()); udiProductEntity.setManufactory(ybDrug.getCompanyNameSc());
//商品条码 essentialDrugMarkName sptm //商品条码 essentialDrugMarkName sptm
// udiProductEntity.setSptm(ybDrug.getBusinessLicense()); // udiProductEntity.setSptm(ybDrug.getBusinessLicense());
udiProductEntity.setPrepnUnit(ybDrug.getRealityMedicinemodel()); udiProductEntity.setPrepnUnit(ybDrug.getRealityMedicinemodel());
} else { } else {
udiProductEntity.setCpmctymc(thrProductsEntity.getName()); udiProductEntity.setCpmctymc(thrProductsEntity.getName());
} }
udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); udiProductEntity.setNameCode(thirdAliDrug.getNameCode());
// 数据处理 // 数据处理
udiProductEntity.setPrepnSpec(CopyUtils.copyNullStr(udiProductEntity.getPrepnSpec(), thirdAliDrug.getFormSpec())); udiProductEntity.setPrepnSpec(CopyUtils.copyNullStr(udiProductEntity.getPrepnSpec(), thirdAliDrug.getFormSpec()));
udiProductEntity.setZczbhhzbapzbh(CopyUtils.copyNullStr(udiProductEntity.getZczbhhzbapzbh(), thirdAliDrug.getApprovalNum())); udiProductEntity.setZczbhhzbapzbh(CopyUtils.copyNullStr(udiProductEntity.getZczbhhzbapzbh(), thirdAliDrug.getApprovalNum()));
udiProductEntity.setCpmctymc(CopyUtils.copyNullStr(udiProductEntity.getCpmctymc(), thirdAliDrug.getCpmctymc())); udiProductEntity.setCpmctymc(CopyUtils.copyNullStr(udiProductEntity.getCpmctymc(), thirdAliDrug.getCpmctymc()));
udiProductEntity.setSpmc(CopyUtils.copyNullStr(udiProductEntity.getSpmc(), thirdAliDrug.getSpmc())); udiProductEntity.setSpmc(CopyUtils.copyNullStr(udiProductEntity.getSpmc(), thirdAliDrug.getSpmc()));
udiProductEntity.setBzgg(CopyUtils.copyNullStr(udiProductEntity.getBzgg(), thirdAliDrug.getBzgg())); udiProductEntity.setBzgg(CopyUtils.copyNullStr(udiProductEntity.getBzgg(), thirdAliDrug.getBzgg()));
udiProductEntity.setPackRatio(CopyUtils.copyNullStr(udiProductEntity.getPackRatio(), thirdAliDrug.getPackRatio())); udiProductEntity.setPackRatio(CopyUtils.copyNullStr(udiProductEntity.getPackRatio(), thirdAliDrug.getPackRatio()));
// udiProductEntity.setMatrial(ybDrug.getMaterialName()); // udiProductEntity.setMatrial(ybDrug.getMaterialName());
// udiProductEntity.setPackMatrial(ybDrug.getMaterialName()); // udiProductEntity.setPackMatrial(ybDrug.getMaterialName());
// udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType())); // udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType()));
//最小产品单位 //最小产品单位
udiProductEntity.setPackUnit(CopyUtils.copyNullStr(udiProductEntity.getPackUnit(), thirdAliDrug.getPackUnitName())); udiProductEntity.setPackUnit(CopyUtils.copyNullStr(udiProductEntity.getPackUnit(), thirdAliDrug.getPackUnitName()));
//设置最小产品数量 //设置最小产品数量
// udiProductEntity.setBhxjsl(ybDrug.getFactor()); // udiProductEntity.setBhxjsl(ybDrug.getFactor());
//生产厂家 //生产厂家
// udiProductEntity.setManufactory(thirdAliDrug.getManufacturer()); // udiProductEntity.setManufactory(thirdAliDrug.getManufacturer());
//商品条码 essentialDrugMarkName sptm //商品条码 essentialDrugMarkName sptm
// udiProductEntity.setSptm(ybDrug.getBusinessLicense()); // udiProductEntity.setSptm(ybDrug.getBusinessLicense());
udiProductEntity.setPrepnUnit(CopyUtils.copyNullStr(udiProductEntity.getPrepnUnit(), thirdAliDrug.getPrepnUnitName())); udiProductEntity.setPrepnUnit(CopyUtils.copyNullStr(udiProductEntity.getPrepnUnit(), thirdAliDrug.getPrepnUnitName()));
List<Integer> integers = new ArrayList<>(); List<Integer> integers = new ArrayList<>();
if (StrUtil.isNotEmpty(thirdAliDrug.getPackRatio())) { if (StrUtil.isNotEmpty(thirdAliDrug.getPackRatio())) {
integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio());
} }
udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel()); udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel());
try { try {
udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1));
} catch (IndexOutOfBoundsException e) { } catch (IndexOutOfBoundsException e) {
e.printStackTrace(); e.printStackTrace();
Log.error("计算包装级别出错" + thirdAliDrug.getPackLevel() + "---" + integers + "-----" + thirdAliDrug.toString()); Log.error("计算包装级别出错" + thirdAliDrug.getPackLevel() + "---" + integers + "-----" + thirdAliDrug.toString());
udiProductEntity.setBhxjsl(0); udiProductEntity.setBhxjsl(0);
} }
if (IntUtil.value(udiProductEntity.getBhxjsl()) == 0) { if (IntUtil.value(udiProductEntity.getBhxjsl()) == 0) {
udiProductEntity.setBhxjsl(IntUtil.value(ybDrug.getFactor())); udiProductEntity.setBhxjsl(IntUtil.value(ybDrug.getFactor()));
} }
if (IntUtil.value(thirdAliDrug.getPackLevel()) == 1) { if (IntUtil.value(thirdAliDrug.getPackLevel()) == 1) {
udiProductEntity.setXjdw(ybDrug.getMinUnit()); udiProductEntity.setXjdw(ybDrug.getMinUnit());
if (DimaUtil.trMinCount(thirdAliDrug.getBzgg()) != null) { if (DimaUtil.trMinCount(thirdAliDrug.getBzgg()) != null) {
udiProductEntity.setBhxjsl(DimaUtil.trMinCount(thirdAliDrug.getBzgg())); udiProductEntity.setBhxjsl(DimaUtil.trMinCount(thirdAliDrug.getBzgg()));
} else } else
udiProductEntity.setBhxjsl(ybDrug.getFactor()); udiProductEntity.setBhxjsl(ybDrug.getFactor());
} else { } else {
udiProductEntity.setXjdw(thirdAliDrug.getPrepnUnitName()); udiProductEntity.setXjdw(thirdAliDrug.getPrepnUnitName());
} }
if (thirdAliDrug.getPackLevel() != null && !thirdAliDrug.getPackLevel().equals("0")) { if (thirdAliDrug.getPackLevel() != null && !thirdAliDrug.getPackLevel().equals("0")) {
udiProductEntity.setDiType(IntUtil.value(thirdAliDrug.getPackLevel()) == 1 ? 1 : 4); udiProductEntity.setDiType(IntUtil.value(thirdAliDrug.getPackLevel()) == 1 ? 1 : 4);
} else { } else {
udiProductEntity.setDiType(1); udiProductEntity.setDiType(1);
} }
// udiProductEntity.setPackUnit(thirdAliDrug.getPackUnitName()); // udiProductEntity.setPackUnit(thirdAliDrug.getPackUnitName());
udiProductEntity.setId(IdUtil.getSnowflakeNextId()); udiProductEntity.setId(IdUtil.getSnowflakeNextId());
CodeRel codeRel = new CodeRel();
codeRel.setDrugCode(thirdAliDrug.getNameCode());
codeRel.setUpdateTime(new Date());
codeRel.setYbbm(ybDrug.getGoodsCode());
codeRel.setPackUnit(udiProductEntity.getPackUnit());
codeRel.setBhxjsl(udiProductEntity.getBhxjsl());
codeRel.setXjdw(udiProductEntity.getXjdw());
codeRel.setYbBzgg(udiProductEntity.getBzgg());
codeRelArrayList.add(codeRel);
// 多码融合存在就以多码融合为准 CodeRel codeRel = new CodeRel();
udiProductEntity.setPackUnit(CopyUtils.copyNullStr(thirdAliDrug.getPackUnit(), udiProductEntity.getPackUnit())); codeRel.setDrugCode(thirdAliDrug.getNameCode());
udiProductEntity.setBhxjsl(CopyUtils.copyNullNum(thirdAliDrug.getBhxjsl(), udiProductEntity.getBhxjsl())); codeRel.setUpdateTime(new Date());
udiProductEntity.setXjdw(CopyUtils.copyNullStr(thirdAliDrug.getXjdw(), udiProductEntity.getXjdw())); codeRel.setYbbm(ybDrug.getGoodsCode());
udiProductEntity.setBzgg(CopyUtils.copyNullStr(thirdAliDrug.getBzgg(), udiProductEntity.getBzgg())); codeRel.setPackUnit(udiProductEntity.getPackUnit());
codeRel.setBhxjsl(udiProductEntity.getBhxjsl());
codeRel.setXjdw(udiProductEntity.getXjdw());
codeRel.setYbBzgg(udiProductEntity.getBzgg());
codeRelArrayList.add(codeRel);
udiProductService.insertUdiInfo(udiProductEntity); // 多码融合存在就以多码融合为准
} udiProductEntity.setPackUnit(CopyUtils.copyNullStr(thirdAliDrug.getPackUnit(), udiProductEntity.getPackUnit()));
udiProductEntity.setBhxjsl(CopyUtils.copyNullNum(thirdAliDrug.getBhxjsl(), udiProductEntity.getBhxjsl()));
udiProductEntity.setXjdw(CopyUtils.copyNullStr(thirdAliDrug.getXjdw(), udiProductEntity.getXjdw()));
udiProductEntity.setBzgg(CopyUtils.copyNullStr(thirdAliDrug.getBzgg(), udiProductEntity.getBzgg()));
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); udiProductService.insertUdiInfo(udiProductEntity);
try { }
udiRelevanceEntity.setDetailSort(Integer.valueOf(thirdAliDrugList.get(0).getPhysicDetailType()));
detailSort = udiRelevanceEntity.getDetailSort();
} catch (Exception e) {
log.error("明细分类转换出现错误" + e.getMessage());
}
udiRelevanceService.update(udiRelevanceEntity, new QueryWrapper<UdiRelevanceEntity>()
.eq("uuid", thirdAliDrugRequest.getUuid())
);
udiContrastService.codeRelUpdateBatch(codeRelArrayList);
return ResultVOUtils.success(detailSort);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
try {
udiRelevanceEntity.setDetailSort(Integer.valueOf(thirdAliDrugList.get(0).getPhysicDetailType()));
detailSort = udiRelevanceEntity.getDetailSort();
} catch (Exception e) {
log.error("明细分类转换出现错误" + e.getMessage());
} }
udiRelevanceService.update(udiRelevanceEntity, new QueryWrapper<UdiRelevanceEntity>()
.eq("uuid", thirdAliDrugRequest.getUuid())
);
udiContrastService.codeRelUpdateBatch(codeRelArrayList);
return ResultVOUtils.success(detailSort);
} }
// } // }
return ResultVOUtils.error("获取错误"); return ResultVOUtils.error("获取错误");

@ -137,7 +137,7 @@ public class AlihealthUtils {
// 设置结果 // 设置结果
if (!resultList.isEmpty()) { if (!resultList.isEmpty()) {
ResultVOUtils.success(resultList); return ResultVOUtils.success(resultList);
} }
return listBaseResponse; return listBaseResponse;
} }

@ -0,0 +1,15 @@
package com.glxp.api.util.alihealth;
import java.util.ArrayList;
import java.util.List;
public class PaginationUtil {
public static <T> List<T> getPage(List<T> list, int pageNumber, int pageSize) {
int startIndex = (pageNumber - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, list.size());
if (startIndex >= list.size()) {
return new ArrayList<>();
}
return list.subList(startIndex, endIndex);
}
}

@ -77,7 +77,7 @@
from third_ali_drug from third_ali_drug
<where> <where>
<if test="cpmctymc != '' and cpmctymc != null"> <if test="cpmctymc != '' and cpmctymc != null">
AND cpmctymc LIKE concat('%', #{cpmctymc}, '%') AND cpmctymc LIKE concat( #{cpmctymc}, '%')
</if> </if>
<if test="nameCode != '' and nameCode != null"> <if test="nameCode != '' and nameCode != null">
AND nameCode LIKE concat('%', #{nameCode}, '%') AND nameCode LIKE concat('%', #{nameCode}, '%')

Loading…
Cancel
Save