|
|
|
@ -70,6 +70,7 @@ import com.glxp.mipsdl.service.yb.YbClient;
|
|
|
|
|
import com.glxp.mipsdl.thirddao.ctqyy.*;
|
|
|
|
|
import com.glxp.mipsdl.thirddao.scpwxyy.A003Mapper;
|
|
|
|
|
import com.glxp.mipsdl.thirddao.scpwxyy.A010detailMapper;
|
|
|
|
|
import com.glxp.mipsdl.thirddao.scpwxyy.A011detailMapper;
|
|
|
|
|
import com.glxp.mipsdl.util.*;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.dom4j.Document;
|
|
|
|
@ -158,12 +159,20 @@ public class ScpwxyyClient extends CommonHttpClient {
|
|
|
|
|
@Resource
|
|
|
|
|
private A008Service a008Service;
|
|
|
|
|
@Resource
|
|
|
|
|
private A013Service a013Service;
|
|
|
|
|
@Resource
|
|
|
|
|
private A014Service a014Service;
|
|
|
|
|
@Resource
|
|
|
|
|
private A005Service a005Service;
|
|
|
|
|
@Resource
|
|
|
|
|
private A010headService a010headService;
|
|
|
|
|
@Resource
|
|
|
|
|
private A011headService a011headService;
|
|
|
|
|
@Resource
|
|
|
|
|
private A010detailMapper a010detailMapper;
|
|
|
|
|
@Resource
|
|
|
|
|
private A011detailMapper a011detailMapper;
|
|
|
|
|
@Resource
|
|
|
|
|
private A003Mapper a003Mapper;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -420,35 +429,33 @@ public class ScpwxyyClient extends CommonHttpClient {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public BaseResponse getSickPescribe(GetSickPrescribeRequest getSickPrescribeRequest) {
|
|
|
|
|
CtqyyRequest ctqyyRequest = new CtqyyRequest();
|
|
|
|
|
ctqyyRequest.setMsgHeader(getMsgHeader("getResiPresInfo"));
|
|
|
|
|
getSickPrescribeRequest.setResiNo(getSickPrescribeRequest.getAdNum());
|
|
|
|
|
getSickPrescribeRequest.setAdNum(null);
|
|
|
|
|
ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(getSickPrescribeRequest));
|
|
|
|
|
String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(Constants.URI_GET_SICKER_PRESCIRBE), ctqyyRequest);
|
|
|
|
|
response = parserResult(response);
|
|
|
|
|
try {
|
|
|
|
|
BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class);
|
|
|
|
|
Map map = (Map) baseResponse.getData();
|
|
|
|
|
List<BasicSkPrescribeResponse> basicSkPrescribeResponses = JSON.parseArray(map.get("list") + "", BasicSkPrescribeResponse.class);
|
|
|
|
|
for (BasicSkPrescribeResponse basicSkPrescribeResponse : basicSkPrescribeResponses) {
|
|
|
|
|
List<BasicSkPrescribeItemEntity> itemEntities = basicSkPrescribeResponse.getItemList();
|
|
|
|
|
if (CollUtil.isNotEmpty(itemEntities)) {
|
|
|
|
|
for (BasicSkPrescribeItemEntity itemEntity : itemEntities) {
|
|
|
|
|
itemEntity.setCount("0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
map.put("list", JSON.toJSON(basicSkPrescribeResponses));
|
|
|
|
|
baseResponse.setData("");
|
|
|
|
|
baseResponse.setData(map);
|
|
|
|
|
return baseResponse;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("解析四川平武县医院智业返回处方信息数据异常,返回结果:{}", response);
|
|
|
|
|
log.error("异常信息:{}", e);
|
|
|
|
|
return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")");
|
|
|
|
|
if (IntUtil.value(getSickPrescribeRequest.getInOutType()) == 1) {
|
|
|
|
|
List<A014> list = a014Service.list(new LambdaQueryWrapper<A014>()
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getCode()), A014::getApplyNo, getSickPrescribeRequest.getCode())
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getSickCode()), A014::getSickId, getSickPrescribeRequest.getSickCode())
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getSickName()), A014::getPsnName, getSickPrescribeRequest.getSickName())
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getIdNum()), A014::getCertno, getSickPrescribeRequest.getIdNum())
|
|
|
|
|
);
|
|
|
|
|
log.info("解析四川武平县医院返回患者处方退费信息,返回结果:{}", list);
|
|
|
|
|
PageInfo<A014> pageInfo = new PageInfo<>(list);
|
|
|
|
|
PageSimpleResponse<A014> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(list);
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
}else {
|
|
|
|
|
List<A013> list = a013Service.list(new LambdaQueryWrapper<A013>()
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getCode()), A013::getApplyNo, getSickPrescribeRequest.getCode())
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getSickCode()), A013::getSickId, getSickPrescribeRequest.getSickCode())
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getSickName()), A013::getPsnName, getSickPrescribeRequest.getSickName())
|
|
|
|
|
.like(StrUtil.isNotBlank(getSickPrescribeRequest.getIdNum()), A013::getCertno, getSickPrescribeRequest.getIdNum())
|
|
|
|
|
);
|
|
|
|
|
log.info("解析四川武平县医院返回患者处方信息,返回结果:{}", list);
|
|
|
|
|
PageInfo<A013> pageInfo = new PageInfo<>(list);
|
|
|
|
|
PageSimpleResponse<A013> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(list);
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1417,27 +1424,35 @@ public class ScpwxyyClient extends CommonHttpClient {
|
|
|
|
|
|
|
|
|
|
return this.covertSellOrder(udiwmsBasicSkPrescribeRequest, pageInfo);
|
|
|
|
|
} else {
|
|
|
|
|
LambdaQueryWrapper<VInsurNationGoodsReturn> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
LambdaQueryWrapper<A011head> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
|
|
|
|
|
String startTime = udiwmsBasicSkPrescribeRequest.getStartTime();
|
|
|
|
|
String endTime = udiwmsBasicSkPrescribeRequest.getEndTime();
|
|
|
|
|
wrapper.ge(StrUtil.isNotEmpty(startTime), VInsurNationGoodsReturn::getSEL_RETN_TIME, startTime);
|
|
|
|
|
wrapper.le(StrUtil.isNotEmpty(endTime), VInsurNationGoodsReturn::getSEL_RETN_TIME, endTime);
|
|
|
|
|
wrapper.ge(StrUtil.isNotEmpty(startTime), A011head::getPrescribedate, startTime);
|
|
|
|
|
wrapper.le(StrUtil.isNotEmpty(endTime), A011head::getPrescribedate, endTime);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String code = udiwmsBasicSkPrescribeRequest.getCode();
|
|
|
|
|
String fromCorpName = udiwmsBasicSkPrescribeRequest.getFromCorpName();
|
|
|
|
|
String key = udiwmsBasicSkPrescribeRequest.getKey();
|
|
|
|
|
wrapper.and(StrUtil.isNotEmpty(key), t -> t.like(VInsurNationGoodsReturn::getAPPLY_NO, key)
|
|
|
|
|
.or().like(VInsurNationGoodsReturn::getPSN_NAME, key)
|
|
|
|
|
.or().like(VInsurNationGoodsReturn::getPSN_NO, key)
|
|
|
|
|
wrapper.and(StrUtil.isNotEmpty(key), t -> t.like(A011head::getCode, key)
|
|
|
|
|
.or().like(A011head::getSickcode, key)
|
|
|
|
|
// .or().like(A011head::getSettleno, key)
|
|
|
|
|
);
|
|
|
|
|
wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(VInsurNationGoodsReturn::getAPPLY_NO, code));
|
|
|
|
|
wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(VInsurNationGoodsReturn::getPSN_NAME, fromCorpName));
|
|
|
|
|
//拉取处方退货时,改成拉取v_ypzs_pres_info_return
|
|
|
|
|
IPage<VYpzsPresInfoReturn> page = vYpzsPresInfoReturnMapper.selectGroupedWithPagination(new Page<VYpzsPresInfoReturn>(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()),
|
|
|
|
|
udiwmsBasicSkPrescribeRequest);
|
|
|
|
|
return this.covertReturnOrder(udiwmsBasicSkPrescribeRequest, page);
|
|
|
|
|
wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(A011head::getCode, code));
|
|
|
|
|
wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(A011head::getDeptname, fromCorpName));
|
|
|
|
|
|
|
|
|
|
if (null != udiwmsBasicSkPrescribeRequest.getPage() && null != udiwmsBasicSkPrescribeRequest.getLimit()) {
|
|
|
|
|
PageHelper.offsetPage((udiwmsBasicSkPrescribeRequest.getPage() - 1) * udiwmsBasicSkPrescribeRequest.getLimit(), udiwmsBasicSkPrescribeRequest.getLimit());
|
|
|
|
|
}
|
|
|
|
|
List<A011head> list = a011headService.list(wrapper);
|
|
|
|
|
PageInfo<A011head> pageInfo = new PageInfo<>(list);
|
|
|
|
|
PageSimpleResponse<A011head> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(list);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return this.covertReturnOrder(udiwmsBasicSkPrescribeRequest, pageInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -1671,152 +1686,161 @@ public class ScpwxyyClient extends CommonHttpClient {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, PageInfo<A010head> pageInfo) {
|
|
|
|
|
List<A010head> presInfoEntities = pageInfo.getList();
|
|
|
|
|
List<VYpzsPresInfo> vInsurNationGoodsPhysics = new ArrayList<>();
|
|
|
|
|
if (CollUtil.isNotEmpty(presInfoEntities)) {
|
|
|
|
|
List<String> collect = presInfoEntities.stream().map(A010head::getCodefk).collect(Collectors.toList());
|
|
|
|
|
LambdaQueryWrapper<VYpzsPresInfo> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
wrapper1.in(VYpzsPresInfo::getPRESCRIBE_NUMBER, collect);
|
|
|
|
|
|
|
|
|
|
= vYpzsPresInfoMapper.selectList(wrapper1);
|
|
|
|
|
}
|
|
|
|
|
List<A010head> headList = pageInfo.getList();
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(headList)) {
|
|
|
|
|
List<String> codefks = headList.stream().map(A010head::getCodefk).collect(Collectors.toList());
|
|
|
|
|
LambdaQueryWrapper<A010detail> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
wrapper1.in(A010detail::getCodefk, codefks);
|
|
|
|
|
List<A010detail> a010details = a010detailMapper.selectList(wrapper1);
|
|
|
|
|
Map<String, List<A010detail>> detailsMap = new HashMap<>();
|
|
|
|
|
if (CollUtil.isNotEmpty(a010details)) {
|
|
|
|
|
detailsMap = a010details.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(A010detail::getCodefk));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO: 2024/9/19 这边在转换的时候就不能用VInsurNationGoodsPhysic
|
|
|
|
|
if (CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) {
|
|
|
|
|
Map<String, List<VYpzsPresInfo>> groupedByPrescribeNumber = vInsurNationGoodsPhysics.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(VYpzsPresInfo::getPHYSIC_CODE));
|
|
|
|
|
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
|
|
|
|
|
groupedByPrescribeNumber.forEach((key, value) -> {
|
|
|
|
|
VYpzsPresInfo presInfoEntity = value.get(0);
|
|
|
|
|
Map<String, List<A010detail>> finalDetailsMap = detailsMap;
|
|
|
|
|
headList.forEach(headItem -> {
|
|
|
|
|
|
|
|
|
|
StringBuilder errorMsg = new StringBuilder();
|
|
|
|
|
IoCollectOrder ioCollectOrder = new IoCollectOrder();
|
|
|
|
|
ioCollectOrder.setBillNo(presInfoEntity.getPRESCRIBE_NUMBER());
|
|
|
|
|
ioCollectOrder.setBillNo(headItem.getCode());
|
|
|
|
|
ioCollectOrder.setFromType("HIS系统");
|
|
|
|
|
ioCollectOrder.setFromCorp(presInfoEntity.getSICK_ID());
|
|
|
|
|
ioCollectOrder.setFromCorp(headItem.getDeptcode());
|
|
|
|
|
ioCollectOrder.setWorkPlaceCode(udiwmsBasicSkPrescribeRequest.getWorkPlaceCode());
|
|
|
|
|
ioCollectOrder.setFromCorpName(presInfoEntity.getSICK_NAME());
|
|
|
|
|
Date date = DateUtil.parseDate(presInfoEntity.getLAY_TIME());
|
|
|
|
|
ioCollectOrder.setFromCorpName(headItem.getDeptname());
|
|
|
|
|
Date date = DateUtil.parseDate(headItem.getPrescribedate());
|
|
|
|
|
ioCollectOrder.setBillTime(date);
|
|
|
|
|
ioCollectOrder.setCreateTime(new Date());
|
|
|
|
|
ioCollectOrder.setCreateUser(udiwmsBasicSkPrescribeRequest.getCreateUser());
|
|
|
|
|
ioCollectOrder.setBackupOrderRemark1(presInfoEntity.getSTOOUT_NO());
|
|
|
|
|
ioCollectOrder.setBackupOrderRemark2(presInfoEntity.getSICK_ID());
|
|
|
|
|
ioCollectOrder.setBackupOrderRemark1(headItem.getRemark());
|
|
|
|
|
// ioCollectOrder.setBackupOrderRemark2(presInfoEntity.getSICK_ID());
|
|
|
|
|
// ioCollectOrder.setBackupOrderRemark3(presInfoEntity.getPSN_NAME());
|
|
|
|
|
// ioCollectOrder.setBackupOrderRemark4(presInfoEntity.getPSN_NO());
|
|
|
|
|
ioCollectOrder.setUpdateTime(new Date());
|
|
|
|
|
ioCollectOrder.setSplitStatus(0);
|
|
|
|
|
ioCollectOrder.setTagStatus(0);
|
|
|
|
|
|
|
|
|
|
List<A010detail> itemDetails = finalDetailsMap.get(headItem.getCodefk());
|
|
|
|
|
List<IoCollectOrderBiz> bizList = new ArrayList<>();
|
|
|
|
|
value.forEach(entity -> {
|
|
|
|
|
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
|
|
|
|
|
List<BasicUdirelEntity> basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper<BasicUdirelEntity>().eq(BasicUdirelEntity::getMainId, entity.getPHYSIC_CODE()));
|
|
|
|
|
if (CollUtil.isNotEmpty(basicUdirelEntities)) {
|
|
|
|
|
BasicUdirelEntity basicUdirelEntity = basicUdirelEntities.get(0);
|
|
|
|
|
collectOrderBiz.setRelId(basicUdirelEntity.getId());
|
|
|
|
|
} else {
|
|
|
|
|
errorMsg.append(entity.getPHYSIC_NAME()).append("字典未对照").append(";");
|
|
|
|
|
}
|
|
|
|
|
if (CollUtil.isNotEmpty(itemDetails)) {
|
|
|
|
|
itemDetails.forEach(entity -> {
|
|
|
|
|
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
|
|
|
|
|
List<BasicUdirelEntity> basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper<BasicUdirelEntity>().eq(BasicUdirelEntity::getMainId, entity.getThrid()));
|
|
|
|
|
if (CollUtil.isNotEmpty(basicUdirelEntities)) {
|
|
|
|
|
BasicUdirelEntity basicUdirelEntity = basicUdirelEntities.get(0);
|
|
|
|
|
collectOrderBiz.setRelId(basicUdirelEntity.getId());
|
|
|
|
|
} else {
|
|
|
|
|
errorMsg.append(entity.getItemname()).append("字典未对照").append(";");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
collectOrderBiz.setGgxh(entity.getBzgg());
|
|
|
|
|
collectOrderBiz.setMeasureUnit(entity.getMeasureunit());
|
|
|
|
|
collectOrderBiz.setCount(IntUtil.value(entity.getCount()));
|
|
|
|
|
collectOrderBiz.setThrCode(entity.getThrid());
|
|
|
|
|
collectOrderBiz.setCpmctymc(entity.getItemname());
|
|
|
|
|
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
|
|
|
|
|
|
|
|
|
|
collectOrderBiz.setRemark1(entity.getRemark());
|
|
|
|
|
collectOrderBiz.setNameCode(entity.getItemcode());
|
|
|
|
|
collectOrderBiz.setTagStatus(1);
|
|
|
|
|
collectOrderBiz.setUnTagCount(0);
|
|
|
|
|
bizList.add(collectOrderBiz);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// List<VYpzsPresInfo> vYpzsPresInfos = vYpzsPresInfoMapper.selectList(new LambdaQueryWrapper<VYpzsPresInfo>().eq(VYpzsPresInfo::getPRESCRIBE_NUMBER, entity.getPRESCRIBE_NUMBER()).eq(VYpzsPresInfo::getPHYSIC_CODE, entity.getPHYSIC_CODE()));
|
|
|
|
|
|
|
|
|
|
// if (CollUtil.isNotEmpty(vYpzsPresInfos)) {
|
|
|
|
|
// VYpzsPresInfo vYpzsPresInfo = vYpzsPresInfos.get(0);
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
collectOrderBiz.setGgxh(entity.getPACK_SPEC());
|
|
|
|
|
collectOrderBiz.setMeasureUnit(entity.getPHYSIC_UNIT());
|
|
|
|
|
collectOrderBiz.setCount(IntUtil.value(entity.getLAY_PHYSIC_QUANTITY()));
|
|
|
|
|
collectOrderBiz.setThrCode(entity.getPHYSIC_CODE());
|
|
|
|
|
collectOrderBiz.setCpmctymc(entity.getPHYSIC_NAME());
|
|
|
|
|
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
|
|
|
|
|
collectOrderBiz.setYbbm(entity.getCOUNTRY_CODE());
|
|
|
|
|
// collectOrderBiz.setRemark1(entity.get() + "");
|
|
|
|
|
|
|
|
|
|
collectOrderBiz.setTagStatus(1);
|
|
|
|
|
collectOrderBiz.setUnTagCount(0);
|
|
|
|
|
bizList.add(collectOrderBiz);
|
|
|
|
|
});
|
|
|
|
|
if (StrUtil.isNotBlank(errorMsg)) {
|
|
|
|
|
ioCollectOrder.setErrorMsg(errorMsg.toString());
|
|
|
|
|
ioCollectOrder.setTagStatus(4);
|
|
|
|
|
}
|
|
|
|
|
ioCollectOrder.setBizList(bizList);
|
|
|
|
|
ioCollectOrders.add(ioCollectOrder);
|
|
|
|
|
if (StrUtil.isNotBlank(errorMsg)) {
|
|
|
|
|
ioCollectOrder.setErrorMsg(errorMsg.toString());
|
|
|
|
|
ioCollectOrder.setTagStatus(4);
|
|
|
|
|
}
|
|
|
|
|
ioCollectOrder.setBizList(bizList);
|
|
|
|
|
ioCollectOrders.add(ioCollectOrder);
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
PageSimpleResponse<IoCollectOrder> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(page.getTotal());
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(ioCollectOrders);
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
} else {
|
|
|
|
|
return ResultVOUtils.error(500, "下载失败!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private BaseResponse covertReturnOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VYpzsPresInfoReturn> page) {
|
|
|
|
|
List<VYpzsPresInfoReturn> presInfoEntities = page.getRecords();
|
|
|
|
|
List<VYpzsPresInfoReturn> vInsurNationGoodsReturns = new ArrayList<>();
|
|
|
|
|
if (CollUtil.isNotEmpty(presInfoEntities)) {
|
|
|
|
|
List<String> collect = presInfoEntities.stream().map(VYpzsPresInfoReturn::getAPPLY_NO).collect(Collectors.toList());
|
|
|
|
|
LambdaQueryWrapper<VYpzsPresInfoReturn> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
wrapper1.in(VYpzsPresInfoReturn::getAPPLY_NO, collect);
|
|
|
|
|
vInsurNationGoodsReturns = vYpzsPresInfoReturnMapper.selectList(wrapper1);
|
|
|
|
|
}
|
|
|
|
|
// TODO: 2024/9/19 这边在转换的时候就不能用vInsurNationGoodsReturns
|
|
|
|
|
if (CollUtil.isNotEmpty(vInsurNationGoodsReturns)) {
|
|
|
|
|
Map<String, List<VYpzsPresInfoReturn>> groupedByPrescribeNumber = vInsurNationGoodsReturns.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(VYpzsPresInfoReturn::getAPPLY_NO));
|
|
|
|
|
private BaseResponse covertReturnOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, PageInfo<A011head> pageInfo) {
|
|
|
|
|
List<A011head> headList = pageInfo.getList();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(headList)) {
|
|
|
|
|
List<String> codefks = headList.stream().map(A011head::getCodefk).collect(Collectors.toList());
|
|
|
|
|
LambdaQueryWrapper<A011detail> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
wrapper1.in(A011detail::getCodefk, codefks);
|
|
|
|
|
List<A011detail> a011details = a011detailMapper.selectList(wrapper1);
|
|
|
|
|
Map<String, List<A011detail>> detailsMap = new HashMap<>();
|
|
|
|
|
if (CollUtil.isNotEmpty(a011details)) {
|
|
|
|
|
detailsMap = a011details.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(A011detail::getCodefk));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
|
|
|
|
|
groupedByPrescribeNumber.forEach((key, value) -> {
|
|
|
|
|
VYpzsPresInfoReturn presInfoEntity = value.get(0);
|
|
|
|
|
Map<String, List<A011detail>> finalDetailsMap = detailsMap;
|
|
|
|
|
headList.forEach(headItem -> {
|
|
|
|
|
|
|
|
|
|
StringBuilder errorMsg = new StringBuilder();
|
|
|
|
|
IoCollectOrder ioCollectOrder = new IoCollectOrder();
|
|
|
|
|
ioCollectOrder.setBillNo(presInfoEntity.getAPPLY_NO());
|
|
|
|
|
ioCollectOrder.setBillNo(headItem.getCode());
|
|
|
|
|
ioCollectOrder.setFromType("HIS系统");
|
|
|
|
|
ioCollectOrder.setFromCorp(presInfoEntity.getSICK_ID());
|
|
|
|
|
ioCollectOrder.setFromCorp(headItem.getDeptcode());
|
|
|
|
|
ioCollectOrder.setWorkPlaceCode(udiwmsBasicSkPrescribeRequest.getWorkPlaceCode());
|
|
|
|
|
ioCollectOrder.setFromCorpName(presInfoEntity.getSICK_NAME());
|
|
|
|
|
// Date date = DateUtil.parseDate(presInfoEntity.get());
|
|
|
|
|
ioCollectOrder.setBillTime(presInfoEntity.getKEEP_BOOK_TIME());
|
|
|
|
|
ioCollectOrder.setFromCorpName(headItem.getDeptname());
|
|
|
|
|
Date date = DateUtil.parseDate(headItem.getPrescribedate());
|
|
|
|
|
ioCollectOrder.setBillTime(date);
|
|
|
|
|
ioCollectOrder.setCreateTime(new Date());
|
|
|
|
|
ioCollectOrder.setCreateUser(udiwmsBasicSkPrescribeRequest.getCreateUser());
|
|
|
|
|
ioCollectOrder.setUpdateTime(new Date());
|
|
|
|
|
ioCollectOrder.setSplitStatus(0);
|
|
|
|
|
ioCollectOrder.setTagStatus(0);
|
|
|
|
|
|
|
|
|
|
List<IoCollectOrderBiz> bizList = new ArrayList<>();
|
|
|
|
|
value.forEach(entity -> {
|
|
|
|
|
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
|
|
|
|
|
BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectOne(new LambdaQueryWrapper<BasicUdirelEntity>().eq(BasicUdirelEntity::getMainId, entity.getPHYSIC_CODE()));
|
|
|
|
|
if (basicUdirelEntity != null) {
|
|
|
|
|
collectOrderBiz.setRelId(basicUdirelEntity.getId());
|
|
|
|
|
} else {
|
|
|
|
|
errorMsg.append(entity.getPHYSIC_NAME()).append("字典未对照").append(";");
|
|
|
|
|
}
|
|
|
|
|
List<VYpzsPresInfoReturn> vYpzsPresInfoReturns = vYpzsPresInfoReturnMapper.selectList(new LambdaQueryWrapper<VYpzsPresInfoReturn>().eq(VYpzsPresInfoReturn::getAPPLY_NO, entity.getAPPLY_NO()).eq(VYpzsPresInfoReturn::getPHYSIC_CODE, entity.getPHYSIC_CODE()));
|
|
|
|
|
List<A011detail> itemDetails = finalDetailsMap.get(headItem.getCodefk());
|
|
|
|
|
if (CollUtil.isNotEmpty(itemDetails)) {
|
|
|
|
|
itemDetails.forEach(entity -> {
|
|
|
|
|
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
|
|
|
|
|
List<BasicUdirelEntity> basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper<BasicUdirelEntity>().eq(BasicUdirelEntity::getMainId, entity.getThrid()));
|
|
|
|
|
if (CollUtil.isNotEmpty(basicUdirelEntities)) {
|
|
|
|
|
BasicUdirelEntity basicUdirelEntity = basicUdirelEntities.get(0);
|
|
|
|
|
collectOrderBiz.setRelId(basicUdirelEntity.getId());
|
|
|
|
|
} else {
|
|
|
|
|
errorMsg.append(entity.getItemname()).append("字典未对照").append(";");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(vYpzsPresInfoReturns)) {
|
|
|
|
|
VYpzsPresInfoReturn vYpzsPresInfo = vYpzsPresInfoReturns.get(0);
|
|
|
|
|
collectOrderBiz.setGgxh(vYpzsPresInfo.getPHYSIC_SPEC());
|
|
|
|
|
collectOrderBiz.setMeasureUnit(vYpzsPresInfo.getPHYSIC_UNIT());
|
|
|
|
|
}
|
|
|
|
|
collectOrderBiz.setThrCode(entity.getPHYSIC_CODE());
|
|
|
|
|
collectOrderBiz.setCpmctymc(entity.getPHYSIC_NAME());
|
|
|
|
|
// collectOrderBiz.setBatchNo(entity.getBATCH_NUMBER());
|
|
|
|
|
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
|
|
|
|
|
collectOrderBiz.setYbbm(entity.getFEE_SEQUENCE_NO());
|
|
|
|
|
collectOrderBiz.setCount(entity.getQUANTITY());
|
|
|
|
|
collectOrderBiz.setTagStatus(1);
|
|
|
|
|
collectOrderBiz.setUnTagCount(0);
|
|
|
|
|
bizList.add(collectOrderBiz);
|
|
|
|
|
});
|
|
|
|
|
if (StrUtil.isNotBlank(errorMsg)) {
|
|
|
|
|
ioCollectOrder.setErrorMsg(errorMsg.toString());
|
|
|
|
|
ioCollectOrder.setTagStatus(4);
|
|
|
|
|
collectOrderBiz.setGgxh(entity.getBzgg());
|
|
|
|
|
collectOrderBiz.setMeasureUnit(entity.getMeasureunit());
|
|
|
|
|
collectOrderBiz.setCount(IntUtil.value(entity.getCount()));
|
|
|
|
|
collectOrderBiz.setThrCode(entity.getThrid());
|
|
|
|
|
collectOrderBiz.setCpmctymc(entity.getItemname());
|
|
|
|
|
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
|
|
|
|
|
|
|
|
|
|
collectOrderBiz.setRemark1(entity.getRemark());
|
|
|
|
|
collectOrderBiz.setNameCode(entity.getItemcode());
|
|
|
|
|
collectOrderBiz.setTagStatus(1);
|
|
|
|
|
collectOrderBiz.setUnTagCount(0);
|
|
|
|
|
bizList.add(collectOrderBiz);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
ioCollectOrder.setBizList(bizList);
|
|
|
|
|
ioCollectOrders.add(ioCollectOrder);
|
|
|
|
|
if (StrUtil.isNotBlank(errorMsg)) {
|
|
|
|
|
ioCollectOrder.setErrorMsg(errorMsg.toString());
|
|
|
|
|
ioCollectOrder.setTagStatus(4);
|
|
|
|
|
}
|
|
|
|
|
ioCollectOrder.setBizList(bizList);
|
|
|
|
|
ioCollectOrders.add(ioCollectOrder);
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
PageSimpleResponse<IoCollectOrder> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(page.getTotal());
|
|
|
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
|
|
|
pageSimpleResponse.setList(ioCollectOrders);
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
|
} else {
|
|
|
|
|