diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 66b213e5b..cab5c45e6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -347,7 +347,7 @@ public class IoOrderDetailResultController extends BaseController { ioOrderDetailResultData.put("productDate", ioOrderDetailResultResponse.getProductDate() == null ? ' ' : ioOrderDetailResultResponse.getProductDate()); ioOrderDetailResultData.put("expireDate", ioOrderDetailResultResponse.getExpireDate() == null ? ' ' : ioOrderDetailResultResponse.getExpireDate()); ioOrderDetailResultData.put("coName", ioOrderDetailResultResponse.getCoName() == null ? ' ' : ioOrderDetailResultResponse.getCoName()); - ioOrderDetailResultData.put("corpName", ioOrderDetailResultResponse.getCorpName()== null ? ' ' : ioOrderDetailResultResponse.getCorpName()); + ioOrderDetailResultData.put("corpName", ioOrderDetailResultResponse.getCorpName() == null ? ' ' : ioOrderDetailResultResponse.getCorpName()); ioOrderDetailResultData.put("certCode", ioOrderDetailResultResponse.getCertCode() == null ? ' ' : ioOrderDetailResultResponse.getCertCode()); ioOrderDetailResultData.put("ylqxzcrbarmc", ioOrderDetailResultResponse.getYlqxzcrbarmc() == null ? ' ' : ioOrderDetailResultResponse.getYlqxzcrbarmc()); ioOrderDetailResultData.put("manufacturer", ioOrderDetailResultResponse.getManufacturer() == null ? ' ' : ioOrderDetailResultResponse.getManufacturer()); @@ -364,12 +364,12 @@ public class IoOrderDetailResultController extends BaseController { ioOrderDetailResultData.put("auditTime", ioOrderDetailResultResponse.getAuditTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getAuditTime())); ioOrderDetailResultData.put("confirmTime", ioOrderDetailResultResponse.getConfirmTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getConfirmTime())); ioOrderDetailResultData.put("locInvName", filterOrderDetailResultRequest.getLocInvName() == null ? ' ' : filterOrderDetailResultRequest.getLocInvName()); - ioOrderDetailResultData.put("startAduditTime", filterOrderDetailResultRequest.getStartAduditTime()== null ? ' ' : filterOrderDetailResultRequest.getStartAduditTime()); - ioOrderDetailResultData.put("endAduditTime", filterOrderDetailResultRequest.getEndAduditTime()== null ? ' ' : filterOrderDetailResultRequest.getEndAduditTime()); - ioOrderDetailResultData.put("confirmStarTime", filterOrderDetailResultRequest.getConfirmStarTime()== null ? ' ' : filterOrderDetailResultRequest.getConfirmStarTime()); - ioOrderDetailResultData.put("confirmEndTime", filterOrderDetailResultRequest.getConfirmEndTime()== null ? ' ' : filterOrderDetailResultRequest.getConfirmEndTime()); - ioOrderDetailResultData.put("employeeName", filterOrderDetailResultRequest.getEmployeeName()== null ? ' ' : filterOrderDetailResultRequest.getEmployeeName()); - ioOrderDetailResultData.put("fromInvName", ioOrderDetailResultResponse.getFromInvName()== null ? ' ' : ioOrderDetailResultResponse.getFromInvName()); + ioOrderDetailResultData.put("startAduditTime", filterOrderDetailResultRequest.getStartAduditTime() == null ? ' ' : filterOrderDetailResultRequest.getStartAduditTime()); + ioOrderDetailResultData.put("endAduditTime", filterOrderDetailResultRequest.getEndAduditTime() == null ? ' ' : filterOrderDetailResultRequest.getEndAduditTime()); + ioOrderDetailResultData.put("confirmStarTime", filterOrderDetailResultRequest.getConfirmStarTime() == null ? ' ' : filterOrderDetailResultRequest.getConfirmStarTime()); + ioOrderDetailResultData.put("confirmEndTime", filterOrderDetailResultRequest.getConfirmEndTime() == null ? ' ' : filterOrderDetailResultRequest.getConfirmEndTime()); + ioOrderDetailResultData.put("employeeName", filterOrderDetailResultRequest.getEmployeeName() == null ? ' ' : filterOrderDetailResultRequest.getEmployeeName()); + ioOrderDetailResultData.put("fromInvName", ioOrderDetailResultResponse.getFromInvName() == null ? ' ' : ioOrderDetailResultResponse.getFromInvName()); if (thrProductsEntity != null) { ioOrderDetailResultData.put("cplb", thrProductsEntity.getCplb() == null ? ' ' : thrProductsEntity.getCplb()); } @@ -411,7 +411,7 @@ public class IoOrderDetailResultController extends BaseController { if (detailQuery.getList() != null && detailQuery.getList().size() > 0) { resList = detailQuery.getList(); } else { - resList =deviceInfoMapper.detail(detailQuery); + resList = deviceInfoMapper.detail(detailQuery); } int i = 1; diff --git a/src/main/java/com/glxp/api/req/basic/BasicSkProjectRequest.java b/src/main/java/com/glxp/api/req/basic/BasicSkProjectRequest.java index 7c658b03e..5c6b81c80 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicSkProjectRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicSkProjectRequest.java @@ -57,4 +57,5 @@ public class BasicSkProjectRequest extends ListPageRequest { private Integer type; private Integer status; + private Integer contrastStatus; } diff --git a/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java b/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java index ae0ae9222..b77d98375 100644 --- a/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java +++ b/src/main/java/com/glxp/api/res/basic/BasicSkProjectResponse.java @@ -60,6 +60,6 @@ public class BasicSkProjectResponse { private String unit; private String price; private Integer status; - + private Integer contrastStatus; private List basicSkProjectDetailResponses; } diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java index 610b41d0c..67a7eafaf 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java @@ -55,6 +55,7 @@ import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.UdiCalCountUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.regexp.RE; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -135,14 +136,14 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { thrInvOrderMapper.insert(thrInvOrder); thrInvOrderDetailMapper.insertBatch(thrInvOrderDetails); - //是否自动生成出入库单据 - if (IntUtil.value(systemParamConfigService.selectValueByParamKey("fee_out_auto_gen")) > 0) { - GenerateOrderRequest generateOrderRequest = new GenerateOrderRequest(); - generateOrderRequest.setBillNo(thrInvOrder.getBillNo()); - generateOrderRequest.setAction(thrInvOrder.getBillType()); - generateOrderRequest.setFromCorp(thrInvOrder.getFromCorp()); - generateOrder(generateOrderRequest); - } +// //是否自动生成出入库单据 +// if (IntUtil.value(systemParamConfigService.selectValueByParamKey("fee_out_auto_gen")) > 0) { +// GenerateOrderRequest generateOrderRequest = new GenerateOrderRequest(); +// generateOrderRequest.setBillNo(thrInvOrder.getBillNo()); +// generateOrderRequest.setAction(thrInvOrder.getBillType()); +// generateOrderRequest.setFromCorp(thrInvOrder.getFromCorp()); +// generateOrder(generateOrderRequest); +// } } }); @@ -930,7 +931,6 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { } }); } - } //删除原来的明细 @@ -949,22 +949,39 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { if (CollectionUtil.isNotEmpty(updateThrInvOrderDetails)) { thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); } - genOrder(newBillNo, updateThrInvOrderDetails, addThrInvOrderDetails, thrInvOrder, bussinessTypeEntity); + genOrder(newBillNo, thrInvOrder, bussinessTypeEntity); log.info("扫描处理第三方收费明细生成单据定时任务结束"); } } } - public void genOrder(String newBillNo, - List updateThrInvOrderDetails, List addThrInvOrderDetails, - ThrInvOrder thrInvOrder, BasicBussinessTypeEntity bussinessTypeEntity) { - if (updateThrInvOrderDetails.size() > 0 || addThrInvOrderDetails.size() > 0) { + public boolean genOrder(String newBillNo, + ThrInvOrder thrInvOrder, BasicBussinessTypeEntity bussinessTypeEntity) { + QueryWrapper qwd = new QueryWrapper<>(); + qwd.eq("orderIdFk", thrInvOrder.getBillNo()); + List thrInvOrderDetails = thrInvOrderDetailMapper.selectList(qwd); + if (CollectionUtil.isEmpty(thrInvOrderDetails)) + return false; + Map> grouped = new HashMap<>(); + //往来类型为患者,则需要根据患者进行拆单 + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) { + grouped = thrInvOrderDetails.stream() + .collect(Collectors.groupingBy(ThrInvOrderDetail::getSickerCode)); + } else { + grouped.put(thrInvOrder.getFromCorp(), thrInvOrderDetails); + } + for (Map.Entry> entry : grouped.entrySet()) { IoOrderEntity ioOrderEntity = new IoOrderEntity(); ioOrderEntity.setBillNo(newBillNo); ioOrderEntity.setMainAction(thrInvOrder.getMainAction()); - ioOrderEntity.setFromCorp(thrInvOrder.getFromCorp()); + String fromCorp; + if (entry.getValue().get(0).getSickerCode() != null || entry.getValue().get(0).getSickerName() != null) + fromCorp = addInoutService.updateCorp(bussinessTypeEntity, entry.getValue().get(0).getSickerName(), entry.getKey()); + else + fromCorp = entry.getKey(); + ioOrderEntity.setFromCorp(fromCorp); ioOrderEntity.setInvCode(thrInvOrder.getInvCode()); ioOrderEntity.setDeptCode(thrInvOrder.getDeptCode()); ioOrderEntity.setAction(thrInvOrder.getBillType()); @@ -986,19 +1003,12 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { ioOrderEntity.setCreateUser(userId + ""); ioOrderEntity.setUpdateUser(userId + ""); ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理 - List newOrderDetailBiz = new ArrayList<>(updateThrInvOrderDetails.size()); - - if (updateThrInvOrderDetails.size() > 0) { - if (!copyOrderDetailBiz(updateThrInvOrderDetails, newOrderDetailBiz, newBillNo)) { + List newOrderDetailBiz = new ArrayList<>(); + if (entry.getValue().size() > 0) { + if (!copyOrderDetailBiz(entry.getValue(), newOrderDetailBiz, newBillNo)) { throw new JsonException("第三方收费明细自动转化单据异常"); } } - if (addThrInvOrderDetails.size() > 0) { - if (!copyOrderDetailBiz(addThrInvOrderDetails, newOrderDetailBiz, newBillNo)) { - throw new JsonException("第三方收费明细自动转化单据异常"); - } - } - String toBillNo = (thrInvOrder.getToBillNo() == null ? "" : thrInvOrder.getToBillNo()) + ("," + newBillNo); // 检查字符串是否以逗号开始 if (toBillNo.startsWith(",")) { @@ -1013,6 +1023,8 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { //自动处理业务单据 ioAddInoutService.dealBusProcess(ioOrderEntity, bussinessTypeEntity); } + return true; + } @Override diff --git a/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml index 7d70b101b..7a280c42a 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicSkProjectMapper.xml @@ -3,13 +3,25 @@