diff --git a/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java b/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java index 6166d34c..a8b305ee 100644 --- a/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java +++ b/openhis-server-new/core-common/src/main/java/com/core/common/enums/TenantOptionDict.java @@ -11,7 +11,6 @@ public enum TenantOptionDict { * 医院名称 */ YB_HOSPITAL_NAME("hospitalName", "医保-医院名称", 0), - /** * 医保-医疗机构等级(3101接口) */ @@ -24,37 +23,30 @@ public enum TenantOptionDict { * 电子发票appid */ EINVOICE_APP_ID("app_id", "电子发票-appid", 3), - /** * 电子发票key */ EINVOICE_KEY("key", "电子发票-key", 4), - /** * 电子发票url */ EINVOICE_URL("url", "电子发票-url", 5), - /** * 医保开关 */ YB_SWITCH("yb_switch", "医保开关", 6), - /** * 电子地址 */ ELE_ADDRESS("eleAddress", "电子处方-请求地址", 22), - /** * 服务地址 */ ADDRESS("address", "服务地址", 23), - /** * 超时时间 */ TIME("time", "超时时间", 24), - /** * 是否加密 */ @@ -63,32 +55,26 @@ public enum TenantOptionDict { * 医保区划 */ YB_INSUPLC_ADMDVS("insuplc_admdvs", "医保-区划", 26), - /** * 电子处方appId */ ELE_PRE_APP_ID("pre_app_id", "电子处方-appId", 27), - /** * 电子处方appSecret */ ELE_PRE_APP_SECRET("pre_app_secret", "电子处方-appSecret", 28), - /** * 电子处方私钥 */ ELE_APP_PRVKEY("APP_PRVKEY", "电子处方-私钥", 29), - /** * 电子处方公钥 */ ELE_PLAF_PUBKEY("PLAF_PUBKEY", "电子处方-公钥", 30), - /** * 医院等级 */ EINVOICE_HOSPITAL_LV("hospital_lv", "电子发票-医院等级", 39), - /** * 无视LIS&PACS报错 */ @@ -160,27 +146,14 @@ public enum TenantOptionDict { /** * 电子发票开关 */ -<<<<<<< HEAD - INVOICE_SWITCH("invoiceSwitch", "电子发票开关 (0:关闭 1:开启)", 56), -======= INVOICE_SWITCH("invoiceSwitch", "电子发票开关", 56), ->>>>>>> v1.3 - /** * 医嘱定价来源 */ ORDER_PRICING_SOURCE("orderPricingSource", "定价来源 batchSellingPrice/retailPrice", 57), - /** * 三方支付(签到) */ -<<<<<<< HEAD - THREE_PART_SIGN_URL("threePartSignUrl", "三方支付GET请求", 58), - /** - * 三方支付(消费) - */ - THREE_PART_PAY_URL("threePartPayUrl", "三方支付GET请求", 59), -======= THREE_PART_SIGN_URL("threePartSignUrl", "三方支付【签到】请求路径", 58), /** * 三方支付(签到) @@ -210,14 +183,9 @@ public enum TenantOptionDict { * 三方支付(消费) */ THREE_PART_PAY_MAPPING_METHOD("threePartPayMappingMethod", "三方支付【消费】请求方式", 65), ->>>>>>> v1.3 - /** * 三方支付(退费) */ -<<<<<<< HEAD - THREE_PART_RETURN_URL("threePartReturnUrl", "三方支付GET请求", 60), -======= THREE_PART_RETURN_URL("threePartReturnUrl", "三方支付【退费】请求路径", 66), /** * 三方支付(退费) @@ -231,14 +199,9 @@ public enum TenantOptionDict { * 三方支付(退费) */ THREE_PART_RETURN_MAPPING_METHOD("threePartReturnMappingMethod", "三方支付【退费】请求方式", 69), ->>>>>>> v1.3 - /** * 三方支付(隔天退费) */ -<<<<<<< HEAD - THREE_PART_NEXT_DAY_RETURN_URL("threePartNextDayReturnUrl", "三方支付GET请求", 61), -======= THREE_PART_NEXT_DAY_RETURN_URL("threePartNextDayReturnUrl", "三方支付【隔天退费】请求路径", 70), /** * 三方支付(隔天退费) @@ -252,14 +215,9 @@ public enum TenantOptionDict { * 三方支付(隔天退费) */ THREE_PART_NEXT_DAY_RETURN_MAPPING_METHOD("threePartNextDayReturnMappingMethod", "三方支付【隔天退费】请求方式", 73), ->>>>>>> v1.3 - /** * 三方支付路径(支付结果查询) */ -<<<<<<< HEAD - THREE_PART_PAY_QUERY_URL("threePartPayQueryUrl", "三方支付GET请求", 62), -======= THREE_PART_PAY_QUERY_URL("threePartPayQueryUrl", "三方支付【支付结果查询】请求路径", 74), /** * 三方支付(支付结果查询) @@ -273,14 +231,9 @@ public enum TenantOptionDict { * 三方支付(支付结果查询) */ THREE_PART_PAY_QUERY_MAPPING_METHOD("threePartPayQueryMappingMethod", "三方支付【支付结果查询】请求方式", 77), ->>>>>>> v1.3 - /** * 三方支付路径(退费结果查询) */ -<<<<<<< HEAD - THREE_PART_RETURN_QUERY_URL("threePartReturnQueryUrl", "三方支付GET请求", 63), -======= THREE_PART_RETURN_QUERY_URL("threePartReturnQueryUrl", "三方支付【退费结果查询】请求路径", 78), /** * 三方支付(退费结果查询) @@ -294,19 +247,9 @@ public enum TenantOptionDict { * 三方支付(退费结果查询) */ THREE_PART_RETURN_QUERY_MAPPING_METHOD("threePartReturnQueryMappingMethod", "三方支付【退费结果查询】请求方式", 81), ->>>>>>> v1.3 - /** * 三方支付路径(隔天退费结果查询) */ -<<<<<<< HEAD - THREE_PART_NEXT_DAY_RETURN_QUERY_URL("threePartNextDayReturnQueryUrl", "三方支付GET请求", 64), - - /** - * 三方支付参数 - */ - THREE_PART_PARAM("threePartParam", "三方支付GET请求", 65); -======= THREE_PART_NEXT_DAY_RETURN_QUERY_URL("threePartNextDayReturnQueryUrl", "三方支付【隔天退费结果查询】请求路径", 82), /** * 三方支付(隔天退费结果查询) @@ -320,8 +263,7 @@ public enum TenantOptionDict { * 三方支付(隔天退费结果查询) */ THREE_PART_NEXT_DAY_RETURN_QUERY_MAPPING_METHOD("threePartNextDayReturnQueryMappingMethod", "三方支付【隔天退费结果查询】请求方式", - 85), - + 85), /** * 三方支付(签出) */ @@ -338,32 +280,26 @@ public enum TenantOptionDict { * 三方支付(签出) */ THREE_PART_SIGN_OUT_MAPPING_METHOD("threePartSignOutMappingMethod", "三方支付【签出】请求方式", 89), - /** * 三方支付(签出) */ YB_INPATIENT_SETTLEMENT_UP_URL("ybInpatientSetlUp", "选填4101或4101A", 90), - /** * PACS查看报告地址 */ PACS_REPORT_URL("pacsReportUrl", "PACS查看报告地址", 91), - /** * LIS查看报告地址 */ LIS_REPORT_URL("lisReportUrl", "LIS查看报告地址", 92), - /** * 开药时药房允许多选开关 */ PHARMACY_MULTIPLE_CHOICE_SWITCH("pharmacyMultipleChoiceSwitch", "开药时药房允许多选开关", 93), - /** * PEIS服务地址 */ PEIS_SERVER_URL("peisServerUrl", "PEIS服务地址", 94); ->>>>>>> v1.3 private final String code; private final String name; diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java index 0d3ff92e..420feab4 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/appservice/impl/OutpatientChargeAppServiceImpl.java @@ -65,11 +65,11 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi OutpatientInitDto initDto = new OutpatientInitDto(); List chargeItemStatusOptions = new ArrayList<>(); chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.PLANNED.getValue(), - ChargeItemStatus.PLANNED.getInfo())); + ChargeItemStatus.PLANNED.getInfo())); chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.BILLABLE.getValue(), - ChargeItemStatus.BILLABLE.getInfo())); + ChargeItemStatus.BILLABLE.getInfo())); chargeItemStatusOptions.add(new OutpatientInitDto.chargeItemStatusOption(ChargeItemStatus.BILLED.getValue(), - ChargeItemStatus.BILLED.getInfo())); + ChargeItemStatus.BILLED.getInfo())); initDto.setChargeItemStatusOptions(chargeItemStatusOptions); return R.ok(initDto); } @@ -86,17 +86,17 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi */ @Override public R getEncounterPatientPage(EncounterPatientPageParam encounterPatientPageParam, String searchKey, - Integer pageNo, Integer pageSize, HttpServletRequest request) { + Integer pageNo, Integer pageSize, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper( - encounterPatientPageParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, - CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PatientBusNo, - CommonConstants.FieldName.EncounterBusNo, CommonConstants.FieldName.IdCard)), - request); + encounterPatientPageParam, searchKey, + new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, + CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PatientBusNo, + CommonConstants.FieldName.EncounterBusNo, CommonConstants.FieldName.IdCard)), + request); // 就诊患者分页列表 Page encounterPatientPage = outpatientChargeAppMapper - .selectEncounterPatientPage(new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.AMB.getValue()); + .selectEncounterPatientPage(new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.AMB.getValue()); encounterPatientPage.getRecords().forEach(e -> { // 性别枚举 @@ -117,13 +117,13 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi */ @Override public List getEncounterPatientPrescription(Long encounterId) { - List prescriptionDtoList = - outpatientChargeAppMapper.selectEncounterPatientPrescription(encounterId, - ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.MEDICATION.getValue(), - ChargeItemContext.DEVICE.getValue(), ChargeItemContext.REGISTER.getValue(), - ChargeItemStatus.PLANNED.getValue(), ChargeItemStatus.BILLABLE.getValue(), - ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDING.getValue(), - ChargeItemStatus.REFUNDED.getValue(), ChargeItemStatus.PART_REFUND.getValue()); + List prescriptionDtoList + = outpatientChargeAppMapper.selectEncounterPatientPrescription(encounterId, + ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.MEDICATION.getValue(), + ChargeItemContext.DEVICE.getValue(), ChargeItemContext.REGISTER.getValue(), + ChargeItemStatus.PLANNED.getValue(), ChargeItemStatus.BILLABLE.getValue(), + ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDING.getValue(), + ChargeItemStatus.REFUNDED.getValue(), ChargeItemStatus.PART_REFUND.getValue()); prescriptionDtoList.forEach(e -> { // 收费状态枚举 e.setStatusEnum_enumText(EnumUtils.getInfoByValue(ChargeItemStatus.class, e.getStatusEnum())); @@ -142,7 +142,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi // 获取就诊患者的自费账户id Long accountId = accountService.getSelfPayAccount(encounterId); if (accountId == null) { - return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"自费账户"})); + return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"自费账户"})); } // 医保转自费 boolean result = chargeItemService.updateAccountType(encounterId, accountId); @@ -163,7 +163,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi // 获取就诊患者的医保账户id Long accountId = accountService.getMedicalInsuranceAccount(encounterId); if (accountId == null) { - return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"医保账户"})); + return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"医保账户"})); } // 自费转医保 boolean result = chargeItemService.updateAccountType(encounterId, accountId); @@ -184,7 +184,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi // 获取就诊患者的学生自费账户id Long accountId = accountService.getStudentSelfAccount(encounterId); if (accountId == null) { - return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"医保账户"})); + return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"医保账户"})); } // 自费转医保 boolean result = chargeItemService.updateAccountType(encounterId, accountId); @@ -205,7 +205,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi // 获取就诊患者的学生医保账户id Long accountId = accountService.getStudentYbAccount(encounterId); if (accountId == null) { - return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[] {"医保账户"})); + return R.fail(MessageUtils.createMessage(PromptMsgConstant.Payment.M00008, new Object[]{"医保账户"})); } // 自费转医保 boolean result = chargeItemService.updateAccountType(encounterId, accountId); @@ -214,8 +214,6 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi } return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)); } -<<<<<<< HEAD -======= /** * 根据就诊id查询患者处方列表并新增字段:应收金额,实收金额,优惠金额,折扣率 @@ -226,14 +224,14 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi @Override public List getEncounterPatientPrescriptionWithPrice(Long encounterId) { List prescriptionDtoList = outpatientChargeAppMapper - .selectEncounterPatientPrescriptionWithPrice(encounterId, ChargeItemContext.ACTIVITY.getValue(), - ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), - ChargeItemContext.REGISTER.getValue(), ChargeItemStatus.PLANNED.getValue(), - ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), - ChargeItemStatus.REFUNDING.getValue(), ChargeItemStatus.REFUNDED.getValue(), - ChargeItemStatus.PART_REFUND.getValue(), YbPayment.DISCOUNT_PAY.getValue(), - YbPayment.SELF_CASH_VALUE.getValue(), YbPayment.SELF_CASH_VX_VALUE.getValue(), - YbPayment.SELF_CASH_ALI_VALUE.getValue(), YbPayment.SELF_CASH_UNION_VALUE.getValue()); + .selectEncounterPatientPrescriptionWithPrice(encounterId, ChargeItemContext.ACTIVITY.getValue(), + ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), + ChargeItemContext.REGISTER.getValue(), ChargeItemStatus.PLANNED.getValue(), + ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), + ChargeItemStatus.REFUNDING.getValue(), ChargeItemStatus.REFUNDED.getValue(), + ChargeItemStatus.PART_REFUND.getValue(), YbPayment.DISCOUNT_PAY.getValue(), + YbPayment.SELF_CASH_VALUE.getValue(), YbPayment.SELF_CASH_VX_VALUE.getValue(), + YbPayment.SELF_CASH_ALI_VALUE.getValue(), YbPayment.SELF_CASH_UNION_VALUE.getValue()); prescriptionDtoList.forEach(e -> { // 应收金额 BigDecimal receivableAmount = e.getReceivableAmount(); @@ -242,7 +240,7 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi // 计算折扣率 BigDecimal discountRate = BigDecimal.ONE; if (receivableAmount.compareTo(BigDecimal.ZERO) > 0 && receivedAmount.compareTo(BigDecimal.ZERO) > 0 - && receivableAmount.compareTo(receivedAmount) > 0) { + && receivableAmount.compareTo(receivedAmount) > 0) { discountRate = receivedAmount.divide(receivableAmount, 2, RoundingMode.HALF_UP); } e.setDiscountRate(this.returnDiscountRate(discountRate)); @@ -254,10 +252,11 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi /** * 调整折扣率 - * + * * @param discountRate 折扣率 * @return 调整后的折扣率(0.05的倍数) - **/ + * + */ private String returnDiscountRate(BigDecimal discountRate) { BigDecimal compareValue = BigDecimal.valueOf(0.05); BigDecimal remainder = discountRate.remainder(compareValue); @@ -278,5 +277,4 @@ public class OutpatientChargeAppServiceImpl implements IOutpatientChargeAppServi return df.format(reActuarial); } } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/CurrentDayEncounterDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/CurrentDayEncounterDto.java index da3b7fde..092445ae 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/CurrentDayEncounterDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/CurrentDayEncounterDto.java @@ -16,7 +16,9 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class CurrentDayEncounterDto { - /** 租户ID */ + /** + * 租户ID + */ private Integer tenantId; /** @@ -134,43 +136,5 @@ public class CurrentDayEncounterDto { * 电话 */ private String phone; -<<<<<<< HEAD - - /** - * 退号日期/时间 - */ - private Date returnDate; - - /** - * 退号原因 - */ - private String returnReason; - - /** - * 退号操作人 - */ - private String operatorName; - - /** - * 退号操作工号(用户账号) - */ - private String operatorId; - - /** - * 退款金额 - */ - private BigDecimal refundAmount; - - /** - * 合同编码(费用性质代码) - */ - private String contractNo; - - /** - * 退款方式(多个支付方式用逗号分隔) - */ - private String refundMethod; -======= ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/EncounterPatientPrescriptionDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/EncounterPatientPrescriptionDto.java index caa2119c..380f3291 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/EncounterPatientPrescriptionDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/chargemanage/dto/EncounterPatientPrescriptionDto.java @@ -23,142 +23,191 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class EncounterPatientPrescriptionDto { - /** 收费项目类型 */ + /** + * 收费项目类型 + */ private Integer contextEnum; private String contextEnum_enumText; - /** 收费状态 */ + /** + * 收费状态 + */ private Integer statusEnum; private String statusEnum_enumText; - /** 就诊ID */ + /** + * 就诊ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long encounterId; - /** 患者id */ + /** + * 患者id + */ @JsonSerialize(using = ToStringSerializer.class) private Long patientId; - /** ID */ + /** + * ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long id; - /** 开立科室 */ + /** + * 开立科室 + */ @JsonSerialize(using = ToStringSerializer.class) private Long requestingOrgId; - /** 数量 */ + /** + * 数量 + */ private Long quantityValue; - /** 单位 */ + /** + * 单位 + */ @Dict(dictCode = "unit_code") private String quantityUnit; private String quantityUnit_dictText; - /** 单价 */ + /** + * 单价 + */ private BigDecimal unitPrice; - /** 总价 */ + /** + * 总价 + */ private BigDecimal totalPrice; - /** 处方号 */ + /** + * 处方号 + */ private String prescriptionNo; - /** 业务编码 */ + /** + * 业务编码 + */ private String busNo; - /** 收款人ID */ + /** + * 收款人ID + */ @JsonSerialize(using = ToStringSerializer.class) @Dict(dictCode = "id", dictTable = "adm_practitioner", dictText = "name") private Long entererId; private String entererId_dictText; - /** 开立时间 */ + /** + * 开立时间 + */ private Date enteredDate; - /** 收费时间 */ + /** + * 收费时间 + */ private Date billDate; - /** 关联账户ID */ + /** + * 关联账户ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long accountId; - /** 物品编码 */ + /** + * 物品编码 + */ @JsonSerialize(using = ToStringSerializer.class) private Long itemId; - /** 物品名称 */ + /** + * 物品名称 + */ private String itemName; - /** 特病标识 */ + /** + * 特病标识 + */ @Dict(dictCode = "med_type") private String medTypeCode; private String medTypeCode_dictText; -<<<<<<< HEAD -======= - ->>>>>>> v1.3 - /** 用法 */ + /** + * 用法 + */ @Dict(dictCode = "method_code") private String methodCode; private String methodCode_dictText; -<<<<<<< HEAD - private String dose; - @Dict(dictCode = "unit_code") - private String doseUnitCode; - /** 单次剂量单位 */ - private String doseUnitCode_dictText; - /** 频次 */ - private String rateCode; -======= - /** 剂量 */ + /** + * 剂量 + */ private String dose; - /** 剂量单位 */ + /** + * 剂量单位 + */ @Dict(dictCode = "unit_code") private String doseUnitCode; private String doseUnitCode_dictText; - /** 频次 */ + /** + * 频次 + */ private String rateCode; ->>>>>>> v1.3 - /** 合同编码 */ + /** + * 合同编码 + */ private String contractNo; - /** 医保编码 */ + /** + * 医保编码 + */ private String ybNo; - /** 合同名称 */ + /** + * 合同名称 + */ private String contractName; - /** 服务所在表 */ + /** + * 服务所在表 + */ private String serviceTable; - /** 服务所在表对应的id */ + /** + * 服务所在表对应的id + */ @JsonSerialize(using = ToStringSerializer.class) private Long serviceId; - /** 付款id */ + /** + * 付款id + */ @JsonSerialize(using = ToStringSerializer.class) private Long paymentId; -<<<<<<< HEAD -======= - /** 实收金额 */ + /** + * 实收金额 + */ private BigDecimal receivedAmount = BigDecimal.ZERO; - /** 优惠金额 */ + /** + * 优惠金额 + */ private BigDecimal discountAmount = BigDecimal.ZERO; - /** 应收金额 */ + /** + * 应收金额 + */ private BigDecimal receivableAmount = BigDecimal.ZERO; - /** 折扣率 */ + /** + * 折扣率 + */ @Dict(dictCode = "charge_discount") private String discountRate = "0"; private String discountRate_dictText; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/ICommonService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/ICommonService.java index 615f144d..0f59b19d 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/ICommonService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/ICommonService.java @@ -79,7 +79,7 @@ public interface ICommonService { * @return 库存项目信息 */ R getInventoryItemList(InventoryItemParam inventoryItemParam, String searchKey, Integer pageNo, - Integer pageSize); + Integer pageSize); /** * 根据项目相关信息查询项目库存相关信息 @@ -188,8 +188,6 @@ public interface ICommonService { * @return 诊疗项目 */ R getActivityDefinition(); -<<<<<<< HEAD -======= /** * 查询备份单号 @@ -205,5 +203,4 @@ public interface ICommonService { * @return 处理结果 */ R lotNumberMatch(List encounterIdList); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/impl/CommonServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/impl/CommonServiceImpl.java index 847a77f0..0d0e6933 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/impl/CommonServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/appservice/impl/CommonServiceImpl.java @@ -89,8 +89,6 @@ public class CommonServiceImpl implements ICommonService { @Resource private ISupplierService supplierService; -<<<<<<< HEAD -======= @Resource private IDocInventoryItemStaticService iDocInventoryItemStaticService; @@ -100,7 +98,6 @@ public class CommonServiceImpl implements ICommonService { @Resource private IDeviceDispenseService deviceDispenseService; ->>>>>>> v1.3 /** * 获取药房列表 * @@ -119,7 +116,6 @@ public class CommonServiceImpl implements ICommonService { locationDtoList.add(locationDto); } - return locationDtoList; } @@ -267,20 +263,20 @@ public class CommonServiceImpl implements ICommonService { */ @Override public R getInventoryItemList(InventoryItemParam inventoryItemParam, String searchKey, Integer pageNo, - Integer pageSize) { + Integer pageSize) { Integer purchaseFlag = inventoryItemParam.getPurchaseFlag(); inventoryItemParam.setPurchaseFlag(null); // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(inventoryItemParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.Name, CommonConstants.FieldName.PyStr, - CommonConstants.FieldName.WbStr)), - null); + new HashSet<>(Arrays.asList(CommonConstants.FieldName.Name, CommonConstants.FieldName.PyStr, + CommonConstants.FieldName.WbStr)), + null); // 查询库存项目信息 IPage inventoryItems = commonAppMapper.selectInventoryItemList(new Page<>(pageNo, pageSize), - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - ItemType.MEDICINE.getValue(), ItemType.DEVICE.getValue(), purchaseFlag, ConditionCode.PURCHASE.getCode(), - PublicationStatus.RETIRED.getValue(), queryWrapper); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, + ItemType.MEDICINE.getValue(), ItemType.DEVICE.getValue(), purchaseFlag, ConditionCode.PURCHASE.getCode(), + PublicationStatus.RETIRED.getValue(), queryWrapper); List inventoryItemDtoList = inventoryItems.getRecords(); inventoryItemDtoList.forEach(e -> { // 项目类型 @@ -307,9 +303,9 @@ public class CommonServiceImpl implements ICommonService { public R getInventoryItemInfo(InventoryItemParam inventoryItemParam) { // 查询项目库存相关信息 List locationInventoryDtoList = commonAppMapper.selectInventoryItemInfo( - inventoryItemParam.getOrgLocationId(), CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION, inventoryItemParam.getObjLocationId(), - inventoryItemParam.getLotNumber(), inventoryItemParam.getItemId(), ConditionCode.PURCHASE.getCode()); + inventoryItemParam.getOrgLocationId(), CommonConstants.TableName.MED_MEDICATION_DEFINITION, + CommonConstants.TableName.ADM_DEVICE_DEFINITION, inventoryItemParam.getObjLocationId(), + inventoryItemParam.getLotNumber(), inventoryItemParam.getItemId(), ConditionCode.PURCHASE.getCode()); // 医保编码和生产厂家校验 for (LocationInventoryDto dto : locationInventoryDtoList) { @@ -353,7 +349,7 @@ public class CommonServiceImpl implements ICommonService { if (traceNo != null && !StringUtils.isEmpty(traceNo)) { // 数据源更改 InventoryItem inventoryItem = inventoryItemService.getOne( - new LambdaQueryWrapper().like(InventoryItem::getTraceNo, traceNo).last("LIMIT 1")); + new LambdaQueryWrapper().like(InventoryItem::getTraceNo, traceNo).last("LIMIT 1")); if (inventoryItem != null) { String itemId = inventoryItem.getItemId().toString(); // TraceNoManage traceNoManage = commonAppMapper.getInfoByTraceNo("%" + traceNo + "%"); @@ -387,11 +383,11 @@ public class CommonServiceImpl implements ICommonService { // 判断传入的是药品还是耗材,查询追溯码状态只有进的数据 if (searchTraceNoParam.getItemType().equals(ItemType.MEDICINE.getValue())) { traceNoManageList = traceNoManageMapper.getItemTraceNoInfo( - CommonConstants.TableName.MED_MEDICATION_DEFINITION, searchTraceNoParam.getItemId(), - searchTraceNoParam.getLocationId(), searchTraceNoParam.getLotNumber()); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, searchTraceNoParam.getItemId(), + searchTraceNoParam.getLocationId(), searchTraceNoParam.getLotNumber()); } else if (searchTraceNoParam.getItemType().equals(ItemType.DEVICE.getValue())) { traceNoManageList = traceNoManageMapper.getItemTraceNoInfo(CommonConstants.TableName.ADM_DEVICE_DEFINITION, - searchTraceNoParam.getItemId(), searchTraceNoParam.getLocationId(), searchTraceNoParam.getLotNumber()); + searchTraceNoParam.getItemId(), searchTraceNoParam.getLocationId(), searchTraceNoParam.getLotNumber()); } if (traceNoManageList != null) { for (TraceNoManage traceNoItem : traceNoManageList) { @@ -409,8 +405,8 @@ public class CommonServiceImpl implements ICommonService { @Override public R getContractMetadata() { // TODO: Contract表的基础数据维护还没做,具体不知道状态字段的取值是什么,先查询默认值为0的数据 - List ContractList = - contractMapper.selectList(new LambdaQueryWrapper().eq(Contract::getStatusEnum, 0)); + List ContractList + = contractMapper.selectList(new LambdaQueryWrapper().eq(Contract::getStatusEnum, 0)); // 复制同名字段并 return return R.ok(ContractList.stream().map(contract -> { ContractMetadata metadata = new ContractMetadata(); @@ -447,8 +443,8 @@ public class CommonServiceImpl implements ICommonService { Location location = locationService.getById(locationId); // 查询所有子集位置 List childLocations = locationService.list(new LambdaQueryWrapper() - .likeRight(Location::getBusNo, location.getBusNo()).eq(Location::getFormEnum, locationForm) - .ne(Location::getStatusEnum, LocationStatus.INACTIVE.getValue())); + .likeRight(Location::getBusNo, location.getBusNo()).eq(Location::getFormEnum, locationForm) + .ne(Location::getStatusEnum, LocationStatus.INACTIVE.getValue())); List locationDtoList = new ArrayList<>(); LocationDto locationDto; for (Location childLocation : childLocations) { @@ -470,8 +466,8 @@ public class CommonServiceImpl implements ICommonService { // 查询当前登录者管理的病区 Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); List locationIds = practitionerRoleService.getLocationIdsByPractitionerId(practitionerId); - List locationList = - locationService.getLocationList(locationIds, Collections.singletonList(LocationStatus.ACTIVE.getValue())); + List locationList + = locationService.getLocationList(locationIds, Collections.singletonList(LocationStatus.ACTIVE.getValue())); List wardList = new ArrayList<>(); for (Location ward : locationList) { if (LocationForm.WARD.getValue().equals(ward.getFormEnum())) { @@ -517,12 +513,12 @@ public class CommonServiceImpl implements ICommonService { advicePrintInfoDto = commonAppMapper.selectTreatmentPrintInfo(requestIds); } advicePrintInfoDto - .setAge(advicePrintInfoDto.getBirthDate() != null - ? AgeCalculatorUtil.getAge(advicePrintInfoDto.getBirthDate()) : "") - .setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, advicePrintInfoDto.getGenderEnum())) - .setEncounterYbClass_enumText( - EnumUtils.getInfoByValue(EncounterYbClass.class, advicePrintInfoDto.getEncounterYbClass())); + .setAge(advicePrintInfoDto.getBirthDate() != null + ? AgeCalculatorUtil.getAge(advicePrintInfoDto.getBirthDate()) : "") + .setGenderEnum_enumText( + EnumUtils.getInfoByValue(AdministrativeGender.class, advicePrintInfoDto.getGenderEnum())) + .setEncounterYbClass_enumText( + EnumUtils.getInfoByValue(EncounterYbClass.class, advicePrintInfoDto.getEncounterYbClass())); if (advicePrintInfoDto.getChrgitmLv() != null) { advicePrintInfoDto .setChrgitmLv_enumText(EnumUtils.getInfoByValue(InsuranceLevel.class, advicePrintInfoDto.getChrgitmLv())); @@ -549,8 +545,8 @@ public class CommonServiceImpl implements ICommonService { @Override public R getSupplierList() { return R.ok(supplierService.list(new LambdaQueryWrapper().select(Supplier::getId, Supplier::getName) - .eq(Supplier::getTypeEnum, SupplierType.SUPPLIER.getValue()) - .eq(Supplier::getDeleteFlag, DelFlag.NO.getCode()).eq(Supplier::getActiveFlag, Whether.YES.getValue()))); + .eq(Supplier::getTypeEnum, SupplierType.SUPPLIER.getValue()) + .eq(Supplier::getDeleteFlag, DelFlag.NO.getCode()).eq(Supplier::getActiveFlag, Whether.YES.getValue()))); } /** @@ -563,8 +559,6 @@ public class CommonServiceImpl implements ICommonService { return R.ok(commonAppMapper.getActivityDefinition(PublicationStatus.ACTIVE.getValue())); } -<<<<<<< HEAD -======= /** * 查询备份单号 * @@ -572,16 +566,16 @@ public class CommonServiceImpl implements ICommonService { */ @Override public R getBackupNoList() { - List docInventoryItemStaticList = - iDocInventoryItemStaticService.list(new LambdaQueryWrapper() - .eq(DocInventoryItemStatic::getDeleteFlag, DelFlag.NO.getCode()) - .eq(DocInventoryItemStatic::getTenantId, SecurityUtils.getLoginUser().getTenantId())); + List docInventoryItemStaticList + = iDocInventoryItemStaticService.list(new LambdaQueryWrapper() + .eq(DocInventoryItemStatic::getDeleteFlag, DelFlag.NO.getCode()) + .eq(DocInventoryItemStatic::getTenantId, SecurityUtils.getLoginUser().getTenantId())); if (docInventoryItemStaticList.isEmpty()) { return null; } // 直接去重并按BusNo倒序排序 List busNoList = docInventoryItemStaticList.stream().map(DocInventoryItemStatic::getBusNo).distinct() // 去重 - .sorted(Comparator.reverseOrder()).collect(Collectors.toList()); + .sorted(Comparator.reverseOrder()).collect(Collectors.toList()); return R.ok(busNoList); } @@ -595,27 +589,27 @@ public class CommonServiceImpl implements ICommonService { public R lotNumberMatch(List encounterIdList) { // 查询患者待发放的药品信息 List medicationDispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().in(MedicationDispense::getEncounterId, encounterIdList) - .eq(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().in(MedicationDispense::getEncounterId, encounterIdList) + .eq(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); // 药品批号匹配 if (medicationDispenseList != null && !medicationDispenseList.isEmpty()) { // 获取待发放的药品id - List medicationIdList = - medicationDispenseList.stream().map(MedicationDispense::getMedicationId).distinct().toList(); + List medicationIdList + = medicationDispenseList.stream().map(MedicationDispense::getMedicationId).distinct().toList(); // 获取发药药房 - List locationIdList = - medicationDispenseList.stream().map(MedicationDispense::getLocationId).distinct().toList(); + List locationIdList + = medicationDispenseList.stream().map(MedicationDispense::getLocationId).distinct().toList(); // 查询待发放药品的库存明细 List inventoryDetailList = commonAppMapper - .selectMedicineInventoryDetail(medicationIdList, locationIdList, PublicationStatus.ACTIVE.getValue()); + .selectMedicineInventoryDetail(medicationIdList, locationIdList, PublicationStatus.ACTIVE.getValue()); if (inventoryDetailList == null || inventoryDetailList.isEmpty()) { return R.fail("发药单生成失败,请检查药品库存"); } // 将库存信息根据药品id和库房id进行分组 Map> inventoryDetailMap = inventoryDetailList.stream() - .collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLocationId())); + .collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLocationId())); // 按照效期排序(先进先出) for (List inventoryList : inventoryDetailMap.values()) { inventoryList.sort(Comparator.comparing(InventoryDetailDto::getExpirationDate)); @@ -628,7 +622,7 @@ public class CommonServiceImpl implements ICommonService { currentIndex++; // 根据发放药品和发放药房做key String inventoryKey = medicationDispense.getMedicationId() + CommonConstants.Common.DASH - + medicationDispense.getLocationId(); + + medicationDispense.getLocationId(); // 查询对应的库存信息 if (!inventoryDetailMap.containsKey(inventoryKey)) { return R.fail("药品库存不存在,药品ID: " + medicationDispense.getMedicationId()); @@ -653,8 +647,8 @@ public class CommonServiceImpl implements ICommonService { } // 获取库存剩余数量 - BigDecimal remainingInventoryQuantity = - inventoryDetailDto.getInventoryQuantity().subtract(dispenseQuantity); + BigDecimal remainingInventoryQuantity + = inventoryDetailDto.getInventoryQuantity().subtract(dispenseQuantity); // 如果剩余库存数量大于等于0,则说明当前批号库存充足 if (remainingInventoryQuantity.compareTo(BigDecimal.ZERO) >= 0) { medicationDispense.setLotNumber(inventoryDetailDto.getInventoryLotNumber()); @@ -665,7 +659,7 @@ public class CommonServiceImpl implements ICommonService { if (!inventoryDetailDto.getInventoryUnitCode().equals(medicationDispense.getUnitCode())) { // 发药数量取库存大单位数量 dispenseQuantity = inventoryDetailDto.getInventoryQuantity() - .divide(inventoryDetailDto.getPartPercent(), 0, RoundingMode.HALF_UP); + .divide(inventoryDetailDto.getPartPercent(), 0, RoundingMode.HALF_UP); // 大单位数量不足则跳出循环 if (dispenseQuantity.compareTo(BigDecimal.ZERO) == 0) { continue; @@ -680,10 +674,10 @@ public class CommonServiceImpl implements ICommonService { BeanUtils.copyProperties(medicationDispense, splitMedicationDispense); // 数量拆分 splitMedicationDispense.setQuantity(medicationDispense.getQuantity().subtract(dispenseQuantity)) - // 重置id与批号 - .setId(null).setLotNumber(null) - // 重新生成发药单编码 - .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_DIS_NO.getPrefix(), 4)); + // 重置id与批号 + .setId(null).setLotNumber(null) + // 重新生成发药单编码 + .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_DIS_NO.getPrefix(), 4)); // 将拆分出来的发药单添加到原发药单列表中 medicationDispenseList.add(splitMedicationDispense); @@ -710,27 +704,27 @@ public class CommonServiceImpl implements ICommonService { } // 查询患者待发放的耗材信息 List deviceDispenseList = deviceDispenseService - .list(new LambdaQueryWrapper().in(DeviceDispense::getEncounterId, encounterIdList) - .eq(DeviceDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) - .eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().in(DeviceDispense::getEncounterId, encounterIdList) + .eq(DeviceDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) + .eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); // 耗材批号匹配 if (deviceDispenseList != null && !deviceDispenseList.isEmpty()) { // 获取待发放的耗材id - List deviceIdList = - deviceDispenseList.stream().map(DeviceDispense::getDeviceDefId).distinct().toList(); + List deviceIdList + = deviceDispenseList.stream().map(DeviceDispense::getDeviceDefId).distinct().toList(); // 获取发耗材房 - List locationIdList = - deviceDispenseList.stream().map(DeviceDispense::getLocationId).distinct().toList(); + List locationIdList + = deviceDispenseList.stream().map(DeviceDispense::getLocationId).distinct().toList(); // 查询待发放耗材的库存明细 List inventoryDetailList = commonAppMapper.selectDeviceInventoryDetail(deviceIdList, - locationIdList, PublicationStatus.ACTIVE.getValue()); + locationIdList, PublicationStatus.ACTIVE.getValue()); if (inventoryDetailList == null || inventoryDetailList.isEmpty()) { return R.fail("发耗材单生成失败,请检查耗材库存"); } // 将库存信息根据耗材id和库房id进行分组 Map> inventoryDetailMap = inventoryDetailList.stream() - .collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLocationId())); + .collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLocationId())); // 按照效期排序(先进先出) for (List inventoryList : inventoryDetailMap.values()) { inventoryList.sort(Comparator.comparing(InventoryDetailDto::getExpirationDate)); @@ -742,8 +736,8 @@ public class CommonServiceImpl implements ICommonService { DeviceDispense deviceDispense = deviceDispenseList.get(currentIndex); currentIndex++; // 根据发放耗材和发放耗材房做key - String inventoryKey = - deviceDispense.getDeviceDefId() + CommonConstants.Common.DASH + deviceDispense.getLocationId(); + String inventoryKey + = deviceDispense.getDeviceDefId() + CommonConstants.Common.DASH + deviceDispense.getLocationId(); // 查询对应的库存信息 if (!inventoryDetailMap.containsKey(inventoryKey)) { return R.fail("耗材库存不存在,耗材ID: " + deviceDispense.getDeviceDefId()); @@ -768,8 +762,8 @@ public class CommonServiceImpl implements ICommonService { } // 获取库存剩余数量 - BigDecimal remainingInventoryQuantity = - inventoryDetailDto.getInventoryQuantity().subtract(dispenseQuantity); + BigDecimal remainingInventoryQuantity + = inventoryDetailDto.getInventoryQuantity().subtract(dispenseQuantity); // 如果剩余库存数量大于等于0,则说明当前批号库存充足 if (remainingInventoryQuantity.compareTo(BigDecimal.ZERO) >= 0) { deviceDispense.setLotNumber(inventoryDetailDto.getInventoryLotNumber()); @@ -780,7 +774,7 @@ public class CommonServiceImpl implements ICommonService { if (!inventoryDetailDto.getInventoryUnitCode().equals(deviceDispense.getUnitCode())) { // 发耗材数量取库存大单位数量 dispenseQuantity = inventoryDetailDto.getInventoryQuantity() - .divide(inventoryDetailDto.getPartPercent(), 0, RoundingMode.HALF_UP); + .divide(inventoryDetailDto.getPartPercent(), 0, RoundingMode.HALF_UP); // 大单位数量不足则跳出循环 if (dispenseQuantity.compareTo(BigDecimal.ZERO) == 0) { continue; @@ -795,10 +789,10 @@ public class CommonServiceImpl implements ICommonService { BeanUtils.copyProperties(deviceDispense, splitDeviceDispense); // 数量拆分 splitDeviceDispense.setQuantity(deviceDispense.getQuantity().subtract(dispenseQuantity)) - // 重置id与批号 - .setId(null).setLotNumber(null) - // 重新生成发耗材单编码 - .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.DEVICE_DIS_NO.getPrefix(), 4)); + // 重置id与批号 + .setId(null).setLotNumber(null) + // 重新生成发耗材单编码 + .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.DEVICE_DIS_NO.getPrefix(), 4)); // 将拆分出来的发耗材单添加到原发耗材单列表中 deviceDispenseList.add(splitDeviceDispense); @@ -825,5 +819,4 @@ public class CommonServiceImpl implements ICommonService { } return R.ok(); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/controller/CommonAppController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/controller/CommonAppController.java index 580df4e6..17f524df 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/controller/CommonAppController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/controller/CommonAppController.java @@ -89,7 +89,7 @@ public class CommonAppController { /** * 病区列表 * - * @return 病区列表 + * @return 病区列表 */ @GetMapping(value = "/ward-list") public R getWardList(@RequestParam(value = "orgId", required = false) Long orgId) { @@ -103,7 +103,7 @@ public class CommonAppController { */ @GetMapping(value = "/department-list") public R getDepartmentList() { - return commonService.getDepartmentList(); + return commonService.getDepartmentList(); } /** @@ -117,9 +117,9 @@ public class CommonAppController { */ @GetMapping(value = "/inventory-item") public R getInventoryItemList(InventoryItemParam inventoryItemParam, - @RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "50") Integer pageSize) { + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "50") Integer pageSize) { return commonService.getInventoryItemList(inventoryItemParam, searchKey, pageNo, pageSize); } @@ -201,7 +201,7 @@ public class CommonAppController { /** * 查询参与者下拉列表 - * + * * @param searchKey 模糊查询关键字 * @return 参与者下拉列表 */ @@ -220,45 +220,11 @@ public class CommonAppController { @GetMapping("/advice-print") public R getAdvicePrintInfo(@RequestParam(value = "requestIds") List requestIds, String isPrescription) { return commonService.getAdvicePrintInfo(requestIds, isPrescription); -<<<<<<< HEAD } /** * 查询参与者签名 - * - * @param practitionerId 参与者id - * @return 参与者签名 - */ - @GetMapping(value = "/practitioner-signature") - public R getPractitionerSignature(@RequestParam(value = "practitionerId") Long practitionerId) { - return commonService.getPractitionerSignature(practitionerId); - } - - /** - * 查询所有供应商 * - * @return 供应商 - */ - @GetMapping(value = "/supplier") - public R getSupplierList() { - return commonService.getSupplierList(); - } - - /** - * 查询所有诊疗项目 - * - * @return 诊疗项目 - */ - @GetMapping(value = "/activity-definition") - public R getActivityDefinition() { - return commonService.getActivityDefinition(); -======= ->>>>>>> v1.3 - } - - /** - * 查询参与者签名 - * * @param practitionerId 参与者id * @return 参与者签名 */ diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/mapper/CommonAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/mapper/CommonAppMapper.java index 826eec5b..1c65bd2b 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/mapper/CommonAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/common/mapper/CommonAppMapper.java @@ -38,10 +38,10 @@ public interface CommonAppMapper { * @return 库存项目信息 */ IPage selectInventoryItemList(@Param("page") Page page, - @Param("medicationTableName") String medicationTableName, @Param("deviceTableName") String deviceTableName, - @Param("medicine") Integer medicine, @Param("device") Integer device, - @Param("purchaseFlag") Integer purchaseFlag, @Param("purchase") String purchase, - @Param("retired") Integer retired, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + @Param("medicationTableName") String medicationTableName, @Param("deviceTableName") String deviceTableName, + @Param("medicine") Integer medicine, @Param("device") Integer device, + @Param("purchaseFlag") Integer purchaseFlag, @Param("purchase") String purchase, + @Param("retired") Integer retired, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); /** * 查询项目库存相关信息 @@ -54,9 +54,9 @@ public interface CommonAppMapper { * @return 项目库存相关信息 */ List selectInventoryItemInfo(@Param("orgLocationId") Long orgLocationId, - @Param("medicationTableName") String medicationTableName, @Param("deviceTableName") String deviceTableName, - @Param("objLocationId") Long objLocationId, @Param("lotNumber") String lotNumber, @Param("itemId") Long itemId, - @Param("purchase") String purchase); + @Param("medicationTableName") String medicationTableName, @Param("deviceTableName") String deviceTableName, + @Param("objLocationId") Long objLocationId, @Param("lotNumber") String lotNumber, @Param("itemId") Long itemId, + @Param("purchase") String purchase); /** * 查询追溯码信息 @@ -100,13 +100,11 @@ public interface CommonAppMapper { /** * 查询所有诊疗项目 - * + * * @param statusEnum 启用状态 * @return 诊疗项目 */ List getActivityDefinition(@Param("statusEnum") Integer statusEnum); -<<<<<<< HEAD -======= /** * 查询药品库存详细信息 @@ -117,7 +115,7 @@ public interface CommonAppMapper { * @return 库存详细信息 */ List selectMedicineInventoryDetail(@Param("medicationIdList") List medicationIdList, - @Param("locationIdList") List locationIdList, @Param("active") Integer active); + @Param("locationIdList") List locationIdList, @Param("active") Integer active); /** * 查询耗材库存详细信息 @@ -128,6 +126,5 @@ public interface CommonAppMapper { * @return 库存详细信息 */ List selectDeviceInventoryDetail(@Param("deviceIdList") List deviceIdList, - @Param("locationIdList") List locationIdList, @Param("active") Integer active); ->>>>>>> v1.3 + @Param("locationIdList") List locationIdList, @Param("active") Integer active); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java index 9844bac6..02c0ddf4 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DeviceManageAppServiceImpl.java @@ -13,10 +13,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -<<<<<<< HEAD -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; @@ -114,8 +111,8 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { // 获取状态 List statusEnumOptions = Stream.of(PublicationStatus.values()) - .map(status -> new DeviceManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new DeviceManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); deviceManageInitDto.setStatusFlagOptions(statusEnumOptions); // // 获取执行科室 @@ -131,28 +128,27 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { // .map(category -> new DeviceManageInitDto.deviceCategory(category.getValue(), category.getInfo())) // .collect(Collectors.toList()); // deviceManageInitDto.setDeviceCategories(deviceCategories); - // 获取器材 - List deviceList = - sysDictTypeService.selectDictDataByType(CommonConstants.DictName.DEVICE_CATEGORY_CODE); + List deviceList + = sysDictTypeService.selectDictDataByType(CommonConstants.DictName.DEVICE_CATEGORY_CODE); // 从字典中获取器材分类 List deviceCategories = deviceList.stream() - .map(category -> new DeviceManageInitDto.dictCategoryCode(category.getDictValue(), category.getDictLabel())) - .collect(Collectors.toList()); + .map(category -> new DeviceManageInitDto.dictCategoryCode(category.getDictValue(), category.getDictLabel())) + .collect(Collectors.toList()); deviceManageInitDto.setDeviceCategories(deviceCategories); // 获取医保是否对码 List statusYBWeatherOption = Stream.of(Whether.values()) - .map(status -> new DeviceManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new DeviceManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); deviceManageInitDto.setStatusYBWeatherOptions(statusYBWeatherOption); // 查询供应商列表 List supplierList = supplierService.getList(); // 供应商信息 List supplierListOptions = supplierList.stream() - .map(supplier -> new DeviceManageInitDto.supplierListOption(supplier.getId(), supplier.getName())) - .collect(Collectors.toList()); + .map(supplier -> new DeviceManageInitDto.supplierListOption(supplier.getId(), supplier.getName())) + .collect(Collectors.toList()); deviceManageInitDto.setSupplierListOptions(supplierListOptions); return R.ok(deviceManageInitDto); @@ -169,15 +165,15 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { */ @Override public R getDevicePage(DeviceManageSelParam deviceManageSelParam, String searchKey, Integer pageNo, - Integer pageSize, HttpServletRequest request) { + Integer pageSize, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(deviceManageSelParam, searchKey, - new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); + new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); // 分页查询 - IPage deviceManagePage = - deviceManageMapper.getDevicePage(new Page<>(pageNo, pageSize), queryWrapper); + IPage deviceManagePage + = deviceManageMapper.getDevicePage(new Page<>(pageNo, pageSize), queryWrapper); deviceManagePage.getRecords().forEach(e -> { // 高值器材标志枚举类回显赋值 @@ -219,8 +215,8 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { // 调用医保目录对照接口 String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch) && StringUtils.isNotEmpty(deviceDefinition.getYbNo())) { - R r = - ybService.directoryCheck(CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition.getId()); + R r + = ybService.directoryCheck(CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition.getId()); if (200 != r.getCode()) { throw new RuntimeException("医保目录对照接口异常"); } @@ -228,29 +224,29 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); chargeItemDefinition.setYbType(deviceManageDto.getYbType()).setTypeCode(deviceManageDto.getItemTypeCode()) - .setInstanceTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) - .setInstanceId(deviceDefinition.getId()).setPrice(deviceManageDto.getRetailPrice()) - .setChargeName(deviceManageDto.getName());; + .setInstanceTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setInstanceId(deviceDefinition.getId()).setPrice(deviceManageDto.getRetailPrice()) + .setChargeName(deviceManageDto.getName());; // 插入操作记录 operationRecordService.addEntityOperationRecord(DbOpType.UPDATE.getCode(), - CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition); + CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition); // 更新价格表 boolean upItemDef = itemDefinitionServic.updateItem(chargeItemDefinition); // 更新子表,修改购入价,条件:采购 boolean upItemDetail1 = itemDefinitionServic.updateItemDetail(chargeItemDefinition, - deviceManageDto.getPurchasePrice(), ConditionCode.PURCHASE.getCode()); + deviceManageDto.getPurchasePrice(), ConditionCode.PURCHASE.getCode()); // 更新子表,修改零售价,条件:单位 boolean upItemDetail2 = itemDefinitionServic.updateItemDetail(chargeItemDefinition, - deviceManageDto.getRetailPrice(), ConditionCode.UNIT.getCode()); + deviceManageDto.getRetailPrice(), ConditionCode.UNIT.getCode()); // 更新子表,修改最高零售价,条件:限制 boolean upItemDetail3 = itemDefinitionServic.updateItemDetail(chargeItemDefinition, - deviceManageDto.getMaximumRetailPrice(), ConditionCode.LIMIT.getCode()); + deviceManageDto.getMaximumRetailPrice(), ConditionCode.LIMIT.getCode()); // 更新价格表 return upItemDef && upItemDetail1 && upItemDetail2 && upItemDetail3 - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"器材目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } @@ -288,12 +284,12 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { } // 插入操作记录 operationRecordService.addIdsOperationRecord(DbOpType.STOP.getCode(), - CommonConstants.TableName.ADM_DEVICE_DEFINITION, ids); + CommonConstants.TableName.ADM_DEVICE_DEFINITION, ids); // 更新器材信息 return deviceDefinitionService.updateBatchById(DeviceDefinitionList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"器材目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -314,12 +310,12 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { } // 插入操作记录 operationRecordService.addIdsOperationRecord(DbOpType.START.getCode(), - CommonConstants.TableName.ADM_DEVICE_DEFINITION, ids); + CommonConstants.TableName.ADM_DEVICE_DEFINITION, ids); // 更新器材信息 return deviceDefinitionService.updateBatchById(DeviceDefinitionList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"器材目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -344,27 +340,27 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { // 调用医保目录对照接口 String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch) && StringUtils.isNotEmpty(deviceDefinition.getYbNo())) { - R r = - ybService.directoryCheck(CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition.getId()); + R r + = ybService.directoryCheck(CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition.getId()); if (200 != r.getCode()) { throw new RuntimeException("医保目录对照接口异常"); } } // 插入操作记录 operationRecordService.addEntityOperationRecord(DbOpType.INSERT.getCode(), - CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition); + CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition); ItemUpFromDirectoryDto itemUpFromDirectoryDto = new ItemUpFromDirectoryDto(); BeanUtils.copyProperties(deviceManageUpDto, itemUpFromDirectoryDto); itemUpFromDirectoryDto.setTypeCode(deviceManageUpDto.getItemTypeCode()) - .setInstanceTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) - .setEffectiveStart(DateUtils.getNowDate()).setStatusEnum(PublicationStatus.ACTIVE.getValue()) - .setConditionFlag(Whether.YES.getValue()).setChargeName(deviceManageUpDto.getName()) - .setInstanceId(deviceDefinition.getId()).setPrice(deviceManageUpDto.getRetailPrice()); + .setInstanceTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setEffectiveStart(DateUtils.getNowDate()).setStatusEnum(PublicationStatus.ACTIVE.getValue()) + .setConditionFlag(Whether.YES.getValue()).setChargeName(deviceManageUpDto.getName()) + .setInstanceId(deviceDefinition.getId()).setPrice(deviceManageUpDto.getRetailPrice()); return itemDefinitionServic.addItem(itemUpFromDirectoryDto) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"器材目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"器材目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); } return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); } @@ -391,21 +387,21 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { // 查询机构ID、位置信息供后续使用 Long orgId = SecurityUtils.getLoginUser().getOrgId(); List locationList = locationService.list(new LambdaQueryWrapper() - .eq(Location::getDeleteFlag, DelFlag.NO.getCode()).orderByAsc(Location::getId)); + .eq(Location::getDeleteFlag, DelFlag.NO.getCode()).orderByAsc(Location::getId)); Long defaultLocationId = locationList.stream().findFirst().orElse(new Location()).getId(); - Map> locationNameMap = - locationList.stream().collect(Collectors.groupingBy(Location::getName)); + Map> locationNameMap + = locationList.stream().collect(Collectors.groupingBy(Location::getName)); // 创建表数据 for (DeviceImportDto importDto : importDtoList) { // 创建器材定义 - DeviceDefinition deviceDefinition = - createDeviceDefinitionEntity(importDto, orgId, defaultLocationId, locationNameMap); + DeviceDefinition deviceDefinition + = createDeviceDefinitionEntity(importDto, orgId, defaultLocationId, locationNameMap); deviceDefinitionService.save(deviceDefinition); // 创建费用定价和详情 chargeItemDefinitionService.addChargeItemDefinitionAndDetail(importDto.getName(), importDto.getTypeCode(), - importDto.getYbType(), importDto.getUnitCode(), importDto.getPurchasePrice(), - importDto.getRetailPrice(), importDto.getMaximumRetailPrice(), orgId, - CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition.getId()); + importDto.getYbType(), importDto.getUnitCode(), importDto.getPurchasePrice(), + importDto.getRetailPrice(), importDto.getMaximumRetailPrice(), orgId, + CommonConstants.TableName.ADM_DEVICE_DEFINITION, deviceDefinition.getId()); } return R.ok(null, "导入成功!"); } @@ -432,7 +428,7 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { List deviceRequestList = deviceRequestService.getDevRequestByDeviceId(deviceId); if (!deviceRequestList.isEmpty()) { if (deviceRequestList.stream() - .allMatch(x -> x.getStatusEnum().equals(RequestStatus.COMPLETED.getValue()))) { + .allMatch(x -> x.getStatusEnum().equals(RequestStatus.COMPLETED.getValue()))) { return R.ok(1, "医生开过该耗材,不可编辑"); } else { // 校验是否可以编辑 @@ -558,7 +554,7 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { } if (!lineValidateMsgList.isEmpty()) { fieldValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); + .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); } } if (!fieldValidateMsgList.isEmpty()) { @@ -567,12 +563,12 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { // 重复校验(文件行重复) List lineRepeatedValidateMsgList = new ArrayList<>(); List> importDtoGroupList = new ArrayList<>(importDtoList.stream() - .collect(Collectors.groupingBy(e -> e.getName() + e.getManufacturerText() + e.getSize())).values()); + .collect(Collectors.groupingBy(e -> e.getName() + e.getManufacturerText() + e.getSize())).values()); for (List importDtoGroup : importDtoGroupList) { if (importDtoGroup.size() > 1) { lineRepeatedValidateMsgList.add( - "■ 第" + importDtoGroup.stream().map(DeviceImportDto::getLineNumber).sorted().map(Object::toString) - .collect(Collectors.joining(",")) + "行的【" + importDtoGroup.get(0).getName() + "】重复;"); + "■ 第" + importDtoGroup.stream().map(DeviceImportDto::getLineNumber).sorted().map(Object::toString) + .collect(Collectors.joining(",")) + "行的【" + importDtoGroup.get(0).getName() + "】重复;"); } } if (!lineRepeatedValidateMsgList.isEmpty()) { @@ -582,12 +578,12 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { List dbRepeatedValidateMsgList = new ArrayList<>(); for (DeviceImportDto importDto : importDtoList) { List deviceDefinitionList = deviceDefinitionService - .list(new LambdaQueryWrapper().eq(DeviceDefinition::getName, importDto.getName()) - .eq(DeviceDefinition::getManufacturerText, importDto.getManufacturerText()) - .eq(DeviceDefinition::getSize, importDto.getSize())); + .list(new LambdaQueryWrapper().eq(DeviceDefinition::getName, importDto.getName()) + .eq(DeviceDefinition::getManufacturerText, importDto.getManufacturerText()) + .eq(DeviceDefinition::getSize, importDto.getSize())); if (!deviceDefinitionList.isEmpty()) { dbRepeatedValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行的【" + importDto.getName() + "】在系统中已存在;"); + .add("■ 第" + importDto.getLineNumber() + "行的【" + importDto.getName() + "】在系统中已存在;"); } } if (!dbRepeatedValidateMsgList.isEmpty()) { @@ -606,7 +602,7 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { * @return 器材定义实体 */ private DeviceDefinition createDeviceDefinitionEntity(DeviceImportDto importDto, Long orgId, Long defaultLocationId, - Map> locationNameMap) { + Map> locationNameMap) { DeviceDefinition deviceDefinition = new DeviceDefinition(); // 根据输入的所在位置名称获取位置ID List mapLocationList = locationNameMap.get(importDto.getLocationName()); @@ -616,20 +612,20 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService { deviceDefinition.setLocationId(mapLocationList.get(0).getId()); } deviceDefinition.setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.DEVICE_NUM.getPrefix(), 10)) - .setName(importDto.getName()).setPyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getName())) - .setWbStr(ChineseConvertUtils.toWBFirstLetter(importDto.getName())) - .setCategoryCode(importDto.getCategoryCode()).setTypeCode(importDto.getTypeCode()) - .setUnitCode(importDto.getUnitCode()).setSize(importDto.getSize()) - .setItemMinQuantity(importDto.getItemMinQuantity()).setItemMaxQuantity(importDto.getItemMaxQuantity()) - .setPartPercent(importDto.getPartPercent()).setMinUnitCode(importDto.getMinUnitCode()).setOrgId(orgId) - .setHvcmFlag(CommonUtil.tryParseInt(importDto.getHvcmFlag())).setSalesUnitCode(importDto.getSalesUnitCode()) - .setApprovalNumber(importDto.getApprovalNumber()).setYbFlag(CommonUtil.tryParseInt(importDto.getYbFlag())) - .setYbNo(importDto.getYbNo()).setYbOrgNo(importDto.getYbOrgNo()) - .setYbMatchFlag(CommonUtil.tryParseInt(importDto.getYbMatchFlag())) - .setChrgitmLv(CommonUtil.tryParseInt(importDto.getChrgitmLv())) - .setStatusEnum(PublicationStatus.ACTIVE.getValue()).setManufacturerText(importDto.getManufacturerText()) - .setAllergenFlag(CommonUtil.tryParseInt(importDto.getAllergenFlag())) - .setRxFlag(CommonUtil.tryParseInt(importDto.getRxFlag())); + .setName(importDto.getName()).setPyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getName())) + .setWbStr(ChineseConvertUtils.toWBFirstLetter(importDto.getName())) + .setCategoryCode(importDto.getCategoryCode()).setTypeCode(importDto.getTypeCode()) + .setUnitCode(importDto.getUnitCode()).setSize(importDto.getSize()) + .setItemMinQuantity(importDto.getItemMinQuantity()).setItemMaxQuantity(importDto.getItemMaxQuantity()) + .setPartPercent(importDto.getPartPercent()).setMinUnitCode(importDto.getMinUnitCode()).setOrgId(orgId) + .setHvcmFlag(CommonUtil.tryParseInt(importDto.getHvcmFlag())).setSalesUnitCode(importDto.getSalesUnitCode()) + .setApprovalNumber(importDto.getApprovalNumber()).setYbFlag(CommonUtil.tryParseInt(importDto.getYbFlag())) + .setYbNo(importDto.getYbNo()).setYbOrgNo(importDto.getYbOrgNo()) + .setYbMatchFlag(CommonUtil.tryParseInt(importDto.getYbMatchFlag())) + .setChrgitmLv(CommonUtil.tryParseInt(importDto.getChrgitmLv())) + .setStatusEnum(PublicationStatus.ACTIVE.getValue()).setManufacturerText(importDto.getManufacturerText()) + .setAllergenFlag(CommonUtil.tryParseInt(importDto.getAllergenFlag())) + .setRxFlag(CommonUtil.tryParseInt(importDto.getRxFlag())); return deviceDefinition; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java index ca97bc87..49dd8b4f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java @@ -87,26 +87,26 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { DiagnosisTreatmentInitDto diagnosisTreatmentInitDto = new DiagnosisTreatmentInitDto(); // 获取状态 List statusEnumOptions = Stream.of(PublicationStatus.values()) - .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); diagnosisTreatmentInitDto.setStatusFlagOptions(statusEnumOptions); // 获取执行科室 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Organization::getTypeEnum, OrganizationType.DEPARTMENT); List organizations = organizationService.list(queryWrapper); List exeOrganizations = organizations.stream() - .map(exeOrg -> new DiagnosisTreatmentInitDto.exeOrganization(exeOrg.getId(), exeOrg.getName())) - .collect(Collectors.toList()); + .map(exeOrg -> new DiagnosisTreatmentInitDto.exeOrganization(exeOrg.getId(), exeOrg.getName())) + .collect(Collectors.toList()); diagnosisTreatmentInitDto.setExeOrganizations(exeOrganizations); // 获取诊目录疗分类 - List diagnosisList = - sysDictTypeService.selectDictDataByType(CommonConstants.DictName.DIAGNOSIS_CATEGORY_CODE); + List diagnosisList + = sysDictTypeService.selectDictDataByType(CommonConstants.DictName.DIAGNOSIS_CATEGORY_CODE); // 获取诊疗录疗分类 List diagnosisCategories = diagnosisList.stream() - .map(category -> new DiagnosisTreatmentInitDto.dictCategoryCode(category.getDictValue(), + .map(category -> new DiagnosisTreatmentInitDto.dictCategoryCode(category.getDictValue(), category.getDictLabel())) - .collect(Collectors.toList()); + .collect(Collectors.toList()); diagnosisTreatmentInitDto.setDiagnosisCategoryOptions(diagnosisCategories); // // 查询医疗服务项类型 @@ -143,18 +143,17 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { // diseaseTreatmentCategories.add(diseaseTreatmentCategory2); // // diagnosisTreatmentInitDto.setDiseaseTreatmentCategoryList(diseaseTreatmentCategories); - // 获取类型 List typeEnumOptions = Stream.of(ActivityType.values()) - .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); diagnosisTreatmentInitDto.setTypeEnumOptions(typeEnumOptions); // 获取是/否 列表 // 获取状态 List statusWeatherOption = Stream.of(Whether.values()) - .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new DiagnosisTreatmentInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); diagnosisTreatmentInitDto.setStatusWeatherOption(statusWeatherOption); return R.ok(diagnosisTreatmentInitDto); @@ -171,15 +170,15 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { */ @Override public R getDiseaseTreatmentPage(DiagnosisTreatmentSelParam DiagnosisTreatmentSelParam, String searchKey, - Integer pageNo, Integer pageSize, HttpServletRequest request) { + Integer pageNo, Integer pageSize, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(DiagnosisTreatmentSelParam, - searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); + searchKey, new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request); // 分页查询 - IPage diseaseTreatmentPage = - activityDefinitionManageMapper.getDiseaseTreatmentPage(new Page(pageNo, pageSize), queryWrapper); + IPage diseaseTreatmentPage + = activityDefinitionManageMapper.getDiseaseTreatmentPage(new Page(pageNo, pageSize), queryWrapper); diseaseTreatmentPage.getRecords().forEach(e -> { // 医保标记枚举类回显赋值 @@ -237,7 +236,7 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch) && StringUtils.isNotEmpty(activityDefinition.getYbNo())) { R r = ybService.directoryCheck(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, - activityDefinition.getId()); + activityDefinition.getId()); if (200 != r.getCode()) { throw new RuntimeException("医保目录对照接口异常"); } @@ -245,27 +244,27 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); chargeItemDefinition.setYbType(diagnosisTreatmentUpDto.getYbType()) - .setTypeCode(diagnosisTreatmentUpDto.getItemTypeCode()) - .setInstanceTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION) - .setInstanceId(diagnosisTreatmentUpDto.getId()).setPrice(diagnosisTreatmentUpDto.getRetailPrice()) - .setPriceCode(diagnosisTreatmentUpDto.getPriceCode()).setChargeName(diagnosisTreatmentUpDto.getName()); + .setTypeCode(diagnosisTreatmentUpDto.getItemTypeCode()) + .setInstanceTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION) + .setInstanceId(diagnosisTreatmentUpDto.getId()).setPrice(diagnosisTreatmentUpDto.getRetailPrice()) + .setPriceCode(diagnosisTreatmentUpDto.getPriceCode()).setChargeName(diagnosisTreatmentUpDto.getName()); // 插入操作记录 operationRecordService.addEntityOperationRecord(DbOpType.UPDATE.getCode(), - CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, activityDefinition); + CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, activityDefinition); // 更新价格表 boolean upItemDef = itemDefinitionService.updateItem(chargeItemDefinition); // 更新子表,修改零售价,条件:单位 boolean upItemDetail1 = itemDefinitionService.updateItemDetail(chargeItemDefinition, - diagnosisTreatmentUpDto.getRetailPrice(), ConditionCode.UNIT.getCode()); + diagnosisTreatmentUpDto.getRetailPrice(), ConditionCode.UNIT.getCode()); // 更新子表,修改最高零售价,条件:限制 boolean upItemDetail2 = itemDefinitionService.updateItemDetail(chargeItemDefinition, - diagnosisTreatmentUpDto.getMaximumRetailPrice(), ConditionCode.LIMIT.getCode()); + diagnosisTreatmentUpDto.getMaximumRetailPrice(), ConditionCode.LIMIT.getCode()); // 更新价格表 return upItemDef && upItemDetail1 && upItemDetail2 - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); @@ -291,11 +290,11 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { } // 插入操作记录 operationRecordService.addIdsOperationRecord(DbOpType.STOP.getCode(), - CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, ids); + CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, ids); // 更新诊疗信息 return activityDefinitionService.updateBatchById(ActivityDefinitionList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } @@ -319,11 +318,11 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { } // 插入操作记录 operationRecordService.addIdsOperationRecord(DbOpType.START.getCode(), - CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, ids); + CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, ids); // 更新诊疗信息 return activityDefinitionService.updateBatchById(ActivityDefinitionList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } @@ -359,28 +358,28 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch) && StringUtils.isNotEmpty(activityDefinition.getYbNo())) { R r = ybService.directoryCheck(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, - activityDefinition.getId()); + activityDefinition.getId()); if (200 != r.getCode()) { throw new RuntimeException("医保目录对照接口异常"); } } // 插入操作记录 operationRecordService.addEntityOperationRecord(DbOpType.INSERT.getCode(), - CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, activityDefinition); + CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, activityDefinition); ItemUpFromDirectoryDto itemUpFromDirectoryDto = new ItemUpFromDirectoryDto(); BeanUtils.copyProperties(diagnosisTreatmentUpDto, itemUpFromDirectoryDto); itemUpFromDirectoryDto.setTypeCode(diagnosisTreatmentUpDto.getItemTypeCode()) - .setUnitCode(diagnosisTreatmentUpDto.getPermittedUnitCode()) - .setInstanceTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION) - .setEffectiveStart(DateUtils.getNowDate()).setStatusEnum(PublicationStatus.ACTIVE.getValue()) - .setConditionFlag(Whether.YES.getValue()).setChargeName(diagnosisTreatmentUpDto.getName()) - .setInstanceId(activityDefinition.getId()).setPrice(diagnosisTreatmentUpDto.getRetailPrice()) - .setPriceCode(diagnosisTreatmentUpDto.getPriceCode()); + .setUnitCode(diagnosisTreatmentUpDto.getPermittedUnitCode()) + .setInstanceTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION) + .setEffectiveStart(DateUtils.getNowDate()).setStatusEnum(PublicationStatus.ACTIVE.getValue()) + .setConditionFlag(Whether.YES.getValue()).setChargeName(diagnosisTreatmentUpDto.getName()) + .setInstanceId(activityDefinition.getId()).setPrice(diagnosisTreatmentUpDto.getRetailPrice()) + .setPriceCode(diagnosisTreatmentUpDto.getPriceCode()); return itemDefinitionService.addItem(itemUpFromDirectoryDto) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊疗目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"诊疗目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); } return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); @@ -396,8 +395,8 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { @Override public R importData(MultipartFile file) { // 读取文件 - R> readResult = - CommonUtil.readImportedExcelFile(file, DiagnosisTreatmentImportDto.class); + R> readResult + = CommonUtil.readImportedExcelFile(file, DiagnosisTreatmentImportDto.class); if (R.SUCCESS != readResult.getCode()) { return readResult; } @@ -416,9 +415,9 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { activityDefinitionService.save(activityDefinition); // 创建费用定价和详情 chargeItemDefinitionService.addChargeItemDefinitionAndDetail(importDto.getName(), importDto.getTypeCode(), - importDto.getYbType(), importDto.getPermittedUnitCode(), null, importDto.getRetailPrice(), - importDto.getMaximumRetailPrice(), orgId, CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, - activityDefinition.getId()); + importDto.getYbType(), importDto.getPermittedUnitCode(), null, importDto.getRetailPrice(), + importDto.getMaximumRetailPrice(), orgId, CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, + activityDefinition.getId()); } return R.ok(null, "导入成功!"); } @@ -446,12 +445,8 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { List serviceRequestList = serviceRequestService.getServiceRequestByActivityId(activityId); if (!serviceRequestList.isEmpty()) { if (serviceRequestList.stream().anyMatch( - serviceRequest -> RequestStatus.COMPLETED.getValue().equals(serviceRequest.getStatusEnum()))) { -<<<<<<< HEAD - return R.ok(1,"医生开过该诊疗项目,不可编辑"); -======= + serviceRequest -> RequestStatus.COMPLETED.getValue().equals(serviceRequest.getStatusEnum()))) { return R.ok(1, "医生开过该诊疗项目,不可编辑"); ->>>>>>> v1.3 } } return R.ok(); @@ -518,7 +513,7 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { } if (!lineValidateMsgList.isEmpty()) { fieldValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); + .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); } } if (!fieldValidateMsgList.isEmpty()) { @@ -527,13 +522,13 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { // 重复校验(文件行重复) List lineRepeatedValidateMsgList = new ArrayList<>(); List> importDtoGroupList = new ArrayList<>( - importDtoList.stream().collect(Collectors.groupingBy(DiagnosisTreatmentImportDto::getName)).values()); + importDtoList.stream().collect(Collectors.groupingBy(DiagnosisTreatmentImportDto::getName)).values()); for (List importDtoGroup : importDtoGroupList) { if (importDtoGroup.size() > 1) { lineRepeatedValidateMsgList.add("■ 第" - + importDtoGroup.stream().map(DiagnosisTreatmentImportDto::getLineNumber).sorted() - .map(Object::toString).collect(Collectors.joining(",")) - + "行的【" + importDtoGroup.get(0).getName() + "】重复;"); + + importDtoGroup.stream().map(DiagnosisTreatmentImportDto::getLineNumber).sorted() + .map(Object::toString).collect(Collectors.joining(",")) + + "行的【" + importDtoGroup.get(0).getName() + "】重复;"); } } if (!lineRepeatedValidateMsgList.isEmpty()) { @@ -543,10 +538,10 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { List dbRepeatedValidateMsgList = new ArrayList<>(); for (DiagnosisTreatmentImportDto importDto : importDtoList) { List deviceDefinitionList = activityDefinitionService.list( - new LambdaQueryWrapper().eq(ActivityDefinition::getName, importDto.getName())); + new LambdaQueryWrapper().eq(ActivityDefinition::getName, importDto.getName())); if (!deviceDefinitionList.isEmpty()) { dbRepeatedValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行的【" + importDto.getName() + "】在系统中已存在;"); + .add("■ 第" + importDto.getLineNumber() + "行的【" + importDto.getName() + "】在系统中已存在;"); } } if (!dbRepeatedValidateMsgList.isEmpty()) { @@ -565,14 +560,14 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { private ActivityDefinition createActivityDefinitionEntity(DiagnosisTreatmentImportDto importDto, Long orgId) { ActivityDefinition activityDefinition = new ActivityDefinition(); activityDefinition.setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.ACTIVITY_DEFINITION_NUM.getPrefix(), 10)) - .setName(importDto.getName()).setCategoryCode(importDto.getCategoryCode()) - .setPyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getName())) - .setWbStr(ChineseConvertUtils.toWBFirstLetter(importDto.getName())) - .setPermittedUnitCode(importDto.getPermittedUnitCode()).setOrgId(orgId) - .setYbFlag(CommonUtil.tryParseInt(importDto.getYbFlag())).setYbNo(importDto.getYbNo()) - .setYbMatchFlag(CommonUtil.tryParseInt(importDto.getYbMatchFlag())) - .setStatusEnum(PublicationStatus.ACTIVE.getValue()) - .setChrgitmLv(CommonUtil.tryParseInt(importDto.getChrgitmLv())); + .setName(importDto.getName()).setCategoryCode(importDto.getCategoryCode()) + .setPyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getName())) + .setWbStr(ChineseConvertUtils.toWBFirstLetter(importDto.getName())) + .setPermittedUnitCode(importDto.getPermittedUnitCode()).setOrgId(orgId) + .setYbFlag(CommonUtil.tryParseInt(importDto.getYbFlag())).setYbNo(importDto.getYbNo()) + .setYbMatchFlag(CommonUtil.tryParseInt(importDto.getYbMatchFlag())) + .setStatusEnum(PublicationStatus.ACTIVE.getValue()) + .setChrgitmLv(CommonUtil.tryParseInt(importDto.getChrgitmLv())); return activityDefinition; } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/MedicationManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/MedicationManageAppServiceImpl.java index 76e03776..718798ef 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/MedicationManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/MedicationManageAppServiceImpl.java @@ -12,10 +12,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -<<<<<<< HEAD -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; @@ -118,53 +115,53 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi MedicationManageInitDto medicationManageInitDto = new MedicationManageInitDto(); // 获取状态,从枚举里面取下拉值 List statusEnumOptions = Stream.of(PublicationStatus.values()) - .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); // 获取适用范围 List domainEnumOptions = Stream.of(ApplicableScope.values()) - .map(domain -> new MedicationManageInitDto.domainEnumOption(domain.getValue(), domain.getInfo())) - .collect(Collectors.toList()); + .map(domain -> new MedicationManageInitDto.domainEnumOption(domain.getValue(), domain.getInfo())) + .collect(Collectors.toList()); // 查询供应商列表 List supplierList = supplierService.getList(); // 供应商信息 List supplierListOptions = supplierList.stream() - .map(supplier -> new MedicationManageInitDto.supplierListOption(supplier.getId(), supplier.getName())) - .collect(Collectors.toList()); + .map(supplier -> new MedicationManageInitDto.supplierListOption(supplier.getId(), supplier.getName())) + .collect(Collectors.toList()); // 获取药品分类 - List medicalList = - sysDictTypeService.selectDictDataByType(CommonConstants.DictName.MED_CATEGORY_CODE); + List medicalList + = sysDictTypeService.selectDictDataByType(CommonConstants.DictName.MED_CATEGORY_CODE); // 获取药品分类 List medicationCategories = medicalList.stream().map( - category -> new MedicationManageInitDto.dictCategoryCode(category.getDictValue(), category.getDictLabel())) - .collect(Collectors.toList()); + category -> new MedicationManageInitDto.dictCategoryCode(category.getDictValue(), category.getDictLabel())) + .collect(Collectors.toList()); // 获取是/否 列表 // 获取状态 List statusWeatherOption = Stream.of(Whether.values()) - .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); - - // 权限限制 - List statusRestrictedOptions = Stream.of(PermissionLimit.values()) - .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); - - // 拆分属性 - List partAttributeEnumOptions = Stream.of(SplitPropertyCode.values()) - .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); - - // 住院临时医嘱拆分属性的枚举 - List tempOrderSplitPropertyOptions = - Stream.of(TempOrderSplitPropertyCode.values()) .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) .collect(Collectors.toList()); + // 权限限制 + List statusRestrictedOptions = Stream.of(PermissionLimit.values()) + .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); + + // 拆分属性 + List partAttributeEnumOptions = Stream.of(SplitPropertyCode.values()) + .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); + + // 住院临时医嘱拆分属性的枚举 + List tempOrderSplitPropertyOptions + = Stream.of(TempOrderSplitPropertyCode.values()) + .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); + // 医保等级List List chrgitmLvOptions = Stream.of(InsuranceLevel.values()) - .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new MedicationManageInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); medicationManageInitDto.setStatusFlagOptions(statusEnumOptions); medicationManageInitDto.setDomainFlagOptions(domainEnumOptions); @@ -190,18 +187,18 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi */ @Override public R getMedicationList(MedicationSearchParam medicationSearchParam, - @RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(medicationSearchParam, - searchKey, new HashSet<>(Arrays.asList("name", "name_en", "merchandise_name", "bus_no", "py_str", "wb_str", - "merchandise_py_str", "merchandise_wb_str")), - null); + searchKey, new HashSet<>(Arrays.asList("name", "name_en", "merchandise_name", "bus_no", "py_str", "wb_str", + "merchandise_py_str", "merchandise_wb_str")), + null); - IPage medicationManageDtoPage = - medicationManageSearchMapper.getPage(new Page<>(pageNo, pageSize), queryWrapper); + IPage medicationManageDtoPage + = medicationManageSearchMapper.getPage(new Page<>(pageNo, pageSize), queryWrapper); // 枚举类回显赋值 medicationManageDtoPage.getRecords().forEach(e -> { @@ -232,10 +229,10 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi e.setBasicFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getBasicFlag())); // 拆分分属性 e.setPartAttributeEnum_enumText( - EnumUtils.getInfoByValue(SplitPropertyCode.class, e.getPartAttributeEnum())); + EnumUtils.getInfoByValue(SplitPropertyCode.class, e.getPartAttributeEnum())); // 住院临时医嘱拆分属性 e.setThoPartAttributeEnum_enumText( - EnumUtils.getInfoByValue(TempOrderSplitPropertyCode.class, e.getThoPartAttributeEnum())); + EnumUtils.getInfoByValue(TempOrderSplitPropertyCode.class, e.getThoPartAttributeEnum())); // // 活动标记 // e.setActiveFlag_enumText(EnumUtils.getInfoByValue(AccountStatus.class, e.getActiveFlag())); @@ -263,18 +260,18 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi // 拼音码 medicationDefinition.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(medicationDefinition.getName())); medicationDefinition - .setMerchandisePyStr(ChineseConvertUtils.toPinyinFirstLetter(medicationDefinition.getMerchandiseName())); + .setMerchandisePyStr(ChineseConvertUtils.toPinyinFirstLetter(medicationDefinition.getMerchandiseName())); // 五笔码 medicationDefinition.setWbStr(ChineseConvertUtils.toWBFirstLetter(medicationDefinition.getName())); medicationDefinition - .setMerchandiseWbStr(ChineseConvertUtils.toWBFirstLetter(medicationDefinition.getMerchandiseName())); + .setMerchandiseWbStr(ChineseConvertUtils.toWBFirstLetter(medicationDefinition.getMerchandiseName())); ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); chargeItemDefinition.setYbType(medicationManageUpDto.getYbType()) - .setTypeCode(medicationManageUpDto.getTypeCode()) - .setInstanceTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - .setInstanceId(medicationManageUpDto.getMedicationDefId()).setPrice(medicationManageUpDto.getRetailPrice()) - .setChargeName(medicationManageUpDto.getName()); + .setTypeCode(medicationManageUpDto.getTypeCode()) + .setInstanceTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setInstanceId(medicationManageUpDto.getMedicationDefId()).setPrice(medicationManageUpDto.getRetailPrice()) + .setChargeName(medicationManageUpDto.getName()); // 更新子表药品信息 if (medicationService.updateById(medication)) { @@ -282,11 +279,11 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi boolean updateMedicationDefinition = medicationDefinitionService.updateById(medicationDefinition); if (updateMedicationDefinition) { // 调用医保目录对照接口 - String ybSwitch = - SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 + String ybSwitch + = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch) && StringUtils.isNotEmpty(medicationDefinition.getYbNo())) { R r = ybService.directoryCheck(CommonConstants.TableName.MED_MEDICATION_DEFINITION, - medicationDefinition.getId()); + medicationDefinition.getId()); if (200 != r.getCode()) { throw new RuntimeException("医保目录对照接口异常"); } @@ -295,24 +292,24 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi // 插入操作记录 operationRecordService.addEntityOperationRecord(DbOpType.UPDATE.getCode(), - CommonConstants.TableName.MED_MEDICATION_DEFINITION, medication); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, medication); // Todo:封装一个价格初始话的方法给app层调用 // 更新价格表 boolean updateChargeItemDefinition = itemDefinitionServic.updateItem(chargeItemDefinition); // 更新子表,修改购入价,条件:采购 boolean upItemDetail1 = itemDefinitionServic.updateItemDetail(chargeItemDefinition, - medicationManageUpDto.getPurchasePrice(), ConditionCode.PURCHASE.getCode()); + medicationManageUpDto.getPurchasePrice(), ConditionCode.PURCHASE.getCode()); // 更新子表,修改零售价,条件:单位 boolean upItemDetail2 = itemDefinitionServic.updateItemDetail(chargeItemDefinition, - medicationManageUpDto.getRetailPrice(), ConditionCode.UNIT.getCode()); + medicationManageUpDto.getRetailPrice(), ConditionCode.UNIT.getCode()); // 更新子表,修改最高零售价,条件:限制 boolean upItemDetail3 = itemDefinitionServic.updateItemDetail(chargeItemDefinition, - medicationManageUpDto.getMaximumRetailPrice(), ConditionCode.LIMIT.getCode()); + medicationManageUpDto.getMaximumRetailPrice(), ConditionCode.LIMIT.getCode()); return (updateMedicationDefinition && updateChargeItemDefinition && upItemDetail1 && upItemDetail2 - && upItemDetail3) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"药品目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + && upItemDetail3) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"药品目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } else { return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } @@ -356,11 +353,11 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi // TODO:别用三元,日志在业务代码以后记录 // 插入操作记录 operationRecordService.addIdsOperationRecord(DbOpType.STOP.getCode(), - CommonConstants.TableName.MED_MEDICATION_DEFINITION, ids); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, ids); // 更新药品信息 return medicationService.updateBatchById(medicationList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"药品目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"药品目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -382,11 +379,11 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi } // 插入操作记录 operationRecordService.addIdsOperationRecord(DbOpType.START.getCode(), - CommonConstants.TableName.MED_MEDICATION_DEFINITION, ids); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, ids); // 更新药品信息 return medicationService.updateBatchById(medicationList) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"药品目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"药品目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -406,11 +403,11 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi // 拼音码 medicationDetail.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(medicationDetail.getName())); medicationDetail - .setMerchandisePyStr(ChineseConvertUtils.toPinyinFirstLetter(medicationDetail.getMerchandiseName())); + .setMerchandisePyStr(ChineseConvertUtils.toPinyinFirstLetter(medicationDetail.getMerchandiseName())); // 五笔码 medicationDetail.setWbStr(ChineseConvertUtils.toWBFirstLetter(medicationDetail.getName())); medicationDetail - .setMerchandiseWbStr(ChineseConvertUtils.toWBFirstLetter(medicationDetail.getMerchandiseName())); + .setMerchandiseWbStr(ChineseConvertUtils.toWBFirstLetter(medicationDetail.getMerchandiseName())); // 新增主表外来药品目录 if (medicationDefinitionService.addMedication(medicationDetail)) { @@ -418,31 +415,31 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch) && StringUtils.isNotEmpty(medicationDetail.getYbNo())) { R r = ybService.directoryCheck(CommonConstants.TableName.MED_MEDICATION_DEFINITION, - medicationDetail.getId()); + medicationDetail.getId()); if (200 != r.getCode()) { throw new RuntimeException("医保目录对照接口异常"); } } // 插入操作记录 operationRecordService.addEntityOperationRecord(DbOpType.INSERT.getCode(), - CommonConstants.TableName.MED_MEDICATION_DEFINITION, medicationDetail); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, medicationDetail); // 新增子表外来药品目录 boolean insertMedicationSuccess = medicationService.addMedication(medicationDetail); ItemUpFromDirectoryDto itemUpFromDirectoryDto = new ItemUpFromDirectoryDto(); BeanUtils.copyProperties(medicationManageUpDto, itemUpFromDirectoryDto); itemUpFromDirectoryDto.setInstanceId(medicationDetail.getMedicationDefId()) - .setStatusEnum(PublicationStatus.ACTIVE.getValue()) - .setInstanceTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - .setEffectiveStart(DateUtils.getNowDate()).setOrgId(SecurityUtils.getLoginUser().getOrgId()) - .setConditionFlag(Whether.YES.getValue()).setChargeName(medicationDetail.getName()) - .setPrice(medicationManageUpDto.getRetailPrice()); + .setStatusEnum(PublicationStatus.ACTIVE.getValue()) + .setInstanceTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setEffectiveStart(DateUtils.getNowDate()).setOrgId(SecurityUtils.getLoginUser().getOrgId()) + .setConditionFlag(Whether.YES.getValue()).setChargeName(medicationDetail.getName()) + .setPrice(medicationManageUpDto.getRetailPrice()); // 添加药品成功后,添加相应的条件价格表信息 boolean insertItemDefinitionSuccess = itemDefinitionServic.addItem(itemUpFromDirectoryDto); return (insertMedicationSuccess && insertItemDefinitionSuccess) - ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"药品目录"})) - : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"药品目录"})) + : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); } else { return R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); } @@ -450,11 +447,11 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi @Override public R exportMedication(String searchKey, Integer ybMatchFlag, Integer statusEnum, String categoryCode, - HttpServletResponse response) { + HttpServletResponse response) { // 获取租户ID Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); - List list = - medicationManageSearchMapper.getList(searchKey, ybMatchFlag, statusEnum, categoryCode, tenantId); + List list + = medicationManageSearchMapper.getList(searchKey, ybMatchFlag, statusEnum, categoryCode, tenantId); ExcelUtil util = new ExcelUtil<>(MedicationManageDto.class); util.exportExcel(response, list, "药品目录"); return null; @@ -482,24 +479,24 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi // 查询机构ID、位置信息供后续使用 Long orgId = SecurityUtils.getLoginUser().getOrgId(); List locationList = locationService.list(new LambdaQueryWrapper() - .eq(Location::getDeleteFlag, DelFlag.NO.getCode()).orderByAsc(Location::getId)); + .eq(Location::getDeleteFlag, DelFlag.NO.getCode()).orderByAsc(Location::getId)); Long defaultLocationId = locationList.stream().findFirst().orElse(new Location()).getId(); - Map> locationNameMap = - locationList.stream().collect(Collectors.groupingBy(Location::getName)); + Map> locationNameMap + = locationList.stream().collect(Collectors.groupingBy(Location::getName)); // 创建表数据 for (MedicationImportDto importDto : importDtoList) { // 创建药品定义 MedicationDefinition medicationDefinition = createMedicationDefinitionEntity(importDto); medicationDefinitionService.save(medicationDefinition); // 创建药品 - Medication medication = - createMedicationEntity(importDto, medicationDefinition.getId(), defaultLocationId, locationNameMap); + Medication medication + = createMedicationEntity(importDto, medicationDefinition.getId(), defaultLocationId, locationNameMap); medicationService.save(medication); // 创建费用定价和详情 chargeItemDefinitionService.addChargeItemDefinitionAndDetail(importDto.getName(), importDto.getTypeCode(), - importDto.getYbType(), importDto.getUnitCode(), importDto.getPurchasePrice(), - importDto.getRetailPrice(), importDto.getMaximumRetailPrice(), orgId, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, medicationDefinition.getId()); + importDto.getYbType(), importDto.getUnitCode(), importDto.getPurchasePrice(), + importDto.getRetailPrice(), importDto.getMaximumRetailPrice(), orgId, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, medicationDefinition.getId()); } return R.ok(null, "导入成功!"); } @@ -523,11 +520,11 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi */ @Override public R validateMedicationEdit(Long medicationId) { - List medicationRequestList = - medicationRequestService.getMedRequestByMedicationId(medicationId); + List medicationRequestList + = medicationRequestService.getMedRequestByMedicationId(medicationId); if (!medicationRequestList.isEmpty()) { if (medicationRequestList.stream() - .allMatch(x -> x.getStatusEnum().equals(RequestStatus.COMPLETED.getValue()))) { + .allMatch(x -> x.getStatusEnum().equals(RequestStatus.COMPLETED.getValue()))) { return R.ok(1, "医生开过该药品,不可编辑"); } else { // 校验是否可以编辑 @@ -542,7 +539,7 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi /** * 导入信息校验 - * + * * @param importDtoList 药品目录导入数据列表 */ private R validateImportDtoList(List importDtoList) { @@ -559,9 +556,9 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi lineValidateMsgList.add("药品分类必填"); } if (Whether.YES.getCode().equals(importDto.getYbMatchFlag()) - && !MedCategoryCode.TRADITIONAL_CHINESE_MEDICINE.getValue().equals(importDto.getCategoryCode()) - && !MedCategoryCode.WESTERN_MEDICINE.getValue().equals(importDto.getCategoryCode()) - && !MedCategoryCode.CHINESE_HERBAL_MEDICINE.getValue().equals(importDto.getCategoryCode())) { + && !MedCategoryCode.TRADITIONAL_CHINESE_MEDICINE.getValue().equals(importDto.getCategoryCode()) + && !MedCategoryCode.WESTERN_MEDICINE.getValue().equals(importDto.getCategoryCode()) + && !MedCategoryCode.CHINESE_HERBAL_MEDICINE.getValue().equals(importDto.getCategoryCode())) { lineValidateMsgList.add("医保药的药品分类只能选择中成药、西药或中草药;"); } if (StringUtils.isEmpty(importDto.getMerchandiseName())) { @@ -605,7 +602,7 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi lineValidateMsgList.add("是否限制使用必填"); } if (Whether.YES.getCode().equals(importDto.getRestrictedFlag()) - && StringUtils.isEmpty(importDto.getRestrictedScope())) { + && StringUtils.isEmpty(importDto.getRestrictedScope())) { lineValidateMsgList.add("限制使用时,限制使用范围必填"); } if (StringUtils.isEmpty(importDto.getChildrenFlag())) { @@ -618,7 +615,7 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi lineValidateMsgList.add("是否抗生素必填"); } if (Whether.YES.getCode().equals(importDto.getAntibioticFlag()) - && StringUtils.isEmpty(importDto.getAntibioticCode())) { + && StringUtils.isEmpty(importDto.getAntibioticCode())) { lineValidateMsgList.add("为抗生素时,抗生素分类必填"); } if (StringUtils.isEmpty(importDto.getSelfFlag())) { @@ -731,7 +728,7 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi } if (!lineValidateMsgList.isEmpty()) { fieldValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); + .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); } } if (!fieldValidateMsgList.isEmpty()) { @@ -740,15 +737,15 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi // 重复校验(文件行重复) List lineRepeatedValidateMsgList = new ArrayList<>(); List> importDtoGroupList = new ArrayList<>(importDtoList.stream() - .collect(Collectors.groupingBy(e -> e.getName() + e.getManufacturerText() + e.getTotalVolume())).values()); + .collect(Collectors.groupingBy(e -> e.getName() + e.getManufacturerText() + e.getTotalVolume())).values()); for (List importDtoGroup : importDtoGroupList) { if (importDtoGroup.size() > 1) { lineRepeatedValidateMsgList - .add( - "■ 第" - + importDtoGroup.stream().map(MedicationImportDto::getLineNumber).sorted() - .map(Object::toString).collect(Collectors.joining(",")) - + "行的【" + importDtoGroup.get(0).getName() + "】重复;"); + .add( + "■ 第" + + importDtoGroup.stream().map(MedicationImportDto::getLineNumber).sorted() + .map(Object::toString).collect(Collectors.joining(",")) + + "行的【" + importDtoGroup.get(0).getName() + "】重复;"); } } if (!lineRepeatedValidateMsgList.isEmpty()) { @@ -758,18 +755,18 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi List dbRepeatedValidateMsgList = new ArrayList<>(); for (MedicationImportDto importDto : importDtoList) { List medicationDefinitionList = medicationDefinitionService.list( - new LambdaQueryWrapper().eq(MedicationDefinition::getName, importDto.getName()) - .eq(MedicationDefinition::getManufacturerText, importDto.getManufacturerText())); + new LambdaQueryWrapper().eq(MedicationDefinition::getName, importDto.getName()) + .eq(MedicationDefinition::getManufacturerText, importDto.getManufacturerText())); if (!medicationDefinitionList.isEmpty()) { - List medicationList = - medicationService.list(new LambdaQueryWrapper() - .in(Medication::getMedicationDefId, - medicationDefinitionList.stream().map(MedicationDefinition::getId) - .collect(Collectors.toList())) - .eq(Medication::getTotalVolume, importDto.getTotalVolume())); + List medicationList + = medicationService.list(new LambdaQueryWrapper() + .in(Medication::getMedicationDefId, + medicationDefinitionList.stream().map(MedicationDefinition::getId) + .collect(Collectors.toList())) + .eq(Medication::getTotalVolume, importDto.getTotalVolume())); if (!medicationList.isEmpty()) { dbRepeatedValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行的【" + importDto.getName() + "】在系统中已存在;"); + .add("■ 第" + importDto.getLineNumber() + "行的【" + importDto.getName() + "】在系统中已存在;"); } } } @@ -781,48 +778,48 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi /** * 创建药品定义实体 - * + * * @param importDto 药品目录导入Dto * @return 药品定义实体 */ private MedicationDefinition createMedicationDefinitionEntity(MedicationImportDto importDto) { MedicationDefinition medicationDefinition = new MedicationDefinition(); medicationDefinition.setName(importDto.getName()) - .setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.MEDICATION_NUM.getPrefix(), 10)).setDomainEnum(1) - .setVersion(importDto.getVersion()).setNameEn(importDto.getNameEn()) - .setPyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getName())) - .setWbStr(ChineseConvertUtils.toWBFirstLetter(importDto.getName())) - .setCategoryCode(importDto.getCategoryCode()).setMerchandiseName(importDto.getMerchandiseName()) - .setMerchandisePyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getMerchandiseName())) - .setMerchandiseWbStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getMerchandiseName())) - .setUnitCode(importDto.getUnitCode()).setMinUnitCode(importDto.getMinUnitCode()) - .setPartPercent(importDto.getPartPercent()).setDoseFrom(CommonUtil.tryParseInt(importDto.getDoseFrom())) - .setApprovalNumber(importDto.getApprovalNumber()) - .setYbMatchFlag(CommonUtil.tryParseInt(importDto.getYbMatchFlag())).setYbNo(importDto.getYbNo()) - .setPharmacologyCategoryCode(importDto.getPharmacologyCategoryCode()) - .setSkinTestFlag(CommonUtil.tryParseInt(importDto.getSkinTestFlag())) - .setInjectFlag(CommonUtil.tryParseInt(importDto.getInjectFlag())) - .setManufacturerText(importDto.getManufacturerText()) - .setRestrictedFlag(CommonUtil.tryParseInt(importDto.getRestrictedFlag())) - .setRestrictedScope(importDto.getRestrictedScope()).setActiveFlag(Whether.YES.getValue()) - .setChildrenFlag(CommonUtil.tryParseInt(importDto.getChildrenFlag())) - .setNationalDrugCode(importDto.getNationalDrugCode()) - .setPartAttributeEnum(CommonUtil.tryParseInt(importDto.getPartAttributeEnum())) - .setAntibioticCode(importDto.getAntibioticCode()) - .setSelfFlag(CommonUtil.tryParseInt(importDto.getSelfFlag())) - .setAntibioticFlag(CommonUtil.tryParseInt(importDto.getAntibioticFlag())) - .setBasicFlag(CommonUtil.tryParseInt(importDto.getBasicFlag())) - .setThoPartAttributeEnum(CommonUtil.tryParseInt(importDto.getThoPartAttributeEnum())) - .setUnitConversionRatio(importDto.getUnitConversionRatio()) - .setChrgitmLv(CommonUtil.tryParseInt(importDto.getChrgitmLv())) - .setRxFlag(CommonUtil.tryParseInt(importDto.getRxFlag())).setItemMinQuantity(importDto.getItemMinQuantity()) - .setItemMaxQuantity(importDto.getItemMaxQuantity()); + .setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.MEDICATION_NUM.getPrefix(), 10)).setDomainEnum(1) + .setVersion(importDto.getVersion()).setNameEn(importDto.getNameEn()) + .setPyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getName())) + .setWbStr(ChineseConvertUtils.toWBFirstLetter(importDto.getName())) + .setCategoryCode(importDto.getCategoryCode()).setMerchandiseName(importDto.getMerchandiseName()) + .setMerchandisePyStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getMerchandiseName())) + .setMerchandiseWbStr(ChineseConvertUtils.toPinyinFirstLetter(importDto.getMerchandiseName())) + .setUnitCode(importDto.getUnitCode()).setMinUnitCode(importDto.getMinUnitCode()) + .setPartPercent(importDto.getPartPercent()).setDoseFrom(CommonUtil.tryParseInt(importDto.getDoseFrom())) + .setApprovalNumber(importDto.getApprovalNumber()) + .setYbMatchFlag(CommonUtil.tryParseInt(importDto.getYbMatchFlag())).setYbNo(importDto.getYbNo()) + .setPharmacologyCategoryCode(importDto.getPharmacologyCategoryCode()) + .setSkinTestFlag(CommonUtil.tryParseInt(importDto.getSkinTestFlag())) + .setInjectFlag(CommonUtil.tryParseInt(importDto.getInjectFlag())) + .setManufacturerText(importDto.getManufacturerText()) + .setRestrictedFlag(CommonUtil.tryParseInt(importDto.getRestrictedFlag())) + .setRestrictedScope(importDto.getRestrictedScope()).setActiveFlag(Whether.YES.getValue()) + .setChildrenFlag(CommonUtil.tryParseInt(importDto.getChildrenFlag())) + .setNationalDrugCode(importDto.getNationalDrugCode()) + .setPartAttributeEnum(CommonUtil.tryParseInt(importDto.getPartAttributeEnum())) + .setAntibioticCode(importDto.getAntibioticCode()) + .setSelfFlag(CommonUtil.tryParseInt(importDto.getSelfFlag())) + .setAntibioticFlag(CommonUtil.tryParseInt(importDto.getAntibioticFlag())) + .setBasicFlag(CommonUtil.tryParseInt(importDto.getBasicFlag())) + .setThoPartAttributeEnum(CommonUtil.tryParseInt(importDto.getThoPartAttributeEnum())) + .setUnitConversionRatio(importDto.getUnitConversionRatio()) + .setChrgitmLv(CommonUtil.tryParseInt(importDto.getChrgitmLv())) + .setRxFlag(CommonUtil.tryParseInt(importDto.getRxFlag())).setItemMinQuantity(importDto.getItemMinQuantity()) + .setItemMaxQuantity(importDto.getItemMaxQuantity()); return medicationDefinition; } /** * 创建药品基本实体 - * + * * @param importDto 药品目录导入Dto * @param medicationDefId 药品定义ID * @param defaultLocationId 默认位置ID @@ -830,7 +827,7 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi * @return 药品基本实体 */ private Medication createMedicationEntity(MedicationImportDto importDto, Long medicationDefId, - Long defaultLocationId, Map> locationNameMap) { + Long defaultLocationId, Map> locationNameMap) { Medication medication = new Medication(); // 根据输入的所在位置名称获取位置ID List mapLocationList = locationNameMap.get(importDto.getLocationName()); @@ -840,10 +837,10 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi medication.setLocationId(mapLocationList.get(0).getId()); } medication.setMedicationDefId(medicationDefId).setStatusEnum(PublicationStatus.ACTIVE.getValue()) - .setDoseFormCode(importDto.getDoseFrom()).setTotalVolume(importDto.getTotalVolume()) - .setActiveFlag(Whether.YES.getValue()).setMethodCode(importDto.getMethodCode()) - .setRateCode(importDto.getRateCode()).setDose(importDto.getDose()) - .setDoseUnitCode(importDto.getDoseUnitCode()).setMaxUnit(importDto.getMaxUnit()); + .setDoseFormCode(importDto.getDoseFrom()).setTotalVolume(importDto.getTotalVolume()) + .setActiveFlag(Whether.YES.getValue()).setMethodCode(importDto.getMethodCode()) + .setRateCode(importDto.getRateCode()).setDose(importDto.getDose()) + .setDoseUnitCode(importDto.getDoseUnitCode()).setMaxUnit(importDto.getMaxUnit()); return medication; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageDto.java index 3f5b1a31..619b79c9 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageDto.java @@ -22,271 +22,414 @@ import javax.validation.constraints.NotNull; @Accessors(chain = true) public class MedicationManageDto { - /** ID */ + /** + * ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long id; - /** 药品编码 */ + /** + * 药品编码 + */ @JsonSerialize(using = ToStringSerializer.class) private Long medicationDefId; - /** 药品状态 */ + /** + * 药品状态 + */ private Integer statusEnum; private String statusEnum_enumText; - /** 所属科室 */ + /** + * 所属科室 + */ @Dict(dictTable = "adm_organization", dictCode = "id", dictText = "name") @JsonSerialize(using = ToStringSerializer.class) private Long orgId; private String orgId_dictText; - /** 所在位置 */ + /** + * 所在位置 + */ @Dict(dictTable = "adm_location", dictCode = "id", dictText = "name") @JsonSerialize(using = ToStringSerializer.class) private Long locationId; private String locationId_dictText; - /** 剂型 */ + /** + * 剂型 + */ @Dict(dictCode = "dose_form_code") private String doseFormCode; private String doseFormCode_dictText; - /** 规格 */ + /** + * 规格 + */ private String totalVolume; - /** 成分 */ + /** + * 成分 + */ private String ingredientItem; - /** 是否为活性 */ + /** + * 是否为活性 + */ private Integer activeFlag; private String activeFlag_enumText; - /** 批次号 */ + /** + * 批次号 + */ private String lotNumber; - /** 生效日期 */ + /** + * 生效日期 + */ private Date effectiveDate; - /** 到期日期 */ + /** + * 到期日期 + */ private Date expirationDate; - /** 用法 */ + /** + * 用法 + */ @Dict(dictCode = "method_code") private String methodCode; private String methodCode_dictText; - /** 用药频次 */ + /** + * 用药频次 + */ @Dict(dictCode = "rate_code") private String rateCode; private String rateCode_dictText; - /** 单次剂量 */ + /** + * 单次剂量 + */ private BigDecimal dose; - /** 剂量单位 */ + /** + * 剂量单位 + */ @Dict(dictCode = "unit_code") private String doseUnitCode; private String doseUnitCode_dictText; - /** 单次最大剂量 */ + /** + * 单次最大剂量 + */ private BigDecimal maxUnit; - /** 药品定义 */ + /** + * 药品定义 + */ private String definition; - /** 用量限定 */ + /** + * 用量限定 + */ private BigDecimal usageLimit; - /** DDD值 */ + /** + * DDD值 + */ @Dict(dictCode = "ddd_code") private String dddCode; private String dddCode_dictText; - /** DDD单位 */ + /** + * DDD单位 + */ @Dict(dictCode = "unit_code") private String dddUnitCode; private String dddUnitCode_dictText; - /** 药品编号 */ + /** + * 药品编号 + */ private String busNo; - /** 药品名称 */ + /** + * 药品名称 + */ private String name; - /** 适用范围 */ + /** + * 适用范围 + */ private Integer domainEnum; private String domainEnum_enumText; - /** 药品版本 */ + /** + * 药品版本 + */ private String version; - /** 英文药名 */ + /** + * 英文药名 + */ private String nameEn; - /** 药品名称拼音码 */ + /** + * 药品名称拼音码 + */ private String pyStr; - /** 药品五笔码 */ + /** + * 药品五笔码 + */ private String wbStr; - /** 药品分类 */ + /** + * 药品分类 + */ @Dict(dictCode = "med_category_code") private String categoryCode; private String categoryCode_dictText; - /** 商品名称 */ + /** + * 商品名称 + */ private String merchandiseName; - /** 商品名称拼音码 */ + /** + * 商品名称拼音码 + */ private String merchandisePyStr; - /** 商品五笔码 */ + /** + * 商品五笔码 + */ private String merchandiseWbStr; - /** 药品单位 */ + /** + * 药品单位 + */ @Dict(dictCode = "unit_code") private String unitCode; private String unitCode_dictText; - /** 最小单位 */ + /** + * 最小单位 + */ @Dict(dictCode = "unit_code") private String minUnitCode; private String minUnitCode_dictText; - /** 所含耗材 */ + /** + * 所含耗材 + */ private String comprisedText; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; - /** 剂量形式 */ + /** + * 剂量形式 + */ @Dict(dictCode = "dose_form_code") private Integer doseFrom; private String doseFrom_dictText; - /** 批准文号 */ + /** + * 批准文号 + */ private String approvalNumber; - /** 医保是否对码 */ + /** + * 医保是否对码 + */ private Integer ybMatchFlag; - private String ybMatchFlag_enumText;; + private String ybMatchFlag_enumText; + ; /** 医保编码 */ private String ybNo; - /** 药理作用分类 */ + /** + * 药理作用分类 + */ private String pharmacologyCategoryCode; - /** 是否皮试 */ + /** + * 是否皮试 + */ private Integer skinTestFlag; private String skinTestFlag_enumText; - /** 是否为注射药物 */ + /** + * 是否为注射药物 + */ private Integer injectFlag; private String injectFlag_enumText; - /** 生产厂家 */ + /** + * 生产厂家 + */ @JsonSerialize(using = ToStringSerializer.class) private Long manufacturerId; - /** 供应商 */ + /** + * 供应商 + */ @Dict(dictTable = "adm_supplier", dictCode = "id", dictText = "name") @JsonSerialize(using = ToStringSerializer.class) private Long supplyId; private String supplyId_dictText; - /** 是否限制使用 */ + /** + * 是否限制使用 + */ private Integer restrictedFlag; private String restrictedFlag_enumText; - /** 限制使用范围 */ + /** + * 限制使用范围 + */ private String restrictedScope; - /** 儿童用药标志 */ + /** + * 儿童用药标志 + */ private Integer childrenFlag; private String childrenFlag_enumText; - /** 产品特性 */ + /** + * 产品特性 + */ private Integer characteristic; private String characteristic_enumText; - /** 贯标国家编码 */ + /** + * 贯标国家编码 + */ private String nationalDrugCode; - /** 拆分属性 */ + /** + * 拆分属性 + */ private Integer partAttributeEnum; private String partAttributeEnum_enumText; - /** 抗生素分类 */ + /** + * 抗生素分类 + */ @Dict(dictCode = "antibiotic_type_code") private String antibioticCode; private String antibioticCode_dictText; - /** 权限限制 */ + /** + * 权限限制 + */ private Integer restrictedEnum; private String restrictedEnum_enumText; - /** 是否自制 */ + /** + * 是否自制 + */ private Integer selfFlag; private String selfFlag_enumText; - /** 是否抗生素 */ + /** + * 是否抗生素 + */ private Integer antibioticFlag; private String antibioticFlag_enumText; - /** 基药标识 */ + /** + * 基药标识 + */ private Integer basicFlag; private String basicFlag_enumText; - /** 生产厂商文本 */ + /** + * 生产厂商文本 + */ private String manufacturerText; - /** 最小库存警戒数量(常规单位) */ + /** + * 最小库存警戒数量(常规单位) + */ private BigDecimal itemMinQuantity; - /** 最大库存警戒数量(常规单位) */ + /** + * 最大库存警戒数量(常规单位) + */ private BigDecimal itemMaxQuantity; - /** 售价 */ + /** + * 售价 + */ private BigDecimal price; - /** 单次最小用药频次 */ + /** + * 单次最小用药频次 + */ private String minRateCode; - /** 单次最大用药频次 */ + /** + * 单次最大用药频次 + */ private String maxRateCode; - /** 医保类别 */ + /** + * 医保类别 + */ private String ybType; - /** 财务类别 */ + /** + * 财务类别 + */ @Dict(dictCode = "fin_type_code") private String typeCode; private String typeCode_dictText; - /** 成分 */ + /** + * 成分 + */ private String ingredient; - /** 购入价 */ + /** + * 购入价 + */ private BigDecimal purchasePrice; - /** 零售价 */ + /** + * 零售价 + */ private BigDecimal retailPrice; - /** 最高零售价 */ + /** + * 最高零售价 + */ private BigDecimal maximumRetailPrice; - /** 住院临时医嘱拆分属性 */ + /** + * 住院临时医嘱拆分属性 + */ private Integer thoPartAttributeEnum; private String thoPartAttributeEnum_enumText; - /** 剂量单位换算比 */ + /** + * 剂量单位换算比 + */ private BigDecimal unitConversionRatio; - /** 医保等级 */ + /** + * 医保等级 + */ private Integer chrgitmLv; - /** 处方标志 */ + /** + * 处方标志 + */ private Integer rxFlag; /** @@ -294,12 +437,9 @@ public class MedicationManageDto { */ private String dosageInstruction; -<<<<<<< HEAD -======= /** * 药品69码 */ private String drug69Code; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageUpDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageUpDto.java index 45a95707..d5080f2e 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageUpDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/MedicationManageUpDto.java @@ -24,238 +24,380 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class MedicationManageUpDto { - /** ID */ + /** + * ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long id; - /** 药品编码 */ + /** + * 药品编码 + */ @JsonSerialize(using = ToStringSerializer.class) private Long medicationDefId; - /** 所属科室 */ + /** + * 所属科室 + */ @JsonSerialize(using = ToStringSerializer.class) private Long orgId; - /** 所在位置 */ + /** + * 所在位置 + */ @JsonSerialize(using = ToStringSerializer.class) private Long locationId; - /** 剂型 */ + /** + * 剂型 + */ private String doseFormCode; - /** 规格 */ + /** + * 规格 + */ private String totalVolume; - /** 成分 */ + /** + * 成分 + */ private String ingredientItem; - /** 是否为活性 */ + /** + * 是否为活性 + */ private Integer activeFlag; - /** 批次号 */ + /** + * 批次号 + */ private String lotNumber; - /** 生效日期 */ + /** + * 生效日期 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") private Date effectiveDate; - /** 到期日期 */ + /** + * 到期日期 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") private Date expirationDate; - /** 用法 */ + /** + * 用法 + */ private String methodCode; - /** 用药频次 */ + /** + * 用药频次 + */ private String rateCode; - /** 单次剂量 */ + /** + * 单次剂量 + */ private BigDecimal dose; - /** 剂量单位 */ + /** + * 剂量单位 + */ @Dict(dictCode = "unit_code") @NotBlank(message = "剂量单位不能为空") private String doseUnitCode; private String doseUnitCode_dictText; - /** 单次最大剂量 */ + /** + * 单次最大剂量 + */ private BigDecimal maxUnit; - /** 药品定义 */ + /** + * 药品定义 + */ private String definition; - /** 药品编号 */ + /** + * 药品编号 + */ private String busNo; - /** 药品名称 */ + /** + * 药品名称 + */ @NotBlank(message = "药品名称不能为空") private String name; - /** 适用范围 */ + /** + * 适用范围 + */ private Integer domainEnum; - /** 药品版本 */ + /** + * 药品版本 + */ private String version; - /** 英文药名 */ + /** + * 英文药名 + */ private String nameEn; - /** 药品名称拼音码 */ + /** + * 药品名称拼音码 + */ private String pyStr; - /** 药品五笔码 */ + /** + * 药品五笔码 + */ private String wbStr; - /** 药品分类 */ + /** + * 药品分类 + */ private String categoryCode; - /** 商品名称 */ + /** + * 商品名称 + */ private String merchandiseName; - /** 商品名称拼音码 */ + /** + * 商品名称拼音码 + */ private String merchandisePyStr; - /** 商品五笔码 */ + /** + * 商品五笔码 + */ private String merchandiseWbStr; - /** 药品单位 */ + /** + * 药品单位 + */ @Dict(dictCode = "unit_code") private String unitCode; private String unitCode_dictText; - /** 最小单位 */ + /** + * 最小单位 + */ private String minUnitCode; - /** 所含耗材 */ + /** + * 所含耗材 + */ private String comprisedText; - /** 成分 */ + /** + * 成分 + */ private String ingredient; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; - /** 剂量形式 */ + /** + * 剂量形式 + */ @Dict(dictCode = "dose_form_code") private Integer doseFrom; private String doseFrom_dictText; - /** 批准文号 */ + /** + * 批准文号 + */ private String approvalNumber; - /** 医保是否对码 */ + /** + * 医保是否对码 + */ private Integer ybMatchFlag; - /** 医保编码 */ + /** + * 医保编码 + */ private String ybNo; - /** 药理作用分类 */ + /** + * 药理作用分类 + */ private String pharmacologyCategoryCode; - /** 是否皮试 */ + /** + * 是否皮试 + */ private Integer skinTestFlag; - /** 是否为注射药物 */ + /** + * 是否为注射药物 + */ private Integer injectFlag; - /** 生产厂家 */ + /** + * 生产厂家 + */ @JsonSerialize(using = ToStringSerializer.class) private Long manufacturerId; - /** 生产厂商文本 */ + /** + * 生产厂商文本 + */ private String manufacturerText; - /** 供应商 */ + /** + * 供应商 + */ @JsonSerialize(using = ToStringSerializer.class) private Long supplyId; - /** 是否限制使用 */ + /** + * 是否限制使用 + */ private Integer restrictedFlag; - /** 限制使用范围 */ + /** + * 限制使用范围 + */ private String restrictedScope; - /** 儿童用药标志 */ + /** + * 儿童用药标志 + */ private Integer childrenFlag; - /** 产品特性 */ + /** + * 产品特性 + */ private Integer characteristic; - /** 购入价 */ + /** + * 购入价 + */ private BigDecimal purchasePrice; - /** 零售价 */ + /** + * 零售价 + */ private BigDecimal retailPrice; - /** 最高零售价 */ + /** + * 最高零售价 + */ private BigDecimal maximumRetailPrice; - /** 医保类别 */ + /** + * 医保类别 + */ private String ybType; - /** 财务类别 */ + /** + * 财务类别 + */ @Dict(dictCode = "fin_type_code") private String typeCode; private String typeCode_dictText; - /** 单次最小用药频次 */ + /** + * 单次最小用药频次 + */ private String minRateCode; - /** 单次最大用药频次 */ + /** + * 单次最大用药频次 + */ private String maxRateCode; - /** 药品状态 */ + /** + * 药品状态 + */ private Integer statusEnum; private String statusEnum_enumText; - /** 拆分属性 */ + /** + * 拆分属性 + */ private Integer partAttributeEnum; - /** 贯标国家编码 */ + /** + * 贯标国家编码 + */ private String nationalDrugCode; - /** 是否抗生素 */ + /** + * 是否抗生素 + */ private Integer antibioticFlag; - /** 是否自制 */ + /** + * 是否自制 + */ private Integer selfFlag; - /** DDD值 */ + /** + * DDD值 + */ private String dddCode; - /** DDD单位 */ + /** + * DDD单位 + */ private String dddUnitCode; - /** 用量限定 */ + /** + * 用量限定 + */ private BigDecimal usageLimit; - /** 抗生素分类 */ + /** + * 抗生素分类 + */ @Dict(dictCode = "antibiotic_type_code") private String antibioticCode; private String antibioticCode_dictText; - /** 权限限制 */ + /** + * 权限限制 + */ private Integer restrictedEnum; - /** 基药标识 */ + /** + * 基药标识 + */ private Integer basicFlag; - /** 住院临时医嘱拆分属性 */ + /** + * 住院临时医嘱拆分属性 + */ private Integer thoPartAttributeEnum; - /** 最小库存警戒数量(常规单位) */ + /** + * 最小库存警戒数量(常规单位) + */ private BigDecimal itemMinQuantity; - /** 最大库存警戒数量(常规单位) */ + /** + * 最大库存警戒数量(常规单位) + */ private BigDecimal itemMaxQuantity; - /** 剂量单位换算比 */ + /** + * 剂量单位换算比 + */ private BigDecimal unitConversionRatio; - /** 医保等级 */ + /** + * 医保等级 + */ private Integer chrgitmLv; - /** 处方标志 */ + /** + * 处方标志 + */ private Integer rxFlag; /** @@ -263,12 +405,9 @@ public class MedicationManageUpDto { */ private String dosageInstruction; -<<<<<<< HEAD -======= /** * 药品69码 */ private String drug69Code; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/departmentmanage/appservice/impl/DepartmentIssuanceOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/departmentmanage/appservice/impl/DepartmentIssuanceOrderServiceImpl.java index 12cd8355..300f88bf 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/departmentmanage/appservice/impl/DepartmentIssuanceOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/departmentmanage/appservice/impl/DepartmentIssuanceOrderServiceImpl.java @@ -5,10 +5,6 @@ import java.util.List; import javax.annotation.Resource; -<<<<<<< HEAD -import org.springframework.beans.factory.annotation.Autowired; -======= ->>>>>>> v1.3 import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -93,8 +89,8 @@ public class DepartmentIssuanceOrderServiceImpl implements IDepartmentIssuanceOr @Override public R getDetailPage(String busNo, Integer pageNo, Integer pageSize) { - Page issuanceOrderDtoDetailPage = - departmentCommonMapper.getDetailPage(new Page<>(pageNo, pageSize), busNo); + Page issuanceOrderDtoDetailPage + = departmentCommonMapper.getDetailPage(new Page<>(pageNo, pageSize), busNo); issuanceOrderDtoDetailPage.getRecords().forEach(e -> { // 单据分类 @@ -123,15 +119,14 @@ public class DepartmentIssuanceOrderServiceImpl implements IDepartmentIssuanceOr * @param dispenseIdList 耗材发放id * @return 操作结果 */ - @Override public boolean addOrEditIssuanceOrder(List dispenseIdList) { // 获取单据号 String busNo = this.getBusNo(); // 获取更表所需信息 - List detailDto = - departmentIssuanceOrderMapper.getInfo(dispenseIdList, DispenseStatus.COMPLETED.getValue()); + List detailDto + = departmentIssuanceOrderMapper.getInfo(dispenseIdList, DispenseStatus.COMPLETED.getValue()); List supplyRequestList = new ArrayList<>(); SupplyRequest supplyRequest; @@ -140,24 +135,24 @@ public class DepartmentIssuanceOrderServiceImpl implements IDepartmentIssuanceOr for (DepartmentDetailDto item : detailDto) { // 供应申请 supplyRequest = new SupplyRequest().setBusNo(busNo).setTypeEnum(SupplyType.DISPENSING_ORDER.getValue()) - .setStatusEnum(SupplyStatus.AGREE.getValue()).setCategoryEnum(item.getCategoryEnum()) - .setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION).setItemId(item.getItemId()) - .setUnitCode(item.getUnitCode()).setItemQuantity(item.getItemQuantity()) - .setLotNumber(item.getLotNumber()).setSourceTypeEnum(LocationForm.CABINET.getValue()) - .setSourceLocationId(item.getSourceLocationId()).setPurposeTypeEnum(LocationForm.DEPARTMENT.getValue()) - .setPurposeLocationId(item.getPurposeLocationId()).setApplicantId(item.getApplicantId()) - .setApplyTime(item.getApplyTime()).setApproverId(item.getApproverId()) - .setApprovalTime(item.getApprovalTime()); + .setStatusEnum(SupplyStatus.AGREE.getValue()).setCategoryEnum(item.getCategoryEnum()) + .setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION).setItemId(item.getItemId()) + .setUnitCode(item.getUnitCode()).setItemQuantity(item.getItemQuantity()) + .setLotNumber(item.getLotNumber()).setSourceTypeEnum(LocationForm.CABINET.getValue()) + .setSourceLocationId(item.getSourceLocationId()).setPurposeTypeEnum(LocationForm.DEPARTMENT.getValue()) + .setPurposeLocationId(item.getPurposeLocationId()).setApplicantId(item.getApplicantId()) + .setApplyTime(item.getApplyTime()).setApproverId(item.getApproverId()) + .setApprovalTime(item.getApprovalTime()); supplyRequestList.add(supplyRequest); // 供应发放 supplyDelivery = new SupplyDelivery().setRequestId(supplyRequest.getId()) - .setStatusEnum(DispenseStatus.COMPLETED.getValue()).setTypeEnum(supplyRequest.getTypeEnum()) - .setItemTable(supplyRequest.getItemTable()).setItemId(supplyRequest.getItemId()) - .setBasedOnTable(CommonConstants.TableName.WOR_DEVICE_DISPENSE).setBasedOnIds(item.getDispenseIds()) - .setUnitCode(supplyRequest.getUnitCode()).setQuantity(supplyRequest.getItemQuantity()) - .setLotNumber(supplyRequest.getLotNumber()).setPractitionerId(supplyRequest.getApplicantId()) - .setOccurrenceTime(supplyRequest.getApprovalTime()).setReceiverId(supplyRequest.getPurposeLocationId()) - .setReceiveTime(supplyRequest.getApprovalTime()); + .setStatusEnum(DispenseStatus.COMPLETED.getValue()).setTypeEnum(supplyRequest.getTypeEnum()) + .setItemTable(supplyRequest.getItemTable()).setItemId(supplyRequest.getItemId()) + .setBasedOnTable(CommonConstants.TableName.WOR_DEVICE_DISPENSE).setBasedOnIds(item.getDispenseIds()) + .setUnitCode(supplyRequest.getUnitCode()).setQuantity(supplyRequest.getItemQuantity()) + .setLotNumber(supplyRequest.getLotNumber()).setPractitionerId(supplyRequest.getApplicantId()) + .setOccurrenceTime(supplyRequest.getApprovalTime()).setReceiverId(supplyRequest.getPurposeLocationId()) + .setReceiveTime(supplyRequest.getApprovalTime()); supplyDeliveryList.add(supplyDelivery); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationAdviceAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationAdviceAppService.java index 237caad0..7d92421c 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationAdviceAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationAdviceAppService.java @@ -4,14 +4,10 @@ import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.core.common.core.domain.R; -<<<<<<< HEAD -import com.openhis.web.doctorstation.dto.*; -======= import com.openhis.web.doctorstation.dto.AdviceBaseDto; import com.openhis.web.doctorstation.dto.AdviceSaveParam; import com.openhis.web.doctorstation.dto.OrderBindInfoDto; import com.openhis.web.doctorstation.dto.UpdateGroupIdParam; ->>>>>>> v1.3 /** * 医生站-医嘱/处方 应用Service @@ -34,8 +30,8 @@ public interface IDoctorStationAdviceAppService { * @return 医嘱信息 */ IPage getAdviceBaseInfo(AdviceBaseDto adviceBaseDto, String searchKey, Long locationId, - List adviceDefinitionIdParamList, Long organizationId, Integer pageNo, Integer pageSize, - Integer pricingFlag, List adviceTypes, String orderPricing); + List adviceDefinitionIdParamList, Long organizationId, Integer pageNo, Integer pageSize, + Integer pricingFlag, List adviceTypes, String orderPricing); /** * 查询医嘱绑定信息 diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java index 111b9131..75151c84 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java @@ -72,7 +72,6 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp // @Resource // IOrganizationLocationService iOrganizationLocationService; - @Resource IMedicationDispenseService iMedicationDispenseService; @@ -90,48 +89,28 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp // @Resource // OutpatientRegistrationAppMapper outpatientRegistrationAppMapper; - @Resource DoctorStationSendApplyUtil doctorStationSendApplyUtil; /** * 查询医嘱信息 * - * @param adviceBaseDto 查询条件 - * @param searchKey 模糊查询关键字 - * @param locationId 药房id + * @param adviceBaseDto 查询条件 + * @param searchKey 模糊查询关键字 + * @param locationId 药房id * @param adviceDefinitionIdParamList 医嘱定义id参数集合 -<<<<<<< HEAD - * @param organizationId 患者挂号对应的科室id - * @param pageNo 当前页 - * @param pageSize 每页多少条 - * @param pricingFlag 划价标记 - * @param adviceTypes 医嘱类型参数集合 -======= * @param organizationId 患者挂号对应的科室id * @param pageNo 当前页 * @param pageSize 每页多少条 * @param pricingFlag 划价标记 * @param adviceTypes 医嘱类型参数集合 * @param orderPricing 医嘱定价来源 | 定时任务调用时传参 ->>>>>>> v1.3 * @return 医嘱信息 */ @Override public IPage getAdviceBaseInfo(AdviceBaseDto adviceBaseDto, String searchKey, Long locationId, -<<<<<<< HEAD - List adviceDefinitionIdParamList, Long organizationId, Integer pageNo, Integer pageSize, - Integer pricingFlag, List adviceTypes) { - // 医嘱定价来源 - String orderPricingSource = TenantOptionUtil.getOptionContent(TenantOptionDict.ORDER_PRICING_SOURCE); - // 如果配置为空,使用retailPrice作为默认值 - if (StringUtils.isEmpty(orderPricingSource)) { - // throw new ServiceException("租户配置项【医嘱定价来源】未配置"); - orderPricingSource = "retailPrice"; - } -======= - List adviceDefinitionIdParamList, Long organizationId, Integer pageNo, Integer pageSize, - Integer pricingFlag, List adviceTypes, String orderPricing) { + List adviceDefinitionIdParamList, Long organizationId, Integer pageNo, Integer pageSize, + Integer pricingFlag, List adviceTypes, String orderPricing) { // 设置默认科室 (不取前端传的了) organizationId = SecurityUtils.getLoginUser().getOrgId(); @@ -143,27 +122,19 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp orderPricingSource = orderPricing; } // 开药时药房允许多选开关 - String pharmacyMultipleChoiceSwitch = - TenantOptionUtil.getOptionContent(TenantOptionDict.PHARMACY_MULTIPLE_CHOICE_SWITCH); + String pharmacyMultipleChoiceSwitch + = TenantOptionUtil.getOptionContent(TenantOptionDict.PHARMACY_MULTIPLE_CHOICE_SWITCH); // 药房允许多选 boolean pharmacyMultipleChoice = Whether.YES.getCode().equals(pharmacyMultipleChoiceSwitch); ->>>>>>> v1.3 // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(adviceBaseDto, searchKey, new HashSet<>(Arrays.asList("advice_name", "py_str", "wb_str")), null); IPage adviceBaseInfo = doctorStationAdviceAppMapper.getAdviceBaseInfo( -<<<<<<< HEAD new Page<>(pageNo, pageSize), PublicationStatus.ACTIVE.getValue(), organizationId, CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, pricingFlag, adviceDefinitionIdParamList, adviceTypes, queryWrapper); -======= - new Page<>(pageNo, pageSize), PublicationStatus.ACTIVE.getValue(), organizationId, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - CommonConstants.TableName.WOR_ACTIVITY_DEFINITION, pricingFlag, adviceDefinitionIdParamList, adviceTypes, - queryWrapper); ->>>>>>> v1.3 List adviceBaseDtoList = adviceBaseInfo.getRecords(); // 如果searchKey不为null,对查询结果进行排序:adviceName以searchKey开头的排在前面 @@ -172,22 +143,22 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp } // 医嘱定义ID集合 - List adviceDefinitionIdList = - adviceBaseDtoList.stream().map(AdviceBaseDto::getAdviceDefinitionId).collect(Collectors.toList()); + List adviceDefinitionIdList + = adviceBaseDtoList.stream().map(AdviceBaseDto::getAdviceDefinitionId).collect(Collectors.toList()); // 费用定价主表ID集合 - List chargeItemDefinitionIdList = - adviceBaseDtoList.stream().map(AdviceBaseDto::getChargeItemDefinitionId).collect(Collectors.toList()); + List chargeItemDefinitionIdList + = adviceBaseDtoList.stream().map(AdviceBaseDto::getChargeItemDefinitionId).collect(Collectors.toList()); // 医嘱库存集合 - List adviceInventoryList = - doctorStationAdviceAppMapper.getAdviceInventory(locationId, adviceDefinitionIdList, + List adviceInventoryList + = doctorStationAdviceAppMapper.getAdviceInventory(locationId, adviceDefinitionIdList, CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR, PublicationStatus.ACTIVE.getValue()); // 待发放个数信息 List adviceDraftInventoryList = doctorStationAdviceAppMapper.getAdviceDraftInventory( CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, DispenseStatus.DRAFT.getValue(), DispenseStatus.PREPARATION.getValue()); // 预减库存 - List adviceInventory = - adviceUtils.subtractInventory(adviceInventoryList, adviceDraftInventoryList); + List adviceInventory + = adviceUtils.subtractInventory(adviceInventoryList, adviceDraftInventoryList); // 查询取药科室配置 List medLocationConfig = doctorStationAdviceAppMapper.getMedLocationConfig(organizationId); // 将配置转为 {categoryCode -> 允许的locationId集合} @@ -198,22 +169,15 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp continue; } allowedLocByCategory.computeIfAbsent(String.valueOf(cfg.getCategoryCode()), k -> new HashSet<>()) - .add(cfg.getLocationId()); + .add(cfg.getLocationId()); } } // 费用定价子表信息 List childCharge = doctorStationAdviceAppMapper -<<<<<<< HEAD .getChildCharge(ConditionCode.LOT_NUMBER_PRICE.getCode(), chargeItemDefinitionIdList); // 费用定价主表信息 - List mainCharge = - doctorStationAdviceAppMapper.getMainCharge(chargeItemDefinitionIdList, PublicationStatus.ACTIVE.getValue()); -======= - .getChildCharge(ConditionCode.LOT_NUMBER_PRICE.getCode(), chargeItemDefinitionIdList); - // 费用定价主表信息 - List mainCharge = - doctorStationAdviceAppMapper.getMainCharge(chargeItemDefinitionIdList, PublicationStatus.ACTIVE.getValue()); ->>>>>>> v1.3 + List mainCharge + = doctorStationAdviceAppMapper.getMainCharge(chargeItemDefinitionIdList, PublicationStatus.ACTIVE.getValue()); String unitCode = ""; // 包装单位 Long chargeItemDefinitionId; // 费用定价主表ID for (AdviceBaseDto baseDto : adviceBaseDtoList) { @@ -226,21 +190,12 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp baseDto.setInjectFlag_enumText(EnumUtils.getInfoByValue(Whether.class, baseDto.getInjectFlag())); case CommonConstants.TableName.ADM_DEVICE_DEFINITION: // 耗材 // 每一条医嘱的库存集合信息 , 包装单位库存前端计算 -<<<<<<< HEAD - List< - AdviceInventoryDto> inventoryList = - adviceInventory.stream() - .filter(e -> baseDto.getAdviceDefinitionId().equals(e.getItemId()) - && baseDto.getAdviceTableName().equals(e.getItemTable())) - .collect(Collectors.toList()); -======= List inventoryList = adviceInventory.stream().filter(e -> baseDto - .getAdviceDefinitionId().equals(e.getItemId()) - && baseDto.getAdviceTableName().equals(e.getItemTable()) - && (pharmacyMultipleChoice + .getAdviceDefinitionId().equals(e.getItemId()) + && baseDto.getAdviceTableName().equals(e.getItemTable()) + && (pharmacyMultipleChoice || (baseDto.getPositionId() == null || baseDto.getPositionId().equals(e.getLocationId())))) - .collect(Collectors.toList()); ->>>>>>> v1.3 + .collect(Collectors.toList()); // 库存信息 baseDto.setInventoryList(inventoryList); // 设置默认产品批号 @@ -277,25 +232,14 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp String finalUnitCode = unitCode; // 从定价子表取价格(适用于批次售卖场景) List childPrice = childCharge.stream() -<<<<<<< HEAD .filter(e -> e.getDefinitionId().equals(finalChargeItemDefinitionId) - && e.getConditionValue().equals(adviceInventoryDto.getLotNumber())) + && e.getConditionValue().equals(adviceInventoryDto.getLotNumber())) .peek(e -> e.setUnitCode(finalUnitCode)) // 设置 unitCode .collect(Collectors.toList()); // 从定价主表取价格(适用于统一零售价场景) List mainPrice = mainCharge.stream() .filter(e -> baseDto.getChargeItemDefinitionId().equals(e.getDefinitionId())) .collect(Collectors.toList()); -======= - .filter(e -> e.getDefinitionId().equals(finalChargeItemDefinitionId) - && e.getConditionValue().equals(adviceInventoryDto.getLotNumber())) - .peek(e -> e.setUnitCode(finalUnitCode)) // 设置 unitCode - .collect(Collectors.toList()); - // 从定价主表取价格(适用于统一零售价场景) - List mainPrice = mainCharge.stream() - .filter(e -> baseDto.getChargeItemDefinitionId().equals(e.getDefinitionId())) - .collect(Collectors.toList()); ->>>>>>> v1.3 // 按批次售价 if (OrderPricingSource.BATCH_SELLING_PRICE.getCode().equals(orderPricingSource)) { priceDtoList.addAll(childPrice); @@ -307,8 +251,8 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp baseDto.setPriceList(priceDtoList); break; case CommonConstants.TableName.WOR_ACTIVITY_DEFINITION: // 诊疗 - List priceList = - mainCharge.stream().filter(e -> baseDto.getChargeItemDefinitionId().equals(e.getDefinitionId())) + List priceList + = mainCharge.stream().filter(e -> baseDto.getChargeItemDefinitionId().equals(e.getDefinitionId())) .collect(Collectors.toList()); // 价格信息 baseDto.setPriceList(priceList); @@ -327,11 +271,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp * 查询医嘱绑定信息 * * @param typeCode 1:用法绑东西 2:诊疗绑东西 -<<<<<<< HEAD - * @param itemNo 用法的code 或者 诊疗定义id -======= * @param itemNo 用法的code 或者 诊疗定义id ->>>>>>> v1.3 * @return 医嘱绑定信息 */ @Override @@ -343,7 +283,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp * 门诊保存/签发医嘱 * * @param adviceSaveParam 医嘱表单信息 - * @param adviceOpType 医嘱操作类型 + * @param adviceOpType 医嘱操作类型 * @return 结果 */ @Override @@ -366,10 +306,10 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp * 保存时,校验库存 */ if (AdviceOpType.SAVE_ADVICE.getCode().equals(adviceOpType)) { - List medUpdateList = - medicineList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); - List devUpdateList = - deviceList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); + List medUpdateList + = medicineList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); + List devUpdateList + = deviceList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); // 编辑时,释放本身占用的库存发放 for (AdviceSaveDto adviceSaveDto : medUpdateList) { iMedicationDispenseService.deleteMedicationDispense(adviceSaveDto.getRequestId()); @@ -378,9 +318,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp iDeviceDispenseService.deleteDeviceDispense(adviceSaveDto.getRequestId()); } - List needCheckList = - adviceSaveList.stream().filter(e -> !DbOpType.DELETE.getCode().equals(e.getDbOpType()) - && !ItemType.ACTIVITY.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); + List needCheckList + = adviceSaveList.stream().filter(e -> !DbOpType.DELETE.getCode().equals(e.getDbOpType()) + && !ItemType.ACTIVITY.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); // 校验库存 String tipRes = adviceUtils.checkInventory(needCheckList); if (tipRes != null) { @@ -395,8 +335,8 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp /** * 处理药品请求 */ - List medRequestIdList = - this.handMedication(medicineList, curDate, adviceOpType, organizationId, signCode); + List medRequestIdList + = this.handMedication(medicineList, curDate, adviceOpType, organizationId, signCode); /** * 处理诊疗项目请求 @@ -423,24 +363,15 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp .in(ChargeItem::getServiceId, requestIds)); } -<<<<<<< HEAD - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"门诊医嘱"})); -======= return R.ok(medRequestIdList, - MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"门诊医嘱"})); ->>>>>>> v1.3 + MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"门诊医嘱"})); } /** * 处理药品 */ -<<<<<<< HEAD - private void handMedication(List medicineList, Date curDate, String adviceOpType, - Long organizationId, String signCode) { -======= private List handMedication(List medicineList, Date curDate, String adviceOpType, - Long organizationId, String signCode) { ->>>>>>> v1.3 + Long organizationId, String signCode) { // 当前登录账号的科室id Long orgId = SecurityUtils.getLoginUser().getOrgId(); // 保存操作 @@ -452,9 +383,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp // 声明费用项 ChargeItem chargeItem; // 新增 + 修改 - List insertOrUpdateList = - medicineList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) - || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))).collect(Collectors.toList()); + List insertOrUpdateList + = medicineList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) + || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))).collect(Collectors.toList()); // 删除 List deleteList = medicineList.stream() .filter(e -> DbOpType.DELETE.getCode().equals(e.getDbOpType())).collect(Collectors.toList()); @@ -532,14 +463,6 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp medicationRequest.setInfusionFlag(adviceSaveDto.getInjectFlag()); // 输液标志 medicationRequest.setSortNumber(adviceSaveDto.getSortNumber()); // 排序号 } -<<<<<<< HEAD - iMedicationRequestService.saveOrUpdate(medicationRequest); - - if (is_save) { - // 处理药品发放 - Long dispenseId = - iMedicationDispenseService.handleMedicationDispense(medicationRequest, adviceSaveDto.getDbOpType()); -======= if (medicationRequest.getId() == null) { firstTimeSave = true; } @@ -549,9 +472,8 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp } if (is_save) { // 处理药品发放 - Long dispenseId = - iMedicationDispenseService.handleMedicationDispense(medicationRequest, adviceSaveDto.getDbOpType()); ->>>>>>> v1.3 + Long dispenseId + = iMedicationDispenseService.handleMedicationDispense(medicationRequest, adviceSaveDto.getDbOpType()); // 保存药品费用项 chargeItem = new ChargeItem(); @@ -586,10 +508,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp } } -<<<<<<< HEAD -======= return medRequestIdList; ->>>>>>> v1.3 } /** @@ -606,9 +525,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp // 声明费用项 ChargeItem chargeItem; // 新增 + 修改 - List insertOrUpdateList = - deviceList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) - || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))).collect(Collectors.toList()); + List insertOrUpdateList + = deviceList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) + || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))).collect(Collectors.toList()); // 删除 List deleteList = deviceList.stream() .filter(e -> DbOpType.DELETE.getCode().equals(e.getDbOpType())).collect(Collectors.toList()); @@ -666,12 +585,8 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp iDeviceRequestService.saveOrUpdate(deviceRequest); if (is_save) { // 处理耗材发放 - Long dispenseId = -<<<<<<< HEAD - iDeviceDispenseService.handleDeviceDispense(deviceRequest, adviceSaveDto.getDbOpType()); -======= - iDeviceDispenseService.handleDeviceDispense(deviceRequest, adviceSaveDto.getDbOpType()); ->>>>>>> v1.3 + Long dispenseId + = iDeviceDispenseService.handleDeviceDispense(deviceRequest, adviceSaveDto.getDbOpType()); // 保存耗材费用项 chargeItem = new ChargeItem(); @@ -710,7 +625,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp * 处理诊疗 */ private void handService(List activityList, Date curDate, String adviceOpType, Long organizationId, - String signCode) { + String signCode) { // 当前登录账号的科室id Long orgId = SecurityUtils.getLoginUser().getOrgId(); // 保存操作 @@ -721,9 +636,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp // 声明费用项 ChargeItem chargeItem; // 新增 + 修改 - List insertOrUpdateList = - activityList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) - || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))).collect(Collectors.toList()); + List insertOrUpdateList + = activityList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) + || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))).collect(Collectors.toList()); // 删除 List deleteList = activityList.stream() .filter(e -> DbOpType.DELETE.getCode().equals(e.getDbOpType())).collect(Collectors.toList()); @@ -816,8 +731,8 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp // 第一次保存时,处理诊疗套餐的子项信息 if (adviceSaveDto.getRequestId() == null) { - ActivityDefinition activityDefinition = - iActivityDefinitionService.getById(adviceSaveDto.getAdviceDefinitionId()); + ActivityDefinition activityDefinition + = iActivityDefinitionService.getById(adviceSaveDto.getAdviceDefinitionId()); String childrenJson = activityDefinition.getChildrenJson(); if (childrenJson != null) { // 诊疗子项参数类 @@ -840,30 +755,18 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp adviceSaveDto.setRequestId(serviceRequest.getId()); try { // 查询诊疗定义 - ActivityDefinition activityDefinition = -<<<<<<< HEAD - iActivityDefinitionService.getById(adviceSaveDto.getAdviceDefinitionId()); + ActivityDefinition activityDefinition + = iActivityDefinitionService.getById(adviceSaveDto.getAdviceDefinitionId()); if (activityDefinition != null) { // 检验 或 检查 if (ActivityType.PROOF.getValue().equals(activityDefinition.getTypeEnum()) || ActivityType.TEST.getValue().equals(activityDefinition.getTypeEnum())) { -======= - iActivityDefinitionService.getById(adviceSaveDto.getAdviceDefinitionId()); - if (activityDefinition != null) { - // 检验 或 检查 - if (ActivityType.PROOF.getValue().equals(activityDefinition.getTypeEnum()) - || ActivityType.TEST.getValue().equals(activityDefinition.getTypeEnum())) { ->>>>>>> v1.3 doctorStationSendApplyUtil.sendCrossSystemApply(adviceSaveDto, organizationId, curDate); } } } catch (Exception e) { if (!Whether.YES.getCode() -<<<<<<< HEAD .equals(TenantOptionUtil.getOptionContent(TenantOptionDict.LIS_PACS_ERROR_IGNORE))) { -======= - .equals(TenantOptionUtil.getOptionContent(TenantOptionDict.LIS_PACS_ERROR_IGNORE))) { ->>>>>>> v1.3 throw e; } log.error(e.getMessage(), e); @@ -884,15 +787,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 医嘱请求数据 List requestBaseInfo = doctorStationAdviceAppMapper.getRequestBaseInfo(encounterId, null, -<<<<<<< HEAD CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.NO.getCode(), GenerateSource.DOCTOR_PRESCRIPTION.getValue()); -======= - CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, - CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.NO.getCode(), - GenerateSource.DOCTOR_PRESCRIPTION.getValue()); ->>>>>>> v1.3 for (RequestBaseDto requestBaseDto : requestBaseInfo) { // 请求状态 requestBaseDto @@ -934,9 +831,12 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp chargeItemList.forEach(item -> { switch (item.getServiceTable()) { - case CommonConstants.TableName.MED_MEDICATION_REQUEST -> medReqIdList.add(item.getServiceId()); - case CommonConstants.TableName.WOR_DEVICE_REQUEST -> devReqIdList.add(item.getServiceId()); - case CommonConstants.TableName.WOR_SERVICE_REQUEST -> serReqIdList.add(item.getServiceId()); + case CommonConstants.TableName.MED_MEDICATION_REQUEST -> + medReqIdList.add(item.getServiceId()); + case CommonConstants.TableName.WOR_DEVICE_REQUEST -> + devReqIdList.add(item.getServiceId()); + case CommonConstants.TableName.WOR_SERVICE_REQUEST -> + serReqIdList.add(item.getServiceId()); } }); List chargeItemIdList = chargeItemList.stream().map(ChargeItem::getId).collect(Collectors.toList()); @@ -963,7 +863,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp /** * 查询历史医嘱请求数据 * - * @param patientId 病人id + * @param patientId 病人id * @param encounterId 就诊id * @return 历史医嘱请求数据 */ @@ -973,15 +873,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 医嘱请求数据 List requestBaseInfo = doctorStationAdviceAppMapper.getRequestBaseInfo(encounterId, patientId, -<<<<<<< HEAD CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.YES.getCode(), GenerateSource.DOCTOR_PRESCRIPTION.getValue()); -======= - CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, - CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.YES.getCode(), - GenerateSource.DOCTOR_PRESCRIPTION.getValue()); ->>>>>>> v1.3 for (RequestBaseDto requestBaseDto : requestBaseInfo) { // 请求状态 requestBaseDto @@ -1051,7 +945,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp @Override public R getProofAndTestHistory(Long patientId, Long adviceDefinitionId) { return R.ok(doctorStationAdviceAppMapper.getProofAndTestHistory(patientId, adviceDefinitionId, - RequestStatus.COMPLETED.getValue())); + RequestStatus.COMPLETED.getValue())); } /** @@ -1068,7 +962,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp throw new ServiceException("租户配置项【LIS查看报告地址】未配置"); } List proofResult = doctorStationAdviceAppMapper.getProofAndTestResult(encounterId, - RequestStatus.DRAFT.getValue(), ActivityType.PROOF.getValue()); + RequestStatus.DRAFT.getValue(), ActivityType.PROOF.getValue()); for (ProofAndTestResultDto proofAndTestResultDto : proofResult) { proofAndTestResultDto.setRequestUrl(lisReportUrl.concat(proofAndTestResultDto.getBusNo())); } @@ -1090,7 +984,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp throw new ServiceException("租户配置项【PACS查看报告地址】未配置"); } List testResult = doctorStationAdviceAppMapper.getProofAndTestResult(encounterId, - RequestStatus.DRAFT.getValue(), ActivityType.TEST.getValue()); + RequestStatus.DRAFT.getValue(), ActivityType.TEST.getValue()); for (ProofAndTestResultDto proofAndTestResultDto : testResult) { proofAndTestResultDto.setRequestUrl(pacsReportUrl.concat(proofAndTestResultDto.getBusNo())); } @@ -1098,7 +992,8 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp } /** - * 根据searchKey对医嘱列表进行排序:adviceName以searchKey(汉字)开头的排在前面 | pyStr以searchKey(字母)开头的排在前面 + * 根据searchKey对医嘱列表进行排序:adviceName以searchKey(汉字)开头的排在前面 | + * pyStr以searchKey(字母)开头的排在前面 * * @param adviceList 医嘱列表 * @param searchKey 搜索关键字 @@ -1113,10 +1008,10 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp adviceList.sort((a, b) -> { // 根据searchKey类型选择不同的字段 - String aValue = - isPinyinSearch ? (a.getPyStr() != null ? a.getPyStr() : a.getAdviceName()) : a.getAdviceName(); - String bValue = - isPinyinSearch ? (b.getPyStr() != null ? b.getPyStr() : b.getAdviceName()) : b.getAdviceName(); + String aValue + = isPinyinSearch ? (a.getPyStr() != null ? a.getPyStr() : a.getAdviceName()) : a.getAdviceName(); + String bValue + = isPinyinSearch ? (b.getPyStr() != null ? b.getPyStr() : b.getAdviceName()) : b.getAdviceName(); // 处理可能的null值 if (aValue == null && bValue == null) { diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationChineseMedicalAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationChineseMedicalAppServiceImpl.java index 7cf84b07..470166f9 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationChineseMedicalAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationChineseMedicalAppServiceImpl.java @@ -99,12 +99,12 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation // 中医诊断 conditionDefinition.setSourceEnum(ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS.getValue()); QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(conditionDefinition, searchKey, - new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null); + new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null); // 设置排序 queryWrapper.orderByDesc("update_time"); // 诊断信息 Page conditionDefinitionMetadataPage = HisPageUtils - .selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, ConditionDefinitionMetadata.class); + .selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, ConditionDefinitionMetadata.class); conditionDefinitionMetadataPage.getRecords().forEach(e -> { // 所属分类 e.setSourceEnum_enumText(EnumUtils.getInfoByValue(ConditionDefinitionSource.class, e.getSourceEnum())); @@ -134,14 +134,14 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue()); // 中医证候 conditionDefinition - .setSourceEnum(ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG.getValue()); + .setSourceEnum(ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG.getValue()); QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(conditionDefinition, searchKey, - new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null); + new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null); // 设置排序 queryWrapper.orderByDesc("update_time"); // 诊断信息 Page conditionDefinitionMetadataPage = HisPageUtils - .selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, ConditionDefinitionMetadata.class); + .selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, ConditionDefinitionMetadata.class); conditionDefinitionMetadataPage.getRecords().forEach(e -> { // 所属分类 e.setSourceEnum_enumText(EnumUtils.getInfoByValue(ConditionDefinitionSource.class, e.getSourceEnum())); @@ -192,12 +192,12 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation List diagnosisList = iEncounterDiagnosisService.getDiagnosisList(encounterId); List newdiagnosisList = new ArrayList<>(); - newdiagnosisList = - diagnosisList.stream().filter(diagno -> diagno.getDeleteFlag().equals("0") && diagno.getDiagSrtNo() != null) - .collect(Collectors.toList()); + newdiagnosisList + = diagnosisList.stream().filter(diagno -> diagno.getDeleteFlag().equals("0") && diagno.getDiagSrtNo() != null) + .collect(Collectors.toList()); newdiagnosisList = newdiagnosisList.stream().sorted((d1, d2) -> d2.getDiagSrtNo().compareTo(d1.getDiagSrtNo())) // 降序 - .collect(Collectors.toList()); + .collect(Collectors.toList()); if (newdiagnosisList == null || newdiagnosisList.size() == 0) { startNo = 1; } else { @@ -231,7 +231,7 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation } } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"中医诊断"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"中医诊断"})); } @Override @@ -277,7 +277,7 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation } } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"中医诊断"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"中医诊断"})); } /** @@ -290,17 +290,17 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation public R getTcmEncounterDiagnosis(Long encounterId) { HashMap resultMap = new HashMap<>(); // 中医就诊诊断信息 - List tcmEncounterDiagnosis = - doctorStationChineseMedicalAppMapper.getTcmEncounterDiagnosis(encounterId); + List tcmEncounterDiagnosis + = doctorStationChineseMedicalAppMapper.getTcmEncounterDiagnosis(encounterId); // 病 List illness = tcmEncounterDiagnosis.stream().filter( - e -> ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS.getValue().equals(e.getSourceEnum())) - .collect(Collectors.toList()); + e -> ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS.getValue().equals(e.getSourceEnum())) + .collect(Collectors.toList()); // 症 List symptom = tcmEncounterDiagnosis.stream() - .filter(e -> ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG.getValue() + .filter(e -> ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG.getValue() .equals(e.getSourceEnum())) - .collect(Collectors.toList()); + .collect(Collectors.toList()); resultMap.put("illness", illness); resultMap.put("symptom", symptom); return R.ok(resultMap); @@ -321,12 +321,12 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation */ @Override public IPage getTcmAdviceBaseInfo(AdviceBaseDto adviceBaseDto, String searchKey, Long locationId, - List adviceDefinitionIdParamList, Long organizationId, Integer pageNo, Integer pageSize, - Integer pricingFlag) { + List adviceDefinitionIdParamList, Long organizationId, Integer pageNo, Integer pageSize, + Integer pricingFlag) { adviceBaseDto.setAdviceType(1); // 医嘱类型为药品 adviceBaseDto.setCategoryCode(MedCategoryCode.CHINESE_HERBAL_MEDICINE.getValue());// 中草药 return iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, searchKey, locationId, - adviceDefinitionIdParamList, organizationId, pageNo, pageSize, pricingFlag, List.of(1, 2, 3), null); + adviceDefinitionIdParamList, organizationId, pageNo, pageSize, pricingFlag, List.of(1, 2, 3), null); } /** @@ -343,7 +343,7 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation if (AdviceOpType.SAVE_ADVICE.getCode().equals(adviceOpType)) { // 保存时——中医处方去掉不修改的药方 medicineList = medicineList.stream().filter(e -> e.getAdviceDefinitionId() != null) - .collect(Collectors.toUnmodifiableList()); + .collect(Collectors.toUnmodifiableList()); } // 保存操作 boolean is_save = AdviceOpType.SAVE_ADVICE.getCode().equals(adviceOpType); @@ -358,18 +358,18 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation // 是否代煎 Integer sufferingFlag = adviceSaveParam.getSufferingFlag(); // 中药代煎定义id - Long sufferingDefinitionId = - iActivityDefinitionService.getAppointActivityDefinitionId(CommonConstants.BusinessName.SUFFERING_TCM); + Long sufferingDefinitionId + = iActivityDefinitionService.getAppointActivityDefinitionId(CommonConstants.BusinessName.SUFFERING_TCM); // 保存时,校验库存 if (is_save) { - List medUpdateList = - medicineList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); + List medUpdateList + = medicineList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); // 编辑时,释放本身占用的库存发放 for (AdviceSaveDto adviceSaveDto : medUpdateList) { iMedicationDispenseService.deleteMedicationDispense(adviceSaveDto.getRequestId()); } List needCheckList = medicineList.stream() - .filter(e -> !DbOpType.DELETE.getCode().equals(e.getDbOpType())).collect(Collectors.toList()); + .filter(e -> !DbOpType.DELETE.getCode().equals(e.getDbOpType())).collect(Collectors.toList()); // 校验库存 String tipRes = adviceUtils.checkInventory(needCheckList); if (tipRes != null) { @@ -381,40 +381,40 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation // 费用项 ChargeItem chargeItem; // 新增 + 修改 - List insertOrUpdateList = - medicineList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) + List insertOrUpdateList + = medicineList.stream().filter(e -> (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))).collect(Collectors.toList()); // 删除 List deleteList = medicineList.stream() - .filter(e -> DbOpType.DELETE.getCode().equals(e.getDbOpType())).collect(Collectors.toList()); + .filter(e -> DbOpType.DELETE.getCode().equals(e.getDbOpType())).collect(Collectors.toList()); for (AdviceSaveDto adviceSaveDto : deleteList) { iMedicationRequestService.removeById(adviceSaveDto.getRequestId()); // 删除已经产生的药品发放信息 iMedicationDispenseService.deleteMedicationDispense(adviceSaveDto.getRequestId()); // 删除费用项 iChargeItemService.deleteByServiceTableAndId(CommonConstants.TableName.MED_MEDICATION_REQUEST, - adviceSaveDto.getRequestId()); + adviceSaveDto.getRequestId()); // 删除代煎费 iChargeItemService.remove(new LambdaQueryWrapper() - .eq(ChargeItem::getPrescriptionNo, adviceSaveDto.getPrescriptionNo()) - .eq(ChargeItem::getProductId, sufferingDefinitionId)); + .eq(ChargeItem::getPrescriptionNo, adviceSaveDto.getPrescriptionNo()) + .eq(ChargeItem::getProductId, sufferingDefinitionId)); } if (is_sign) { // 按groupId分组 - Map> groupMap = - insertOrUpdateList.stream().collect(Collectors.groupingBy(AdviceSaveDto::getGroupId)); + Map> groupMap + = insertOrUpdateList.stream().collect(Collectors.groupingBy(AdviceSaveDto::getGroupId)); // 为每个分组生成唯一的处方号 groupMap.forEach((groupId, groupList) -> { // 先查询当前groupId是否已经被签发生成过处方号 List list = iMedicationRequestService - .list(new LambdaQueryWrapper().eq(MedicationRequest::getGroupId, groupId)); + .list(new LambdaQueryWrapper().eq(MedicationRequest::getGroupId, groupId)); if (!list.isEmpty() && StringUtils.isNotEmpty(list.get(0).getPrescriptionNo())) { groupList.forEach(dto -> dto.setPrescriptionNo(list.get(0).getPrescriptionNo())); } else { - String prescriptionNo = - assignSeqUtil.getSeq(AssignSeqEnum.PRESCRIPTION_CHINESE_HERBAL_MEDICINE.getPrefix(), 8); + String prescriptionNo + = assignSeqUtil.getSeq(AssignSeqEnum.PRESCRIPTION_CHINESE_HERBAL_MEDICINE.getPrefix(), 8); groupList.forEach(dto -> dto.setPrescriptionNo(prescriptionNo)); } }); @@ -467,8 +467,8 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation iMedicationRequestService.saveOrUpdate(medicationRequest); if (is_save) { // 处理药品发放 - Long dispenseId = - iMedicationDispenseService.handleMedicationDispense(medicationRequest, adviceSaveDto.getDbOpType()); + Long dispenseId + = iMedicationDispenseService.handleMedicationDispense(medicationRequest, adviceSaveDto.getDbOpType()); // 保存药品费用项 chargeItem = new ChargeItem(); @@ -529,15 +529,11 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation // 先删除中药代煎的账单 iChargeItemService.remove(new LambdaQueryWrapper() - .eq(ChargeItem::getPrescriptionNo, prescriptionNo).eq(ChargeItem::getProductId, sufferingDefinitionId)); + .eq(ChargeItem::getPrescriptionNo, prescriptionNo).eq(ChargeItem::getProductId, sufferingDefinitionId)); // 对应的诊疗医嘱信息 AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, null, -<<<<<<< HEAD - null, null, organizationId, 1, 1, Whether.NO.getValue(), List.of(3)).getRecords().get(0); -======= - null, null, organizationId, 1, 1, Whether.NO.getValue(), List.of(3), null).getRecords().get(0); ->>>>>>> v1.3 + null, null, organizationId, 1, 1, Whether.NO.getValue(), List.of(3), null).getRecords().get(0); if (activityAdviceBaseDto != null) { // 费用定价 AdvicePriceDto advicePriceDto = activityAdviceBaseDto.getPriceList().get(0); @@ -575,23 +571,23 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation } else if (Whether.NO.getValue().equals(sufferingFlag)) { // 删除中药代煎的账单 iChargeItemService.remove(new LambdaQueryWrapper() - .eq(ChargeItem::getPrescriptionNo, prescriptionNo).eq(ChargeItem::getProductId, sufferingDefinitionId)); + .eq(ChargeItem::getPrescriptionNo, prescriptionNo).eq(ChargeItem::getProductId, sufferingDefinitionId)); } // 签发时,把草稿状态的账单更新为待收费[中医] if (AdviceOpType.SIGN_ADVICE.getCode().equals(adviceOpType) && !medicineList.isEmpty()) { // 签发的医嘱id集合 List requestIds = medicineList.stream() - .filter(e -> !DbOpType.DELETE.getCode().equals(e.getDbOpType()) && e.getRequestId() != null) - .collect(Collectors.toList()).stream().map(AdviceSaveDto::getRequestId).collect(Collectors.toList()); + .filter(e -> !DbOpType.DELETE.getCode().equals(e.getDbOpType()) && e.getRequestId() != null) + .collect(Collectors.toList()).stream().map(AdviceSaveDto::getRequestId).collect(Collectors.toList()); iChargeItemService.update(new LambdaUpdateWrapper() - .set(ChargeItem::getStatusEnum, ChargeItemStatus.PLANNED.getValue()) - .eq(ChargeItem::getEncounterId, encounterId) - .eq(ChargeItem::getStatusEnum, ChargeItemStatus.DRAFT.getValue()) - .in(ChargeItem::getServiceId, requestIds)); + .set(ChargeItem::getStatusEnum, ChargeItemStatus.PLANNED.getValue()) + .eq(ChargeItem::getEncounterId, encounterId) + .eq(ChargeItem::getStatusEnum, ChargeItemStatus.DRAFT.getValue()) + .in(ChargeItem::getServiceId, requestIds)); } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"门诊中医医嘱"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"门诊中医医嘱"})); } /** @@ -605,16 +601,16 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 医嘱请求数据 List requestBaseInfo = doctorStationChineseMedicalAppMapper.getTcmRequestBaseInfo(encounterId, - null, CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, - CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.NO.getCode(), - GenerateSource.DOCTOR_PRESCRIPTION.getValue()); + null, CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, + CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.NO.getCode(), + GenerateSource.DOCTOR_PRESCRIPTION.getValue()); for (RequestBaseDto requestBaseDto : requestBaseInfo) { // 请求状态 requestBaseDto - .setStatusEnum_enumText(EnumUtils.getInfoByValue(RequestStatus.class, requestBaseDto.getStatusEnum())); + .setStatusEnum_enumText(EnumUtils.getInfoByValue(RequestStatus.class, requestBaseDto.getStatusEnum())); // 收费状态 requestBaseDto.setChargeStatus_enumText( - EnumUtils.getInfoByValue(ChargeItemStatus.class, requestBaseDto.getChargeStatus())); + EnumUtils.getInfoByValue(ChargeItemStatus.class, requestBaseDto.getChargeStatus())); } return R.ok(requestBaseInfo); } @@ -632,16 +628,16 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 医嘱请求数据 List requestBaseInfo = doctorStationChineseMedicalAppMapper.getTcmRequestHistoryInfo( - encounterId, patientId, CommonConstants.TableName.MED_MEDICATION_REQUEST, - CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, - Whether.YES.getCode(), GenerateSource.DOCTOR_PRESCRIPTION.getValue()); + encounterId, patientId, CommonConstants.TableName.MED_MEDICATION_REQUEST, + CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, + Whether.YES.getCode(), GenerateSource.DOCTOR_PRESCRIPTION.getValue()); for (RequestBaseDto requestBaseDto : requestBaseInfo) { // 请求状态 requestBaseDto - .setStatusEnum_enumText(EnumUtils.getInfoByValue(RequestStatus.class, requestBaseDto.getStatusEnum())); + .setStatusEnum_enumText(EnumUtils.getInfoByValue(RequestStatus.class, requestBaseDto.getStatusEnum())); // 收费状态 requestBaseDto.setChargeStatus_enumText( - EnumUtils.getInfoByValue(ChargeItemStatus.class, requestBaseDto.getChargeStatus())); + EnumUtils.getInfoByValue(ChargeItemStatus.class, requestBaseDto.getChargeStatus())); } return R.ok(requestBaseInfo); } @@ -665,8 +661,8 @@ public class DoctorStationChineseMedicalAppServiceImpl implements IDoctorStation for (Long conditionId : conditionIds) { iConditionService.removeById(conditionId); iEncounterDiagnosisService.remove( - new LambdaQueryWrapper().eq(EncounterDiagnosis::getConditionId, conditionId)); + new LambdaQueryWrapper().eq(EncounterDiagnosis::getConditionId, conditionId)); } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[] {"就诊诊断信息"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[]{"就诊诊断信息"})); } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java index 24ef22c8..472387ca 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java @@ -32,59 +32,39 @@ public class DoctorStationAdviceController { /** * 查询医嘱信息 * - * @param adviceBaseDto 查询条件 - * @param searchKey 模糊查询关键字 - * @param locationId 药房id + * @param adviceBaseDto 查询条件 + * @param searchKey 模糊查询关键字 + * @param locationId 药房id * @param adviceDefinitionIdParamList 医嘱定义id参数集合 - * @param adviceTypes 医嘱类型参数集合 - * @param organizationId 患者挂号对应的科室id - * @param pageNo 当前页 - * @param pageSize 每页多少条 + * @param adviceTypes 医嘱类型参数集合 + * @param organizationId 患者挂号对应的科室id + * @param pageNo 当前页 + * @param pageSize 每页多少条 * @return 医嘱信息 */ @GetMapping(value = "/advice-base-info") public R getAdviceBaseInfo(AdviceBaseDto adviceBaseDto, -<<<<<<< HEAD - @RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "locationId", required = false) Long locationId, - @RequestParam(value = "adviceDefinitionIdParamList", required = false) List adviceDefinitionIdParamList, - @RequestParam(value = "organizationId", defaultValue = "0") Long organizationId, - @RequestParam(value = "adviceTypes", defaultValue = "1,2,3") List adviceTypes, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "locationId", required = false) Long locationId, + @RequestParam(value = "adviceDefinitionIdParamList", required = false) List adviceDefinitionIdParamList, + @RequestParam(value = "organizationId", required = false) Long organizationId, + @RequestParam(value = "adviceTypes", defaultValue = "1,2,3") List adviceTypes, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { return R.ok(iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, searchKey, locationId, - adviceDefinitionIdParamList, organizationId, pageNo, pageSize, Whether.NO.getValue(), adviceTypes)); -======= - @RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "locationId", required = false) Long locationId, - @RequestParam(value = "adviceDefinitionIdParamList", required = false) List adviceDefinitionIdParamList, - @RequestParam(value = "organizationId", required = false) Long organizationId, - @RequestParam(value = "adviceTypes", defaultValue = "1,2,3") List adviceTypes, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { - return R.ok(iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, searchKey, locationId, - adviceDefinitionIdParamList, organizationId, pageNo, pageSize, Whether.NO.getValue(), adviceTypes, null)); ->>>>>>> v1.3 + adviceDefinitionIdParamList, organizationId, pageNo, pageSize, Whether.NO.getValue(), adviceTypes, null)); } /** * 查询医嘱绑定信息 * * @param typeCode 1:用法绑东西 2:诊疗绑东西 -<<<<<<< HEAD - * @param itemNo 用法的code 或者 诊疗定义id -======= * @param itemNo 用法的code 或者 诊疗定义id ->>>>>>> v1.3 * @return 医嘱绑定信息 */ @GetMapping(value = "/order-bind-info") public R getOrderBindInfo(@RequestParam(value = "typeCode") String typeCode, -<<<<<<< HEAD - @RequestParam(value = "itemNo") String itemNo) { -======= - @RequestParam(value = "itemNo") String itemNo) { ->>>>>>> v1.3 + @RequestParam(value = "itemNo") String itemNo) { return R.ok(iDoctorStationAdviceAppService.getOrderBindInfo(typeCode, itemNo)); } @@ -166,14 +146,14 @@ public class DoctorStationAdviceController { /** * 查询检验检查开立历史(近30天) - * + * * @param patientId 患者id * @param adviceDefinitionId 医嘱定义id * @return 检验检查开立历史 */ @GetMapping(value = "/proof-test-history") public R getProofAndTestHistory(@RequestParam(value = "patientId") Long patientId, - @RequestParam(value = "adviceDefinitionId") Long adviceDefinitionId) { + @RequestParam(value = "adviceDefinitionId") Long adviceDefinitionId) { return iDoctorStationAdviceAppService.getProofAndTestHistory(patientId, adviceDefinitionId); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceBaseDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceBaseDto.java index ef46dbab..e7019f67 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceBaseDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceBaseDto.java @@ -17,10 +17,14 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class AdviceBaseDto { - /** 医嘱类型 */ + /** + * 医嘱类型 + */ private Integer adviceType; // 1:药品 , 2: 耗材 , 3:项目 - /** 编号 */ + /** + * 编号 + */ private String busNo; /** @@ -28,22 +32,34 @@ public class AdviceBaseDto { */ private String categoryCode; - /** 药品性质 */ + /** + * 药品性质 + */ private String pharmacologyCategoryCode; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; - /** 剂量换算 */ + /** + * 剂量换算 + */ private BigDecimal unitConversionRatio; - /** 拆分属性-门诊 */ + /** + * 拆分属性-门诊 + */ private Integer partAttributeEnum; - /** 住院临时医嘱拆分属性 */ + /** + * 住院临时医嘱拆分属性 + */ private Integer thoPartAttributeEnum; - /** 医嘱定义ID */ + /** + * 医嘱定义ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long adviceDefinitionId; @@ -58,7 +74,9 @@ public class AdviceBaseDto { @JsonSerialize(using = ToStringSerializer.class) private Long positionId; - /** 医嘱名称 */ + /** + * 医嘱名称 + */ private String adviceName; /** @@ -66,16 +84,24 @@ public class AdviceBaseDto { */ private String adviceBusNo; - /** 拼音码 */ + /** + * 拼音码 + */ private String pyStr; - /** 五笔码 */ + /** + * 五笔码 + */ private String wbStr; - /** 医保编码 */ + /** + * 医保编码 + */ private String ybNo; - /** 商品名称 */ + /** + * 商品名称 + */ private String productName; /** @@ -84,20 +110,28 @@ public class AdviceBaseDto { private Integer activityType; private String activityType_enumText; - /** 是否皮试 */ + /** + * 是否皮试 + */ private Integer skinTestFlag; private String skinTestFlag_enumText; - /** 是否为注射药物 */ + /** + * 是否为注射药物 + */ private Integer injectFlag; private String injectFlag_enumText; - /** 包装单位 */ + /** + * 包装单位 + */ @Dict(dictCode = "unit_code") private String unitCode; private String unitCode_dictText; - /** 最小单位 */ + /** + * 最小单位 + */ @Dict(dictCode = "unit_code") private String minUnitCode; private String minUnitCode_dictText; @@ -126,7 +160,9 @@ public class AdviceBaseDto { */ private String dose; - /** 剂量单位 */ + /** + * 剂量单位 + */ @Dict(dictCode = "unit_code") private String doseUnitCode; private String doseUnitCode_dictText; @@ -136,7 +172,9 @@ public class AdviceBaseDto { */ private String supplier; - /** 供应商ID */ + /** + * 供应商ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long supplierId; @@ -145,14 +183,20 @@ public class AdviceBaseDto { */ private String manufacturer; - /** 费用定价主表ID */ + /** + * 费用定价主表ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long chargeItemDefinitionId; - /** 所属科室 */ + /** + * 所属科室 + */ private Long orgId; - /** 所在位置 */ + /** + * 所在位置 + */ private Long locationId; /** @@ -160,7 +204,9 @@ public class AdviceBaseDto { */ private List inventoryList; - /** 默认产品批号 */ + /** + * 默认产品批号 + */ private String defaultLotNumber; /** @@ -168,24 +214,26 @@ public class AdviceBaseDto { */ private List priceList; - /** 是否限制使用 */ + /** + * 是否限制使用 + */ private Integer restrictedFlag; - /** 限制使用范围 */ + /** + * 限制使用范围 + */ private String restrictedScope; - /** 用药说明 */ + /** + * 用药说明 + */ @Dict(dictCode = "dosage_instruction") private String dosageInstruction; private String dosageInstruction_dictText; -<<<<<<< HEAD - -======= /* 收费项目等级 */ @Dict(dictCode = "chrgitm_lv") private String chrgitmLv; private String chrgitmLv_dictText; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/RequestBaseDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/RequestBaseDto.java index e323d764..886bee3c 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/RequestBaseDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/RequestBaseDto.java @@ -18,7 +18,9 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class RequestBaseDto { - /** 医嘱类型 */ + /** + * 医嘱类型 + */ private Integer adviceType; // 1:药品 , 2: 耗材 , 3:项目 /** @@ -26,7 +28,9 @@ public class RequestBaseDto { */ private String uniqueKey; // requestId拼接adviceType - /** 处方号 */ + /** + * 处方号 + */ private String prescriptionNo; /** @@ -37,7 +41,9 @@ public class RequestBaseDto { private Long requesterId; private String requesterId_dictText; - /** 请求时间 */ + /** + * 请求时间 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") private Date requestTime; @@ -74,7 +80,9 @@ public class RequestBaseDto { @JsonSerialize(using = ToStringSerializer.class) private Long chargeItemId; - /** 医嘱名称 */ + /** + * 医嘱名称 + */ private String adviceName; /** @@ -82,30 +90,44 @@ public class RequestBaseDto { */ private String volume; - /** 产品批号 */ + /** + * 产品批号 + */ private String lotNumber; - /** 请求数量 */ + /** + * 请求数量 + */ private Integer quantity; - /** 请求单位编码 */ + /** + * 请求单位编码 + */ @Dict(dictCode = "unit_code") private String unitCode; private String unitCode_dictText; - /** 请求状态 */ + /** + * 请求状态 + */ private Integer statusEnum; private String statusEnum_enumText; - /** 收费状态 */ + /** + * 收费状态 + */ private Integer chargeStatus; private String chargeStatus_enumText; - /** 是否皮试 */ + /** + * 是否皮试 + */ private Integer skinTestFlag; private String skinTestFlag_enumText; - /** 是否为注射药物 */ + /** + * 是否为注射药物 + */ private Integer injectFlag; private String injectFlag_enumText; @@ -128,7 +150,9 @@ public class RequestBaseDto { */ private BigDecimal dose; - /** 剂量单位 */ + /** + * 剂量单位 + */ @Dict(dictCode = "unit_code") private String doseUnitCode; private String doseUnitCode_dictText; @@ -149,10 +173,14 @@ public class RequestBaseDto { */ private String positionName; - /** 用药天数 */ + /** + * 用药天数 + */ private Integer dispensePerDuration; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; /** @@ -170,16 +198,17 @@ public class RequestBaseDto { */ private Integer sortNumber; - /** 用药说明 */ + /** + * 用药说明 + */ @Dict(dictCode = "dosage_instruction") private String dosageInstruction; private String dosageInstruction_dictText; -<<<<<<< HEAD -======= - /** 请求基于什么的ID */ + /** + * 请求基于什么的ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long basedOnId; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationAdviceAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationAdviceAppMapper.java index f8d82792..e36d254f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationAdviceAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationAdviceAppMapper.java @@ -19,7 +19,7 @@ public interface DoctorStationAdviceAppMapper { /** * 查询医嘱信息 - * + * * @param page 分页参数 * @param statusEnum 状态 * @param organizationId 患者挂号对应的科室id @@ -33,16 +33,16 @@ public interface DoctorStationAdviceAppMapper { * @return 医嘱信息 */ IPage getAdviceBaseInfo(@Param("page") Page page, - @Param("statusEnum") Integer statusEnum, @Param("organizationId") Long organizationId, - @Param("medicationTableName") String medicationTableName, @Param("deviceTableName") String deviceTableName, - @Param("activityTableName") String activityTableName, @Param("pricingFlag") Integer pricingFlag, - @Param("adviceDefinitionIdParamList") List adviceDefinitionIdParamList, - @Param("adviceTypes") List adviceTypes, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + @Param("statusEnum") Integer statusEnum, @Param("organizationId") Long organizationId, + @Param("medicationTableName") String medicationTableName, @Param("deviceTableName") String deviceTableName, + @Param("activityTableName") String activityTableName, @Param("pricingFlag") Integer pricingFlag, + @Param("adviceDefinitionIdParamList") List adviceDefinitionIdParamList, + @Param("adviceTypes") List adviceTypes, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); /** * 查询医嘱库存 - * + * * @param locationId 药房id * @param adviceDefinitionIdList 医嘱定义ID集合 * @param SqlCondition sql条件 @@ -50,12 +50,12 @@ public interface DoctorStationAdviceAppMapper { * @return 医嘱库存 */ List getAdviceInventory(@Param("locationId") Long locationId, - @Param("adviceDefinitionIdList") List adviceDefinitionIdList, @Param("SqlCondition") String SqlCondition, - @Param("status") Integer status); + @Param("adviceDefinitionIdList") List adviceDefinitionIdList, @Param("SqlCondition") String SqlCondition, + @Param("status") Integer status); /** * 查询待发放数量信息 - * + * * @param medicationTableName 药品定义表名 * @param deviceTableName 耗材定义表名 * @param status1 发放状态-草稿 @@ -63,12 +63,12 @@ public interface DoctorStationAdviceAppMapper { * @return 待发放数量信息 */ List getAdviceDraftInventory(@Param("medicationTableName") String medicationTableName, - @Param("deviceTableName") String deviceTableName, @Param("status1") Integer status1, - @Param("status2") Integer status2); + @Param("deviceTableName") String deviceTableName, @Param("status1") Integer status1, + @Param("status2") Integer status2); /** * 查询取药科室配置 - * + * * @param organizationId 患者挂号对应的科室id * @return 取药科室配置 */ @@ -76,23 +76,23 @@ public interface DoctorStationAdviceAppMapper { /** * 查询耗材的取药科室 - * + * * @param encounterId 就诊id * @param distributionCategoryCode 发放编码(耗材) * @return 耗材的取药科室id */ Long getTakeDeviceLocationId(@Param("encounterId") Long encounterId, - @Param("distributionCategoryCode") String distributionCategoryCode); + @Param("distributionCategoryCode") String distributionCategoryCode); /** * 查询 费用定价子表 - * + * * @param conditionCode 命中条件 * @param chargeItemDefinitionIdList 费用定价主表ID集合 * @return 费用定价子表 */ List getChildCharge(@Param("conditionCode") String conditionCode, - @Param("chargeItemDefinitionIdList") List chargeItemDefinitionIdList); + @Param("chargeItemDefinitionIdList") List chargeItemDefinitionIdList); /** * 查询 费用定价主表 @@ -102,7 +102,7 @@ public interface DoctorStationAdviceAppMapper { * @return 费用定价子表 */ List getMainCharge(@Param("chargeItemDefinitionIdList") List chargeItemDefinitionIdList, - @Param("statusEnum") Integer statusEnum); + @Param("statusEnum") Integer statusEnum); /** * 查询医嘱请求数据 @@ -118,10 +118,10 @@ public interface DoctorStationAdviceAppMapper { * @return 医嘱请求数据 */ List getRequestBaseInfo(@Param("encounterId") Long encounterId, @Param("patientId") Long patientId, - @Param("MED_MEDICATION_REQUEST") String MED_MEDICATION_REQUEST, - @Param("WOR_DEVICE_REQUEST") String WOR_DEVICE_REQUEST, - @Param("WOR_SERVICE_REQUEST") String WOR_SERVICE_REQUEST, @Param("practitionerId") Long practitionerId, - @Param("historyFlag") String historyFlag, @Param("generateSourceEnum") Integer generateSourceEnum); + @Param("MED_MEDICATION_REQUEST") String MED_MEDICATION_REQUEST, + @Param("WOR_DEVICE_REQUEST") String WOR_DEVICE_REQUEST, + @Param("WOR_SERVICE_REQUEST") String WOR_SERVICE_REQUEST, @Param("practitionerId") Long practitionerId, + @Param("historyFlag") String historyFlag, @Param("generateSourceEnum") Integer generateSourceEnum); /** * 查询就诊费用性质 @@ -133,14 +133,14 @@ public interface DoctorStationAdviceAppMapper { /** * 查询诊疗绑定耗材 - * + * * @param activityId 诊疗id * @param status 启用状态 * @param tableName 表名 * @return 诊疗绑定耗材 */ List getActivityBindDevice(@Param("activityId") String activityId, - @Param("status") Integer status, @Param("tableName") String tableName); + @Param("status") Integer status, @Param("tableName") String tableName); /** * 查询医嘱绑定信息 @@ -151,10 +151,8 @@ public interface DoctorStationAdviceAppMapper { * @return 医嘱绑定信息 */ List getOrderBindInfo(@Param("typeCode") String typeCode, @Param("status") Integer status, - @Param("itemNo") String itemNo); + @Param("itemNo") String itemNo); -<<<<<<< HEAD -======= /** * 查询检验检查开立历史(近30天) * @@ -164,18 +162,17 @@ public interface DoctorStationAdviceAppMapper { * @return 检验检查开立历史 */ List getProofAndTestHistory(@Param("patientId") Long patientId, - @Param("adviceDefinitionId") Long adviceDefinitionId, @Param("status") Integer status); + @Param("adviceDefinitionId") Long adviceDefinitionId, @Param("status") Integer status); /** * 查询检验检查url相关参数 - * + * * @param encounterId * @param status * @param typeEnum * @return 检验检查url相关参数 */ List getProofAndTestResult(@Param("encounterId") Long encounterId, - @Param("status") Integer status, @Param("typeEnum") Integer typeEnum); + @Param("status") Integer status, @Param("typeEnum") Integer typeEnum); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/utils/AdviceUtils.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/utils/AdviceUtils.java index a83eacbe..89a3a3a8 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/utils/AdviceUtils.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/utils/AdviceUtils.java @@ -10,10 +10,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Component; -<<<<<<< HEAD -======= import com.core.common.enums.TenantOptionDict; ->>>>>>> v1.3 import com.core.common.utils.AssignSeqUtil; import com.core.common.utils.SecurityUtils; import com.core.common.utils.StringUtils; @@ -80,19 +77,19 @@ public class AdviceUtils { */ public String checkInventory(List adviceSaveList) { // 医嘱定义ID集合 - List adviceDefinitionIdList = - adviceSaveList.stream().map(AdviceSaveDto::getAdviceDefinitionId).collect(Collectors.toList()); + List adviceDefinitionIdList + = adviceSaveList.stream().map(AdviceSaveDto::getAdviceDefinitionId).collect(Collectors.toList()); // 医嘱库存集合 - List adviceInventoryList = - doctorStationAdviceAppMapper.getAdviceInventory(null, adviceDefinitionIdList, - CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR, PublicationStatus.ACTIVE.getValue()); + List adviceInventoryList + = doctorStationAdviceAppMapper.getAdviceInventory(null, adviceDefinitionIdList, + CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR, PublicationStatus.ACTIVE.getValue()); // 待发放个数信息 List adviceDraftInventoryList = doctorStationAdviceAppMapper.getAdviceDraftInventory( - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - DispenseStatus.DRAFT.getValue(), DispenseStatus.PREPARATION.getValue()); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, + DispenseStatus.DRAFT.getValue(), DispenseStatus.PREPARATION.getValue()); // 预减库存 - List adviceInventory = - this.subtractInventory(adviceInventoryList, adviceDraftInventoryList); + List adviceInventory + = this.subtractInventory(adviceInventoryList, adviceDraftInventoryList); // 检查库存 for (AdviceSaveDto saveDto : adviceSaveList) { boolean matched = false; @@ -100,11 +97,11 @@ public class AdviceUtils { // 匹配条件:adviceDefinitionId, adviceTableName, locationId, lotNumber 同时相等 // 如果选择了具体的批次号,校验库存时需要加上批次号的匹配条件 boolean lotNumberMatch = StringUtils.isEmpty(saveDto.getLotNumber()) - || saveDto.getLotNumber().equals(inventoryDto.getLotNumber()); + || saveDto.getLotNumber().equals(inventoryDto.getLotNumber()); // if (saveDto.) if (inventoryDto.getItemId().equals(saveDto.getAdviceDefinitionId()) - && inventoryDto.getItemTable().equals(saveDto.getAdviceTableName()) - && inventoryDto.getLocationId().equals(saveDto.getLocationId()) && lotNumberMatch) { + && inventoryDto.getItemTable().equals(saveDto.getAdviceTableName()) + && inventoryDto.getLocationId().equals(saveDto.getLocationId()) && lotNumberMatch) { matched = true; // 检查库存是否充足 BigDecimal minUnitQuantity = saveDto.getMinUnitQuantity(); @@ -135,38 +132,38 @@ public class AdviceUtils { */ public String checkExeMedInventory(List medUseExeList) { // 医嘱定义id集合 - List adviceDefinitionIdList = - medUseExeList.stream().map(MedicationRequestUseExe::getMedicationId).collect(Collectors.toList()); + List adviceDefinitionIdList + = medUseExeList.stream().map(MedicationRequestUseExe::getMedicationId).collect(Collectors.toList()); // 医嘱库存集合 - List adviceInventoryList = - doctorStationAdviceAppMapper.getAdviceInventory(null, adviceDefinitionIdList, - CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR, PublicationStatus.ACTIVE.getValue()); + List adviceInventoryList + = doctorStationAdviceAppMapper.getAdviceInventory(null, adviceDefinitionIdList, + CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR, PublicationStatus.ACTIVE.getValue()); // 待发放个数信息 List adviceDraftInventoryList = doctorStationAdviceAppMapper.getAdviceDraftInventory( - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - DispenseStatus.DRAFT.getValue(), DispenseStatus.PREPARATION.getValue()); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, + DispenseStatus.DRAFT.getValue(), DispenseStatus.PREPARATION.getValue()); // 预减库存 - List adviceInventory = - this.subtractInventory(adviceInventoryList, adviceDraftInventoryList); + List adviceInventory + = this.subtractInventory(adviceInventoryList, adviceDraftInventoryList); // 生命提示信息集合 List tipsList = new ArrayList<>(); for (MedicationRequestUseExe medicationRequestUseExe : medUseExeList) { Optional matchedInventory = adviceInventory.stream() - .filter(inventoryDto -> medicationRequestUseExe.getMedicationId().equals(inventoryDto.getItemId()) + .filter(inventoryDto -> medicationRequestUseExe.getMedicationId().equals(inventoryDto.getItemId()) && CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(inventoryDto.getItemTable()) && medicationRequestUseExe.getPerformLocation().equals(inventoryDto.getLocationId()) // 如果选择了具体的批次号,校验库存时需要加上批次号的匹配条件 && (StringUtils.isEmpty(medicationRequestUseExe.getLotNumber()) - || medicationRequestUseExe.getLotNumber().equals(inventoryDto.getLotNumber()))) - .findFirst(); + || medicationRequestUseExe.getLotNumber().equals(inventoryDto.getLotNumber()))) + .findFirst(); // 匹配到库存信息 if (matchedInventory.isPresent()) { AdviceInventoryDto inventoryDto = matchedInventory.get(); if ((medicationRequestUseExe.getExecuteTimesNum() - .multiply(medicationRequestUseExe.getMinUnitQuantity())) + .multiply(medicationRequestUseExe.getMinUnitQuantity())) .compareTo(inventoryDto.getQuantity()) > 0) { tipsList - .add("【" + medicationRequestUseExe.getBusNo() + "】在" + inventoryDto.getLocationName() + "库存不足"); + .add("【" + medicationRequestUseExe.getBusNo() + "】在" + inventoryDto.getLocationName() + "库存不足"); } } else { tipsList.add("【" + medicationRequestUseExe.getBusNo() + "】未匹配到库存信息"); @@ -194,7 +191,7 @@ public class AdviceUtils { * @return 预减库存 */ public List subtractInventory(List adviceInventoryList, - List adviceDraftInventoryList) { + List adviceDraftInventoryList) { // 医嘱定价来源 String orderPricingSource = TenantOptionUtil.getOptionContent(TenantOptionDict.ORDER_PRICING_SOURCE); // 统一零售价 @@ -207,11 +204,11 @@ public class AdviceUtils { if (retailPrice) { // 统一零售价时,忽略 lotNumber key = String.format(CommonConstants.Common.S_DD_FORMAT, draft.getItemTable(), draft.getItemId(), - draft.getLocationId()); + draft.getLocationId()); } else { // 非统一零售价时,包含 lotNumber key = String.format(CommonConstants.Common.SS_DD_FORMAT, draft.getItemTable(), draft.getLotNumber(), - draft.getItemId(), draft.getLocationId()); + draft.getItemId(), draft.getLocationId()); } if (draftMap.containsKey(key)) { @@ -230,7 +227,7 @@ public class AdviceUtils { Map> groupedInventory = new HashMap<>(); for (AdviceInventoryDto inventory : adviceInventoryList) { String groupKey = String.format(CommonConstants.Common.S_DD_FORMAT, inventory.getItemTable(), - inventory.getItemId(), inventory.getLocationId()); + inventory.getItemId(), inventory.getLocationId()); if (!groupedInventory.containsKey(groupKey)) { groupedInventory.put(groupKey, new ArrayList<>()); @@ -276,11 +273,11 @@ public class AdviceUtils { if (retailPrice) { // 统一零售价时,忽略 lotNumber key = String.format(CommonConstants.Common.S_DD_FORMAT, inventory.getItemTable(), inventory.getItemId(), - inventory.getLocationId()); + inventory.getLocationId()); } else { // 非统一零售价时,包含 lotNumber key = String.format(CommonConstants.Common.SS_DD_FORMAT, inventory.getItemTable(), - inventory.getLotNumber(), inventory.getItemId(), inventory.getLocationId()); + inventory.getLotNumber(), inventory.getItemId(), inventory.getLocationId()); } AdviceInventoryDto draft = draftMap.get(key); @@ -289,14 +286,9 @@ public class AdviceUtils { BigDecimal newQty = inventory.getQuantity().subtract(draftQty); inventory.setQuantity(newQty.compareTo(BigDecimal.ZERO) >= 0 ? newQty : BigDecimal.ZERO); } -<<<<<<< HEAD - return inventory; - }).collect(Collectors.toList()); -======= result.add(inventory); } return result; ->>>>>>> v1.3 } /** @@ -307,7 +299,7 @@ public class AdviceUtils { * @param activityChildrenJsonParams 诊疗子项参数类 */ public void handleActivityChild(String childrenJson, Long organizationId, - ActivityChildrenJsonParams activityChildrenJsonParams) { + ActivityChildrenJsonParams activityChildrenJsonParams) { // 治疗类型 (长期/临时) Integer therapyEnum = activityChildrenJsonParams.getTherapyEnum(); // 当前登录账号的科室id @@ -320,8 +312,9 @@ public class AdviceUtils { try { // 将JSON字符串转换为List - List activityChildJsonDtoList = - objectMapper.readValue(childrenJson, new TypeReference<>() {}); + List activityChildJsonDtoList + = objectMapper.readValue(childrenJson, new TypeReference<>() { + }); // 创建子项的诊疗请求 Long adviceDefinitionId; // 诊疗医嘱定义ID BigDecimal quantity; // 子项请求数量 @@ -337,9 +330,9 @@ public class AdviceUtils { adviceBaseDto = new AdviceBaseDto(); adviceBaseDto.setAdviceDefinitionId(adviceDefinitionId); // 对应的子项诊疗医嘱信息 - AdviceBaseDto activityAdviceBaseDto = - iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, null, null, null, organizationId, 1, - 1, Whether.NO.getValue(), List.of(1, 2, 3), null).getRecords().get(0); + AdviceBaseDto activityAdviceBaseDto + = iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, null, null, null, organizationId, 1, + 1, Whether.NO.getValue(), List.of(1, 2, 3), null).getRecords().get(0); if (activityAdviceBaseDto != null) { // 费用定价 AdvicePriceDto advicePriceDto = activityAdviceBaseDto.getPriceList().get(0); @@ -369,7 +362,7 @@ public class AdviceUtils { chargeItem.setGenerateSourceEnum(GenerateSource.DOCTOR_PRESCRIPTION.getValue()); chargeItem.setStatusEnum(ChargeItemStatus.DRAFT.getValue()); // 收费状态 chargeItem - .setBusNo(AssignSeqEnum.CHARGE_ITEM_NO.getPrefix().concat(serviceRequest.getBusNo())); + .setBusNo(AssignSeqEnum.CHARGE_ITEM_NO.getPrefix().concat(serviceRequest.getBusNo())); chargeItem.setGenerateSourceEnum(GenerateSource.DOCTOR_PRESCRIPTION.getValue()); // 生成来源 chargeItem.setPatientId(activityChildrenJsonParams.getPatientId()); // 患者 chargeItem.setContextEnum(ChargeItemContext.ACTIVITY.getValue()); // 类型 @@ -390,7 +383,7 @@ public class AdviceUtils { // 计算总价,保留4位小数 BigDecimal qty = quantity; chargeItem.setTotalPrice( - qty.multiply(advicePriceDto.getPrice()).setScale(6, RoundingMode.HALF_UP)); // 总价 + qty.multiply(advicePriceDto.getPrice()).setScale(6, RoundingMode.HALF_UP)); // 总价 chargeItemList.add(chargeItem); } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/controller/DocDefinitionController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/controller/DocDefinitionController.java index abee710c..fb694bfe 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/controller/DocDefinitionController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/controller/DocDefinitionController.java @@ -18,16 +18,6 @@ import com.openhis.web.document.util.EnumUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -<<<<<<< HEAD -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -======= ->>>>>>> v1.3 /** * 文书定义 controller @@ -40,6 +30,7 @@ import java.util.Map; @Slf4j @AllArgsConstructor public class DocDefinitionController { + private final IDocDefinitionAppService iDocDefinitionAppService; /** @@ -56,13 +47,8 @@ public class DocDefinitionController { // 获取权限枚举列表 map.put("permissions", EnumUtil.toMapList(DocPermissionEnum.class)); -<<<<<<< HEAD - //使用范围枚举 - List noInUseCodes=new ArrayList<>(); -======= // 使用范围枚举 List noInUseCodes = new ArrayList<>(); ->>>>>>> v1.3 noInUseCodes.add(DocUseRangeEnum.USE_BY_SELF.getCode()); map.put("useRanges", EnumUtil.toMapListFilter(DocUseRangeEnum.class, noInUseCodes)); return R.ok(map); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalcharge/appservice/impl/InHospitalRegisterAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalcharge/appservice/impl/InHospitalRegisterAppServiceImpl.java index ad592f9f..21694e52 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalcharge/appservice/impl/InHospitalRegisterAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalcharge/appservice/impl/InHospitalRegisterAppServiceImpl.java @@ -35,11 +35,7 @@ import com.openhis.web.inhospitalcharge.appservice.IInHospitalRegisterAppService import com.openhis.web.inhospitalcharge.dto.*; import com.openhis.web.inhospitalcharge.mapper.InHospitalRegisterAppMapper; import com.openhis.web.patientmanage.appservice.IPatientInformationService; -<<<<<<< HEAD -import com.openhis.web.patientmanage.dto.PatientInformationDto; -======= import com.openhis.web.patientmanage.dto.PatientBaseInfoDto; ->>>>>>> v1.3 import com.openhis.yb.service.YbManager; import lombok.extern.slf4j.Slf4j; @@ -160,7 +156,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS iEncounterLocationService.save(zYEncounterLocation); } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"住院申请"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"住院申请"})); } /** @@ -176,16 +172,16 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS */ @Override public IPage getRegisterInfo(InHospitalRegisterQueryDto inHospitalRegisterQueryDto, - String searchKey, String registeredFlag, Integer pageNo, Integer pageSize, HttpServletRequest request) { + String searchKey, String registeredFlag, Integer pageNo, Integer pageSize, HttpServletRequest request) { Integer encounterStatus = EncounterZyStatus.TO_BE_REGISTERED.getValue(); // 待登记 // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(inHospitalRegisterQueryDto, searchKey, - new HashSet<>(Arrays.asList("registrar", "source_name", "patient_name")), request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(inHospitalRegisterQueryDto, searchKey, + new HashSet<>(Arrays.asList("registrar", "source_name", "patient_name")), request); IPage inHospitalRegisterInfo = inHospitalRegisterAppMapper - .getInHospitalRegisterInfo(new Page<>(pageNo, pageSize), EncounterClass.IMP.getValue(), encounterStatus, - registeredFlag, LocationForm.WARD.getValue(), queryWrapper); + .getInHospitalRegisterInfo(new Page<>(pageNo, pageSize), EncounterClass.IMP.getValue(), encounterStatus, + registeredFlag, LocationForm.WARD.getValue(), queryWrapper); inHospitalRegisterInfo.getRecords().forEach(e -> { // 性别 e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); @@ -207,13 +203,13 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS InHospitalPatientInfoDto patientInfo = inHospitalRegisterAppMapper.getPatientInfo(patientId); // 性别 patientInfo - .setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, patientInfo.getGenderEnum())); + .setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, patientInfo.getGenderEnum())); // 计算年龄 patientInfo - .setAge(patientInfo.getBirthDate() != null ? AgeCalculatorUtil.getAge(patientInfo.getBirthDate()) : ""); + .setAge(patientInfo.getBirthDate() != null ? AgeCalculatorUtil.getAge(patientInfo.getBirthDate()) : ""); // 婚姻状态 patientInfo.setMaritalStatusEnum_enumText( - EnumUtils.getInfoByValue(MaritalStatus.class, patientInfo.getMaritalStatusEnum())); + EnumUtils.getInfoByValue(MaritalStatus.class, patientInfo.getMaritalStatusEnum())); // 职业 patientInfo.setPrfsEnum_enumText(EnumUtils.getInfoByValue(OccupationType.class, patientInfo.getPrfsEnum())); return patientInfo; @@ -228,20 +224,20 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS @Override public InHospitalInfoDto getInHospitalInfo(Long encounterId) { InHospitalInfoDto inHospitalInfo = inHospitalRegisterAppMapper.getInHospitalInfo(encounterId, - LocationForm.WARD.getValue(), Whether.YES.getValue(), ParticipantType.ADMITTER.getCode(), - PublicationStatus.ACTIVE.getValue(), AccountType.PERSONAL_CASH_ACCOUNT.getCode()); + LocationForm.WARD.getValue(), Whether.YES.getValue(), ParticipantType.ADMITTER.getCode(), + PublicationStatus.ACTIVE.getValue(), AccountType.PERSONAL_CASH_ACCOUNT.getCode()); // 优先级(患者病情) inHospitalInfo - .setPriorityEnum_enumText(EnumUtils.getInfoByValue(PriorityLevel.class, inHospitalInfo.getPriorityEnum())); + .setPriorityEnum_enumText(EnumUtils.getInfoByValue(PriorityLevel.class, inHospitalInfo.getPriorityEnum())); // 病区号 String wardBusNo = inHospitalInfo.getWardBusNo(); if (!StringUtils.isEmpty(wardBusNo)) { // 计算床位数 Integer totalBedsNum = inHospitalRegisterAppMapper.getTotalBedsNum(LocationForm.BED.getValue(), - LocationStatus.INACTIVE.getValue(), wardBusNo); + LocationStatus.INACTIVE.getValue(), wardBusNo); inHospitalInfo.setTotalBedsNum(totalBedsNum); // 当前病区总床位数 Integer idleBedsNum = inHospitalRegisterAppMapper.getIdleBedsNum(LocationForm.BED.getValue(), - LocationStatus.IDLE.getValue(), wardBusNo); + LocationStatus.IDLE.getValue(), wardBusNo); inHospitalInfo.setIdleBedsNum(idleBedsNum); // 当前病区空闲床位数 } return inHospitalInfo; @@ -258,10 +254,10 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS HashMap resMap = new HashMap<>(); // 当前病区总床位数 Integer totalBedsNum = inHospitalRegisterAppMapper.getTotalBedsNum(LocationForm.BED.getValue(), - LocationStatus.INACTIVE.getValue(), wardBusNo); + LocationStatus.INACTIVE.getValue(), wardBusNo); // // 当前病区空闲床位数 Integer idleBedsNum = inHospitalRegisterAppMapper.getIdleBedsNum(LocationForm.BED.getValue(), - LocationStatus.IDLE.getValue(), wardBusNo); + LocationStatus.IDLE.getValue(), wardBusNo); resMap.put("totalBedsNum", totalBedsNum); resMap.put("idleBedsNum", idleBedsNum); return resMap; @@ -286,7 +282,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS patient.setIdCard(patientUpdateDto.getIdCard()); // 身份证号 iPatientService.saveOrUpdate(patient); - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"患者信息"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"患者信息"})); } /** @@ -298,7 +294,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS @Override public R registerByCashier(InHospitalInfoDto inHospitalInfoDto) { this.handleRegister(inHospitalInfoDto, null); // 处理入院登记信息 - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"住院登记"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"住院登记"})); } /** @@ -314,7 +310,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS // 新增患者 R r = patientInformationService.addPatient(patientInformation); if (r.getCode() == 200) { - Patient patient = (Patient)r.getData(); + Patient patient = (Patient) r.getData(); // 住院信息 InHospitalInfoDto inHospitalInfoDto = noFilesRegisterDto.getInHospitalInfo(); this.handleRegister(inHospitalInfoDto, patient); // 处理入院登记信息 @@ -322,7 +318,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00010, null)); } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"无档登记"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"无档登记"})); } /** @@ -355,7 +351,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS @Override public List getWardList(Long orgId) { List wardList = inHospitalRegisterAppMapper.selectWardList(orgId, LocationForm.WARD.getValue(), - LocationStatus.ACTIVE.getValue()); + LocationStatus.ACTIVE.getValue()); // 2. 转换为 LocationDto(逻辑与原代码完全一致) List locationDtoList = new ArrayList<>(); @@ -399,8 +395,8 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS // 先查询当前就诊是否已经分配了病区 EncounterLocation encounterLocation = iEncounterLocationService.getOne( - new LambdaQueryWrapper().eq(EncounterLocation::getEncounterId, encounterReg.getId()) - .eq(EncounterLocation::getFormEnum, LocationForm.WARD.getValue())); + new LambdaQueryWrapper().eq(EncounterLocation::getEncounterId, encounterReg.getId()) + .eq(EncounterLocation::getFormEnum, LocationForm.WARD.getValue())); // 处理病区信息 EncounterLocation encounterLocationReg = new EncounterLocation(); if (encounterLocation != null) { @@ -419,7 +415,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS Account accountPersonalCash = new Account(); accountPersonalCash.setTypeCode(AccountType.PERSONAL_CASH_ACCOUNT.getCode()); // 账户类型 accountPersonalCash.setPatientId( - inHospitalInfoDto.getPatientId() != null ? inHospitalInfoDto.getPatientId() : patient.getId()); // 患者id + inHospitalInfoDto.getPatientId() != null ? inHospitalInfoDto.getPatientId() : patient.getId()); // 患者id accountPersonalCash.setEncounterId(encounterReg.getId()); // 住院就诊id accountPersonalCash.setBalanceAmount(inHospitalInfoDto.getBalanceAmount()); // 账户余额 // 自费 @@ -430,7 +426,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS Account accountNoSelfFunded = new Account(); accountNoSelfFunded.setTypeCode(inHospitalInfoDto.getTypeCoce()); // 账户类型 accountNoSelfFunded.setPatientId( - inHospitalInfoDto.getPatientId() != null ? inHospitalInfoDto.getPatientId() : patient.getId()); // 患者id + inHospitalInfoDto.getPatientId() != null ? inHospitalInfoDto.getPatientId() : patient.getId()); // 患者id accountNoSelfFunded.setEncounterId(encounterReg.getId()); // 住院就诊id accountNoSelfFunded.setContractNo(contractNo); // 合同编码 accountNoSelfFunded.setEncounterFlag(Whether.YES.getValue()); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IATDManageAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IATDManageAppService.java index 22f43992..2dc87aa1 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IATDManageAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IATDManageAppService.java @@ -36,7 +36,7 @@ public interface IATDManageAppService { * @return 入院患者分页列表 */ R getAdmissionPatientPage(AdmissionPageParam admissionPageParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request); + String searchKey, HttpServletRequest request); /** * 入院患者床位信息分页列表 @@ -56,16 +56,7 @@ public interface IATDManageAppService { */ R getAdmissionPatientInfo(Long encounterId); - /** -<<<<<<< HEAD - * 住院患者待处理信息列表 - * - * @param encounterId 住院id - * @return 待处理信息列表 - */ - R getInPatientPendingList(Long encounterId); -======= * 住院患者待处理列表查询 * * @param inpatientAdviceParam 查询条件 @@ -74,7 +65,6 @@ public interface IATDManageAppService { * @return 住院患者医 */ R getInPatientPendingList(InpatientAdviceParam inpatientAdviceParam, Integer pageNo, Integer pageSize); ->>>>>>> v1.3 /** * 入科床位分配 @@ -87,11 +77,7 @@ public interface IATDManageAppService { /** * 转科 * -<<<<<<< HEAD - * @param encounterId 住院id -======= * @param encounterId 住院患者id ->>>>>>> v1.3 * @return 结果 */ R transferDepartment(Long encounterId); @@ -99,12 +85,6 @@ public interface IATDManageAppService { /** * 出院 * -<<<<<<< HEAD - * @param encounterId 住院id - * @return 结果 - */ - R hospitalDischarge(Long encounterId); -======= * @param encounterId 住院患者id * @return 结果 */ @@ -120,18 +100,19 @@ public interface IATDManageAppService { /** * 诊断个人账户金额信息获取 - * + * * @param encounterId 诊断id * @return EncounterAccountDto 诊断账户金额 - **/ + * + */ R getAmount(Long encounterId); /** * 获取待配/退药 - * + * * @param encounterId 诊断id * @return PendingMedicationDto 待配/退药 - **/ + * + */ R getPendingMedication(Long encounterId); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IMedicineSummaryAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IMedicineSummaryAppService.java index 71268e99..7ea0fc69 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IMedicineSummaryAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IMedicineSummaryAppService.java @@ -17,21 +17,6 @@ import com.openhis.web.inhospitalnursestation.dto.MedicineSummaryParam; public interface IMedicineSummaryAppService { /** -<<<<<<< HEAD - * 查询发药单信息 - * - * @param dispenseFormSearchParam 查询条件 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求 - * @return 发药单信息 - */ - R getMedicineDispenseFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, Integer pageSize, - HttpServletRequest request); - - /** - * 查询药品汇总单 -======= * 药品汇总单初始化 * * @return 初始化信息 @@ -40,31 +25,15 @@ public interface IMedicineSummaryAppService { /** * 查询发药单信息 ->>>>>>> v1.3 * * @param dispenseFormSearchParam 查询条件 * @param pageNo 当前页码 * @param pageSize 查询条数 -<<<<<<< HEAD - * @param searchKey 模糊查询关键字 - * @param request 请求 - * @return 药品汇总单 - */ - R getMedicineSummaryFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request); - - /** - * 查询药品汇总单详情 - * - * @param summaryNo 汇总单号 - * @return 药品汇总单详情 - */ -======= * @param request 请求 * @return 发药单信息 */ R getMedicineDispenseFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, Integer pageSize, - HttpServletRequest request); + HttpServletRequest request); /** * 查询药品汇总单 @@ -77,7 +46,7 @@ public interface IMedicineSummaryAppService { * @return 药品汇总单 */ R getMedicineSummaryFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request); + String searchKey, HttpServletRequest request); /** * 查询药品汇总单详情 @@ -85,7 +54,6 @@ public interface IMedicineSummaryAppService { * @param summaryNo 汇总单号 * @return 药品汇总单详情 */ ->>>>>>> v1.3 R getMedicineSummaryFormDetail(String summaryNo); /** @@ -102,16 +70,5 @@ public interface IMedicineSummaryAppService { * @param summaryNo 汇总单号 * @return 处理结果 */ -<<<<<<< HEAD - R checkInventoryItem(List devDispenseId, List medDispenseId); - - /** - * 取消汇总 - * - * @param summaryNo 汇总单号 - * @return 处理结果 - */ -======= ->>>>>>> v1.3 R cancelSummary(String summaryNo); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/INurseBillingAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/INurseBillingAppService.java index a64fb2dd..40386a3d 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/INurseBillingAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/INurseBillingAppService.java @@ -1,8 +1,5 @@ package com.openhis.web.inhospitalnursestation.appservice; -<<<<<<< HEAD -import com.core.common.core.domain.R; -======= import java.time.LocalDateTime; import java.util.List; @@ -13,48 +10,20 @@ import com.core.common.core.domain.R; import com.openhis.administration.dto.CostDetailSearchParam; import com.openhis.web.inhospitalnursestation.dto.InpatientAdviceParam; import com.openhis.web.regdoctorstation.dto.AdviceBatchOpParam; ->>>>>>> v1.3 import com.openhis.web.regdoctorstation.dto.RegAdviceSaveParam; public interface INurseBillingAppService { + /* * 住院护士 划价添加 * @return */ public R addInNurseBilling(RegAdviceSaveParam regAdviceSaveParam); -<<<<<<< HEAD - /* - * 住院护士 划价列表 根据护士encounterId查询 - * @return - */ - public R getBillingListByEncounterId(); -======= ->>>>>>> v1.3 /* * 住院护士撤销划价 * @return */ -<<<<<<< HEAD - public R deleteInNurseBilling(); - /* - * 医嘱计费添加 诊疗 耗材 - */ - public R addOrderBilling(); - /* - * 医嘱计费删除 诊疗 耗材 - */ - public R deleteOrderBilling(); - /* - * 医嘱计费修改 诊疗 耗材 - */ - public R updateOrderBilling(); - /* - 根据医嘱id查询已计费的 耗材列表 - * @return - */ - public R getOrderBillingByRequestId(); -======= public R deleteInNurseBilling(List paramList); /** @@ -66,7 +35,7 @@ public interface INurseBillingAppService { * @return 住院患者医 */ R getInNurseBillingPage(InpatientAdviceParam inpatientAdviceParam, Integer pageNo, Integer pageSize, - LocalDateTime startTime, LocalDateTime endTime); + LocalDateTime startTime, LocalDateTime endTime); /* * 医嘱计费添加 诊疗 耗材 @@ -94,12 +63,11 @@ public interface INurseBillingAppService { /** * 费用明细导出 - * + * * @param costDetailSearchParam 查询条件 * @param request request请求 * @param response response响应 */ void makeExcelFile(CostDetailSearchParam costDetailSearchParam, HttpServletRequest request, - HttpServletResponse response); ->>>>>>> v1.3 + HttpServletResponse response); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IOrgDeviceStockTakeAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IOrgDeviceStockTakeAppService.java index f74a8d2b..b5172286 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IOrgDeviceStockTakeAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/IOrgDeviceStockTakeAppService.java @@ -5,10 +5,7 @@ import com.openhis.web.inhospitalnursestation.dto.OrgDeviceSummaryParam; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; -<<<<<<< HEAD -======= import java.util.List; ->>>>>>> v1.3 /** * 科室耗材盘点 应用实现接口 @@ -19,13 +16,6 @@ import java.util.List; public interface IOrgDeviceStockTakeAppService { /** -<<<<<<< HEAD - * 查询科室耗材汇总 - * - * @param orgDeviceSummaryParam 查询条件 - * @param startTime 开始时间 - * @param endTime 结束时间 -======= * 页面初始化 * * @return 初始化信息 @@ -36,30 +26,21 @@ public interface IOrgDeviceStockTakeAppService { * 查询科室耗材汇总 * * @param orgDeviceSummaryParam 查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 * @param request 请求 * @return 科室耗材汇总单 */ -<<<<<<< HEAD - R getOrgDeviceSummaryFromPage(OrgDeviceSummaryParam orgDeviceSummaryParam, String startTime, String endTime, -======= R getOrgDeviceSummaryFromPage(OrgDeviceSummaryParam orgDeviceSummaryParam, ->>>>>>> v1.3 - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, - HttpServletRequest request); + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, + HttpServletRequest request); /** * 科室耗材汇总 * * @return 科室耗材汇总单 */ -<<<<<<< HEAD - R orgDeviceSummary(OrgDeviceSummaryParam orgDeviceSummaryParam); -======= R orgDeviceSummary(List orgDeviceSummaryParamList); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java index c589230c..82c7bfa8 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java @@ -105,23 +105,23 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { // 住院状态 List encounterStatusOptions = new ArrayList<>(); encounterStatusOptions.add(new ATDManageInitDto.encounterStatusOption(EncounterZyStatus.REGISTERED.getValue(), - EncounterZyStatus.REGISTERED.getInfo())); + EncounterZyStatus.REGISTERED.getInfo())); encounterStatusOptions - .add(new ATDManageInitDto.encounterStatusOption(EncounterZyStatus.ADMITTED_TO_THE_HOSPITAL.getValue(), - EncounterZyStatus.ADMITTED_TO_THE_HOSPITAL.getInfo())); + .add(new ATDManageInitDto.encounterStatusOption(EncounterZyStatus.ADMITTED_TO_THE_HOSPITAL.getValue(), + EncounterZyStatus.ADMITTED_TO_THE_HOSPITAL.getInfo())); // 床位状态 List bedStatusOptions = new ArrayList<>(); bedStatusOptions - .add(new ATDManageInitDto.bedStatusOption(LocationStatus.IDLE.getValue(), LocationStatus.IDLE.getInfo())); + .add(new ATDManageInitDto.bedStatusOption(LocationStatus.IDLE.getValue(), LocationStatus.IDLE.getInfo())); bedStatusOptions.add( - new ATDManageInitDto.bedStatusOption(LocationStatus.OCCUPY.getValue(), LocationStatus.OCCUPY.getInfo())); + new ATDManageInitDto.bedStatusOption(LocationStatus.OCCUPY.getValue(), LocationStatus.OCCUPY.getInfo())); // 患者病情 List priorityOptions = Stream.of(PriorityLevel.values()) - .map( - priorityLevel -> new ATDManageInitDto.priorityOption(priorityLevel.getValue(), priorityLevel.getInfo())) - .collect(Collectors.toList()); + .map( + priorityLevel -> new ATDManageInitDto.priorityOption(priorityLevel.getValue(), priorityLevel.getInfo())) + .collect(Collectors.toList()); atdManageInitDto.setBedStatusOptions(bedStatusOptions).setEncounterStatusOptions(encounterStatusOptions) - .setPriorityOptions(priorityOptions); + .setPriorityOptions(priorityOptions); return R.ok(atdManageInitDto); } @@ -137,17 +137,17 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { */ @Override public R getAdmissionPatientPage(AdmissionPageParam admissionPageParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request) { + String searchKey, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(admissionPageParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, - CommonConstants.FieldName.PatientName, CommonConstants.FieldName.BusNo)), - request); + new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, + CommonConstants.FieldName.PatientName, CommonConstants.FieldName.BusNo)), + request); // 入院患者分页列表 Page admissionPatientPage = atdManageAppMapper.selectAdmissionPatientPage( - new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.IMP.getValue(), - EncounterZyStatus.TO_BE_REGISTERED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), - LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue()); + new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.IMP.getValue(), + EncounterZyStatus.TO_BE_REGISTERED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), + LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue()); admissionPatientPage.getRecords().forEach(e -> { // 性别枚举 e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); @@ -174,15 +174,15 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { @Override public R getAdmissionBedPage(AdmissionPageParam admissionPageParam, Integer pageNo, Integer pageSize) { // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(admissionPageParam, null, null, null); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(admissionPageParam, null, null, null); // 入院患者床位分页列表 - Page admissionBedPage = - atdManageAppMapper.selectAdmissionBadPage(new Page<>(pageNo, pageSize), queryWrapper, - EncounterActivityStatus.ACTIVE.getValue(), LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), - LocationForm.BED.getValue(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), - LocationStatus.INACTIVE.getValue(), ChargeItemStatus.BILLABLE.getValue(), - ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDED.getValue()); + Page admissionBedPage + = atdManageAppMapper.selectAdmissionBadPage(new Page<>(pageNo, pageSize), queryWrapper, + EncounterActivityStatus.ACTIVE.getValue(), LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), + LocationForm.BED.getValue(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), + LocationStatus.INACTIVE.getValue(), ChargeItemStatus.BILLABLE.getValue(), + ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDED.getValue()); admissionBedPage.getRecords().forEach(e -> { // 性别枚举 e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); @@ -207,42 +207,27 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { @Override public R getAdmissionPatientInfo(Long encounterId) { // 查询住院患者详细信息 - AdmissionPatientInfoDto admissionPatientInfoDto = - atdManageAppMapper.selectAdmissionPatientInfo(encounterId, EncounterActivityStatus.ACTIVE.getValue(), - LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue(), - ParticipantType.PRIMARY_NURSE.getCode(), ParticipantType.ATTENDING_DOCTOR.getCode(), - ParticipantType.ADMITTING_DOCTOR.getCode(), ParticipantType.CHIEF_DOCTOR.getCode()); + AdmissionPatientInfoDto admissionPatientInfoDto + = atdManageAppMapper.selectAdmissionPatientInfo(encounterId, EncounterActivityStatus.ACTIVE.getValue(), + LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue(), + ParticipantType.PRIMARY_NURSE.getCode(), ParticipantType.ATTENDING_DOCTOR.getCode(), + ParticipantType.ADMITTING_DOCTOR.getCode(), ParticipantType.CHIEF_DOCTOR.getCode()); // 年龄 if (admissionPatientInfoDto.getBirthDate() != null) { admissionPatientInfoDto.setAge(AgeCalculatorUtil.getAge(admissionPatientInfoDto.getBirthDate())); } // 性别 admissionPatientInfoDto.setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, admissionPatientInfoDto.getGenderEnum())); + EnumUtils.getInfoByValue(AdministrativeGender.class, admissionPatientInfoDto.getGenderEnum())); // 病情 admissionPatientInfoDto.setPriorityEnum_enumText( - EnumUtils.getInfoByValue(PriorityLevel.class, admissionPatientInfoDto.getPriorityEnum())); + EnumUtils.getInfoByValue(PriorityLevel.class, admissionPatientInfoDto.getPriorityEnum())); // 获取入院体征 getAdmissionSigns(encounterId, admissionPatientInfoDto); return R.ok(admissionPatientInfoDto); } /** -<<<<<<< HEAD - * 住院患者待处理信息列表 - * - * @param encounterId 住院id - * @return 待处理信息列表 - */ - @Override - public R getInPatientPendingList(Long encounterId) { -// List inPatientPendingList = -// atdManageAppMapper.selectInPatientPendingList(encounterId, EncounterActivityStatus.ACTIVE.getValue(), -// LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue(), -// ParticipantType.PRIMARY_NURSE.getCode(), ParticipantType.ATTENDING_DOCTOR.getCode(), -// ParticipantType.ADMITTING_DOCTOR.getCode()); - return null; -======= * 住院患者医嘱查询 * * @param inpatientAdviceParam 查询条件 @@ -253,19 +238,19 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { @Override public R getInPatientPendingList(InpatientAdviceParam inpatientAdviceParam, Integer pageNo, Integer pageSize) { // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(inpatientAdviceParam, null, null, null); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(inpatientAdviceParam, null, null, null); // 患者医嘱分页列表 Page inpatientAdvicePage = atdManageAppMapper.selectInpatientAdvicePage( - new Page<>(pageNo, pageSize), queryWrapper, CommonConstants.TableName.MED_MEDICATION_REQUEST, - CommonConstants.TableName.WOR_SERVICE_REQUEST, RequestStatus.DRAFT.getValue(), - RequestStatus.STOPPED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), - ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), - ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), - ChargeItemStatus.REFUNDED.getValue(), EncounterClass.IMP.getValue(), - GenerateSource.DOCTOR_PRESCRIPTION.getValue(), ActivityDefCategory.TRANSFER.getCode(), - ActivityDefCategory.DISCHARGE.getCode(), ActivityDefCategory.NURSING.getCode()); + new Page<>(pageNo, pageSize), queryWrapper, CommonConstants.TableName.MED_MEDICATION_REQUEST, + CommonConstants.TableName.WOR_SERVICE_REQUEST, RequestStatus.DRAFT.getValue(), + RequestStatus.STOPPED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), + ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), + ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), + ChargeItemStatus.REFUNDED.getValue(), EncounterClass.IMP.getValue(), + GenerateSource.DOCTOR_PRESCRIPTION.getValue(), ActivityDefCategory.TRANSFER.getCode(), + ActivityDefCategory.DISCHARGE.getCode(), ActivityDefCategory.NURSING.getCode()); inpatientAdvicePage.getRecords().forEach(e -> { // 是否皮试 e.setSkinTestFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getSkinTestFlag())); @@ -283,7 +268,6 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { } }); return R.ok(inpatientAdvicePage); ->>>>>>> v1.3 } /** @@ -319,19 +303,19 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { // 更新住院参与者 // 住院医生 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getAdmittingDoctorId(), ParticipantType.ADMITTING_DOCTOR.getCode()); + admissionPatientInfoDto.getAdmittingDoctorId(), ParticipantType.ADMITTING_DOCTOR.getCode()); // 责任护士 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getPrimaryNurseId(), ParticipantType.PRIMARY_NURSE.getCode()); + admissionPatientInfoDto.getPrimaryNurseId(), ParticipantType.PRIMARY_NURSE.getCode()); if (admissionPatientInfoDto.getAttendingDoctorId() != null) { // 主治医生 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getAttendingDoctorId(), ParticipantType.ATTENDING_DOCTOR.getCode()); + admissionPatientInfoDto.getAttendingDoctorId(), ParticipantType.ATTENDING_DOCTOR.getCode()); } if (admissionPatientInfoDto.getChiefDoctorId() != null) { // 主任医生 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getChiefDoctorId(), ParticipantType.CHIEF_DOCTOR.getCode()); + admissionPatientInfoDto.getChiefDoctorId(), ParticipantType.CHIEF_DOCTOR.getCode()); } } // 更新入院体征 @@ -343,13 +327,13 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { if (oldBedId != null) { // 判断目标床位是否已经被占用 if (targetEncounterId != null) { - List locationList = - encounterLocationService.getEncounterLocationInfo(targetEncounterId, null); + List locationList + = encounterLocationService.getEncounterLocationInfo(targetEncounterId, null); // 查询目标患者的入科时间 Date targetStartTime = null; - Optional encounterLocationOptional = - locationList.stream().filter(x -> x.getFormEnum().equals(LocationForm.BED.getValue())) - .filter(x -> x.getStatusEnum().equals(EncounterActivityStatus.ACTIVE.getValue())).findFirst(); + Optional encounterLocationOptional + = locationList.stream().filter(x -> x.getFormEnum().equals(LocationForm.BED.getValue())) + .filter(x -> x.getStatusEnum().equals(EncounterActivityStatus.ACTIVE.getValue())).findFirst(); if (encounterLocationOptional.isPresent()) { EncounterLocation encounterLocation = encounterLocationOptional.get(); targetStartTime = encounterLocation.getStartTime(); @@ -363,18 +347,18 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { // 保存住院位置(目标床位) // 病房 encounterLocationService.creatEncounterLocation(encounterId, startTime, - admissionPatientInfoDto.getTargetHouseId(), LocationForm.HOUSE.getValue()); + admissionPatientInfoDto.getTargetHouseId(), LocationForm.HOUSE.getValue()); // 病床 encounterLocationService.creatEncounterLocation(encounterId, startTime, targetBedId, - LocationForm.BED.getValue()); + LocationForm.BED.getValue()); // 保存住院位置(原床位) // 病房 encounterLocationService.creatEncounterLocation(targetEncounterId, targetStartTime, - admissionPatientInfoDto.getHouseId(), LocationForm.HOUSE.getValue()); + admissionPatientInfoDto.getHouseId(), LocationForm.HOUSE.getValue()); // 病床 encounterLocationService.creatEncounterLocation(targetEncounterId, targetStartTime, oldBedId, - LocationForm.BED.getValue()); + LocationForm.BED.getValue()); } else { // 更新旧病床状态:空闲 @@ -388,10 +372,10 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { // 保存住院位置 // 病房 encounterLocationService.creatEncounterLocation(encounterId, startTime, - admissionPatientInfoDto.getTargetHouseId(), LocationForm.HOUSE.getValue()); + admissionPatientInfoDto.getTargetHouseId(), LocationForm.HOUSE.getValue()); // 病床 encounterLocationService.creatEncounterLocation(encounterId, startTime, targetBedId, - LocationForm.BED.getValue()); + LocationForm.BED.getValue()); // 更新病床状态:占用 locationService.updateStatusById(targetBedId, LocationStatus.OCCUPY.getValue()); } @@ -399,29 +383,29 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { // 保存住院位置 // 病房 encounterLocationService.creatEncounterLocation(encounterId, startTime, - admissionPatientInfoDto.getTargetHouseId(), LocationForm.HOUSE.getValue()); + admissionPatientInfoDto.getTargetHouseId(), LocationForm.HOUSE.getValue()); // 病床 encounterLocationService.creatEncounterLocation(encounterId, startTime, targetBedId, - LocationForm.BED.getValue()); + LocationForm.BED.getValue()); // 更新病床状态:占用 locationService.updateStatusById(targetBedId, LocationStatus.OCCUPY.getValue()); // 保存住院参与者 // 住院医生 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getAdmittingDoctorId(), ParticipantType.ADMITTING_DOCTOR.getCode()); + admissionPatientInfoDto.getAdmittingDoctorId(), ParticipantType.ADMITTING_DOCTOR.getCode()); // 责任护士 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getPrimaryNurseId(), ParticipantType.PRIMARY_NURSE.getCode()); + admissionPatientInfoDto.getPrimaryNurseId(), ParticipantType.PRIMARY_NURSE.getCode()); if (admissionPatientInfoDto.getAttendingDoctorId() != null) { // 主治医生 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getAttendingDoctorId(), ParticipantType.ATTENDING_DOCTOR.getCode()); + admissionPatientInfoDto.getAttendingDoctorId(), ParticipantType.ATTENDING_DOCTOR.getCode()); } if (admissionPatientInfoDto.getChiefDoctorId() != null) { // 主任医生 encounterParticipantService.creatEncounterParticipants(encounterId, startTime, - admissionPatientInfoDto.getChiefDoctorId(), ParticipantType.CHIEF_DOCTOR.getCode()); + admissionPatientInfoDto.getChiefDoctorId(), ParticipantType.CHIEF_DOCTOR.getCode()); } } if (admissionPatientInfoDto.getPriorityEnum() != null) { @@ -429,8 +413,8 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { encounterService.updatePriorityEnumById(encounterId, admissionPatientInfoDto.getPriorityEnum()); } // 更新住院状态:已住院 - Integer result = - encounterService.updateEncounterStatus(encounterId, EncounterZyStatus.ADMITTED_TO_THE_HOSPITAL.getValue()); + Integer result + = encounterService.updateEncounterStatus(encounterId, EncounterZyStatus.ADMITTED_TO_THE_HOSPITAL.getValue()); if (result == 0) { return R.fail("床位分配失败,请联系管理员"); } @@ -442,42 +426,35 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { /** * 转科 * -<<<<<<< HEAD - * @param encounterId 住院id -======= * @param encounterId 住院患者id ->>>>>>> v1.3 * @return 结果 */ @Override public R transferDepartment(Long encounterId) { -<<<<<<< HEAD - return null; -======= if (encounterId == null) { return R.fail("转科失败,请选择有效的患者"); } // 获取是否还有待执行医嘱 List medicationRequestList = medicationRequestService - .list(new LambdaQueryWrapper().eq(MedicationRequest::getEncounterId, encounterId) - .ne(MedicationRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) - .eq(MedicationRequest::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().eq(MedicationRequest::getEncounterId, encounterId) + .ne(MedicationRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) + .eq(MedicationRequest::getDeleteFlag, DelFlag.NO.getCode())); List serviceRequestList = serviceRequestService - .list(new LambdaQueryWrapper().eq(ServiceRequest::getEncounterId, encounterId) - .ne(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) - .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.TRANSFER.getValue()) - .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.DISCHARGE.getValue()) - .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.NURSING.getValue()) - .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().eq(ServiceRequest::getEncounterId, encounterId) + .ne(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) + .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.TRANSFER.getValue()) + .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.DISCHARGE.getValue()) + .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.NURSING.getValue()) + .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); if (!medicationRequestList.isEmpty() || !serviceRequestList.isEmpty()) { return R.fail("有待执行的医嘱,请执行完后再转科"); } // 查询患者待取的药品 List medicationDispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().eq(MedicationDispense::getEncounterId, encounterId) - .in(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue(), - DispenseStatus.PENDING_REFUND.getValue(), DispenseStatus.SUMMARIZED.getValue()) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().eq(MedicationDispense::getEncounterId, encounterId) + .in(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue(), + DispenseStatus.PENDING_REFUND.getValue(), DispenseStatus.SUMMARIZED.getValue()) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); if (!medicationDispenseList.isEmpty()) { return R.fail("患者有待取的药品,请先取药"); } @@ -485,9 +462,9 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { Encounter encounter = encounterService.getById(encounterId); // 查询转科信息 List orderProcessList = orderProcessService - .list(new LambdaQueryWrapper().eq(OrderProcess::getEncounterId, encounterId) - .eq(OrderProcess::getOriginalOrganizationId, encounter.getOrganizationId()) - .orderByDesc(OrderProcess::getCreateTime)); + .list(new LambdaQueryWrapper().eq(OrderProcess::getEncounterId, encounterId) + .eq(OrderProcess::getOriginalOrganizationId, encounter.getOrganizationId()) + .orderByDesc(OrderProcess::getCreateTime)); if (orderProcessList.isEmpty()) { return R.fail("转科失败,请检查转科信息"); } @@ -495,7 +472,7 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { // 更新原病床状态:空闲 List encounterLocationList = encounterLocationService.getEncounterLocationList(encounterId, - LocationForm.BED, EncounterActivityStatus.ACTIVE); + LocationForm.BED, EncounterActivityStatus.ACTIVE); if (encounterLocationList == null || encounterLocationList.size() != 1) { return R.fail("清床失败,请检查病床状态"); } @@ -506,59 +483,51 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { encounterParticipantService.updateEncounterParticipantsStatus(encounterId); // 新增患者待转病区 encounterLocationService.creatEncounterLocation(encounterId, DateUtils.getNowDate(), - orderProcess.getTargetLocationId(), LocationForm.WARD.getValue()); + orderProcess.getTargetLocationId(), LocationForm.WARD.getValue()); // 更新住院信息 encounter.setOrganizationId(orderProcess.getTargetOrganizationId()) - .setStatusEnum(EncounterZyStatus.REGISTERED.getValue()); + .setStatusEnum(EncounterZyStatus.REGISTERED.getValue()); return R.ok("转科成功"); ->>>>>>> v1.3 } /** * 出院 * -<<<<<<< HEAD - * @param encounterId 住院id -======= * @param encounterId 住院患者id ->>>>>>> v1.3 * @return 结果 */ @Override public R hospitalDischarge(Long encounterId) { -<<<<<<< HEAD - return null; -======= if (encounterId == null) { return R.fail("出院失败,请选择有效的患者"); } // 获取是否还有待执行医嘱 List medicationRequestList = medicationRequestService - .list(new LambdaQueryWrapper().eq(MedicationRequest::getEncounterId, encounterId) - .ne(MedicationRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) - .eq(MedicationRequest::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().eq(MedicationRequest::getEncounterId, encounterId) + .ne(MedicationRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) + .eq(MedicationRequest::getDeleteFlag, DelFlag.NO.getCode())); List serviceRequestList = serviceRequestService - .list(new LambdaQueryWrapper().eq(ServiceRequest::getEncounterId, encounterId) - .ne(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) - .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.TRANSFER.getValue()) - .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.DISCHARGE.getValue()) - .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.NURSING.getValue()) - .eq(ServiceRequest::getParentId, null) - .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().eq(ServiceRequest::getEncounterId, encounterId) + .ne(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue()) + .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.TRANSFER.getValue()) + .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.DISCHARGE.getValue()) + .ne(ServiceRequest::getCategoryEnum, ActivityDefCategory.NURSING.getValue()) + .eq(ServiceRequest::getParentId, null) + .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); if (!medicationRequestList.isEmpty() || !serviceRequestList.isEmpty()) { return R.fail("有待执行的医嘱,请执行完后再出院"); } // 查询患者待取的药品 List medicationDispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().eq(MedicationDispense::getEncounterId, encounterId) - .in(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue(), - DispenseStatus.PENDING_REFUND.getValue(), DispenseStatus.SUMMARIZED.getValue()) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + .list(new LambdaQueryWrapper().eq(MedicationDispense::getEncounterId, encounterId) + .in(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue(), + DispenseStatus.PENDING_REFUND.getValue(), DispenseStatus.SUMMARIZED.getValue()) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); if (!medicationDispenseList.isEmpty()) { return R.fail("患者有待取的药品,请先取药"); } - int affectedRows = - encounterService.updateEncounterStatus(encounterId, EncounterZyStatus.DISCHARGED_FROM_HOSPITAL.getValue()); + int affectedRows + = encounterService.updateEncounterStatus(encounterId, EncounterZyStatus.DISCHARGED_FROM_HOSPITAL.getValue()); if (affectedRows > 0) { return R.ok("出院成功"); } @@ -576,7 +545,7 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { Encounter encounter = encounterService.getById(encounterId); if (EncounterZyStatus.ALREADY_SETTLED.getValue().equals(encounter.getStatusEnum()) - || EncounterZyStatus.REGISTERED.getValue().equals(encounter.getStatusEnum())) { + || EncounterZyStatus.REGISTERED.getValue().equals(encounter.getStatusEnum())) { return R.fail("请等待出院结算完成后再清床"); } // 更新患者位置状态:已完成 @@ -585,7 +554,7 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { encounterParticipantService.updateEncounterParticipantsStatus(encounterId); // 更新原病床状态:空闲 List encounterLocationList = encounterLocationService.getEncounterLocationList(encounterId, - LocationForm.BED, EncounterActivityStatus.ACTIVE); + LocationForm.BED, EncounterActivityStatus.ACTIVE); if (encounterLocationList == null || encounterLocationList.size() != 1) { return R.fail("清床失败,请检查病床状态"); } @@ -595,28 +564,30 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { /** * 诊断个人账户金额信息获取 - * + * * @param encounterId 诊断id * @return EncounterAccountDto 诊断账户金额 - **/ + * + */ @Override public R getAmount(Long encounterId) { return R.ok(atdManageAppMapper.getAmount(AccountType.PERSONAL_CASH_ACCOUNT.getCode(), - ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), - ChargeItemStatus.REFUNDED.getValue(), encounterId)); + ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), + ChargeItemStatus.REFUNDED.getValue(), encounterId)); } /** * 获取待配/退药 - * + * * @param encounterId 诊断id * @return PendingMedicationDto 待配/退药 - **/ + * + */ @Override public R getPendingMedication(Long encounterId) { Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); return R.ok(atdManageAppMapper.getPendingMedication(encounterId, DispenseStatus.PREPARATION.getValue(), - DispenseStatus.SUMMARIZED.getValue(), RequestStatus.CANCELLED.getValue(), tenantId)); + DispenseStatus.SUMMARIZED.getValue(), RequestStatus.CANCELLED.getValue(), tenantId)); } /** @@ -679,7 +650,7 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { String endBloodPressure = dto.getEndBloodPressure() == null ? " " : dto.getEndBloodPressure(); String highBloodPressure = dto.getHighBloodPressure() == null ? " " : dto.getHighBloodPressure(); String bloodPressure = " ".equals(endBloodPressure) && " ".equals(highBloodPressure) ? null - : endBloodPressure + "/" + highBloodPressure; + : endBloodPressure + "/" + highBloodPressure; map.put(TemperatureChartEnum.BLOOD_PRESSURE.getTypeCode(), bloodPressure); // 获取文书定义列表 List definitionList = docStatisticsDefinitionAppService.getList(1); @@ -691,9 +662,9 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { // 获取患者ID Encounter encounter = encounterService.getById(encounterId); // 创建体温单统计列表 - List data = - ((List)docStatisticsAppService.queryByEncounterId(encounterId).getData()).stream() - .filter(item -> DocDefinitionEnum.ADMISSION_VITAL_SIGNS.getValue().equals(item.getSource())).toList(); + List data + = ((List) docStatisticsAppService.queryByEncounterId(encounterId).getData()).stream() + .filter(item -> DocDefinitionEnum.ADMISSION_VITAL_SIGNS.getValue().equals(item.getSource())).toList(); List list = new ArrayList<>(data); map.keySet().forEach(key -> { if (map.get(key) != null && !map.get(key).isEmpty()) { @@ -713,6 +684,5 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { if (!list.isEmpty()) { docStatisticsAppService.saveOrUpdateAdmissionSigns(list); } ->>>>>>> v1.3 } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java index 61c1314c..0f1f6401 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java @@ -21,10 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; -<<<<<<< HEAD -======= import com.core.common.enums.TenantOptionDict; ->>>>>>> v1.3 import com.core.common.exception.ServiceException; import com.core.common.utils.*; import com.core.common.utils.bean.BeanUtils; @@ -135,18 +132,18 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { */ @Override public R getInpatientPage(AdmissionPageParam admissionPageParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request) { + String searchKey, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(admissionPageParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, - CommonConstants.FieldName.PatientName, CommonConstants.FieldName.BusNo)), - request); + new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, + CommonConstants.FieldName.PatientName, CommonConstants.FieldName.BusNo)), + request); // 入院患者分页列表 Page admissionPatientPage = adviceProcessAppMapper.selectInpatientPage( - new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.IMP.getValue(), - EncounterZyStatus.TO_BE_REGISTERED.getValue(), EncounterZyStatus.REGISTERED.getValue(), - EncounterActivityStatus.ACTIVE.getValue(), LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), - LocationForm.BED.getValue(), AccountType.PERSONAL_CASH_ACCOUNT.getCode()); + new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.IMP.getValue(), + EncounterZyStatus.TO_BE_REGISTERED.getValue(), EncounterZyStatus.REGISTERED.getValue(), + EncounterActivityStatus.ACTIVE.getValue(), LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), + LocationForm.BED.getValue(), AccountType.PERSONAL_CASH_ACCOUNT.getCode()); admissionPatientPage.getRecords().forEach(e -> { // 性别枚举 e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); @@ -178,24 +175,24 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { Integer exeStatus = inpatientAdviceParam.getExeStatus(); inpatientAdviceParam.setExeStatus(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(inpatientAdviceParam, null, null, null); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(inpatientAdviceParam, null, null, null); // 手动拼接住院患者id条件 if (encounterIds != null && !encounterIds.isEmpty()) { - List encounterIdList = - Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList(); + List encounterIdList + = Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList(); queryWrapper.in(CommonConstants.FieldName.EncounterId, encounterIdList); } // 患者医嘱分页列表 - Page inpatientAdvicePage = - adviceProcessAppMapper.selectInpatientAdvicePage(new Page<>(pageNo, pageSize), queryWrapper, - CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, - RequestStatus.DRAFT.getValue(), EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), - ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), - ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), - ChargeItemStatus.REFUNDED.getValue(), EncounterClass.IMP.getValue(), - GenerateSource.DOCTOR_PRESCRIPTION.getValue()); + Page inpatientAdvicePage + = adviceProcessAppMapper.selectInpatientAdvicePage(new Page<>(pageNo, pageSize), queryWrapper, + CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, + RequestStatus.DRAFT.getValue(), EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), + ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), + ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), + ChargeItemStatus.REFUNDED.getValue(), EncounterClass.IMP.getValue(), + GenerateSource.DOCTOR_PRESCRIPTION.getValue()); inpatientAdvicePage.getRecords().forEach(e -> { // 是否皮试 e.setSkinTestFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getSkinTestFlag())); @@ -224,7 +221,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (performRecordList != null && !performRecordList.isEmpty()) { // 根据服务请求id分组 procedureRecordGroup = performRecordList.stream() - .collect(Collectors.groupingBy(PerformRecordDto::getRequestId, Collectors.toList())); + .collect(Collectors.groupingBy(PerformRecordDto::getRequestId, Collectors.toList())); } } @@ -239,7 +236,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (performRecordList != null && !performRecordList.isEmpty()) { // 按时间分组,处理每个时间点的多条记录 Map> recordsByTime = performRecordList.stream() - .collect(Collectors.groupingBy(record -> record.getOccurrenceTime().toString())); + .collect(Collectors.groupingBy(record -> record.getOccurrenceTime().toString())); for (Map.Entry> entry : recordsByTime.entrySet()) { List records = entry.getValue(); // 按操作顺序排序 @@ -256,8 +253,8 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { } } inpatientAdvice.setExePerformRecordList(exePerformRecordList) - .setCancelPerformRecordList(cancelPerformRecordList) - .setStopPerformRecordList(stopPerformRecordList); + .setCancelPerformRecordList(cancelPerformRecordList) + .setStopPerformRecordList(stopPerformRecordList); } // 根据执行状态过滤医嘱列表 @@ -265,23 +262,23 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (EventStatus.COMPLETED.getValue().equals(exeStatus)) { // 已执行 - 过滤出有执行记录的医嘱 filteredList = inpatientAdviceList.stream().filter( - advice -> advice.getExePerformRecordList() != null && !advice.getExePerformRecordList().isEmpty()) - .collect(Collectors.toList()); + advice -> advice.getExePerformRecordList() != null && !advice.getExePerformRecordList().isEmpty()) + .collect(Collectors.toList()); // 更新分页数据 inpatientAdvicePage.setRecords(filteredList); inpatientAdvicePage.setTotal(filteredList.size()); } else if (EventStatus.CANCEL.getValue().equals(exeStatus)) { // 取消执行 - 过滤出有取消记录的医嘱 filteredList = inpatientAdviceList.stream().filter(advice -> advice.getCancelPerformRecordList() != null - && !advice.getCancelPerformRecordList().isEmpty()).collect(Collectors.toList()); + && !advice.getCancelPerformRecordList().isEmpty()).collect(Collectors.toList()); // 更新分页数据 inpatientAdvicePage.setRecords(filteredList); inpatientAdvicePage.setTotal(filteredList.size()); } else if (EventStatus.STOPPED.getValue().equals(exeStatus)) { // 不执行 - 过滤出有停止记录的医嘱 filteredList = inpatientAdviceList.stream().filter( - advice -> advice.getStopPerformRecordList() != null && !advice.getStopPerformRecordList().isEmpty()) - .collect(Collectors.toList()); + advice -> advice.getStopPerformRecordList() != null && !advice.getStopPerformRecordList().isEmpty()) + .collect(Collectors.toList()); // 更新分页数据 inpatientAdvicePage.setRecords(filteredList); inpatientAdvicePage.setTotal(filteredList.size()); @@ -313,26 +310,26 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (!serviceRequestList.isEmpty()) { // 更新服务请求状态已完成 serviceRequestService.updateCompleteRequestStatus( - serviceRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); + serviceRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); List serviceRequests = serviceRequestService - .listByIds(serviceRequestList.stream().map(PerformInfoDto::getRequestId).collect(Collectors.toList())); + .listByIds(serviceRequestList.stream().map(PerformInfoDto::getRequestId).collect(Collectors.toList())); for (ServiceRequest serviceRequest : serviceRequests) { // 判断医嘱类型 if (ActivityDefCategory.TRANSFER.getValue().equals(serviceRequest.getCategoryEnum())) { // 更新患者状态 待转科 encounterService.updateEncounterStatus(serviceRequest.getEncounterId(), - EncounterZyStatus.PENDING_TRANSFER.getValue()); + EncounterZyStatus.PENDING_TRANSFER.getValue()); } else if (ActivityDefCategory.DISCHARGE.getValue().equals(serviceRequest.getCategoryEnum())) { // 更新患者状态 待出院 encounterService.updateEncounterStatus(serviceRequest.getEncounterId(), - EncounterZyStatus.AWAITING_DISCHARGE.getValue()); + EncounterZyStatus.AWAITING_DISCHARGE.getValue()); } } } if (!medRequestList.isEmpty()) { // 更新药品请求状态已完成 medicationRequestService.updateCompletedStatusBatch( - medRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); + medRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); } return R.ok(null, "校对成功"); } @@ -360,12 +357,12 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (!serviceRequestList.isEmpty()) { // 更新服务请求状态待发送 serviceRequestService.updateDraftStatus( - serviceRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); + serviceRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); } if (!medRequestList.isEmpty()) { // 更新药品请求状态待发送 medicationRequestService.updateDraftStatusBatch( - medRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); + medRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); } return R.ok(null, "退回成功"); } @@ -384,10 +381,10 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { List adviceExecuteDetailList = adviceExecuteParam.getAdviceExecuteDetailList(); // 药品 List medicineList = adviceExecuteDetailList.stream() - .filter(e -> CommonConstants.TableName.MED_MEDICATION_REQUEST.equals(e.getAdviceTable())).toList(); + .filter(e -> CommonConstants.TableName.MED_MEDICATION_REQUEST.equals(e.getAdviceTable())).toList(); // 诊疗 List activityList = adviceExecuteDetailList.stream() - .filter(e -> CommonConstants.TableName.WOR_SERVICE_REQUEST.equals(e.getAdviceTable())).toList(); + .filter(e -> CommonConstants.TableName.WOR_SERVICE_REQUEST.equals(e.getAdviceTable())).toList(); // -------------------------------------------药品 if (!medicineList.isEmpty()) { // 组装药品请求用于执行的数据结构 @@ -410,7 +407,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { this.exeActivity(actUseExeList, exeDate); } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"医嘱执行"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"医嘱执行"})); } /** @@ -426,12 +423,12 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 长期医嘱执行id List longProcIdList = adviceExecuteParam.getAdviceExecuteDetailList().stream() - .filter(x -> x.getTherapyEnum().equals(TherapyTimeType.LONG_TERM.getValue())) - .map(AdviceExecuteDetailParam::getProcedureId).distinct().toList(); + .filter(x -> x.getTherapyEnum().equals(TherapyTimeType.LONG_TERM.getValue())) + .map(AdviceExecuteDetailParam::getProcedureId).distinct().toList(); // 药品临时医嘱执行id List tempProcIdList = adviceExecuteParam.getAdviceExecuteDetailList().stream() - .filter(x -> x.getTherapyEnum().equals(TherapyTimeType.TEMPORARY.getValue())) - .map(AdviceExecuteDetailParam::getProcedureId).distinct().toList(); + .filter(x -> x.getTherapyEnum().equals(TherapyTimeType.TEMPORARY.getValue())) + .map(AdviceExecuteDetailParam::getProcedureId).distinct().toList(); // 合并长期和临时的执行记录 List procedureIdList = new ArrayList<>(longProcIdList); @@ -443,14 +440,9 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { for (Procedure procedure : procedureList) { // 根据执行记录新增取消执行记录 Long newProcedureId = procedureService.addProcedureRecord(procedure.getEncounterId(), - procedure.getPatientId(), procedure.getRequestId(), procedure.getRequestTable(), EventStatus.CANCEL, -<<<<<<< HEAD - ProcedureCategory.INPATIENT_ADVICE, null, procedure.getOccurrenceTime(), procedure.getGroupId(), - procedure.getId()); -======= - ProcedureCategory.INPATIENT_ADVICE, null, procedure.getOccurrenceTime(), exeDate, - procedure.getGroupId(), procedure.getId()); ->>>>>>> v1.3 + procedure.getPatientId(), procedure.getRequestId(), procedure.getRequestTable(), EventStatus.CANCEL, + ProcedureCategory.INPATIENT_ADVICE, null, procedure.getOccurrenceTime(), exeDate, + procedure.getGroupId(), procedure.getId()); // 将旧的执行Id和新的执行Id存入map procedureIdMap.put(procedure.getId(), newProcedureId); } @@ -463,18 +455,14 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 处理长期医嘱 if (!longProcIdList.isEmpty()) { // 长期药品 - List longMedDispenseList = - medicationDispenseService.getMedDispenseByProcedureId(longProcIdList); + List longMedDispenseList + = medicationDispenseService.getMedDispenseByProcedureId(longProcIdList); // 分离已发药发药单和未发药发药单 for (MedicationDispense medicationDispense : longMedDispenseList) { if (DispenseStatus.COMPLETED.getValue().equals(medicationDispense.getStatusEnum())) { longMedDispensedList.add(medicationDispense); -<<<<<<< HEAD - } else if (DispenseStatus.PREPARATION.getValue().equals(medicationDispense.getStatusEnum())) { -======= } else if (DispenseStatus.PREPARATION.getValue().equals(medicationDispense.getStatusEnum()) - || DispenseStatus.SUMMARIZED.getValue().equals(medicationDispense.getStatusEnum())) { ->>>>>>> v1.3 + || DispenseStatus.SUMMARIZED.getValue().equals(medicationDispense.getStatusEnum())) { longMedUndispenseList.add(medicationDispense); } } @@ -495,18 +483,14 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 处理临时医嘱 if (!tempProcIdList.isEmpty()) { // 临时药品 - List tempMedDispenseList = - medicationDispenseService.getMedDispenseByProcedureId(tempProcIdList); + List tempMedDispenseList + = medicationDispenseService.getMedDispenseByProcedureId(tempProcIdList); // 分离已发药发药单和未发药发药单 for (MedicationDispense medicationDispense : tempMedDispenseList) { if (DispenseStatus.COMPLETED.getValue().equals(medicationDispense.getStatusEnum())) { tempMedDispensedList.add(medicationDispense); -<<<<<<< HEAD - } else if (DispenseStatus.PREPARATION.getValue().equals(medicationDispense.getStatusEnum())) { -======= } else if (DispenseStatus.PREPARATION.getValue().equals(medicationDispense.getStatusEnum()) - || DispenseStatus.SUMMARIZED.getValue().equals(medicationDispense.getStatusEnum())) { ->>>>>>> v1.3 + || DispenseStatus.SUMMARIZED.getValue().equals(medicationDispense.getStatusEnum())) { tempMedUndispenseList.add(medicationDispense); } } @@ -515,7 +499,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (chargeItemList != null && !chargeItemList.isEmpty()) { // 临时医嘱取消执行时,将临时医嘱的收费项目状态改为待收费 chargeItemService - .updatePlannedChargeStatus(chargeItemList.stream().map(ChargeItem::getProcedureId).toList()); + .updatePlannedChargeStatus(chargeItemList.stream().map(ChargeItem::getProcedureId).toList()); } } // 处理长期已发放的药品 @@ -529,7 +513,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { this.creatRefundMedicationList(tempMedDispensedList, procedureIdMap); // 药品退药请求状态变更(待退药) medicationRequestService.updateCancelledStatusBatch( - tempMedDispensedList.stream().map(MedicationDispense::getMedReqId).toList(), null, null); + tempMedDispensedList.stream().map(MedicationDispense::getMedReqId).toList(), null, null); } // 未发放药品需先判断是否申请汇总 List medUndispenseList = new ArrayList<>(tempMedUndispenseList); @@ -537,21 +521,21 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 重新生成汇总发药单 if (!medUndispenseList.isEmpty()) { // 查询所有汇总单号 - List summaryNoList = - medUndispenseList.stream().filter(x -> x.getSummaryNo() != null && !x.getSummaryNo().isEmpty()) - .map(MedicationDispense::getSummaryNo).distinct().toList(); + List summaryNoList + = medUndispenseList.stream().filter(x -> x.getSummaryNo() != null && !x.getSummaryNo().isEmpty()) + .map(MedicationDispense::getSummaryNo).distinct().toList(); if (!summaryNoList.isEmpty()) { // 查询所有被汇总的药品发放 - List medSummaryList = - medicationDispenseService.getMedDispenseBySummaryNo(summaryNoList); + List medSummaryList + = medicationDispenseService.getMedDispenseBySummaryNo(summaryNoList); // 被汇总的发药单 - Map> medSummaryMap = - medSummaryList.stream().filter(x -> x.getSummaryNo() != null) - .collect(Collectors.groupingBy(MedicationDispense::getSummaryNo)); + Map> medSummaryMap + = medSummaryList.stream().filter(x -> x.getSummaryNo() != null) + .collect(Collectors.groupingBy(MedicationDispense::getSummaryNo)); // 被取消汇总的发药单 - Map> medSummaryCancelMap = - medUndispenseList.stream().filter(x -> x.getSummaryNo() != null) - .collect(Collectors.groupingBy(MedicationDispense::getSummaryNo)); + Map> medSummaryCancelMap + = medUndispenseList.stream().filter(x -> x.getSummaryNo() != null) + .collect(Collectors.groupingBy(MedicationDispense::getSummaryNo)); // 过滤掉被取消汇总的发药单,重新做成汇总单 Map> reSummaryMap = new HashMap<>(); // 遍历所有被汇总的发药单 @@ -563,11 +547,11 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 如果存在取消记录,需要过滤掉被取消的发药单 List cancelDispenses = medSummaryCancelMap.get(summaryNo); // 创建被取消的发药单ID集合,便于快速查找 - Set cancelIds = - cancelDispenses.stream().map(MedicationDispense::getId).collect(Collectors.toSet()); + Set cancelIds + = cancelDispenses.stream().map(MedicationDispense::getId).collect(Collectors.toSet()); // 过滤出未被取消的发药单 List remainingDispenses = allDispenses.stream() - .filter(dispense -> !cancelIds.contains(dispense.getId())).collect(Collectors.toList()); + .filter(dispense -> !cancelIds.contains(dispense.getId())).collect(Collectors.toList()); // 只有当还有剩余的发药单时才加入结果 if (!remainingDispenses.isEmpty()) { reSummaryMap.put(summaryNo, remainingDispenses); @@ -579,15 +563,14 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { List medicationDispenses = entry.getValue(); // 查询药品信息 List medicationDefinitions = medicationDefinitionService - .listByIds(medicationDispenses.stream().map(MedicationDispense::getMedicationId).toList()); + .listByIds(medicationDispenses.stream().map(MedicationDispense::getMedicationId).toList()); // 汇总单据号 String busNo = assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICINE_SUMMARY_NO.getPrefix(), 4); // 根据相同批号的同一药品进行汇总 - Map> medicationSummaryInfoMap = - medicationDispenses.stream().collect(Collectors - .groupingBy(x -> x.getMedicationId() + CommonConstants.Common.DASH + x.getLotNumber())); - for (Map.Entry> medicationSummaryInfoList : medicationSummaryInfoMap.entrySet()) { + Map> medicationSummaryInfoMap + = medicationDispenses.stream().collect(Collectors + .groupingBy(x -> x.getMedicationId() + CommonConstants.Common.DASH + x.getLotNumber())); + for (Map.Entry> medicationSummaryInfoList : medicationSummaryInfoMap.entrySet()) { List medicationSummaryList = medicationSummaryInfoList.getValue(); MedicationDispense medicationDispense = medicationSummaryList.get(0); Long medicationId = medicationDispense.getMedicationId(); @@ -601,8 +584,8 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 单位 String unitCode = null; // 根据药品id获取对应的药品信息 - Optional medicationDefinition = - medicationDefinitions.stream().filter(x -> x.getId().equals(medicationId)).findFirst(); + Optional medicationDefinition + = medicationDefinitions.stream().filter(x -> x.getId().equals(medicationId)).findFirst(); if (medicationDefinition.isPresent()) { partPercent = medicationDefinition.get().getPartPercent(); minUnitCode = medicationDefinition.get().getMinUnitCode(); @@ -622,9 +605,9 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { minQuantity = minQuantity.add(quantity); } Long supplyRequestId = supplyRequestService.createSummarySupplyRequest(medicationId, - locationId, lotNumber, patientId, minQuantity, minUnitCode, null, null, busNo); + locationId, lotNumber, patientId, minQuantity, minUnitCode, null, null, busNo); supplyDeliveryService.createSummarySupplyDelivery(medicationId, lotNumber, patientId, - minQuantity, minUnitCode, null, supplyRequestId); + minQuantity, minUnitCode, null, supplyRequestId); } } // 删除原汇总单 @@ -641,20 +624,20 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 处理临时未发放的药品 if (!tempMedUndispenseList.isEmpty()) { // 排除已汇总的药品 - List medicationDispenseList = - tempMedUndispenseList.stream().filter(x -> x.getSummaryNo() == null).toList(); + List medicationDispenseList + = tempMedUndispenseList.stream().filter(x -> x.getSummaryNo() == null).toList(); // 更新状态为草稿 medicationDispenseService.updateDispenseStatus( - medicationDispenseList.stream().map(MedicationDispense::getId).toList(), - DispenseStatus.DRAFT.getValue()); + medicationDispenseList.stream().map(MedicationDispense::getId).toList(), + DispenseStatus.DRAFT.getValue()); } // 处理长期未发的药品 if (!longMedUndispenseList.isEmpty()) { // 排除已汇总的药品 - List medicationDispenseList = - tempMedUndispenseList.stream().filter(x -> x.getSummaryNo() == null).toList(); + List medicationDispenseList + = tempMedUndispenseList.stream().filter(x -> x.getSummaryNo() == null).toList(); medicationDispenseService - .removeByIds(medicationDispenseList.stream().map(MedicationDispense::getId).toList()); + .removeByIds(medicationDispenseList.stream().map(MedicationDispense::getId).toList()); } // 根据执行记录查询生成的耗材发放单 List deviceDispenseList = deviceDispenseService.getDevDispenseByProcedureId(procedureIdList); @@ -674,17 +657,16 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { */ @Override public R adviceVoid(AdviceExecuteParam adviceExecuteParam) { -<<<<<<< HEAD -======= // 获取当前不执行时间 Date notExeDate = DateUtils.getNowDate(); ->>>>>>> v1.3 List adviceExecuteDetailList = adviceExecuteParam.getAdviceExecuteDetailList(); // 判断是否有空的pID - for (AdviceExecuteDetailParam adviceExecuteDetailParam : adviceExecuteDetailList) - if (adviceExecuteDetailParam.getProcedureId() != null) + for (AdviceExecuteDetailParam adviceExecuteDetailParam : adviceExecuteDetailList) { + if (adviceExecuteDetailParam.getProcedureId() != null) { return R.fail("执行失败"); + } + } for (AdviceExecuteDetailParam adviceExecuteDetailParam : adviceExecuteDetailList) { for (String executeTime : adviceExecuteDetailParam.getExecuteTimes()) { @@ -696,13 +678,9 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { Date exeDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); // 根据执行记录新增不执行记录 procedureService.addProcedureRecord(adviceExecuteDetailParam.getEncounterId(), - adviceExecuteDetailParam.getPatientId(), adviceExecuteDetailParam.getRequestId(), - adviceExecuteDetailParam.getAdviceTable(), EventStatus.STOPPED, ProcedureCategory.INPATIENT_ADVICE, -<<<<<<< HEAD - null, exeDate, adviceExecuteDetailParam.getGroupId(), null); -======= - null, exeDate, notExeDate, adviceExecuteDetailParam.getGroupId(), null); ->>>>>>> v1.3 + adviceExecuteDetailParam.getPatientId(), adviceExecuteDetailParam.getRequestId(), + adviceExecuteDetailParam.getAdviceTable(), EventStatus.STOPPED, ProcedureCategory.INPATIENT_ADVICE, + null, exeDate, notExeDate, adviceExecuteDetailParam.getGroupId(), null); } } return R.ok("不执行成功"); @@ -717,20 +695,16 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { private void exeMedication(List medUseExeList, Date exeDate) { // 长期医嘱 List longMedication = medUseExeList.stream() - .filter(e -> TherapyTimeType.LONG_TERM.getValue().equals(e.getTherapyEnum())).toList(); + .filter(e -> TherapyTimeType.LONG_TERM.getValue().equals(e.getTherapyEnum())).toList(); // 临时医嘱 List tempMedication = medUseExeList.stream() - .filter(e -> TherapyTimeType.TEMPORARY.getValue().equals(e.getTherapyEnum())).toList(); + .filter(e -> TherapyTimeType.TEMPORARY.getValue().equals(e.getTherapyEnum())).toList(); // 药品定义id集合 - List medicationDefinitionIdList = - medUseExeList.stream().map(MedicationRequestUseExe::getMedicationId).collect(Collectors.toList()); + List medicationDefinitionIdList + = medUseExeList.stream().map(MedicationRequestUseExe::getMedicationId).collect(Collectors.toList()); // 医嘱详细信息 List medicationInfos = doctorStationAdviceAppService.getAdviceBaseInfo(null, null, null, -<<<<<<< HEAD - medicationDefinitionIdList, 0L, 1, 500, Whether.NO.getValue(), List.of(1)).getRecords(); -======= - medicationDefinitionIdList, 0L, 1, 500, Whether.NO.getValue(), List.of(1), null).getRecords(); ->>>>>>> v1.3 + medicationDefinitionIdList, 0L, 1, 500, Whether.NO.getValue(), List.of(1), null).getRecords(); // 当前时间 Date curDate = new Date(); @@ -747,58 +721,15 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { longMedicationRequest = new MedicationRequest(); BeanUtils.copyProperties(medicationRequestUseExe, longMedicationRequest); -<<<<<<< HEAD - // 生成执行记录 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // 转换为 LocalDateTime - LocalDateTime localDateTime = LocalDateTime.parse(executeTime, formatter); - // 转换为 Date - Date exeDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); - // 执行记录id - Long procedureId = procedureService.addProcedureRecord(longMedicationRequest.getEncounterId(), - longMedicationRequest.getPatientId(), longMedicationRequest.getId(), - CommonConstants.TableName.MED_MEDICATION_REQUEST, EventStatus.COMPLETED, - ProcedureCategory.INPATIENT_ADVICE, null, exeDate, longMedicationRequest.getGroupId(), null); - - // 生成药品发放 - Long dispenseId = - medicationDispenseService.generateMedicationDispense(longMedicationRequest, procedureId, exeDate); - - // 生成账单 - chargeItem = new ChargeItem(); - chargeItem.setStatusEnum(ChargeItemStatus.BILLABLE.getValue()); // 收费状态 - chargeItem.setBusNo(AssignSeqEnum.CHARGE_ITEM_NO.getPrefix().concat(longMedicationRequest.getBusNo())); - chargeItem.setGenerateSourceEnum(GenerateSource.ORDER_EXECUTE.getValue()); // 生成来源 - chargeItem.setPrescriptionNo(longMedicationRequest.getPrescriptionNo()); // 处方号 - chargeItem.setPatientId(longMedicationRequest.getPatientId()); // 患者 - chargeItem.setContextEnum(ChargeItemContext.MEDICATION.getValue()); // 类型 - chargeItem.setEncounterId(longMedicationRequest.getEncounterId()); // 就诊id - chargeItem.setEntererId(practitionerId);// 开立人ID - chargeItem.setRequestingOrgId(orgId); // 开立科室 - chargeItem.setEnteredDate(curDate); // 开立时间 - chargeItem.setServiceTable(CommonConstants.TableName.MED_MEDICATION_REQUEST);// 医疗服务类型 - chargeItem.setServiceId(longMedicationRequest.getId()); // 医疗服务ID - chargeItem.setProductTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION);// 产品所在表 - chargeItem.setProductId(longMedicationRequest.getMedicationId());// 收费项id - chargeItem.setAccountId(medicationRequestUseExe.getAccountId());// 关联账户ID - chargeItem.setConditionId(longMedicationRequest.getConditionId()); // 诊断id - chargeItem.setEncounterDiagnosisId(longMedicationRequest.getEncounterDiagnosisId()); // 就诊诊断id - chargeItem.setProcedureId(procedureId); // 执行id - chargeItem.setDispenseTable(CommonConstants.TableName.MED_MEDICATION_DISPENSE); // 发放表名 - // chargeItem.setDispenseId(dispenseId); // 发放ID - - // ------------------------------ 匹配定价信息 -======= ->>>>>>> v1.3 // 根据 medicationId 查找对应的医嘱信息 MedicationRequest finalLongMedicationRequest = longMedicationRequest; Optional matchedAdvice = medicationInfos.stream() - .filter( - advice -> finalLongMedicationRequest.getMedicationId().equals(advice.getAdviceDefinitionId())) - .findFirst(); + .filter( + advice -> finalLongMedicationRequest.getMedicationId().equals(advice.getAdviceDefinitionId())) + .findFirst(); if (matchedAdvice.isEmpty()) { throw new RuntimeException( - "未找到对应的医嘱信息,medicationId: " + finalLongMedicationRequest.getMedicationId()); + "未找到对应的医嘱信息,medicationId: " + finalLongMedicationRequest.getMedicationId()); } // 获取医嘱信息 AdviceBaseDto advice = matchedAdvice.get(); @@ -807,32 +738,6 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 小单位 String minUnitCode = advice.getMinUnitCode(); -<<<<<<< HEAD - // 在 priceList 中查找匹配的定价信息 - Optional matchedPrice = advice.getPriceList().stream() - .filter(price -> finalLongMedicationRequest.getLotNumber().equals(price.getConditionValue())) - .findFirst(); - if (matchedPrice.isEmpty()) { - throw new RuntimeException("未找到匹配的定价信息,lotNumber: " + finalLongMedicationRequest.getLotNumber()); - } - AdvicePriceDto priceDto = matchedPrice.get(); - // 计算价格 - BigDecimal price; - if (finalLongMedicationRequest.getUnitCode().equals(priceDto.getUnitCode())) { - // (大单位)unitCode 匹配,直接取 price - price = priceDto.getPrice(); - } else { - // (小单位)unitCode 不匹配,计算 price / partPercent - price = priceDto.getPrice().divide(partPercent, 6, RoundingMode.HALF_UP); - } - chargeItem.setDefinitionId(priceDto.getDefinitionId()); // 费用定价ID - chargeItem.setDefDetailId(priceDto.getDefinitionDetailId()); // 定价子表主键 - chargeItem.setQuantityValue(longMedicationRequest.getQuantity()); // 数量 - chargeItem.setQuantityUnit(longMedicationRequest.getUnitCode()); // 单位 - chargeItem.setUnitPrice(price); // 单价 - chargeItem.setTotalPrice( - longMedicationRequest.getQuantity().multiply(price).setScale(6, RoundingMode.HALF_UP)); // 总价 -======= // 生成执行记录 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 转换为 LocalDateTime @@ -841,10 +746,10 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { Date expectedDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); // 执行记录id Long procedureId = procedureService.addProcedureRecord(longMedicationRequest.getEncounterId(), - longMedicationRequest.getPatientId(), longMedicationRequest.getId(), - CommonConstants.TableName.MED_MEDICATION_REQUEST, EventStatus.COMPLETED, - ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, longMedicationRequest.getGroupId(), - null); + longMedicationRequest.getPatientId(), longMedicationRequest.getId(), + CommonConstants.TableName.MED_MEDICATION_REQUEST, EventStatus.COMPLETED, + ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, longMedicationRequest.getGroupId(), + null); // 医嘱定价来源 String orderPricingSource = TenantOptionUtil.getOptionContent(TenantOptionDict.ORDER_PRICING_SOURCE); @@ -853,13 +758,13 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (OrderPricingSource.RETAIL_PRICE.getCode().equals(orderPricingSource)) { // 生成药品发放 Long dispenseId = medicationDispenseService.generateMedicationDispense(longMedicationRequest, - procedureId, expectedDate); + procedureId, expectedDate); // 生成账单 chargeItem = new ChargeItem(); chargeItem.setStatusEnum(ChargeItemStatus.BILLABLE.getValue()); // 收费状态 chargeItem - .setBusNo(AssignSeqEnum.CHARGE_ITEM_NO.getPrefix().concat(longMedicationRequest.getBusNo())); + .setBusNo(AssignSeqEnum.CHARGE_ITEM_NO.getPrefix().concat(longMedicationRequest.getBusNo())); chargeItem.setGenerateSourceEnum(GenerateSource.ORDER_EXECUTE.getValue()); // 生成来源 chargeItem.setPrescriptionNo(longMedicationRequest.getPrescriptionNo()); // 处方号 chargeItem.setPatientId(longMedicationRequest.getPatientId()); // 患者 @@ -901,13 +806,12 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { chargeItem.setQuantityUnit(longMedicationRequest.getUnitCode()); // 单位 chargeItem.setUnitPrice(price); // 单价 chargeItem.setTotalPrice( - longMedicationRequest.getQuantity().multiply(price).setScale(6, RoundingMode.HALF_UP)); // 总价 + longMedicationRequest.getQuantity().multiply(price).setScale(6, RoundingMode.HALF_UP)); // 总价 chargeItemService.saveOrUpdate(chargeItem); } else { // 批次售卖情况 throw new RuntimeException("[住院]批次售卖的情况暂未处理"); ->>>>>>> v1.3 /* // 需要的药品数量(小单位) BigDecimal minUnitQuantity = medicationRequestUseExe.getMinUnitQuantity(); @@ -1037,23 +941,23 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { Date expectedDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); // 执行记录id Long procedureId = procedureService.addProcedureRecord(tempMedicationRequest.getEncounterId(), - tempMedicationRequest.getPatientId(), tempMedicationRequest.getId(), - CommonConstants.TableName.MED_MEDICATION_REQUEST, EventStatus.COMPLETED, - ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, tempMedicationRequest.getGroupId(), - null); + tempMedicationRequest.getPatientId(), tempMedicationRequest.getId(), + CommonConstants.TableName.MED_MEDICATION_REQUEST, EventStatus.COMPLETED, + ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, tempMedicationRequest.getGroupId(), + null); // 更新药品放发状态 medicationDispenseService.update(new LambdaUpdateWrapper() - .eq(MedicationDispense::getMedReqId, tempMedicationRequest.getId()) - .set(MedicationDispense::getProcedureId, procedureId) - .set(MedicationDispense::getPlannedDispenseTime, expectedDate) - .set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue())); + .eq(MedicationDispense::getMedReqId, tempMedicationRequest.getId()) + .set(MedicationDispense::getProcedureId, procedureId) + .set(MedicationDispense::getPlannedDispenseTime, expectedDate) + .set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue())); // 更新账单状态 chargeItemService.update( - new LambdaUpdateWrapper().eq(ChargeItem::getServiceId, tempMedicationRequest.getId()) - .set(ChargeItem::getProcedureId, procedureId) - .set(ChargeItem::getStatusEnum, ChargeItemStatus.BILLABLE.getValue())); + new LambdaUpdateWrapper().eq(ChargeItem::getServiceId, tempMedicationRequest.getId()) + .set(ChargeItem::getProcedureId, procedureId) + .set(ChargeItem::getStatusEnum, ChargeItemStatus.BILLABLE.getValue())); } } @@ -1068,20 +972,16 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { private void exeActivity(List actUseExeList, Date exeDate) { // 长期医嘱 List longActivity = actUseExeList.stream() - .filter(e -> TherapyTimeType.LONG_TERM.getValue().equals(e.getTherapyEnum())).toList(); + .filter(e -> TherapyTimeType.LONG_TERM.getValue().equals(e.getTherapyEnum())).toList(); // 临时医嘱 List tempActivity = actUseExeList.stream() - .filter(e -> TherapyTimeType.TEMPORARY.getValue().equals(e.getTherapyEnum())).toList(); + .filter(e -> TherapyTimeType.TEMPORARY.getValue().equals(e.getTherapyEnum())).toList(); // 诊疗定义id集合 - List activityDefinitionIdList = - actUseExeList.stream().map(ServiceRequestUseExe::getActivityId).collect(Collectors.toList()); + List activityDefinitionIdList + = actUseExeList.stream().map(ServiceRequestUseExe::getActivityId).collect(Collectors.toList()); // 医嘱详细信息 List activityInfos = doctorStationAdviceAppService.getAdviceBaseInfo(null, null, null, -<<<<<<< HEAD - activityDefinitionIdList, 0L, 1, 500, Whether.NO.getValue(), List.of(3)).getRecords(); -======= - activityDefinitionIdList, 0L, 1, 500, Whether.NO.getValue(), List.of(3), null).getRecords(); ->>>>>>> v1.3 + activityDefinitionIdList, 0L, 1, 500, Whether.NO.getValue(), List.of(3), null).getRecords(); // 当前时间 Date curDate = new Date(); @@ -1098,7 +998,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { for (ServiceRequestUseExe serviceRequestUseExe : longActivity) { // 查询耗材的取药科室 Long takeDeviceLocationId = doctorStationAdviceAppMapper - .getTakeDeviceLocationId(serviceRequestUseExe.getEncounterId(), ItemCategoryCode.DEVICE.getCode()); + .getTakeDeviceLocationId(serviceRequestUseExe.getEncounterId(), ItemCategoryCode.DEVICE.getCode()); for (String executeTime : serviceRequestUseExe.getExecuteTimes()) { longServiceRequest = new ServiceRequest(); BeanUtils.copyProperties(serviceRequestUseExe, longServiceRequest); @@ -1111,9 +1011,9 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { Date expectedDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); // 执行记录id Long procedureId = procedureService.addProcedureRecord(longServiceRequest.getEncounterId(), - longServiceRequest.getPatientId(), longServiceRequest.getId(), - CommonConstants.TableName.WOR_SERVICE_REQUEST, EventStatus.COMPLETED, - ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, null, null); + longServiceRequest.getPatientId(), longServiceRequest.getId(), + CommonConstants.TableName.WOR_SERVICE_REQUEST, EventStatus.COMPLETED, + ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, null, null); // 生成账单 chargeItem = new ChargeItem(); @@ -1138,8 +1038,8 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 根据 activityId 查找对应的医嘱信息 ServiceRequest finalLongServiceRequest = longServiceRequest; Optional matchedAdvice = activityInfos.stream() - .filter(advice -> finalLongServiceRequest.getActivityId().equals(advice.getAdviceDefinitionId())) - .findFirst(); + .filter(advice -> finalLongServiceRequest.getActivityId().equals(advice.getAdviceDefinitionId())) + .findFirst(); if (matchedAdvice.isEmpty()) { throw new RuntimeException("未找到对应的医嘱信息,activityId: " + finalLongServiceRequest.getActivityId()); } @@ -1155,22 +1055,16 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { chargeItem.setQuantityUnit(longServiceRequest.getUnitCode()); // 单位 chargeItem.setUnitPrice(price); // 单价 chargeItem - .setTotalPrice(longServiceRequest.getQuantity().multiply(price).setScale(6, RoundingMode.HALF_UP)); // 总价 + .setTotalPrice(longServiceRequest.getQuantity().multiply(price).setScale(6, RoundingMode.HALF_UP)); // 总价 chargeItemService.saveOrUpdate(chargeItem); -<<<<<<< HEAD - // 处理诊疗绑定耗材 - this.handleBindDevice(longServiceRequest, procedureId, takeDeviceLocationId, curDate, practitionerId, - orgId, serviceRequestUseExe.getAccountId(), exeDate, clickDate); -======= // 医嘱定价来源 String orderPricingSource = TenantOptionUtil.getOptionContent(TenantOptionDict.ORDER_PRICING_SOURCE); if (OrderPricingSource.RETAIL_PRICE.getCode().equals(orderPricingSource)) { // 处理诊疗绑定耗材 this.handleBindDevice(longServiceRequest, procedureId, takeDeviceLocationId, curDate, - practitionerId, orgId, serviceRequestUseExe.getAccountId(), expectedDate, clickDate); + practitionerId, orgId, serviceRequestUseExe.getAccountId(), expectedDate, clickDate); } ->>>>>>> v1.3 } } @@ -1179,7 +1073,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { for (ServiceRequestUseExe serviceRequestUseExe : tempActivity) { // 查询耗材的取药科室 Long takeDeviceLocationId = doctorStationAdviceAppMapper - .getTakeDeviceLocationId(serviceRequestUseExe.getEncounterId(), ItemCategoryCode.DEVICE.getCode()); + .getTakeDeviceLocationId(serviceRequestUseExe.getEncounterId(), ItemCategoryCode.DEVICE.getCode()); for (String executeTime : serviceRequestUseExe.getExecuteTimes()) { tempServiceRequest = new ServiceRequest(); BeanUtils.copyProperties(serviceRequestUseExe, tempServiceRequest); @@ -1192,29 +1086,23 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { Date expectedDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); // 执行记录id Long procedureId = procedureService.addProcedureRecord(tempServiceRequest.getEncounterId(), - tempServiceRequest.getPatientId(), tempServiceRequest.getId(), - CommonConstants.TableName.WOR_SERVICE_REQUEST, EventStatus.COMPLETED, - ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, null, null); + tempServiceRequest.getPatientId(), tempServiceRequest.getId(), + CommonConstants.TableName.WOR_SERVICE_REQUEST, EventStatus.COMPLETED, + ProcedureCategory.INPATIENT_ADVICE, null, expectedDate, exeDate, null, null); // 更新账单状态 chargeItemService.update( - new LambdaUpdateWrapper().eq(ChargeItem::getServiceId, tempServiceRequest.getId()) - .set(ChargeItem::getProcedureId, procedureId) - .set(ChargeItem::getStatusEnum, ChargeItemStatus.BILLABLE.getValue())); + new LambdaUpdateWrapper().eq(ChargeItem::getServiceId, tempServiceRequest.getId()) + .set(ChargeItem::getProcedureId, procedureId) + .set(ChargeItem::getStatusEnum, ChargeItemStatus.BILLABLE.getValue())); -<<<<<<< HEAD - // 处理诊疗绑定耗材 - this.handleBindDevice(tempServiceRequest, procedureId, takeDeviceLocationId, curDate, practitionerId, - orgId, serviceRequestUseExe.getAccountId(), exeDate, clickDate); -======= // 医嘱定价来源 String orderPricingSource = TenantOptionUtil.getOptionContent(TenantOptionDict.ORDER_PRICING_SOURCE); if (OrderPricingSource.RETAIL_PRICE.getCode().equals(orderPricingSource)) { // 处理诊疗绑定耗材 this.handleBindDevice(tempServiceRequest, procedureId, takeDeviceLocationId, curDate, - practitionerId, orgId, serviceRequestUseExe.getAccountId(), expectedDate, clickDate); + practitionerId, orgId, serviceRequestUseExe.getAccountId(), expectedDate, clickDate); } ->>>>>>> v1.3 } } @@ -1234,53 +1122,49 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { * @param clickDate 执行时间(实际点击时间) */ private void handleBindDevice(ServiceRequest serviceRequest, Long procedureId, Long locationId, Date curDate, - Long practitionerId, Long orgId, Long accountId, Date exeDate, Date clickDate) { + Long practitionerId, Long orgId, Long accountId, Date exeDate, Date clickDate) { // 查询诊疗绑定耗材的信息 - List activityBindDevice = - doctorStationAdviceAppMapper.getActivityBindDevice(serviceRequest.getActivityId() + "", - PublicationStatus.ACTIVE.getValue(), CommonConstants.TableName.ADM_DEVICE_DEFINITION); + List activityBindDevice + = doctorStationAdviceAppMapper.getActivityBindDevice(serviceRequest.getActivityId() + "", + PublicationStatus.ACTIVE.getValue(), CommonConstants.TableName.ADM_DEVICE_DEFINITION); // 满足此条件,说明诊疗绑了耗材 if (!activityBindDevice.isEmpty()) { if (locationId == null) { throw new RuntimeException("【" + serviceRequest.getBusNo() + "】诊疗请求,绑定的耗材未配置发放耗材房"); } // 耗材定义id集合 - List deviceIds = - activityBindDevice.stream().map(ActivityBindDeviceDetailDto::getDeviceId).collect(Collectors.toList()); + List deviceIds + = activityBindDevice.stream().map(ActivityBindDeviceDetailDto::getDeviceId).collect(Collectors.toList()); // 耗材库存集合 List adviceInventoryList = doctorStationAdviceAppMapper.getAdviceInventory(locationId, - deviceIds, CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR, PublicationStatus.ACTIVE.getValue()); + deviceIds, CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR, PublicationStatus.ACTIVE.getValue()); // 待发放个数信息 List adviceDraftInventoryList = doctorStationAdviceAppMapper.getAdviceDraftInventory( - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - DispenseStatus.DRAFT.getValue(), DispenseStatus.PREPARATION.getValue()); + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, + DispenseStatus.DRAFT.getValue(), DispenseStatus.PREPARATION.getValue()); // 预减库存 - List adviceInventory = - adviceUtils.subtractInventory(adviceInventoryList, adviceDraftInventoryList); + List adviceInventory + = adviceUtils.subtractInventory(adviceInventoryList, adviceDraftInventoryList); // 耗材医嘱详细信息 List deviceInfos = doctorStationAdviceAppService -<<<<<<< HEAD - .getAdviceBaseInfo(null, null, null, deviceIds, 0L, 1, 500, Whether.NO.getValue(), List.of(2)) -======= - .getAdviceBaseInfo(null, null, null, deviceIds, 0L, 1, 500, Whether.NO.getValue(), List.of(2), null) ->>>>>>> v1.3 - .getRecords(); + .getAdviceBaseInfo(null, null, null, deviceIds, 0L, 1, 500, Whether.NO.getValue(), List.of(2), null) + .getRecords(); DeviceRequest deviceRequest; BigDecimal minUnitCodeQuantity; ChargeItem chargeItem; for (ActivityBindDeviceDetailDto activityBindDeviceDetailDto : activityBindDevice) { Optional matchedInventory = adviceInventory.stream() - .filter(inventoryDto -> activityBindDeviceDetailDto.getDeviceId().equals(inventoryDto.getItemId()) + .filter(inventoryDto -> activityBindDeviceDetailDto.getDeviceId().equals(inventoryDto.getItemId()) && CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(inventoryDto.getItemTable()) && locationId.equals(inventoryDto.getLocationId())) - .findFirst(); + .findFirst(); // 匹配到库存信息,并校验 if (matchedInventory.isPresent()) { AdviceInventoryDto inventoryDto = matchedInventory.get(); if (activityBindDeviceDetailDto.getMinUnitCodeQuantity() - .compareTo(inventoryDto.getQuantity()) > 0) { + .compareTo(inventoryDto.getQuantity()) > 0) { throw new RuntimeException("【" + serviceRequest.getBusNo() + "】诊疗请求,绑定的耗材数量不足"); } } else { @@ -1288,19 +1172,15 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { } // 根据 deviceId 查找对应的医嘱信息 Optional deviceAdvice = deviceInfos.stream() - .filter(advice -> activityBindDeviceDetailDto.getDeviceId().equals(advice.getAdviceDefinitionId())) - .findFirst(); + .filter(advice -> activityBindDeviceDetailDto.getDeviceId().equals(advice.getAdviceDefinitionId())) + .findFirst(); if (deviceAdvice.isEmpty()) { throw new RuntimeException("未找到对应的医嘱信息,deviceId: " + activityBindDeviceDetailDto.getDeviceId()); } -<<<<<<< HEAD - AdviceBaseDto advice = deviceAdvice.get(); -======= // 医嘱信息 AdviceBaseDto advice = deviceAdvice.get(); // 拆零比 BigDecimal partPercent = advice.getPartPercent(); ->>>>>>> v1.3 // 生成耗材请求 deviceRequest = new DeviceRequest(); @@ -1328,77 +1208,6 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { // 需要的耗材数量(小单位) minUnitCodeQuantity = activityBindDeviceDetailDto.getMinUnitCodeQuantity(); // 单位(小单位) -<<<<<<< HEAD - // String minUnitCode = activityBindDeviceDetailDto.getMinUnitCode(); - // 库存集合 - List inventoryList = advice.getInventoryList(); - // 价格集合 - List priceList = advice.getPriceList(); - // 剩余需要分配的数量 - BigDecimal remainingQuantity = minUnitCodeQuantity; - // 按批次循环分配数量 - for (AdviceInventoryDto inventory : inventoryList) { - if (remainingQuantity.compareTo(BigDecimal.ZERO) <= 0) { - break; - } - // 可用量 - BigDecimal availableQuantity = inventory.getQuantity(); - // 实际供应量 - BigDecimal actualQuantity; - if (availableQuantity.compareTo(remainingQuantity) >= 0) { - // 当前批次足够满足剩余需求 - actualQuantity = remainingQuantity; - remainingQuantity = BigDecimal.ZERO; - } else { - // 当前批次全部用完 - actualQuantity = availableQuantity; - remainingQuantity = remainingQuantity.subtract(availableQuantity); - } - // 批次号 - String lotNumber = inventory.getLotNumber(); - // 查找对应批次的价格 - AdvicePriceDto priceInfos = findPriceByLotNumber(inventory.getLotNumber(), priceList); - - // 根据批次库存量,生成耗材发放 - deviceRequest.setQuantity(actualQuantity); - deviceRequest.setLotNumber(lotNumber); - // 发放ID - Long dispenseId = - deviceDispenseService.generateDeviceDispense(deviceRequest, procedureId, locationId, exeDate); - - // 根据批次库存量,生成账单 - chargeItem = new ChargeItem(); - chargeItem.setStatusEnum(ChargeItemStatus.BILLABLE.getValue()); // 收费状态 - chargeItem.setBusNo(AssignSeqEnum.CHARGE_ITEM_NO.getPrefix().concat(deviceRequest.getBusNo())); - chargeItem.setGenerateSourceEnum(GenerateSource.ORDER_EXECUTE.getValue()); // 生成来源 - chargeItem.setPatientId(deviceRequest.getPatientId()); // 患者 - chargeItem.setContextEnum(ChargeItemContext.DEVICE.getValue()); // 类型 - chargeItem.setEncounterId(deviceRequest.getEncounterId()); // 就诊id - chargeItem.setDefinitionId(priceInfos.getDefinitionId()); // 费用定价ID - chargeItem.setDefDetailId(priceInfos.getDefinitionDetailId()); // 定价子表主键 - chargeItem.setEntererId(practitionerId);// 开立人ID - chargeItem.setRequestingOrgId(orgId); // 开立科室 - chargeItem.setEnteredDate(curDate); // 开立时间 - chargeItem.setServiceTable(CommonConstants.TableName.WOR_DEVICE_REQUEST);// 医疗服务类型 - chargeItem.setServiceId(deviceRequest.getId()); // 医疗服务ID - chargeItem.setProductTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION);// 产品所在表 - chargeItem.setProductId(activityBindDeviceDetailDto.getDeviceId());// 收费项id - chargeItem.setAccountId(accountId);// 关联账户ID - chargeItem.setConditionId(deviceRequest.getConditionId()); // 诊断id - chargeItem.setEncounterDiagnosisId(deviceRequest.getEncounterDiagnosisId()); // 就诊诊断id - chargeItem.setDispenseTable(CommonConstants.TableName.WOR_DEVICE_DISPENSE); // 发放表名 - // chargeItem.setDispenseId(dispenseId); // 发放ID - - chargeItem.setQuantityValue(actualQuantity); // 数量 - chargeItem.setQuantityUnit(priceInfos.getUnitCode()); // 单位 - chargeItem.setUnitPrice(priceInfos.getPrice()); // 单价 - chargeItem.setTotalPrice( - actualQuantity.multiply(priceInfos.getPrice()).setScale(6, RoundingMode.HALF_UP)); // 总价 - - chargeItemService.save(chargeItem); - - } -======= String minUnitCode = activityBindDeviceDetailDto.getMinUnitCode(); // 价格集合 List priceList = advice.getPriceList(); @@ -1437,8 +1246,8 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { deviceRequest.setUnitCode(minUnitCode); // deviceRequest.setLotNumber(lotNumber); // 发放ID - Long dispenseId = - deviceDispenseService.generateDeviceDispense(deviceRequest, procedureId, locationId, exeDate); + Long dispenseId + = deviceDispenseService.generateDeviceDispense(deviceRequest, procedureId, locationId, exeDate); // 根据批次库存量,生成账单 chargeItem = new ChargeItem(); @@ -1472,7 +1281,6 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { chargeItemService.save(chargeItem); ->>>>>>> v1.3 } } } @@ -1489,7 +1297,7 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { return null; } return priceList.stream().filter(price -> Objects.equals(price.getConditionValue(), lotNumber)).findFirst() - .get(); + .get(); } @@ -1501,32 +1309,32 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { */ private List assemblyMedication(List medicineList) { // 药品请求id集合 - List medicineRequestIdList = - medicineList.stream().map(AdviceExecuteDetailParam::getRequestId).collect(Collectors.toList()); + List medicineRequestIdList + = medicineList.stream().map(AdviceExecuteDetailParam::getRequestId).collect(Collectors.toList()); // 药品请求集合 List medicationRequestList = medicationRequestService - .list(new LambdaQueryWrapper().in(MedicationRequest::getId, medicineRequestIdList)); + .list(new LambdaQueryWrapper().in(MedicationRequest::getId, medicineRequestIdList)); // 药品定义id集合 - List medicationDefinitionIdList = - medicationRequestList.stream().map(MedicationRequest::getMedicationId).collect(Collectors.toList()); + List medicationDefinitionIdList + = medicationRequestList.stream().map(MedicationRequest::getMedicationId).collect(Collectors.toList()); // 药品定义集合 List medicationDefinitionList = medicationDefinitionService.list( - new LambdaQueryWrapper().in(MedicationDefinition::getId, medicationDefinitionIdList)); + new LambdaQueryWrapper().in(MedicationDefinition::getId, medicationDefinitionIdList)); // 组装MedicationRequestUseExe数据结构 List medUseExeList = medicationRequestList.stream().map(medicationRequest -> { // 创建 MedicationRequestUseExe 对象,并复制 MedicationRequest 的属性 MedicationRequestUseExe useExe = new MedicationRequestUseExe(); // 账号id赋值 AdviceExecuteDetailParam adviceExecuteDetailParam = medicineList.stream() - .filter(param -> medicationRequest.getId().equals(param.getRequestId())).findFirst().orElse(null); + .filter(param -> medicationRequest.getId().equals(param.getRequestId())).findFirst().orElse(null); if (adviceExecuteDetailParam != null) { useExe.setAccountId(adviceExecuteDetailParam.getAccountId()); } BeanUtils.copyProperties(medicationRequest, useExe); // 匹配 executeTimes:根据 medicationRequest 的 id 在 medicineList 中查找匹配的 executeTimes - List matchedExecuteTimes = - medicineList.stream().filter(medicine -> medicine.getRequestId().equals(medicationRequest.getId())) - .findFirst().map(AdviceExecuteDetailParam::getExecuteTimes).orElse(null); + List matchedExecuteTimes + = medicineList.stream().filter(medicine -> medicine.getRequestId().equals(medicationRequest.getId())) + .findFirst().map(AdviceExecuteDetailParam::getExecuteTimes).orElse(null); useExe.setExecuteTimes(matchedExecuteTimes); // 计算 executeTimesNum:executeTimes 的集合大小,转换为 BigDecimal if (matchedExecuteTimes != null) { @@ -1536,8 +1344,8 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { } // 匹配 minUnitQuantity:根据 medicationId 在 medicationDefinitionList 中查找匹配的药品定义 MedicationDefinition matchedDefinition = medicationDefinitionList.stream() - .filter(definition -> definition.getId().equals(medicationRequest.getMedicationId())).findFirst() - .orElse(null); + .filter(definition -> definition.getId().equals(medicationRequest.getMedicationId())).findFirst() + .orElse(null); if (matchedDefinition != null) { // 判断 minUnitCode 是否等于 unitCode if (matchedDefinition.getMinUnitCode().equals(medicationRequest.getUnitCode())) { @@ -1567,26 +1375,26 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { */ private List assemblyActivity(List activityList) { // 诊疗请求id集合 - List activityRequestIdList = - activityList.stream().map(AdviceExecuteDetailParam::getRequestId).collect(Collectors.toList()); + List activityRequestIdList + = activityList.stream().map(AdviceExecuteDetailParam::getRequestId).collect(Collectors.toList()); // 诊疗请求集合 List activityRequestList = serviceRequestService - .list(new LambdaQueryWrapper().in(ServiceRequest::getId, activityRequestIdList)); + .list(new LambdaQueryWrapper().in(ServiceRequest::getId, activityRequestIdList)); // 组装ServiceRequestUseExe数据结构 List actUseExeList = activityRequestList.stream().map(serviceRequest -> { // 创建 ServiceRequestUseExe 对象,并复制 ServiceRequest 的属性 ServiceRequestUseExe useExe = new ServiceRequestUseExe(); // 账号id赋值 AdviceExecuteDetailParam adviceExecuteDetailParam = activityList.stream() - .filter(param -> serviceRequest.getId().equals(param.getRequestId())).findFirst().orElse(null); + .filter(param -> serviceRequest.getId().equals(param.getRequestId())).findFirst().orElse(null); if (adviceExecuteDetailParam != null) { useExe.setAccountId(adviceExecuteDetailParam.getAccountId()); } BeanUtils.copyProperties(serviceRequest, useExe); // 匹配 executeTimes:根据 serviceRequest 的 id 在 activityList 中查找匹配的 executeTimes - List matchedExecuteTimes = - activityList.stream().filter(activity -> activity.getRequestId().equals(serviceRequest.getId())) - .findFirst().map(AdviceExecuteDetailParam::getExecuteTimes).orElse(null); + List matchedExecuteTimes + = activityList.stream().filter(activity -> activity.getRequestId().equals(serviceRequest.getId())) + .findFirst().map(AdviceExecuteDetailParam::getExecuteTimes).orElse(null); useExe.setExecuteTimes(matchedExecuteTimes); // 计算 executeTimesNum:executeTimes 的集合大小,转换为 BigDecimal if (matchedExecuteTimes != null) { @@ -1606,18 +1414,14 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { * @param procedureIdMap 执行idMap */ private void creatRefundMedicationList(List longMedDispensedList, - Map procedureIdMap) { + Map procedureIdMap) { List medicationRefundList = new ArrayList<>(); // 根据发药单对应生成退药单 for (MedicationDispense medicationDispense : longMedDispensedList) { // 药品发放编码 medicationDispense.setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_DIS_NO.getPrefix(), 4)); // 退药状态 -<<<<<<< HEAD - medicationDispense.setStatusEnum(DispenseStatus.PREPARATION.getValue()); -======= medicationDispense.setStatusEnum(DispenseStatus.PENDING_REFUND.getValue()); ->>>>>>> v1.3 // 状态变更时间 medicationDispense.setStatusChangedTime(DateUtils.getNowDate()); // 取消执行id diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java index 9d748969..e5ff5ea3 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java @@ -30,14 +30,8 @@ import com.openhis.web.inhospitalnursestation.dto.MedicineDispenseFormDto; import com.openhis.web.inhospitalnursestation.dto.MedicineSummaryFormDto; import com.openhis.web.inhospitalnursestation.dto.MedicineSummaryParam; import com.openhis.web.inhospitalnursestation.mapper.MedicineSummaryAppMapper; -<<<<<<< HEAD -import com.openhis.web.pharmacymanage.dto.UnDispenseInventoryDto; -import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper; -import com.openhis.workflow.domain.InventoryItem; -======= import com.openhis.web.pharmacymanage.dto.DispenseInitDto; import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper; ->>>>>>> v1.3 import com.openhis.workflow.service.ISupplyDeliveryService; import com.openhis.workflow.service.ISupplyRequestService; @@ -72,59 +66,6 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService private ReturnMedicineMapper returnMedicineMapper; /** -<<<<<<< HEAD - * 查询发药单信息 - * - * @param dispenseFormSearchParam 查询条件 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求 - * @return 发药单信息 - */ - @Override - public R getMedicineDispenseFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, - Integer pageSize, HttpServletRequest request) { - // 初始化查询参数 - String encounterIds = dispenseFormSearchParam.getEncounterIds(); - dispenseFormSearchParam.setEncounterIds(null); - // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(dispenseFormSearchParam, null, null, request); - - // 手动拼接住院患者id条件 - if (encounterIds != null && !encounterIds.isEmpty()) { - List encounterIdList = - Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList(); - queryWrapper.in(CommonConstants.FieldName.EncounterId, encounterIdList); - } - // 领药信息列表 - Page medicineDispenseFormPage = - medicineSummaryAppMapper.selectMedicineDispenseFormPage(new Page<>(pageNo, pageSize), queryWrapper, - RequestStatus.COMPLETED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), - LocationForm.BED.getValue(), ParticipantType.ADMITTING_DOCTOR.getCode(), - AccountType.PERSONAL_CASH_ACCOUNT.getCode(), ChargeItemStatus.BILLABLE.getValue(), - ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDED.getValue(), - DispenseStatus.SUMMARIZED.getValue()); - medicineDispenseFormPage.getRecords().forEach(e -> { - // 是否皮试 - e.setSkinTestFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getSkinTestFlag())); - // 是否为注射药物 - e.setInjectFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getInjectFlag())); - // 医嘱类型 - e.setTherapyEnum_enumText(EnumUtils.getInfoByValue(TherapyTimeType.class, e.getTherapyEnum())); - // 性别枚举 - e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); - // 计算年龄 - if (e.getBirthDate() != null) { - e.setAge(AgeCalculatorUtil.getAge(e.getBirthDate())); - } - }); - return R.ok(medicineDispenseFormPage); - } - - /** - * 查询药品汇总单 -======= * 药品汇总单初始化 * * @return 初始化信息 @@ -133,17 +74,17 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService public R getMedicineSummaryInit() { DispenseInitDto initDto = new DispenseInitDto(); // 未发药原因下拉选列表 - List notPerformedReasonOptions = - Stream.of(NotPerformedReasonEnum.values()) - .map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(), - notPerformedReason.getInfo())) - .collect(Collectors.toList()); + List notPerformedReasonOptions + = Stream.of(NotPerformedReasonEnum.values()) + .map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(), + notPerformedReason.getInfo())) + .collect(Collectors.toList()); // 发药状态 List dispenseStatusOptions = new ArrayList<>(); dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.PREPARATION.getValue(), - DispenseStatus.PREPARATION.getInfo())); + DispenseStatus.PREPARATION.getInfo())); dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), - DispenseStatus.COMPLETED.getInfo())); + DispenseStatus.COMPLETED.getInfo())); initDto.setNotPerformedReasonOptions(notPerformedReasonOptions).setDispenseStatusOptions(dispenseStatusOptions); return R.ok(initDto); @@ -151,69 +92,37 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService /** * 查询发药单信息 ->>>>>>> v1.3 * * @param dispenseFormSearchParam 查询条件 * @param pageNo 当前页码 * @param pageSize 查询条数 -<<<<<<< HEAD - * @param searchKey 模糊查询关键字 - * @param request 请求 - * @return 药品汇总单 - */ - @Override - public R getMedicineSummaryFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { - // 构建查询条件 - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(dispenseFormSearchParam, - searchKey, new HashSet<>(List.of(CommonConstants.FieldName.BusNo)), request); - - // 汇总单分页列表 - Page medicineSummaryFormPage = medicineSummaryAppMapper.selectMedicineSummaryFormPage( - new Page<>(pageNo, pageSize), queryWrapper, DispenseStatus.COMPLETED.getValue(), - DispenseStatus.IN_PROGRESS.getValue(), SupplyType.SUMMARY_DISPENSE.getValue()); - medicineSummaryFormPage.getRecords().forEach(e -> { - // 发药状态 - e.setStatusEnum_enumText(EnumUtils.getInfoByValue(DispenseStatus.class, e.getStatusEnum())); - }); - return R.ok(medicineSummaryFormPage); - } - - /** - * 查询药品汇总单详情 - * - * @param summaryNo 汇总单号 - * @return 药品汇总单详情 - */ - @Override -======= * @param request 请求 * @return 发药单信息 */ @Override public R getMedicineDispenseFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, - Integer pageSize, HttpServletRequest request) { + Integer pageSize, HttpServletRequest request) { // 初始化查询参数 String encounterIds = dispenseFormSearchParam.getEncounterIds(); dispenseFormSearchParam.setEncounterIds(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(dispenseFormSearchParam, null, null, request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(dispenseFormSearchParam, null, null, request); // 手动拼接住院患者id条件 if (encounterIds != null && !encounterIds.isEmpty()) { - List encounterIdList = - Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList(); + List encounterIdList + = Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList(); queryWrapper.in(CommonConstants.FieldName.EncounterId, encounterIdList); } // 领药信息列表 - Page medicineDispenseFormPage = - medicineSummaryAppMapper.selectMedicineDispenseFormPage(new Page<>(pageNo, pageSize), queryWrapper, - RequestStatus.COMPLETED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), - LocationForm.BED.getValue(), ParticipantType.ADMITTING_DOCTOR.getCode(), - AccountType.PERSONAL_CASH_ACCOUNT.getCode(), ChargeItemStatus.BILLABLE.getValue(), - ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDED.getValue(), - DispenseStatus.SUMMARIZED.getValue()); + Page medicineDispenseFormPage + = medicineSummaryAppMapper.selectMedicineDispenseFormPage(new Page<>(pageNo, pageSize), queryWrapper, + RequestStatus.COMPLETED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), + LocationForm.BED.getValue(), ParticipantType.ADMITTING_DOCTOR.getCode(), + AccountType.PERSONAL_CASH_ACCOUNT.getCode(), ChargeItemStatus.BILLABLE.getValue(), + ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDED.getValue(), + DispenseStatus.SUMMARIZED.getValue()); medicineDispenseFormPage.getRecords().forEach(e -> { // 是否皮试 e.setSkinTestFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getSkinTestFlag())); @@ -243,15 +152,15 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService */ @Override public R getMedicineSummaryFormPage(DispenseFormSearchParam dispenseFormSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageSize, String searchKey, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(dispenseFormSearchParam, - searchKey, new HashSet<>(List.of(CommonConstants.FieldName.BusNo)), request); + searchKey, new HashSet<>(List.of(CommonConstants.FieldName.BusNo)), request); // 汇总单分页列表 Page medicineSummaryFormPage = medicineSummaryAppMapper.selectMedicineSummaryFormPage( - new Page<>(pageNo, pageSize), queryWrapper, DispenseStatus.COMPLETED.getValue(), - DispenseStatus.PREPARATION.getValue(), SupplyType.SUMMARY_DISPENSE.getValue()); + new Page<>(pageNo, pageSize), queryWrapper, DispenseStatus.COMPLETED.getValue(), + DispenseStatus.PREPARATION.getValue(), SupplyType.SUMMARY_DISPENSE.getValue()); medicineSummaryFormPage.getRecords().forEach(e -> { // 发药状态 e.setStatusEnum_enumText(EnumUtils.getInfoByValue(DispenseStatus.class, e.getStatusEnum())); @@ -266,7 +175,6 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService * @return 药品汇总单详情 */ @Override ->>>>>>> v1.3 public R getMedicineSummaryFormDetail(String summaryNo) { // 药品汇总单详情 return R.ok(medicineSummaryAppMapper.selectMedicineSummaryFormDetail(summaryNo)); @@ -287,23 +195,23 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService // 申请人 Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 药品发放id - List medDispenseIdList = - medicineSummaryParamList.stream().map(MedicineSummaryParam::getDispenseId).toList(); + List medDispenseIdList + = medicineSummaryParamList.stream().map(MedicineSummaryParam::getDispenseId).toList(); // 药品发放信息列表 List medicationDispenseList = medicationDispenseService.listByIds(medDispenseIdList); if (medicationDispenseList == null || medicationDispenseList.isEmpty()) { throw new ServiceException("未找到药品发放信息"); } if (medicationDispenseList.stream().map(MedicationDispense::getStatusEnum) - .anyMatch(x -> x.equals(DispenseStatus.SUMMARIZED.getValue()))) { + .anyMatch(x -> x.equals(DispenseStatus.SUMMARIZED.getValue()))) { throw new ServiceException("药品已汇总,请勿重复汇总"); } // 查询药品信息 List medicationDefinitions = medicationDefinitionService - .listByIds(medicationDispenseList.stream().map(MedicationDispense::getMedicationId).toList()); + .listByIds(medicationDispenseList.stream().map(MedicationDispense::getMedicationId).toList()); // 根据发放药房分组 - Map> medicationLocationMap = - medicationDispenseList.stream().collect(Collectors.groupingBy(MedicationDispense::getLocationId)); + Map> medicationLocationMap + = medicationDispenseList.stream().collect(Collectors.groupingBy(MedicationDispense::getLocationId)); // 循环每个药房 for (Map.Entry> entry : medicationLocationMap.entrySet()) { // 汇总单据号 @@ -312,9 +220,9 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService List medicationDispenses = entry.getValue(); // 根据相同批号的同一药品进行汇总 Map> medicationSummaryInfoMap = medicationDispenses.stream().collect( - Collectors.groupingBy(x -> x.getMedicationId() + CommonConstants.Common.DASH + x.getLotNumber())); + Collectors.groupingBy(x -> x.getMedicationId() + CommonConstants.Common.DASH + x.getLotNumber())); for (Map.Entry> medicationSummaryInfoList : medicationSummaryInfoMap - .entrySet()) { + .entrySet()) { List medicationSummaryList = medicationSummaryInfoList.getValue(); MedicationDispense medicationDispense = medicationSummaryList.get(0); Long medicationId = medicationDispense.getMedicationId(); @@ -328,8 +236,8 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService // 单位 String unitCode = null; // 根据药品id获取对应的药品信息 - Optional medicationDefinition = - medicationDefinitions.stream().filter(x -> x.getId().equals(medicationId)).findFirst(); + Optional medicationDefinition + = medicationDefinitions.stream().filter(x -> x.getId().equals(medicationId)).findFirst(); if (medicationDefinition.isPresent()) { partPercent = medicationDefinition.get().getPartPercent(); minUnitCode = medicationDefinition.get().getMinUnitCode(); @@ -349,89 +257,15 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService minQuantity = minQuantity.add(quantity); } Long supplyRequestId = supplyRequestService.createSummarySupplyRequest(medicationId, locationId, - lotNumber, patientId, minQuantity, minUnitCode, practitionerId, now, busNo); + lotNumber, patientId, minQuantity, minUnitCode, practitionerId, now, busNo); supplyDeliveryService.createSummarySupplyDelivery(medicationId, lotNumber, patientId, minQuantity, - minUnitCode, receiverId, supplyRequestId); + minUnitCode, receiverId, supplyRequestId); } // 药品发放状态更新 medicationDispenseService.updateDispenseStatusSummarized( - medicationDispenses.stream().map(MedicationDispense::getId).toList(), busNo); + medicationDispenses.stream().map(MedicationDispense::getId).toList(), busNo); } - return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"汇总申请"})); - } - - /** - * 取消汇总 - * - * @param summaryNo 汇总单号 - * @return 处理结果 - */ - @Override -<<<<<<< HEAD - public R checkInventoryItem(List devDispenseId, List medDispenseId) { - - List inventoryItemList = new ArrayList<>(); - // 获取库存信息 - List inventoryList = returnMedicineMapper.selectInventoryInfoList(devDispenseId, medDispenseId, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - // 按每个药品分组 - Map> groupedByItemId = - inventoryList.stream().collect(Collectors.groupingBy(UnDispenseInventoryDto::getItemId)); - // 遍历每个分组校验库存状态 - for (Map.Entry> entry : groupedByItemId.entrySet()) { - List groupItems = entry.getValue(); - if (groupItems.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { - // 库存停供校验 - return R.fail(groupItems.get(0).getItemName() + "库存已停供"); - } - } - if (!inventoryList.isEmpty()) { - for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { - if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum())) { - InventoryItem inventoryItem = new InventoryItem(); - // 库存数量判定 - if (unDispenseInventoryDto.getDispenseUnit().equals(unDispenseInventoryDto.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity().subtract(unDispenseInventoryDto.getQuantity()); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity() - .subtract(unDispenseInventoryDto.getPartPercent().multiply(unDispenseInventoryDto.getQuantity())); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } - inventoryItemList.add(inventoryItem); - } - } -======= - public R cancelSummary(String summaryNo) { - // 取消汇总申请(软删除) - List requestIdList = supplyRequestService.cancelSummarySupplyRequest(List.of(summaryNo)); - if (requestIdList.isEmpty()) { - return R.fail("取消汇总申请失败"); - } - // 软删除汇总发放 - supplyDeliveryService.deleteSupplyDeliveryByReqId(requestIdList); - // 取消药品汇总 - boolean result = medicationDispenseService.cancelMedicationSummary(List.of(summaryNo)); - if (!result) { - return R.fail("取消汇总申请失败"); ->>>>>>> v1.3 - } - return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"取消"})); + return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"汇总申请"})); } /** @@ -454,7 +288,30 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService if (!result) { return R.fail("取消汇总申请失败"); } - return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"取消"})); + return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"取消"})); + } + + /** + * 取消汇总 + * + * @param summaryNo 汇总单号 + * @return 处理结果 + */ + @Override + public R cancelSummary(String summaryNo) { + // 取消汇总申请(软删除) + List requestIdList = supplyRequestService.cancelSummarySupplyRequest(List.of(summaryNo)); + if (requestIdList.isEmpty()) { + return R.fail("取消汇总申请失败"); + } + // 软删除汇总发放 + supplyDeliveryService.deleteSupplyDeliveryByReqId(requestIdList); + // 取消药品汇总 + boolean result = medicationDispenseService.cancelMedicationSummary(List.of(summaryNo)); + if (!result) { + return R.fail("取消汇总申请失败"); + } + return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"取消"})); } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java index b35ea070..15fb46d1 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java @@ -1,37 +1,5 @@ package com.openhis.web.inhospitalnursestation.appservice.impl; -<<<<<<< HEAD -import com.core.common.core.domain.R; -import com.core.common.core.domain.model.LoginUser; -import com.core.common.exception.ServiceException; -import com.core.common.utils.AssignSeqUtil; -import com.core.common.utils.SecurityUtils; -import com.openhis.administration.domain.ChargeItem; -import com.openhis.administration.service.IChargeItemService; -import com.openhis.common.constant.CommonConstants; -import com.openhis.common.enums.*; -import com.openhis.web.doctorstation.dto.AdviceSaveDto; -import com.openhis.web.doctorstation.utils.AdviceUtils; -import com.openhis.web.inhospitalnursestation.appservice.INurseBillingAppService; -import com.openhis.web.regdoctorstation.dto.RegAdviceSaveDto; -import com.openhis.web.regdoctorstation.dto.RegAdviceSaveParam; -import com.openhis.workflow.domain.DeviceRequest; -import com.openhis.workflow.service.IDeviceDispenseService; -import com.openhis.workflow.service.IDeviceRequestService; -import com.openhis.workflow.service.IServiceRequestService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 住院护士站划价服务实现类 - * 核心功能:临时耗材/诊疗活动划价签发、关联费用项管理、库存校验、医嘱删除(已收费校验)等 -======= import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; @@ -83,56 +51,13 @@ import com.openhis.workflow.service.IDeviceRequestService; import com.openhis.workflow.service.IServiceRequestService; /** - * 住院护士站划价服务实现类 核心职责: 1. 临时耗材划价签发(含耗材请求生成、发放记录创建、费用项关联) 2. 诊疗活动划价签发(含服务请求生成、子项处理、费用项关联) 3. 划价参数校验(非空校验、库房校验等) 4. - * 已收费项目删除限制(避免误删已结算数据) 5. 关联数据一致性管理(请求表、执行表、费用表、发放表联动) ->>>>>>> v1.3 + * 住院护士站划价服务实现类 核心职责: 1. 临时耗材划价签发(含耗材请求生成、发放记录创建、费用项关联) 2. + * 诊疗活动划价签发(含服务请求生成、子项处理、费用项关联) 3. 划价参数校验(非空校验、库房校验等) 4. 已收费项目删除限制(避免误删已结算数据) 5. + * 关联数据一致性管理(请求表、执行表、费用表、发放表联动) */ @Service public class NurseBillingAppService implements INurseBillingAppService { -<<<<<<< HEAD - // 依赖注入:保留@Resource注解,按原有方式注入依赖 - @Resource - private AdviceUtils adviceUtils; - @Resource - private AssignSeqUtil assignSeqUtil; - @Resource - private IDeviceRequestService iDeviceRequestService; - @Resource - private IServiceRequestService iServiceRequestService; - @Resource - private IChargeItemService iChargeItemService; - @Resource - private IDeviceDispenseService iDeviceDispenseService; - - // 常量提取:避免魔法值,提高代码可维护性和可读性 - /** 耗材请求服务表名(关联费用项使用) */ - private static final String SERVICE_TABLE_DEVICE_REQUEST = CommonConstants.TableName.WOR_DEVICE_REQUEST; - private static final String SERVICE_TABLE_SERVICE_REQUEST = CommonConstants.TableName.WOR_SERVICE_REQUEST; - /** 费用项业务编号前缀 */ - private static final String CHARGE_ITEM_BUS_NO_PREFIX = AssignSeqEnum.CHARGE_ITEM_NO.getPrefix(); - /** 耗材申请单号序列号长度(按日生成) */ - private static final int DEVICE_RES_NO_SEQ_LENGTH = 4; - /** 医嘱签发编码序列号长度 */ - private static final int ADVICE_SIGN_SEQ_LENGTH = 10; - - /** - * 新增住院护士站划价 - * 完整流程:参数初始化 → 入参校验 → 医嘱分类(耗材/诊疗活动)→ 生成签发编码 → 处理耗材划价 → 处理诊疗活动划价 - * - * @param regAdviceSaveParam 划价请求参数(含患者信息、医嘱列表、科室ID等核心数据) - * @return R 划价结果响应(成功/失败信息、状态码) - */ - @Override - @Transactional(rollbackFor = Exception.class) // 事务管理:划价相关操作原子性,任一环节失败整体回滚 - public R addInNurseBilling(RegAdviceSaveParam regAdviceSaveParam) { - // 1. 时间参数初始化:默认使用当前时间,支持入参指定 - Date curDate = new Date(); - Date startTime = regAdviceSaveParam.getStartTime() == null ? curDate : regAdviceSaveParam.getStartTime(); - Date authoredTime = regAdviceSaveParam.getAuthoredTime() == null ? curDate : regAdviceSaveParam.getAuthoredTime(); - - // 2. 入参校验:非空校验 + 库存校验,校验失败直接返回错误响应 -======= // ======================== 常量定义(关联表名/编码规则)======================== /** * 耗材请求服务关联表名(用于费用项关联数据源) @@ -215,11 +140,12 @@ public class NurseBillingAppService implements INurseBillingAppService { private IOrganizationService organizationService; // ======================== 核心业务方法(划价新增)======================== - /** - * 新增住院护士站划价(核心入口方法) 完整流程:参数初始化 → 入参校验 → 医嘱分类 → 生成全局签发编码 → 分类处理划价 → 返回结果 事务特性:所有操作原子化,任一环节失败则整体回滚(避免数据不一致) + * 新增住院护士站划价(核心入口方法) 完整流程:参数初始化 → 入参校验 → 医嘱分类 → 生成全局签发编码 → 分类处理划价 → 返回结果 + * 事务特性:所有操作原子化,任一环节失败则整体回滚(避免数据不一致) * - * @param regAdviceSaveParam 划价请求参数体 包含:患者ID、就诊ID、住院科室ID、医嘱列表(耗材/诊疗活动)、操作时间等核心数据 + * @param regAdviceSaveParam 划价请求参数体 + * 包含:患者ID、就诊ID、住院科室ID、医嘱列表(耗材/诊疗活动)、操作时间等核心数据 * @return R 划价结果响应 成功:返回操作成功提示(编码M00002) 失败:返回具体错误信息(如参数缺失、库房为空等) */ @Override @@ -231,295 +157,18 @@ public class NurseBillingAppService implements INurseBillingAppService { // 1. 时间参数初始化:优先使用入参指定时间,无则默认当前系统时间 Date curDate = new Date(); Date startTime = regAdviceSaveParam.getStartTime() == null ? curDate : regAdviceSaveParam.getStartTime(); - Date authoredTime = - regAdviceSaveParam.getAuthoredTime() == null ? curDate : regAdviceSaveParam.getAuthoredTime(); + Date authoredTime + = regAdviceSaveParam.getAuthoredTime() == null ? curDate : regAdviceSaveParam.getAuthoredTime(); // 2. 入参校验:校验不通过直接返回错误响应(避免后续无效处理) ->>>>>>> v1.3 R checkResult = checkNurseBillingParam(regAdviceSaveParam); if (checkResult.getCode() != R.SUCCESS) { return checkResult; } -<<<<<<< HEAD - // 3. 提取核心业务参数 - Long organizationId = regAdviceSaveParam.getOrganizationId(); // 患者住院科室ID - List allAdviceList = regAdviceSaveParam.getRegAdviceSaveList(); // 所有待处理医嘱列表 - - // 4. 按医嘱类型分类:拆分耗材类和诊疗活动类(分别处理) - List deviceAdviceList = filterDeviceAdvice(allAdviceList); // 耗材类医嘱 - List activityAdviceList = filterActivityAdvice(allAdviceList); // 诊疗活动类医嘱 - - // 5. 生成全局唯一的医嘱签发编码 - String signCode = assignSeqUtil.getSeq(AssignSeqEnum.ADVICE_SIGN.getPrefix(), ADVICE_SIGN_SEQ_LENGTH); - - // 6. 处理耗材类医嘱划价(新增/修改/删除逻辑) - handleDeviceBilling(deviceAdviceList, null, signCode, organizationId, curDate); - - // 7. 处理诊疗活动类医嘱划价(原代码未实现,保留扩展入口) - handleActivityBilling(activityAdviceList, signCode, organizationId, curDate, startTime, authoredTime); - - // 8. 划价成功返回响应 - return R.ok("住院划价签发成功"); - } - - /** - * 筛选耗材类医嘱 - * 按医嘱类型枚举(ItemType.DEVICE)过滤,仅保留耗材相关医嘱 - * - * @param allAdviceList 所有待处理医嘱列表 - * @return List 耗材类医嘱列表 - */ - private List filterDeviceAdvice(List allAdviceList) { - return allAdviceList.stream() - .filter(advice -> ItemType.DEVICE.getValue().equals(advice.getAdviceType())) - .collect(Collectors.toList()); - } - - /** - * 筛选诊疗活动类医嘱 - * 按医嘱类型枚举(ItemType.ACTIVITY)过滤,仅保留诊疗活动相关医嘱 - * - * @param allAdviceList 所有待处理医嘱列表 - * @return List 诊疗活动类医嘱列表 - */ - private List filterActivityAdvice(List allAdviceList) { - return allAdviceList.stream() - .filter(advice -> ItemType.ACTIVITY.getValue().equals(advice.getAdviceType())) - .collect(Collectors.toList()); - } - - /** - * 处理耗材类医嘱划价 - * 核心流程:筛选临时耗材 → 处理删除(已收费校验)→ 新增/修改耗材记录 → 同步发放+费用项 - * - * @param deviceAdviceList 耗材类医嘱列表 - * @param deleteList 待删除的耗材医嘱列表(可为null,暂无删除场景传null) - * @param signCode 医嘱签发编码(全局唯一) - * @param organizationId 患者住院科室ID - * @param curDate 当前操作时间 - */ - private void handleDeviceBilling(List deviceAdviceList, List deleteList, - String signCode, Long organizationId, Date curDate) { - // 1. 筛选临时类型耗材:仅处理临时医嘱(TherapyTimeType.TEMPORARY)的新增/修改 - List tempDeviceList = deviceAdviceList.stream() - .filter(advice -> TherapyTimeType.TEMPORARY.getValue().equals(advice.getTherapyEnum())) - .collect(Collectors.toList()); - - // 2. 处理耗材删除:校验已收费状态 + 关联数据删除 - handleDelRequest(deleteList,SERVICE_TABLE_DEVICE_REQUEST); - - // 3. 处理耗材新增/修改:同步保存耗材请求、发放记录、费用项 - handleDeviceInsertOrUpdate(tempDeviceList, organizationId, curDate); - } - - /** - * 处理诊疗活动类医嘱划价 - * (扩展入口:原代码未实现,可参考耗材处理逻辑,关联服务请求表、费用项等) - * - * @param activityAdviceList 诊疗活动类医嘱列表 - * @param signCode 医嘱签发编码 - * @param organizationId 住院科室ID - * @param curDate 当前操作时间 - * @param startTime 医嘱开始时间 - * @param authoredTime 医嘱签发时间 - */ - private void handleActivityBilling(List activityAdviceList, String signCode, - Long organizationId, Date curDate, Date startTime, Date authoredTime) { - // 注:诊疗活动划价逻辑待实现,建议流程: - // 1. 筛选临时类型诊疗活动 - // 2. 处理删除(如需) - // 3. 新增/修改服务请求记录(IServiceRequestService) - // 4. 同步生成/更新费用项(IChargeItemService) - } - - /** - * 处理耗材删除逻辑 - * 关键校验:已收费的耗材项目不允许删除 - * 关联删除:耗材请求表 → 耗材发放记录 → 费用项表(级联删除关联数据) - * - * @param deleteList 待删除的耗材医嘱列表(可为null) - */ - private void handleDelRequest(List deleteList,String serviceTable) { - // 空列表直接返回,避免无效循环和查询 - if (deleteList == null || deleteList.isEmpty()) { - return; - } - // 提取待删除请求ID列表(用于查询费用状态) - List delRequestIds = deleteList.stream() - .map(AdviceSaveDto::getRequestId) - .collect(Collectors.toList()); - - // 校验:待删除项是否已收费,已收费则抛出异常阻止删除 - checkDeletedDeviceChargeStatus(delRequestIds); - - // 执行级联删除:循环处理每个待删除项的关联数据 - for (AdviceSaveDto deleteDto : deleteList) { - Long requestId = deleteDto.getRequestId(); - if (serviceTable.equals(SERVICE_TABLE_DEVICE_REQUEST)){ - iDeviceRequestService.removeById(requestId); // 删除耗材请求主记录 - iDeviceDispenseService.deleteDeviceDispense(requestId); // 删除关联的耗材发放记录 - } - // 删除关联的费用项(按服务表+服务ID关联) - iChargeItemService.deleteByServiceTableAndId(SERVICE_TABLE_DEVICE_REQUEST, requestId); - } - } - - /** - * 校验待删除耗材的费用状态 - * 查询待删除项对应的费用项,若存在已收费(ChargeItemStatus.BILLED)状态则抛出业务异常 - * - * @param delRequestIds 待删除的耗材请求ID列表 - */ - private void checkDeletedDeviceChargeStatus(List delRequestIds) { - if (delRequestIds.isEmpty()) { - return; - } - - // 查询待删除耗材对应的费用项列表 - List chargeItemList = iChargeItemService.getChargeItemInfoByReqId(delRequestIds); - if (chargeItemList == null || chargeItemList.isEmpty()) { - return; // 无关联费用项,直接允许删除 - } - - // 校验是否存在已收费项:使用stream.anyMatch简化循环判断 - boolean hasBilledItem = chargeItemList.stream() - .anyMatch(ci -> ChargeItemStatus.BILLED.getValue().equals(ci.getStatusEnum())); - if (hasBilledItem) { - throw new ServiceException("删除失败:部分项目已完成收费,不支持直接删除,请联系收费人员处理后重试"); - } - } - - /** - * 处理耗材新增/修改 - * 流程:构建耗材请求对象 → 保存/更新 → 处理耗材发放 → 构建费用项 → 保存/更新费用项 - * - * @param tempDeviceList 临时耗材医嘱列表(新增/修改) - * @param organizationId 住院科室ID - * @param curDate 当前操作时间 - */ - private void handleDeviceInsertOrUpdate(List tempDeviceList, Long organizationId, Date curDate) { - if (tempDeviceList.isEmpty()) { - return; // 无临时耗材需处理,直接返回 - } - - // 循环处理每个临时耗材医嘱 - for (AdviceSaveDto adviceDto : tempDeviceList) { - // 1. 构建耗材请求对象(DeviceRequest)并执行保存/更新 - if (adviceDto.getRequestId() == null) { - adviceDto.setDbOpType(DbOpType.INSERT.getCode()); // 新增时设置操作类型 - }else { - adviceDto.setDbOpType(DbOpType.UPDATE.getCode()); // 修改时设置操作类型 - } - DeviceRequest deviceRequest = buildDeviceRequest(adviceDto, curDate); - iDeviceRequestService.saveOrUpdate(deviceRequest); - - // 2. 同步处理耗材发放:根据操作类型(新增/修改)执行发放逻辑 - iDeviceDispenseService.handleDeviceDispense(deviceRequest, adviceDto.getDbOpType()); - - // 3. 构建费用项对象(ChargeItem)并执行保存/更新 - ChargeItem chargeItem = buildChargeItem(adviceDto, deviceRequest, curDate); - iChargeItemService.saveOrUpdate(chargeItem); - } - } - - /** - * 构建耗材请求对象(DeviceRequest) - * 功能:将医嘱DTO(AdviceSaveDto)的属性映射到耗材请求实体,设置默认状态和业务编号 - * - * @param adviceDto 耗材医嘱DTO(含请求参数) - * @param curDate 当前操作时间 - * @return DeviceRequest 构建完成的耗材请求实体 - */ - private DeviceRequest buildDeviceRequest(AdviceSaveDto adviceDto, Date curDate) { - DeviceRequest deviceRequest = new DeviceRequest(); - - // 基础配置:主键、状态、业务编号 - deviceRequest.setId(adviceDto.getRequestId()); // 主键ID(新增为null,修改为已有ID) - deviceRequest.setStatusEnum(RequestStatus.ACTIVE.getValue()); // 划价时直接签发,状态为"激活" - // 按日生成业务编号:前缀+4位序列号(确保每日唯一) - deviceRequest.setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.DEVICE_RES_NO.getPrefix(), DEVICE_RES_NO_SEQ_LENGTH)); - deviceRequest.setGenerateSourceEnum(GenerateSource.DOCTOR_PRESCRIPTION.getValue()); // 生成来源:医生处方 - - // 业务属性映射:从DTO映射到实体 - deviceRequest.setQuantity(adviceDto.getQuantity()); // 请求数量 - deviceRequest.setUnitCode(adviceDto.getUnitCode()); // 单位编码 - deviceRequest.setLotNumber(adviceDto.getLotNumber()); // 产品批号 - deviceRequest.setCategoryEnum(adviceDto.getCategoryEnum()); // 请求类型(枚举) - deviceRequest.setDeviceDefId(adviceDto.getAdviceDefinitionId()); // 耗材定义ID - deviceRequest.setPatientId(adviceDto.getPatientId()); // 患者ID - deviceRequest.setRequesterId(adviceDto.getPractitionerId()); // 开方医生ID - deviceRequest.setOrgId(adviceDto.getFounderOrgId()); // 开方人科室ID - deviceRequest.setReqAuthoredTime(curDate); // 请求开始时间 - deviceRequest.setPerformLocation(adviceDto.getLocationId()); // 发放耗材房ID - deviceRequest.setEncounterId(adviceDto.getEncounterId()); // 就诊ID - deviceRequest.setPackageId(adviceDto.getPackageId()); // 组套ID - deviceRequest.setContentJson(adviceDto.getContentJson()); // 请求内容JSON(扩展信息) - deviceRequest.setYbClassEnum(adviceDto.getYbClassEnum()); // 医保类别编码 - deviceRequest.setConditionId(adviceDto.getConditionId()); // 诊断ID - deviceRequest.setEncounterDiagnosisId(adviceDto.getEncounterDiagnosisId()); // 就诊诊断ID - - return deviceRequest; - } - - /** - * 构建费用项对象(ChargeItem) - * 功能:关联耗材请求实体和医嘱DTO,映射费用相关属性,设置默认状态和业务编号 - * - * @param adviceDto 耗材医嘱DTO(含费用参数) - * @param deviceRequest 已保存的耗材请求实体(关联服务ID) - * @param curDate 当前操作时间 - * @return ChargeItem 构建完成的费用项实体 - */ - private ChargeItem buildChargeItem(AdviceSaveDto adviceDto, DeviceRequest deviceRequest,Date curDate) { - ChargeItem chargeItem = new ChargeItem(); - - // 基础配置:主键、状态、业务编号 - chargeItem.setId(adviceDto.getChargeItemId()); // 费用项ID(新增为null,修改为已有ID) - chargeItem.setStatusEnum(ChargeItemStatus.DRAFT.getValue()); // 初始状态:草稿(未收费) - // 业务编号:费用项前缀+耗材请求编号(确保与耗材请求一一关联) - chargeItem.setBusNo(CHARGE_ITEM_BUS_NO_PREFIX.concat(deviceRequest.getBusNo())); - chargeItem.setGenerateSourceEnum(GenerateSource.DOCTOR_PRESCRIPTION.getValue()); // 生成来源:医生处方 - - // 业务属性映射:患者、就诊、定价相关信息 - chargeItem.setPatientId(adviceDto.getPatientId()); // 患者ID - chargeItem.setContextEnum(adviceDto.getAdviceType()); // 费用类型(耗材) - chargeItem.setEncounterId(adviceDto.getEncounterId()); // 就诊ID - chargeItem.setDefinitionId(adviceDto.getDefinitionId()); // 费用定价ID - chargeItem.setDefDetailId(adviceDto.getDefinitionDetailId()); // 定价子表主键(明细定价) - chargeItem.setEntererId(adviceDto.getPractitionerId()); // 开立人ID(开方医生) - chargeItem.setRequestingOrgId(SecurityUtils.getLoginUser().getOrgId()); // 开立科室ID - chargeItem.setEnteredDate(curDate); // 开立时间 - chargeItem.setServiceTable(SERVICE_TABLE_DEVICE_REQUEST); // 医疗服务类型(关联耗材请求表) - chargeItem.setServiceId(deviceRequest.getId()); // 医疗服务ID(关联耗材请求ID) - chargeItem.setProductTable(SERVICE_TABLE_DEVICE_REQUEST);// 产品所在表(耗材表) - chargeItem.setProductId(adviceDto.getAdviceDefinitionId());// 产品ID(耗材定义ID) - chargeItem.setAccountId(adviceDto.getAccountId()); // 关联账户ID(患者账户) - chargeItem.setConditionId(adviceDto.getConditionId()); // 诊断ID - chargeItem.setEncounterDiagnosisId(adviceDto.getEncounterDiagnosisId()); // 就诊诊断ID - - // 费用核心属性:数量、单位、单价、总价 - chargeItem.setQuantityValue(adviceDto.getQuantity()); // 数量(与耗材请求一致) - chargeItem.setQuantityUnit(adviceDto.getUnitCode()); // 单位(与耗材请求一致) - chargeItem.setUnitPrice(adviceDto.getUnitPrice()); // 单价(从DTO传入,已定价) - chargeItem.setTotalPrice(adviceDto.getTotalPrice()); // 总价(数量×单价,DTO已计算) - - return chargeItem; - } - - /** - * 划价入参校验 - * 校验规则:1. 参数非空 2. 科室ID非空 3. 医嘱列表非空 4. 临时耗材库存校验 - * - * @param regAdviceSaveParam 划价请求参数 - * @return R 校验结果(成功返回R.ok(),失败返回R.fail()) - */ - private R checkNurseBillingParam(RegAdviceSaveParam regAdviceSaveParam) { - // 1. 整体参数非空校验 -======= // 3. 提取核心业务参数:住院科室ID(优先入参,无则取登录用户所属科室) Long organizationId = regAdviceSaveParam.getOrganizationId() == null ? loginUser.getOrgId() - : regAdviceSaveParam.getOrganizationId(); + : regAdviceSaveParam.getOrganizationId(); // 待处理医嘱列表(含耗材、诊疗活动两种类型) List allAdviceList = regAdviceSaveParam.getRegAdviceSaveList(); @@ -539,11 +188,12 @@ public class NurseBillingAppService implements INurseBillingAppService { } // 7. 划价成功:返回统一成功提示(通过国际化工具类拼接提示信息) - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"住院护士划价"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"住院护士划价"})); } /** - * 删除住院划价记录(核心实现) 流程:参数校验 → 分类筛选医嘱 → 已收费状态校验 → 级联删除关联数据 → 返回结果 事务特性:所有删除操作原子化,任一环节失败整体回滚 + * 删除住院划价记录(核心实现) 流程:参数校验 → 分类筛选医嘱 → 已收费状态校验 → 级联删除关联数据 → 返回结果 + * 事务特性:所有删除操作原子化,任一环节失败整体回滚 * * @return R 删除结果响应 */ @@ -556,15 +206,15 @@ public class NurseBillingAppService implements INurseBillingAppService { List activityRequestIds = Collections.emptyList(); if (paramList != null && !paramList.isEmpty()) { activityRequestIds = paramList.stream().filter(e -> e != null // 避免单个参数对象为null - && ItemType.ACTIVITY.getValue().equals(e.getAdviceType()) && e.getRequestId() != null) // 避免requestId为null(按需添加) - .map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); + && ItemType.ACTIVITY.getValue().equals(e.getAdviceType()) && e.getRequestId() != null) // 避免requestId为null(按需添加) + .map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); } // 耗材ids List deviceRequestIds = Collections.emptyList(); if (paramList != null && !paramList.isEmpty()) { deviceRequestIds = paramList.stream().filter(e -> e != null // 避免单个参数对象为null - && ItemType.DEVICE.getValue().equals(e.getAdviceType()) && e.getRequestId() != null) // 避免requestId为null(按需添加) - .map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); + && ItemType.DEVICE.getValue().equals(e.getAdviceType()) && e.getRequestId() != null) // 避免requestId为null(按需添加) + .map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); } this.handleDel(deviceRequestIds, SERVICE_TABLE_DEVICE); this.handleDel(activityRequestIds, SERVICE_TABLE_SERVICE); @@ -581,31 +231,31 @@ public class NurseBillingAppService implements INurseBillingAppService { */ @Override public R getInNurseBillingPage(InpatientAdviceParam inpatientAdviceParam, Integer pageNo, Integer pageSize, - LocalDateTime startTime, LocalDateTime endTime) { + LocalDateTime startTime, LocalDateTime endTime) { // 初始化查询参数 String encounterIds = inpatientAdviceParam.getEncounterIds(); inpatientAdviceParam.setEncounterIds(null); Integer exeStatus = inpatientAdviceParam.getExeStatus(); inpatientAdviceParam.setExeStatus(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(inpatientAdviceParam, null, null, null); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(inpatientAdviceParam, null, null, null); // 手动拼接住院患者id条件 if (encounterIds != null && !encounterIds.isEmpty()) { - List encounterIdList = - Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList(); + List encounterIdList + = Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList(); queryWrapper.in(CommonConstants.FieldName.EncounterId, encounterIdList); } // 患者医嘱分页列表 - Page inpatientAdvicePage = - nurseBillingAppMapper.getInNurseBillingPage(new Page<>(pageNo, pageSize), queryWrapper, - CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, - RequestStatus.DRAFT.getValue(), EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), - ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), - ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), - ChargeItemStatus.REFUNDED.getValue(), EncounterClass.IMP.getValue(), - GenerateSource.NURSE_PRICING.getValue(), startTime, endTime); + Page inpatientAdvicePage + = nurseBillingAppMapper.getInNurseBillingPage(new Page<>(pageNo, pageSize), queryWrapper, + CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, + RequestStatus.DRAFT.getValue(), EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), + ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode(), + ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), + ChargeItemStatus.REFUNDED.getValue(), EncounterClass.IMP.getValue(), + GenerateSource.NURSE_PRICING.getValue(), startTime, endTime); inpatientAdvicePage.getRecords().forEach(e -> { // 医嘱类型 e.setTherapyEnum_enumText(EnumUtils.getInfoByValue(TherapyTimeType.class, e.getTherapyEnum())); @@ -622,112 +272,47 @@ public class NurseBillingAppService implements INurseBillingAppService { } // ======================== 入参校验方法 ======================== - /** - * 划价入参校验(通用校验逻辑) 校验规则:1. 参数非空 2. 住院科室ID非空 3. 医嘱列表非空 4. 隐含库房校验(耗材类单独校验) 校验失败直接返回错误响应,不进入后续业务逻辑 + * 划价入参校验(通用校验逻辑) 校验规则:1. 参数非空 2. 住院科室ID非空 3. 医嘱列表非空 4. 隐含库房校验(耗材类单独校验) + * 校验失败直接返回错误响应,不进入后续业务逻辑 * * @param regAdviceSaveParam 划价请求参数体 * @return R 校验结果:成功返回R.ok(),失败返回R.fail(错误信息) */ private R checkNurseBillingParam(RegAdviceSaveParam regAdviceSaveParam) { // 1. 整体参数非空校验:请求体为null直接返回失败 ->>>>>>> v1.3 if (regAdviceSaveParam == null) { return R.fail("划价请求失败:未获取到有效请求数据,请重新提交"); } -<<<<<<< HEAD - // 2. 核心字段非空校验:患者住院科室ID -======= // 2. 核心字段非空校验:患者住院科室ID不能为空 ->>>>>>> v1.3 if (regAdviceSaveParam.getOrganizationId() == null) { return R.fail("划价请求失败:患者住院科室信息缺失,请确认患者科室后重试"); } -<<<<<<< HEAD - // 3. 医嘱列表非空校验 -======= // 3. 医嘱列表非空校验:必须选择至少一个待划价项目 ->>>>>>> v1.3 List adviceList = regAdviceSaveParam.getRegAdviceSaveList(); if (adviceList == null || adviceList.isEmpty()) { return R.fail("划价请求失败:未选择任何待划价项目,请添加医嘱后提交"); } -<<<<<<< HEAD - // 4. 临时耗材库存校验:仅校验非删除、非诊疗活动的临时医嘱 -======= // 4. 库存校验:临时注释(当前需求:划价不校验库存,实际发放时校验) // 若后续需要恢复库存校验,可解除以下注释 /* ->>>>>>> v1.3 List needCheckInventoryList = adviceList.stream() .filter(advice -> TherapyTimeType.TEMPORARY.getValue().equals(advice.getTherapyEnum()) && !DbOpType.DELETE.getCode().equals(advice.getDbOpType()) && !ItemType.ACTIVITY.getValue().equals(advice.getAdviceType())) .collect(Collectors.toList()); -<<<<<<< HEAD - - // 调用工具类校验库存,返回非null则表示库存不足 - String inventoryTip = adviceUtils.checkInventory(new ArrayList<>(needCheckInventoryList)); - if (inventoryTip != null) { - // 库存提示已包含具体耗材名称和短缺数量,直接拼接操作建议 - return R.fail("划价失败:" + inventoryTip + ",请联系库房确认库存或调整申请数量"); - } -======= String inventoryTip = adviceUtils.checkInventory(new ArrayList<>(needCheckInventoryList)); if (inventoryTip != null) { return R.fail("划价失败:" + inventoryTip + ",请联系库房确认库存或调整申请数量"); } - */ ->>>>>>> v1.3 - + */ // 所有校验通过 return R.ok(); } -<<<<<<< HEAD - - // ======================== 以下方法原代码未实现,保留接口方法签名 ======================== - - @Override - public R getBillingListByEncounterId() { - // 功能:根据就诊ID查询划价列表(待实现) - return null; - } - - @Override - public R deleteInNurseBilling() { - // 功能:删除住院划价记录(待实现) -// List deleteList - return null; - } - - @Override - public R addOrderBilling() { - // 功能:新增订单划价(待实现) - return null; - } - - @Override - public R deleteOrderBilling() { - // 功能:删除订单划价(待实现) - return null; - } - - @Override - public R updateOrderBilling() { - // 功能:修改订单划价(待实现) - return null; - } - - @Override - public R getOrderBillingByRequestId() { - // 功能:根据请求ID查询订单划价(待实现) - return null; - } -======= // ======================== 医嘱分类工具方法 ======================== /** @@ -738,7 +323,7 @@ public class NurseBillingAppService implements INurseBillingAppService { */ private List filterDeviceAdvice(List allAdviceList) { return allAdviceList.stream().filter(advice -> ItemType.DEVICE.getValue().equals(advice.getAdviceType())) - .collect(Collectors.toList()); + .collect(Collectors.toList()); } /** @@ -749,13 +334,13 @@ public class NurseBillingAppService implements INurseBillingAppService { */ private List filterActivityAdvice(List allAdviceList) { return allAdviceList.stream().filter(advice -> ItemType.ACTIVITY.getValue().equals(advice.getAdviceType())) - .collect(Collectors.toList()); + .collect(Collectors.toList()); } // ======================== 耗材类划价处理 ======================== - /** - * 处理耗材类医嘱划价(核心子流程) 流程:筛选临时耗材 → 校验发放库房 → 生成耗材请求 → 生成执行记录 → 生成耗材发放 → 生成费用项 特殊规则:临时耗材划价不校验库存、不预减库存(仅记录发放需求,实际发放时扣库) + * 处理耗材类医嘱划价(核心子流程) 流程:筛选临时耗材 → 校验发放库房 → 生成耗材请求 → 生成执行记录 → 生成耗材发放 → 生成费用项 + * 特殊规则:临时耗材划价不校验库存、不预减库存(仅记录发放需求,实际发放时扣库) * * @param deviceAdviceList 耗材类医嘱列表(已筛选) * @param signCode 全局签发编码(关联同一批次划价) @@ -763,7 +348,7 @@ public class NurseBillingAppService implements INurseBillingAppService { * @param curDate 当前操作时间(用于填充创建时间/执行时间) */ private void handleAddDeviceBilling(List deviceAdviceList, String signCode, Long organizationId, - Date curDate) { + Date curDate) { // 1. 筛选临时类型耗材:仅处理临时医嘱(TherapyTimeType.TEMPORARY),且请求ID不为空 List tempDeviceList = deviceAdviceList.stream().collect(Collectors.toList()); @@ -780,30 +365,30 @@ public class NurseBillingAppService implements INurseBillingAppService { // 3.2 生成医嘱执行记录(CLIN_PROCEDURE):记录执行状态、执行科室、执行时间等 Long procedureId = this.addProcedureRecord(deviceRequest.getEncounterId(), // 就诊ID - deviceRequest.getPatientId(), // 患者ID - deviceRequest.getId(), // 耗材请求ID(关联执行记录与请求) - SERVICE_TABLE_DEVICE, // 关联表名(耗材请求表) - EventStatus.COMPLETED, // 执行状态:已完成 - ProcedureCategory.INPATIENT_NURSE_ADVICE, // 执行种类:住院护士医嘱 - deviceRequest.getLocationId(), // 执行位置(发放库房) - curDate, null, null // 当前时间为执行时间,组号/取消ID为空 + deviceRequest.getPatientId(), // 患者ID + deviceRequest.getId(), // 耗材请求ID(关联执行记录与请求) + SERVICE_TABLE_DEVICE, // 关联表名(耗材请求表) + EventStatus.COMPLETED, // 执行状态:已完成 + ProcedureCategory.INPATIENT_NURSE_ADVICE, // 执行种类:住院护士医嘱 + deviceRequest.getLocationId(), // 执行位置(发放库房) + curDate, null, null // 当前时间为执行时间,组号/取消ID为空 ); // 3.3 生成耗材发放记录(WOR_DEVICE_DISPENSE):状态设为待发放,关联执行记录 Long dispenseId = iDeviceDispenseService.generateDeviceDispense(deviceRequest, procedureId, - deviceRequest.getLocationId(), curDate); + deviceRequest.getLocationId(), curDate); // 3.4 生成费用项记录(ADM_CHARGE_ITEM):关联耗材请求、发放记录、执行记录,状态设为待结算 ChargeItem chargeItem = buildChargeItem(adviceDto, deviceRequest.getBusNo(), deviceRequest.getId(), - SERVICE_TABLE_DEVICE, PRODUCT_TABLE_DEVICE, curDate, procedureId, dispenseId, WOR_DEVICE_DISPENSE); + SERVICE_TABLE_DEVICE, PRODUCT_TABLE_DEVICE, curDate, procedureId, dispenseId, WOR_DEVICE_DISPENSE); iChargeItemService.saveOrUpdate(chargeItem); } } // ======================== 诊疗活动类划价处理 ======================== - /** - * 处理诊疗活动类医嘱划价(核心子流程) 流程:生成服务请求 → 生成执行记录 → 生成费用项 → 处理诊疗子项(如有) 特殊规则:诊疗活动可能包含子项(如套餐类活动),需递归处理子项划价 + * 处理诊疗活动类医嘱划价(核心子流程) 流程:生成服务请求 → 生成执行记录 → 生成费用项 → 处理诊疗子项(如有) + * 特殊规则:诊疗活动可能包含子项(如套餐类活动),需递归处理子项划价 * * @param activityAdviceList 诊疗活动类医嘱列表(已筛选) * @param signCode 全局签发编码(关联同一批次划价) @@ -813,27 +398,27 @@ public class NurseBillingAppService implements INurseBillingAppService { * @param authoredTime 医嘱签发时间 */ private void handleAddActivityBilling(List activityAdviceList, String signCode, - Long organizationId, Date curDate, Date startTime, Date authoredTime) { + Long organizationId, Date curDate, Date startTime, Date authoredTime) { // 循环处理每个诊疗活动医嘱 for (AdviceSaveDto adviceDto : activityAdviceList) { // 1. 生成诊疗活动请求记录(WOR_SERVICE_REQUEST):状态设为激活,来源标记为护士划价 - ServiceRequest serviceRequest = - this.buildActivityRequest(adviceDto, signCode, organizationId, curDate, startTime, authoredTime); + ServiceRequest serviceRequest + = this.buildActivityRequest(adviceDto, signCode, organizationId, curDate, startTime, authoredTime); // 2. 生成医嘱执行记录(CLIN_PROCEDURE):关联服务请求,记录执行状态 Long procedureId = this.addProcedureRecord(serviceRequest.getEncounterId(), // 就诊ID - serviceRequest.getPatientId(), // 患者ID - serviceRequest.getId(), // 服务请求ID(关联执行记录与请求) - SERVICE_TABLE_SERVICE, // 关联表名(服务请求表) - EventStatus.COMPLETED, // 执行状态:已完成 - ProcedureCategory.INPATIENT_NURSE_ADVICE, // 执行种类:住院护士医嘱 - serviceRequest.getLocationId(), // 执行位置(执行科室) - curDate, null, null // 当前时间为执行时间,组号/取消ID为空 + serviceRequest.getPatientId(), // 患者ID + serviceRequest.getId(), // 服务请求ID(关联执行记录与请求) + SERVICE_TABLE_SERVICE, // 关联表名(服务请求表) + EventStatus.COMPLETED, // 执行状态:已完成 + ProcedureCategory.INPATIENT_NURSE_ADVICE, // 执行种类:住院护士医嘱 + serviceRequest.getLocationId(), // 执行位置(执行科室) + curDate, null, null // 当前时间为执行时间,组号/取消ID为空 ); // 3. 生成费用项记录(ADM_CHARGE_ITEM):关联服务请求、执行记录,状态设为待结算 ChargeItem chargeItem = buildChargeItem(adviceDto, serviceRequest.getBusNo(), serviceRequest.getId(), - SERVICE_TABLE_SERVICE, PRODUCT_TABLE_ACTIVITY, curDate, procedureId, null, null); + SERVICE_TABLE_SERVICE, PRODUCT_TABLE_ACTIVITY, curDate, procedureId, null, null); iChargeItemService.saveOrUpdate(chargeItem); // 4. 处理诊疗子项(如活动包含子项配置,递归生成子项的划价数据) @@ -842,7 +427,6 @@ public class NurseBillingAppService implements INurseBillingAppService { } // ======================== 执行记录工具方法 ======================== - /** * 生成医嘱执行记录(通用方法,支持耗材/诊疗活动两种类型) 功能:调用执行记录服务,创建CLIN_PROCEDURE表记录,关联请求数据与执行信息 * @@ -859,15 +443,14 @@ public class NurseBillingAppService implements INurseBillingAppService { * @return Long 执行记录ID(CLIN_PROCEDURE表主键) */ private Long addProcedureRecord(Long encounterId, Long patientId, Long requestId, String requestTable, - EventStatus eventStatus, ProcedureCategory procedureCategory, Long locationId, Date exeDate, Long groupId, - Long refundId) { + EventStatus eventStatus, ProcedureCategory procedureCategory, Long locationId, Date exeDate, Long groupId, + Long refundId) { // 调用执行记录服务创建记录,返回执行记录主键ID return iProcedureService.addProcedureRecord(encounterId, patientId, requestId, requestTable, eventStatus, - procedureCategory, locationId, exeDate, exeDate, groupId, refundId); + procedureCategory, locationId, exeDate, exeDate, groupId, refundId); } // ======================== 实体构建工具方法(请求/费用项)======================== - /** * 构建耗材请求实体(DeviceRequest) 功能:将医嘱DTO参数映射为耗材请求实体,填充默认配置(状态、业务编号、来源等) * @@ -883,7 +466,7 @@ public class NurseBillingAppService implements INurseBillingAppService { deviceRequest.setId(adviceDto.getRequestId()); // 业务编号:按日生成,前缀+4位序列号(确保每日唯一) deviceRequest - .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.DEVICE_RES_NO.getPrefix(), DEVICE_RES_NO_SEQ_LENGTH)); + .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.DEVICE_RES_NO.getPrefix(), DEVICE_RES_NO_SEQ_LENGTH)); // deviceRequest.setPrescriptionNo(null);//处方号 // deviceRequest.setActivityId(null);//诊疗ID // deviceRequest.setPackageId(null);//组套id @@ -900,9 +483,9 @@ public class NurseBillingAppService implements INurseBillingAppService { deviceRequest.setDeviceDefId(adviceDto.getAdviceDefinitionId()); // 耗材定义ID(关联ADM_DEVICE_DEFINITION) // deviceRequest.setDeviceSpecifications(null)//器材规格 deviceRequest.setRequesterId( - adviceDto.getPractitionerId() == null ? loginUser.getPractitionerId() : adviceDto.getPractitionerId());// 请求发起人 + adviceDto.getPractitionerId() == null ? loginUser.getPractitionerId() : adviceDto.getPractitionerId());// 请求发起人 deviceRequest - .setOrgId(adviceDto.getFounderOrgId() == null ? loginUser.getOrgId() : adviceDto.getFounderOrgId());// 请求发起的科室 + .setOrgId(adviceDto.getFounderOrgId() == null ? loginUser.getOrgId() : adviceDto.getFounderOrgId());// 请求发起的科室 deviceRequest.setLocationId(adviceDto.getLocationId());// 默认器材房 deviceRequest.setPerformLocation(adviceDto.getLocationId()); // 发放库房ID(关联耗材发放位置) deviceRequest.setEncounterId(adviceDto.getEncounterId()); // 就诊ID(关联患者本次住院记录) @@ -946,7 +529,7 @@ public class NurseBillingAppService implements INurseBillingAppService { * @return ServiceRequest 构建完成的诊疗活动请求实体(已保存到数据库) */ private ServiceRequest buildActivityRequest(AdviceSaveDto activityDto, String signCode, Long organizationId, - Date curDate, Date startTime, Date authoredTime) { + Date curDate, Date startTime, Date authoredTime) { ServiceRequest serviceRequest = new ServiceRequest(); // 基础配置:主键、状态、业务编号、签发编码 @@ -989,7 +572,7 @@ public class NurseBillingAppService implements INurseBillingAppService { * @param organizationId 住院科室ID */ private void buidActivityRequestChild(ServiceRequest serviceRequest, Long chargeItemId, AdviceSaveDto activityDto, - Long organizationId) { + Long organizationId) { // 1. 查询诊疗活动定义信息(获取子项配置JSON) ActivityDefinition activityDefinition = iActivityDefinitionService.getById(activityDto.getAdviceDefinitionId()); String childrenJson = activityDefinition.getChildrenJson(); @@ -1011,7 +594,8 @@ public class NurseBillingAppService implements INurseBillingAppService { } /** - * 构建费用项实体(ChargeItem) 功能:关联请求记录(耗材/诊疗)与费用信息,生成待结算的费用项(ADM_CHARGE_ITEM表) 通用性:支持耗材、诊疗活动两种类型的费用项构建 + * 构建费用项实体(ChargeItem) 功能:关联请求记录(耗材/诊疗)与费用信息,生成待结算的费用项(ADM_CHARGE_ITEM表) + * 通用性:支持耗材、诊疗活动两种类型的费用项构建 * * @param adviceDto 医嘱DTO(含费用相关参数:单价、总价等) * @param requestBusNo 关联请求的业务编号(耗材/服务请求的busNo) @@ -1025,8 +609,8 @@ public class NurseBillingAppService implements INurseBillingAppService { * @return ChargeItem 构建完成的费用项实体(可直接保存) */ private ChargeItem buildChargeItem(AdviceSaveDto adviceDto, String requestBusNo, Long requestId, - String serviceTable, String productTable, Date curDate, Long procedureId, Long dispenseId, - String dispenseTable) { + String serviceTable, String productTable, Date curDate, Long procedureId, Long dispenseId, + String dispenseTable) { ChargeItem chargeItem = new ChargeItem(); // TODO1、是否需跨批次 2、金额 精确到小数点后6位 、数量 计算 // 基础配置:主键、状态、业务编号 @@ -1066,9 +650,9 @@ public class NurseBillingAppService implements INurseBillingAppService { } // ======================== 耗材删除相关方法 ======================== - /** - * 处理耗材删除逻辑(级联删除关联数据) 核心规则:已收费的耗材项目不允许删除,未收费项目级联删除关联数据 级联删除顺序:耗材请求表 → 耗材发放表 → 费用项表 + * 处理耗材删除逻辑(级联删除关联数据) 核心规则:已收费的耗材项目不允许删除,未收费项目级联删除关联数据 级联删除顺序:耗材请求表 → 耗材发放表 + * → 费用项表 * * @param requestIds 待删除的耗材医嘱列表(可为null) * @param serviceTable 关联服务表名(此处为耗材请求表) @@ -1083,8 +667,8 @@ public class NurseBillingAppService implements INurseBillingAppService { // 软删除执行记录 List procedureList = iProcedureService.listByIds(requestIds); List procedureIds = procedureList.stream().filter(Objects::nonNull) // 过滤掉null的Procedure对象 - .map(Procedure::getId).filter(Objects::nonNull) // 过滤掉id为null的记录(按需添加) - .collect(Collectors.toList()); + .map(Procedure::getId).filter(Objects::nonNull) // 过滤掉id为null的记录(按需添加) + .collect(Collectors.toList()); // 批量删除执行记录 iProcedureService.removeBatchByIds(procedureIds); @@ -1123,15 +707,14 @@ public class NurseBillingAppService implements INurseBillingAppService { } // 2. 校验是否存在已收费项(状态为BILLED) - boolean hasBilledItem = - chargeItemList.stream().anyMatch(ci -> ChargeItemStatus.BILLED.getValue().equals(ci.getStatusEnum())); + boolean hasBilledItem + = chargeItemList.stream().anyMatch(ci -> ChargeItemStatus.BILLED.getValue().equals(ci.getStatusEnum())); if (hasBilledItem) { throw new ServiceException("删除失败:部分项目已完成收费(结算),不支持直接删除,请联系收费人员处理后重试"); } } // ======================== 未实现接口方法(保留签名,待扩展)======================== - /** * 新增订单划价(待实现) 功能:针对订单类型的划价(如患者自主购买耗材/服务),生成对应的费用项 * @@ -1174,19 +757,19 @@ public class NurseBillingAppService implements INurseBillingAppService { */ @Override public R> getCostDetails(CostDetailSearchParam costDetailSearchParam, - HttpServletRequest request) { + HttpServletRequest request) { List encounterIds = costDetailSearchParam.getEncounterIds(); if (encounterIds == null || encounterIds.isEmpty()) { return R.fail("就诊ID不能为空"); } costDetailSearchParam.setEncounterIds(null); - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(costDetailSearchParam, null, null, request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(costDetailSearchParam, null, null, request); queryWrapper.in(CommonConstants.FieldName.EncounterId, encounterIds); List list = iChargeItemService.getCostDetails(queryWrapper, ChargeItemStatus.BILLABLE.getValue(), - ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDED.getValue(), - EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), - ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode()); + ChargeItemStatus.BILLED.getValue(), ChargeItemStatus.REFUNDED.getValue(), + EncounterActivityStatus.ACTIVE.getValue(), LocationForm.BED.getValue(), + ParticipantType.ADMITTING_DOCTOR.getCode(), AccountType.PERSONAL_CASH_ACCOUNT.getCode()); return R.ok(list); } @@ -1198,7 +781,7 @@ public class NurseBillingAppService implements INurseBillingAppService { */ @Override public void makeExcelFile(CostDetailSearchParam costDetailSearchParam, HttpServletRequest request, - HttpServletResponse response) { + HttpServletResponse response) { R> costDetails = getCostDetails(costDetailSearchParam, request); if (costDetails.getData() != null) { List dataList = costDetails.getData(); @@ -1208,16 +791,16 @@ public class NurseBillingAppService implements INurseBillingAppService { costDetailDto.setOrgName(organizationService.getById(orgId).getName()); }); // 根据EncounterId分组 - Map> map = - dataList.stream().collect(Collectors.groupingBy(CostDetailDto::getEncounterId)); + Map> map + = dataList.stream().collect(Collectors.groupingBy(CostDetailDto::getEncounterId)); map.forEach((key, value) -> { // 新加一条小计 value.add(new CostDetailDto().setEncounterId(key).setChargeName("小计").setTotalPrice( - value.stream().map(CostDetailDto::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add))); + value.stream().map(CostDetailDto::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add))); }); // 收集要导出的数据 - List excelOutList = - map.entrySet().stream().map(entry -> new CostDetailExcelOutDto(entry.getKey(), entry.getValue(), + List excelOutList + = map.entrySet().stream().map(entry -> new CostDetailExcelOutDto(entry.getKey(), entry.getValue(), entry.getValue().get(0).getPatientName())).toList(); try { // 住院记账-费用明细 导出 @@ -1229,5 +812,4 @@ public class NurseBillingAppService implements INurseBillingAppService { } } ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/OrgDeviceStockTakeAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/OrgDeviceStockTakeAppServiceImpl.java index c9f0bc99..e76395ae 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/OrgDeviceStockTakeAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/OrgDeviceStockTakeAppServiceImpl.java @@ -8,26 +8,16 @@ import com.core.common.utils.AssignSeqUtil; import com.core.common.utils.DateUtils; import com.core.common.utils.SecurityUtils; import com.openhis.common.constant.CommonConstants; -<<<<<<< HEAD -import com.openhis.common.enums.AssignSeqEnum; -import com.openhis.common.enums.PublicationStatus; -import com.openhis.common.utils.HisQueryUtils; -======= import com.openhis.common.enums.*; import com.openhis.common.utils.HisQueryUtils; import com.openhis.web.common.appservice.impl.CommonServiceImpl; import com.openhis.web.common.dto.LocationDto; ->>>>>>> v1.3 import com.openhis.web.common.dto.UnitDto; import com.openhis.web.inhospitalnursestation.appservice.IOrgDeviceStockTakeAppService; import com.openhis.web.inhospitalnursestation.dto.OrgDeviceDto; import com.openhis.web.inhospitalnursestation.dto.OrgDeviceSummaryFromDto; import com.openhis.web.inhospitalnursestation.dto.OrgDeviceSummaryParam; import com.openhis.web.inhospitalnursestation.mapper.OrgDeviceStockTakeAppMapper; -<<<<<<< HEAD -import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper; -======= ->>>>>>> v1.3 import com.openhis.workflow.domain.InventoryItem; import com.openhis.workflow.mapper.InventoryItemMapper; import com.openhis.workflow.service.IDeviceDispenseService; @@ -39,10 +29,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; -<<<<<<< HEAD -import java.time.LocalDate; -======= ->>>>>>> v1.3 import java.util.*; import java.util.stream.Collectors; @@ -76,8 +62,6 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS @Resource private InventoryItemMapper inventoryItemMapper; -<<<<<<< HEAD -======= @Resource private CommonServiceImpl commonService; @@ -92,16 +76,10 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS return R.ok(inventoryPharmacyList); } ->>>>>>> v1.3 /** * 查询科室耗材汇总 * * @param orgDeviceSummaryParam 查询条件 -<<<<<<< HEAD - * @param startTime 开始时间 - * @param endTime 结束时间 -======= ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 @@ -109,115 +87,24 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS * @return 科室耗材汇总单 */ @Override -<<<<<<< HEAD - public R getOrgDeviceSummaryFromPage(OrgDeviceSummaryParam orgDeviceSummaryParam, String startTime, - String endTime, Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { -======= public R getOrgDeviceSummaryFromPage(OrgDeviceSummaryParam orgDeviceSummaryParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { ->>>>>>> v1.3 + Integer pageSize, String searchKey, HttpServletRequest request) { pageSize = Integer.MAX_VALUE; QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(orgDeviceSummaryParam, searchKey, - new HashSet<>(List.of(CommonConstants.FieldName.ItemName)), request); -<<<<<<< HEAD - if (!(startTime == null || endTime == null)) { - queryWrapper.between(CommonConstants.FieldName.ApplyTime, LocalDate.parse(startTime), - LocalDate.parse(endTime)); - } + new HashSet<>(List.of(CommonConstants.FieldName.ItemName)), request); - Page orgDeviceDtoPage = - orgDeviceStockTakeAppMapper.selectOrgDeviceInfo(new Page<>(pageNo, pageSize), queryWrapper); - - List orgDeviceList = - new ArrayList<>(orgDeviceDtoPage.getRecords()).stream().filter(x -> x.getDispenseId() != null).toList(); - -======= - - Page orgDeviceDtoPage = - orgDeviceStockTakeAppMapper.selectOrgDeviceInfo(new Page<>(pageNo, pageSize), queryWrapper, - EncounterClass.IMP.getValue(), RequestStatus.COMPLETED.getValue(), - DispenseStatus.PREPARATION.getValue(), ChargeItemStatus.BILLABLE.getValue()); + Page orgDeviceDtoPage + = orgDeviceStockTakeAppMapper.selectOrgDeviceInfo(new Page<>(pageNo, pageSize), queryWrapper, + EncounterClass.IMP.getValue(), RequestStatus.COMPLETED.getValue(), + DispenseStatus.PREPARATION.getValue(), ChargeItemStatus.BILLABLE.getValue()); List orgDeviceList = new ArrayList<>(orgDeviceDtoPage.getRecords()); ->>>>>>> v1.3 // 根据项目id + 批次号 + 库房号分组 - Map> orgDeviceGroupBy = - orgDeviceList.stream().collect(Collectors.groupingBy(item -> item.getItemId() + CommonConstants.Common.DASH + Map> orgDeviceGroupBy + = orgDeviceList.stream().collect(Collectors.groupingBy(item -> item.getItemId() + CommonConstants.Common.DASH + item.getLotNumber() + CommonConstants.Common.DASH + item.getSourceLocationId())); -<<<<<<< HEAD - ArrayList orgDeviceSummaryFromDtoList = new ArrayList<>(); - - orgDeviceGroupBy.forEach((k, v) -> { - OrgDeviceSummaryFromDto orgDeviceSummaryFromDto = new OrgDeviceSummaryFromDto(); - - String itemId = k.split(CommonConstants.Common.DASH)[0]; - String lotNumber = k.split(CommonConstants.Common.DASH)[1]; - String sourceLocationId = k.split(CommonConstants.Common.DASH)[2]; - - OrgDeviceDto orgDeviceDtoFirst = v.get(0); - // 拆零比例 - BigDecimal partPercent = orgDeviceDtoFirst.getPartPercent(); - // 最小单位 - String minUnitCode = orgDeviceDtoFirst.getMinUnitCode(); - // 常规单位 - String unitCode = orgDeviceDtoFirst.getMaxUnitCode(); - if (minUnitCode == null || unitCode == null || partPercent == null) { - throw new ServiceException("耗材信息有误,请联系管理员"); - } - - List dispenseIdList = new ArrayList<>(); - - // 最小单位数量 - BigDecimal minQuantity = BigDecimal.ZERO; - for (OrgDeviceDto orgDeviceDto : v) { - BigDecimal quantity = orgDeviceDto.getQuantity(); - if (unitCode.equals(orgDeviceDto.getUnitCode())) { - // 转换为小单位进行累加 - quantity = orgDeviceDto.getQuantity().multiply(partPercent); - } - minQuantity = minQuantity.add(quantity); - dispenseIdList.add(orgDeviceDto.getDispenseId()); - } - - List unitList = new ArrayList<>(); - UnitDto unitDto = new UnitDto(); - // 单位列表 - unitDto.setUnitCode(orgDeviceDtoFirst.getUnitCode()).setMinUnitCode(minUnitCode); - unitList.add(unitDto); - - orgDeviceSummaryFromDto.setItemId(Long.valueOf(itemId)) // 器材id - .setName(orgDeviceDtoFirst.getItemName()) // 器材名称 - .setTotalVolume(orgDeviceDtoFirst.getTotalVolume()) // 规格 - .setManufacturer(orgDeviceDtoFirst.getManufacturer()) // 厂家 - .setLotNumber(lotNumber) // 批号 - .setUnitPrice(orgDeviceDtoFirst.getUnitPrice()) // 单价 - .setDispenseQuantity(minQuantity) // 发放数量 - .setUnitCode(orgDeviceDtoFirst.getUnitCode()) // 单位 - .setMinUnitCode(minUnitCode) // 最小单位 - .setPartPercent(partPercent) // 拆零比 - .setUnitCode_dictText(orgDeviceDtoFirst.getUnitCode_dictText()) // 单位文字 - .setSourceLocationId(Long.valueOf(sourceLocationId)) // 发放地点 - .setDispenseIdList(dispenseIdList) // 发放id列表 - .setUnitList(unitList); // 单位列表 - - orgDeviceSummaryFromDtoList.add(orgDeviceSummaryFromDto); - }); - - List itemIdList = orgDeviceSummaryFromDtoList.stream().map(OrgDeviceSummaryFromDto::getItemId).toList(); - List inventoryItemList = inventoryItemService.selectInventoryByItemIdList(itemIdList, 1); - for (InventoryItem inventoryItem : inventoryItemList) - for (OrgDeviceSummaryFromDto orgDeviceSummaryFromDto : orgDeviceSummaryFromDtoList) - if (orgDeviceSummaryFromDto.getItemId().equals(inventoryItem.getItemId()) - && orgDeviceSummaryFromDto.getLotNumber().equals(inventoryItem.getLotNumber()) - && orgDeviceSummaryFromDto.getSourceLocationId().equals(inventoryItem.getLocationId())) { - // 库存数量 - orgDeviceSummaryFromDto.setQuantity(inventoryItem.getQuantity()); - // 库存id - orgDeviceSummaryFromDto.setInventoryItemId(inventoryItem.getId()); - } -======= List orgDeviceSummaryFromDtoList = new ArrayList<>(); // 对分组后的数量进行汇总 @@ -268,19 +155,19 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS unitList.add(unitDto); orgDeviceSummaryFromDto.setItemId(Long.valueOf(itemId)) // 器材id - .setName(orgDeviceDtoFirst.getItemName()) // 器材名称 - .setTotalVolume(orgDeviceDtoFirst.getTotalVolume()) // 规格 - .setManufacturer(orgDeviceDtoFirst.getManufacturer()) // 厂家 - .setLotNumber(lotNumber) // 批号 - .setUnitPrice(orgDeviceDtoFirst.getUnitPrice()) // 单价 - .setDispenseQuantity(minQuantity) // 发放数量 - .setUnitCode(orgDeviceDtoFirst.getUnitCode()) // 单位 - .setMinUnitCode(minUnitCode) // 最小单位 - .setPartPercent(partPercent) // 拆零比 - .setUnitCode_dictText(orgDeviceDtoFirst.getUnitCode_dictText()) // 单位文字 - .setSourceLocationId(Long.valueOf(sourceLocationId)) // 发放地点 - .setDispenseIdList(dispenseIdList) // 发放id列表 - .setUnitList(unitList); // 单位列表 + .setName(orgDeviceDtoFirst.getItemName()) // 器材名称 + .setTotalVolume(orgDeviceDtoFirst.getTotalVolume()) // 规格 + .setManufacturer(orgDeviceDtoFirst.getManufacturer()) // 厂家 + .setLotNumber(lotNumber) // 批号 + .setUnitPrice(orgDeviceDtoFirst.getUnitPrice()) // 单价 + .setDispenseQuantity(minQuantity) // 发放数量 + .setUnitCode(orgDeviceDtoFirst.getUnitCode()) // 单位 + .setMinUnitCode(minUnitCode) // 最小单位 + .setPartPercent(partPercent) // 拆零比 + .setUnitCode_dictText(orgDeviceDtoFirst.getUnitCode_dictText()) // 单位文字 + .setSourceLocationId(Long.valueOf(sourceLocationId)) // 发放地点 + .setDispenseIdList(dispenseIdList) // 发放id列表 + .setUnitList(unitList); // 单位列表 orgDeviceSummaryFromDtoList.add(orgDeviceSummaryFromDto); } @@ -290,19 +177,20 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS List itemIdList = orgDeviceSummaryFromDtoList.stream().map(OrgDeviceSummaryFromDto::getItemId).toList(); if (!itemIdList.isEmpty()) { List inventoryItemList = inventoryItemService.selectInventoryByItemIdList(itemIdList, - SecurityUtils.getLoginUser().getTenantId()); - for (InventoryItem inventoryItem : inventoryItemList) - for (OrgDeviceSummaryFromDto orgDeviceSummaryFromDto : orgDeviceSummaryFromDtoList) + SecurityUtils.getLoginUser().getTenantId()); + for (InventoryItem inventoryItem : inventoryItemList) { + for (OrgDeviceSummaryFromDto orgDeviceSummaryFromDto : orgDeviceSummaryFromDtoList) { if (orgDeviceSummaryFromDto.getItemId().equals(inventoryItem.getItemId()) - && orgDeviceSummaryFromDto.getLotNumber().equals(inventoryItem.getLotNumber()) - && orgDeviceSummaryFromDto.getSourceLocationId().equals(inventoryItem.getLocationId())) { + && orgDeviceSummaryFromDto.getLotNumber().equals(inventoryItem.getLotNumber()) + && orgDeviceSummaryFromDto.getSourceLocationId().equals(inventoryItem.getLocationId())) { // 库存数量 orgDeviceSummaryFromDto.setQuantity(inventoryItem.getQuantity()); // 库存id orgDeviceSummaryFromDto.setInventoryItemId(inventoryItem.getId()); } + } + } } ->>>>>>> v1.3 return R.ok(orgDeviceSummaryFromDtoList); } @@ -313,77 +201,11 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS * @return 科室耗材汇总单 */ @Override -<<<<<<< HEAD - public R orgDeviceSummary(OrgDeviceSummaryParam orgDeviceSummaryParam) { -======= public R orgDeviceSummary(List orgDeviceSummaryParamList) { ->>>>>>> v1.3 // 申请时间 Date now = DateUtils.getNowDate(); // 申请人 Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); -<<<<<<< HEAD - // 汇总单据号 - String busNo = assignSeqUtil.getSeqByDay(AssignSeqEnum.DEVICE_SUMMARY_NO.getPrefix(), 4); - - // 数量 - BigDecimal stockTakeQuantity = orgDeviceSummaryParam.getStockTakeQuantity(); - // 使用单位 - String useUnitCode = orgDeviceSummaryParam.getUseUnitCode(); - // 最小单位 - String minUnitCode = orgDeviceSummaryParam.getMinUnitCode(); - // 拆零比 - BigDecimal partPercent = orgDeviceSummaryParam.getPartPercent(); - // 发放id列表 - List dispenseIdList = orgDeviceSummaryParam.getDispenseIdList(); - - if (orgDeviceSummaryParam.getInventoryItemId() == null) { - return R.ok("未匹配到库存"); - } - List inventoryItemList = new ArrayList<>(); - // 获取库存信息 - InventoryItem inventoryItem = inventoryItemMapper.selectById(orgDeviceSummaryParam.getInventoryItemId()); - if (inventoryItem != null) { - if (PublicationStatus.ACTIVE.getValue().equals(inventoryItem.getInventoryStatusEnum())) { - // 库存数量判定 - if (useUnitCode.equals(inventoryItem.getUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = inventoryItem.getQuantity().subtract(stockTakeQuantity); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail("当前库存数量不足"); - } else { - inventoryItem.setQuantity(quantity); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = inventoryItem.getQuantity().subtract(partPercent.multiply(stockTakeQuantity)); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail("当前库存数量不足"); - } else { - inventoryItem.setQuantity(quantity); - } - } - inventoryItemList.add(inventoryItem); - } - // 库存更新 - inventoryItemService.updateBatchById(inventoryItemList); - // 添加汇总单 - Long supplyRequestId = supplyRequestService.createDeviceSummarySupplyRequest( - orgDeviceSummaryParam.getItemId(), orgDeviceSummaryParam.getSourceLocationId(), - orgDeviceSummaryParam.getLotNumber(), stockTakeQuantity, minUnitCode, practitionerId, now, busNo); - supplyDeliveryService.createDeviceSummarySupplyDelivery(orgDeviceSummaryParam.getItemId(), - orgDeviceSummaryParam.getLotNumber(), stockTakeQuantity, minUnitCode, supplyRequestId); - - // 耗材发放状态更新 - deviceDispenseService.updateDispenseStatusSummarized(dispenseIdList, busNo); - return R.ok("盘点成功"); - } - return R.fail("未找到对应库存数据"); -======= for (OrgDeviceSummaryParam orgDeviceSummaryParam : orgDeviceSummaryParamList) { // 汇总单据号 @@ -424,8 +246,8 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS } } else { // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = - inventoryItem.getQuantity().subtract(partPercent.multiply(stockTakeQuantity)); + BigDecimal quantity + = inventoryItem.getQuantity().subtract(partPercent.multiply(stockTakeQuantity)); // 库存数量判定 if (quantity.compareTo(BigDecimal.ZERO) < 0) { // 库存数量不足 @@ -441,10 +263,10 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS // 添加汇总单 Long supplyRequestId = supplyRequestService.createDeviceSummarySupplyRequest( - orgDeviceSummaryParam.getItemId(), orgDeviceSummaryParam.getSourceLocationId(), - orgDeviceSummaryParam.getLotNumber(), stockTakeQuantity, minUnitCode, practitionerId, now, busNo); + orgDeviceSummaryParam.getItemId(), orgDeviceSummaryParam.getSourceLocationId(), + orgDeviceSummaryParam.getLotNumber(), stockTakeQuantity, minUnitCode, practitionerId, now, busNo); supplyDeliveryService.createDeviceSummarySupplyDelivery(orgDeviceSummaryParam.getItemId(), - orgDeviceSummaryParam.getLotNumber(), stockTakeQuantity, minUnitCode, supplyRequestId); + orgDeviceSummaryParam.getLotNumber(), stockTakeQuantity, minUnitCode, supplyRequestId); // 库存更新 inventoryItemService.updateBatchById(inventoryItemList); @@ -452,7 +274,6 @@ public class OrgDeviceStockTakeAppServiceImpl implements IOrgDeviceStockTakeAppS return R.fail("未查询到" + orgDeviceSummaryParam.getName() + "对应库存数据"); } return R.ok("盘点成功"); ->>>>>>> v1.3 } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/ATDManageController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/ATDManageController.java index df9cf9f0..677d0547 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/ATDManageController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/ATDManageController.java @@ -54,9 +54,9 @@ public class ATDManageController { */ @GetMapping(value = "/admission-patient") public R getAdmissionPatientPage(AdmissionPageParam admissionPageParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return atdManageAppService.getAdmissionPatientPage(admissionPageParam, pageNo, pageSize, searchKey, request); } @@ -70,8 +70,8 @@ public class ATDManageController { */ @GetMapping(value = "/admission-bed") public R getAdmissionBedPage(AdmissionPageParam admissionPageParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { return atdManageAppService.getAdmissionBedPage(admissionPageParam, pageNo, pageSize); } @@ -88,16 +88,7 @@ public class ATDManageController { /** * 住院患者待处理信息列表 -<<<<<<< HEAD * - * @param encounterId 住院id - * @return 待处理信息列表 - */ - @GetMapping(value = "/patient-pending") - public R getInPatientPendingList(Long encounterId) { - return atdManageAppService.getInPatientPendingList(encounterId); -======= - * * @param inpatientAdviceParam 查询条件 * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -105,10 +96,9 @@ public class ATDManageController { */ @GetMapping(value = "/patient-pending") public R getInPatientPendingList(InpatientAdviceParam inpatientAdviceParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { return atdManageAppService.getInPatientPendingList(inpatientAdviceParam, pageNo, pageSize); ->>>>>>> v1.3 } /** @@ -125,11 +115,7 @@ public class ATDManageController { /** * 转科 * -<<<<<<< HEAD - * @param encounterId 住院id -======= * @param encounterId 住院患者id ->>>>>>> v1.3 * @return 结果 */ @PutMapping(value = "/transfer-department") @@ -140,19 +126,13 @@ public class ATDManageController { /** * 出院 * -<<<<<<< HEAD - * @param encounterId 住院id -======= * @param encounterId 住院患者id ->>>>>>> v1.3 * @return 结果 */ @PutMapping(value = "/hospital-discharge") public R hospitalDischarge(Long encounterId) { return atdManageAppService.hospitalDischarge(encounterId); } -<<<<<<< HEAD -======= /** * 清床 @@ -167,10 +147,11 @@ public class ATDManageController { /** * 诊断个人账户金额信息获取 - * + * * @param encounterId 诊断id * @return EncounterAccountDto 诊断账户金额 - **/ + * + */ @GetMapping(value = "/get-amount") public R getAmount(Long encounterId) { return atdManageAppService.getAmount(encounterId); @@ -178,13 +159,13 @@ public class ATDManageController { /** * 获取待配/退药 - * + * * @param encounterId 诊断id * @return PendingMedicationDto 待配/退药 - **/ + * + */ @GetMapping(value = "/get-dr-medication") public R getPendingMedication(Long encounterId) { return atdManageAppService.getPendingMedication(encounterId); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/MedicineSummaryController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/MedicineSummaryController.java index a8e2b66d..b27e89af 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/MedicineSummaryController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/MedicineSummaryController.java @@ -31,26 +31,6 @@ public class MedicineSummaryController { public IMedicineSummaryAppService medicineSummaryAppService; /** -<<<<<<< HEAD - * 查询发药单信息 - * - * @param dispenseFormSearchParam 查询条件 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求 - * @return 发药单信息 - */ - @GetMapping(value = "/dispensing-form") - public R getMedicineDispenseFormPage(DispenseFormSearchParam dispenseFormSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { - return medicineSummaryAppService.getMedicineDispenseFormPage(dispenseFormSearchParam, pageNo, pageSize, - request); - } - - /** - * 查询药品汇总单 -======= * 药品汇总单初始化 * * @return 初始化信息 @@ -62,41 +42,19 @@ public class MedicineSummaryController { /** * 查询发药单信息 ->>>>>>> v1.3 * * @param dispenseFormSearchParam 查询条件 * @param pageNo 当前页码 * @param pageSize 查询条数 -<<<<<<< HEAD - * @param searchKey 模糊查询关键字 - * @param request 请求 - * @return 药品汇总单 - */ - @GetMapping(value = "/summary-form") - public R getMedicineSummaryFormPage(DispenseFormSearchParam dispenseFormSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, - HttpServletRequest request) { - return medicineSummaryAppService.getMedicineSummaryFormPage(dispenseFormSearchParam, pageNo, pageSize, - searchKey, request); - } - - /** - * 查询药品汇总单详情 - * - * @param summaryNo 汇总单号 - * @return 药品汇总单详情 - */ -======= * @param request 请求 * @return 发药单信息 */ @GetMapping(value = "/dispensing-form") public R getMedicineDispenseFormPage(DispenseFormSearchParam dispenseFormSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { return medicineSummaryAppService.getMedicineDispenseFormPage(dispenseFormSearchParam, pageNo, pageSize, - request); + request); } /** @@ -111,11 +69,11 @@ public class MedicineSummaryController { */ @GetMapping(value = "/summary-form") public R getMedicineSummaryFormPage(DispenseFormSearchParam dispenseFormSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, - HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, + HttpServletRequest request) { return medicineSummaryAppService.getMedicineSummaryFormPage(dispenseFormSearchParam, pageNo, pageSize, - searchKey, request); + searchKey, request); } /** @@ -124,7 +82,6 @@ public class MedicineSummaryController { * @param summaryNo 汇总单号 * @return 药品汇总单详情 */ ->>>>>>> v1.3 @GetMapping(value = "/summary-form-detail") public R getMedicineSummaryFormDetail(String summaryNo) { return medicineSummaryAppService.getMedicineSummaryFormDetail(summaryNo); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/NurseBillingController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/NurseBillingController.java index 848bb728..c2d7a968 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/NurseBillingController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/NurseBillingController.java @@ -1,26 +1,5 @@ package com.openhis.web.inhospitalnursestation.controller; -<<<<<<< HEAD -import com.core.common.core.domain.R; -import com.openhis.web.regdoctorstation.dto.RegAdviceSaveParam; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author whm - * @date 2025/11/10 16:00 - * @description 住院护士 患者划价、医嘱计费 - */ - -@RestController -@RequestMapping("/inhospitalnursestation/innursebilling") -@Slf4j -@AllArgsConstructor -public class NurseBillingController { - // TODO: Implement InNurseBillingController -======= import java.time.LocalDateTime; import java.util.List; @@ -44,70 +23,28 @@ import lombok.extern.slf4j.Slf4j; /** * 住院护士 患者划价、医嘱计费 */ - @RestController @RequestMapping("/inhospitalnursestation/nursebilling") @Slf4j @AllArgsConstructor public class NurseBillingController { + @Resource private INurseBillingAppService iNurseBillingAppService; ->>>>>>> v1.3 /* * 新增住院护士划价 * @return */ -<<<<<<< HEAD - public R addInNurseBilling(RegAdviceSaveParam regAdviceSaveParam) { - return R.ok(); - } - /* - * 住院护士 划价列表 根据护士encounterId查询 - * @return - */ - public R getBillingListByEncounterId() { - return R.ok(); - } -======= @PostMapping("/add-billing") public R addInNurseBilling(@RequestBody RegAdviceSaveParam regAdviceSaveParam) { return iNurseBillingAppService.addInNurseBilling(regAdviceSaveParam); } ->>>>>>> v1.3 /* * 住院护士撤销划价 * @return */ -<<<<<<< HEAD - public R deleteInNurseBilling() { - return R.ok(); - } - /* - * 医嘱计费添加 诊疗 耗材 - */ - public R addOrderBilling() { - return R.ok(); - } - /* - * 医嘱计费删除 诊疗 耗材 - */ - public R deleteOrderBilling() { - return R.ok(); - } - /* - * 医嘱计费修改 诊疗 耗材 - */ - public R updateOrderBilling() { - return R.ok(); - } - /* - 根据医嘱id查询已计费的 耗材列表 - * @return - */ - public R getOrderBillingByRequestId() { -======= @PostMapping("/del-billing") public R deleteInNurseBilling(@RequestBody List paramList) { return iNurseBillingAppService.deleteInNurseBilling(paramList); @@ -123,12 +60,12 @@ public class NurseBillingController { */ @GetMapping(value = "/innurse-billing-list/") public R getInNurseBillingPage(InpatientAdviceParam inpatientAdviceParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime, - @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endTime) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime, + @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endTime) { return iNurseBillingAppService.getInNurseBillingPage(inpatientAdviceParam, pageNo, pageSize, startTime, - endTime); + endTime); } /** @@ -145,14 +82,14 @@ public class NurseBillingController { /** * 费用明细导出 - * + * * @param costDetailSearchParam 查询条件 * @param request request请求 * @param response response响应 */ @GetMapping("/excel-out") public void makeExcelFile(CostDetailSearchParam costDetailSearchParam, HttpServletRequest request, - HttpServletResponse response) { + HttpServletResponse response) { iNurseBillingAppService.makeExcelFile(costDetailSearchParam, request, response); } @@ -174,7 +111,6 @@ public class NurseBillingController { * 医嘱计费修改 诊疗 耗材 */ public R updateOrderBilling() { ->>>>>>> v1.3 return R.ok(); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/OrgDeviceStockTakeController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/OrgDeviceStockTakeController.java index 8d92f036..05b75207 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/OrgDeviceStockTakeController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/controller/OrgDeviceStockTakeController.java @@ -1,16 +1,5 @@ package com.openhis.web.inhospitalnursestation.controller; -<<<<<<< HEAD -import com.core.common.core.domain.R; -import com.openhis.web.inhospitalnursestation.appservice.IOrgDeviceStockTakeAppService; -import com.openhis.web.inhospitalnursestation.dto.OrgDeviceSummaryParam; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -======= import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -24,7 +13,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import java.util.List; ->>>>>>> v1.3 /** * 科室耗材盘点 @@ -33,11 +21,7 @@ import java.util.List; * @date 2025/11/05 */ @RestController -<<<<<<< HEAD -@RequestMapping("/nurse-station/orgdevice-stocktake") -======= @RequestMapping("/nurse-station/org-device-stockTake") ->>>>>>> v1.3 @Slf4j @AllArgsConstructor public class OrgDeviceStockTakeController { @@ -46,13 +30,6 @@ public class OrgDeviceStockTakeController { private IOrgDeviceStockTakeAppService orgDeviceStockTakeService; /** -<<<<<<< HEAD - * 查询科室耗材汇总 - * - * @param orgDeviceSummaryParam 查询条件 - * @param startTime 开始时间 - * @param endTime 结束时间 -======= * 页面初始化 * * @return 初始化信息 @@ -66,7 +43,6 @@ public class OrgDeviceStockTakeController { * 查询科室耗材汇总 * * @param orgDeviceSummaryParam 查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 @@ -74,21 +50,12 @@ public class OrgDeviceStockTakeController { * @return 科室耗材汇总单 */ @GetMapping(value = "/summary-from") -<<<<<<< HEAD - public R getOrgDeviceSummaryFromPage(OrgDeviceSummaryParam orgDeviceSummaryParam, String startTime, - String endTime, @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, - HttpServletRequest request) { - return orgDeviceStockTakeService.getOrgDeviceSummaryFromPage(orgDeviceSummaryParam, startTime, endTime, pageNo, - pageSize, searchKey, request); -======= public R getOrgDeviceSummaryFromPage(OrgDeviceSummaryParam orgDeviceSummaryParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, - HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String searchKey, + HttpServletRequest request) { return orgDeviceStockTakeService.getOrgDeviceSummaryFromPage(orgDeviceSummaryParam, pageNo, pageSize, searchKey, - request); ->>>>>>> v1.3 + request); } /** @@ -96,15 +63,9 @@ public class OrgDeviceStockTakeController { * * @return 科室耗材汇总单 */ -<<<<<<< HEAD - @PutMapping(value = "/orgdevice-summary") - public R orgDeviceSummary(OrgDeviceSummaryParam orgDeviceSummaryParam) { - return orgDeviceStockTakeService.orgDeviceSummary(orgDeviceSummaryParam); -======= @PutMapping(value = "/org-device-summary") public R orgDeviceSummary(@RequestBody List orgDeviceSummaryParamList) { return orgDeviceStockTakeService.orgDeviceSummary(orgDeviceSummaryParamList); ->>>>>>> v1.3 } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/AdviceExecuteDetailParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/AdviceExecuteDetailParam.java index 00206214..577dd675 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/AdviceExecuteDetailParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/AdviceExecuteDetailParam.java @@ -21,38 +21,52 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class AdviceExecuteDetailParam { - /** 医嘱请求id */ + /** + * 医嘱请求id + */ @JsonSerialize(using = ToStringSerializer.class) private Long requestId; - /** 就诊Id */ + /** + * 就诊Id + */ private Long encounterId; - /** 患者Id */ + /** + * 患者Id + */ private Long patientId; - /** 账号id */ + /** + * 账号id + */ @JsonSerialize(using = ToStringSerializer.class) private Long accountId; - /** 执行id */ + /** + * 执行id + */ @JsonSerialize(using = ToStringSerializer.class) private Long procedureId; - /** 医嘱类型 */ + /** + * 医嘱类型 + */ private Integer therapyEnum; - /** 医嘱请求所在表 */ + /** + * 医嘱请求所在表 + */ private String adviceTable; - /** 组号 */ + /** + * 组号 + */ private Long groupId; -<<<<<<< HEAD - /** 执行时间点集合 */ -======= - /** 预计执行时间点集合 */ ->>>>>>> v1.3 + /** + * 预计执行时间点集合 + */ private List executeTimes; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/DispenseFormSearchParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/DispenseFormSearchParam.java index 02b4cf34..578e5797 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/DispenseFormSearchParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/DispenseFormSearchParam.java @@ -22,33 +22,46 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class DispenseFormSearchParam implements Serializable { - /** 汇总状态 */ + /** + * 汇总状态 + */ private Integer SummaryStatus; - /** 中药标识 */ + /** + * 中药标识 + */ private Integer tcmFlag; - /** 医嘱类型 */ + /** + * 医嘱类型 + */ private Integer therapyEnum; - /** 就诊ids */ + /** + * 就诊ids + */ @JsonSerialize(using = ToStringSerializer.class) private String encounterIds; - /** 发放药房id */ + /** + * 发放药房id + */ @JsonSerialize(using = ToStringSerializer.class) private Long locationId; - /** 执行时间 */ + /** + * 执行时间 + */ private Date exeTime; - /** 汇总人id */ + /** + * 汇总人id + */ @JsonSerialize(using = ToStringSerializer.class) private Long applicantId; -<<<<<<< HEAD -======= - /** 发放状态 */ + /** + * 发放状态 + */ private Integer statusEnum; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/MedicineSummaryInfoDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/MedicineSummaryInfoDto.java index 2a8fba9d..8387da71 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/MedicineSummaryInfoDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/MedicineSummaryInfoDto.java @@ -47,7 +47,9 @@ public class MedicineSummaryInfoDto { */ private String totalVolume; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; /** @@ -56,8 +58,6 @@ public class MedicineSummaryInfoDto { @Dict(dictCode = "unit_code") private String unitCode; private String unitCode_dictText; -<<<<<<< HEAD -======= /** * 药品类型 @@ -70,5 +70,4 @@ public class MedicineSummaryInfoDto { * 生产厂家 */ private String manufacturerText; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/OrgDeviceSummaryParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/OrgDeviceSummaryParam.java index f0372d97..4ba3ec1c 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/OrgDeviceSummaryParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/OrgDeviceSummaryParam.java @@ -18,57 +18,67 @@ import java.util.List; @Data @Accessors(chain = true) public class OrgDeviceSummaryParam { -<<<<<<< HEAD -======= - /** 发放地点 */ + + /** + * 发放地点 + */ @JsonSerialize(using = ToStringSerializer.class) private Long sourceLocationId; ->>>>>>> v1.3 - /** 项目id */ + /** + * 项目id + */ @JsonSerialize(using = ToStringSerializer.class) private Long itemId; -<<<<<<< HEAD -======= - /** 器材名称 */ + /** + * 器材名称 + */ private String name; ->>>>>>> v1.3 - /** 库存id */ + /** + * 库存id + */ @JsonSerialize(using = ToStringSerializer.class) private Long inventoryItemId; - /** 发放数量 */ + /** + * 发放数量 + */ private BigDecimal dispenseQuantity; - /** 盈亏数量 */ + /** + * 盈亏数量 + */ private BigDecimal stockTakeQuantity; - /** 批号 */ + /** + * 批号 + */ private String lotNumber; -<<<<<<< HEAD - /** 发放地点 */ - @JsonSerialize(using = ToStringSerializer.class) - private Long sourceLocationId; - -======= ->>>>>>> v1.3 - /** 使用单位 */ + /** + * 使用单位 + */ @Dict(dictCode = "unit_code") private String useUnitCode; private String useUnitCode_dictText; - /** 最小单位 */ + /** + * 最小单位 + */ @Dict(dictCode = "unit_code") private String minUnitCode; private String minUnitCode_dictText; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; - /** 发放id列表 */ + /** + * 发放id列表 + */ private List dispenseIdList; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/MedicineSummaryAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/MedicineSummaryAppMapper.java index eaf3434b..4e828de9 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/MedicineSummaryAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/MedicineSummaryAppMapper.java @@ -36,11 +36,11 @@ public interface MedicineSummaryAppMapper { * @return 领药列表 */ Page selectMedicineDispenseFormPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("completed") Integer completed, @Param("active") Integer active, @Param("bed") Integer bed, - @Param("admittingDoctor") String admittingDoctor, @Param("personalCashAccount") String personalCashAccount, - @Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded, - @Param("summarized") Integer summarized); + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("completed") Integer completed, @Param("active") Integer active, @Param("bed") Integer bed, + @Param("admittingDoctor") String admittingDoctor, @Param("personalCashAccount") String personalCashAccount, + @Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded, + @Param("summarized") Integer summarized); /** * 查询汇总单分页列表 @@ -48,22 +48,14 @@ public interface MedicineSummaryAppMapper { * @param page 分页信息 * @param queryWrapper 查询条件 * @param completed 发药状态:已完成 -<<<<<<< HEAD - * @param inProgress 发药状态:待发药 -======= * @param preparation 发药状态:待配药 ->>>>>>> v1.3 * @param summaryDispense 单据类型:汇总发药 * @return 汇总单列表 */ Page selectMedicineSummaryFormPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, -<<<<<<< HEAD - @Param("completed") Integer completed, @Param("inProgress") Integer inProgress, -======= - @Param("completed") Integer completed, @Param("preparation") Integer preparation, ->>>>>>> v1.3 - @Param("summaryDispense") Integer summaryDispense); + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("completed") Integer completed, @Param("preparation") Integer preparation, + @Param("summaryDispense") Integer summaryDispense); /** * 获取汇总单详情 diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/NurseBillingAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/NurseBillingAppMapper.java index 3790bc45..a6b97bf9 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/NurseBillingAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/NurseBillingAppMapper.java @@ -1,11 +1,5 @@ package com.openhis.web.inhospitalnursestation.mapper; -<<<<<<< HEAD -import org.springframework.stereotype.Repository; - -@Repository -public interface NurseBillingAppMapper { -======= import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -45,12 +39,11 @@ public interface NurseBillingAppMapper { * @return 医嘱分页列表 */ Page getInNurseBillingPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("worDeviceRequest") String worDeviceRequest, @Param("worServiceRequest") String worServiceRequest, - @Param("draft") Integer draft, @Param("active") Integer active, @Param("bed") Integer bed, - @Param("admittingDoctor") String admittingDoctor, @Param("personalCashAccount") String personalCashAccount, - @Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded, - @Param("imp") Integer imp, @Param("generateSourceEnum") Integer generateSourceEnum, - @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime); ->>>>>>> v1.3 + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("worDeviceRequest") String worDeviceRequest, @Param("worServiceRequest") String worServiceRequest, + @Param("draft") Integer draft, @Param("active") Integer active, @Param("bed") Integer bed, + @Param("admittingDoctor") String admittingDoctor, @Param("personalCashAccount") String personalCashAccount, + @Param("billable") Integer billable, @Param("billed") Integer billed, @Param("refunded") Integer refunded, + @Param("imp") Integer imp, @Param("generateSourceEnum") Integer generateSourceEnum, + @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/OrgDeviceStockTakeAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/OrgDeviceStockTakeAppMapper.java index 7e9defbd..2ba52deb 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/OrgDeviceStockTakeAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/mapper/OrgDeviceStockTakeAppMapper.java @@ -18,11 +18,7 @@ public interface OrgDeviceStockTakeAppMapper { * @return 科室耗材信息 */ Page selectOrgDeviceInfo(@Param("page") Page page, -<<<<<<< HEAD - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); -======= - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("imp") Integer imp, - @Param("requestStatus") Integer requestStatus, @Param("dispenseStatus") Integer dispenseStatus, - @Param("chargeItemStatus") Integer chargeItemStatus); ->>>>>>> v1.3 + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("imp") Integer imp, + @Param("requestStatus") Integer requestStatus, @Param("dispenseStatus") Integer dispenseStatus, + @Param("chargeItemStatus") Integer chargeItemStatus); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/ILossReportFormAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/ILossReportFormAppService.java index e7d8ff90..8656fa67 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/ILossReportFormAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/ILossReportFormAppService.java @@ -32,7 +32,7 @@ public interface ILossReportFormAppService { * @return 商品调拨单据分页列表 */ R getPage(LossReportSearchParam lossReportSearchParam, Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request); + HttpServletRequest request); /** * 报损单页面初始化 @@ -99,9 +99,7 @@ public interface ILossReportFormAppService { * @return 单据详情 */ R getMonthlySettlementDetail(Long locationId, String startTime, String endTime, Integer pageNo, - Integer pageSize); -<<<<<<< HEAD -======= + Integer pageSize); /** * 报损单据明细导出 @@ -118,5 +116,4 @@ public interface ILossReportFormAppService { * @return 报损单据详情(DTO : LossReceiptDetailDto) */ R> getLossDetail(String busNo); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/IProductDetailAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/IProductDetailAppService.java index ad6a89dd..8427fa43 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/IProductDetailAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/IProductDetailAppService.java @@ -3,11 +3,6 @@ package com.openhis.web.inventorymanage.appservice; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -<<<<<<< HEAD -import com.core.common.core.domain.R; -import com.openhis.web.inventorymanage.dto.ProductDetailSearchParam; - -======= import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; import com.openhis.web.inventorymanage.dto.ProductDetailPageDto; @@ -15,7 +10,6 @@ import com.openhis.web.inventorymanage.dto.ProductDetailSearchParam; import java.util.List; ->>>>>>> v1.3 /** * 库存商品明细 appService * @@ -41,75 +35,35 @@ public interface IProductDetailAppService { * @param request 请求数据 * @return 库存商品明细分页列表 */ -<<<<<<< HEAD - R getProductDetailPage(ProductDetailSearchParam productDetailSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request); - - /** - * 操作:停供 - * - * @param inventoryId 库存项目管理ID - * @return 操作结果 - */ - R stopSupplyById(Long inventoryId); - - /** - * 操作:取消停供 - * - * @param inventoryId 库存项目管理ID - * @return 操作结果 - */ - R cancelSupplyById(Long inventoryId); - - - /** - * 库存明细表导出 -======= R> getProductDetailPage(ProductDetailSearchParam productDetailSearchParam, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); + Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); R getProductDetailStatistics(ProductDetailSearchParam productDetailSearchParam, String searchKey, - HttpServletRequest request); + HttpServletRequest request); /** * 查询库存备份商品明细分页列表 ->>>>>>> v1.3 * * @param productDetailSearchParam 查询条件 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 * @param request 请求数据 -<<<<<<< HEAD - * @param response 响应数据 - */ - void makeExcelFile(ProductDetailSearchParam productDetailSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request, HttpServletResponse response); - - /** - * 查询库存商品明细统计数据 -======= * @return 库存备份商品明细 */ R> getProductDetailBackupPage(ProductDetailSearchParam productDetailSearchParam, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); + Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); /** * 查询库存商品备份明细统计数据 ->>>>>>> v1.3 * * @param productDetailSearchParam 查询条件 * @param searchKey 模糊查询关键字 * @param request 请求数据 -<<<<<<< HEAD - * @return 库存商品明细统计数据 - */ - R getProductDetailStatistics(ProductDetailSearchParam productDetailSearchParam, String searchKey, HttpServletRequest request); -======= * @return 库存商品备份明细统计数据 */ R getProductDetailBackupStatistics(ProductDetailSearchParam productDetailSearchParam, String searchKey, - HttpServletRequest request); + HttpServletRequest request); /** * 操作:停供 @@ -136,8 +90,7 @@ public interface IProductDetailAppService { * @param response 响应数据 */ void makeExcelFile(ProductDetailSearchParam productDetailSearchParam, String searchKey, HttpServletRequest request, - HttpServletResponse response); + HttpServletResponse response); void exportExcel(ProductDetailSearchParam productDetailSearchParam, Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request, HttpServletResponse response); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/IInventoryAdjustPriceServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/IInventoryAdjustPriceServiceImpl.java index 4e762928..45163deb 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/IInventoryAdjustPriceServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/IInventoryAdjustPriceServiceImpl.java @@ -25,11 +25,7 @@ import com.openhis.administration.service.IChargeItemDefDetailService; import com.openhis.administration.service.IChargeItemDefinitionService; import com.openhis.common.constant.CommonConstants; import com.openhis.common.enums.ConditionCode; -<<<<<<< HEAD -import com.openhis.common.enums.DelFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.common.enums.SupplyStatus; import com.openhis.common.enums.SupplyType; import com.openhis.common.utils.EnumUtils; @@ -49,9 +45,11 @@ import com.openhis.web.inventorymanage.mapper.InventoryAdjustPriceMapper; * @Author raymond * @Date 2025/10/23 14:57 * @Version 1.0 - **/ + * + */ @Service public class IInventoryAdjustPriceServiceImpl implements IInventoryAdjustPriceService { + @Resource private IChargeItemDefinitionService chargeItemDefinitionService; @Resource @@ -65,19 +63,19 @@ public class IInventoryAdjustPriceServiceImpl implements IInventoryAdjustPriceSe @Override public R getPageByExamineList(AdjustPriceManagerSearchParam adjustPriceManagerSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageSize, String searchKey, HttpServletRequest request) { // 设置模糊查询的字段名 HashSet searchFields = new HashSet<>(); searchFields.add(CommonConstants.FieldName.SupplyBusNo); - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(adjustPriceManagerSearchParam, searchKey, searchFields, request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(adjustPriceManagerSearchParam, searchKey, searchFields, request); // 查询单据分页列表 Page receiptPage = inventoryAdjustPriceMapper.searchPageByExamine( - new Page<>(pageNo, pageSize), queryWrapper, SupplyStatus.APPROVAL.getValue(), SupplyStatus.AGREE.getValue(), - SupplyStatus.REJECT.getValue(), SupplyType.REQUEST_MEDICATION_CHANGE_PRICE.getValue(), - SupplyType.REQUEST_DEVICE_CHANGE_PRICE.getValue(), SupplyType.REQUEST_ACTIVITY_CHANGE_PRICE.getValue(), - SupplyType.REQUEST_HEALTH_CHANGE_PRICE.getValue()); + new Page<>(pageNo, pageSize), queryWrapper, SupplyStatus.APPROVAL.getValue(), SupplyStatus.AGREE.getValue(), + SupplyStatus.REJECT.getValue(), SupplyType.REQUEST_MEDICATION_CHANGE_PRICE.getValue(), + SupplyType.REQUEST_DEVICE_CHANGE_PRICE.getValue(), SupplyType.REQUEST_ACTIVITY_CHANGE_PRICE.getValue(), + SupplyType.REQUEST_HEALTH_CHANGE_PRICE.getValue()); receiptPage.getRecords().forEach(e -> { e.setStatusEnum_enumText(EnumUtils.getInfoByValue(SupplyStatus.class, e.getStatusEnum())); @@ -89,8 +87,8 @@ public class IInventoryAdjustPriceServiceImpl implements IInventoryAdjustPriceSe @Override public R updateExamineByRejected(String busNo) { - List changePriceRecordList = - this.changePriceRecordService.searchChangePriceDataForBusNo(busNo); + List changePriceRecordList + = this.changePriceRecordService.searchChangePriceDataForBusNo(busNo); if (changePriceRecordList.isEmpty()) { return R.fail(); } @@ -110,8 +108,8 @@ public class IInventoryAdjustPriceServiceImpl implements IInventoryAdjustPriceSe ReceiptInitDto initDto = new ReceiptInitDto(); // 审批状态 List supplyStatusOptions = Stream.of(SupplyStatus.values()) - .map(supplyStatus -> new ReceiptInitDto.supplyStatusOption(supplyStatus.getValue(), supplyStatus.getInfo())) - .collect(Collectors.toList()); + .map(supplyStatus -> new ReceiptInitDto.supplyStatusOption(supplyStatus.getValue(), supplyStatus.getInfo())) + .collect(Collectors.toList()); initDto.setSupplyStatusOptions(supplyStatusOptions); return R.ok(initDto); } @@ -119,8 +117,8 @@ public class IInventoryAdjustPriceServiceImpl implements IInventoryAdjustPriceSe @Override @Transactional(rollbackFor = Exception.class) public R updateExamineByApproved(String busNo) { - List changePriceRecordList = - this.changePriceRecordService.searchChangePriceDataForBusNo(busNo); + List changePriceRecordList + = this.changePriceRecordService.searchChangePriceDataForBusNo(busNo); if (changePriceRecordList.isEmpty()) { return R.fail(); } @@ -141,10 +139,11 @@ public class IInventoryAdjustPriceServiceImpl implements IInventoryAdjustPriceSe * @Author raymond * @Date 22:16 2025/10/18 * @return com.core.common.core.domain.R - **/ + * + */ public void executeBusiness(String busNo) { - List changePriceDataDtoList = - this.changePriceRecordService.searchChangePriceRecordDataByBusNo(busNo, SupplyStatus.APPROVAL.getValue()); + List changePriceDataDtoList + = this.changePriceRecordService.searchChangePriceRecordDataByBusNo(busNo, SupplyStatus.APPROVAL.getValue()); // 零售价 List itemDefDetailRetailList = new LinkedList<>(); // 进货价 @@ -157,16 +156,16 @@ public class IInventoryAdjustPriceServiceImpl implements IInventoryAdjustPriceSe chargeItemDefinition.setPrice(data.getNewRetailPrice()); this.chargeItemDefinitionService.updateById(chargeItemDefinition); // 零售价 - List defDetailRetailList = - this.chargeItemDefDetailService.searchChargeItemDefDetailByIds(chargeItemDefinition.getId(), - ConditionCode.LOT_NUMBER_PRICE.getCode(), data.getLotNumber()); + List defDetailRetailList + = this.chargeItemDefDetailService.searchChargeItemDefDetailByIds(chargeItemDefinition.getId(), + ConditionCode.LOT_NUMBER_PRICE.getCode(), data.getLotNumber()); // 进货价 - List defDetailBuyingList = - this.chargeItemDefDetailService.searchChargeItemDefDetailByIds(chargeItemDefinition.getId(), - ConditionCode.LOT_NUMBER_COST.getCode(), data.getLotNumber()); + List defDetailBuyingList + = this.chargeItemDefDetailService.searchChargeItemDefDetailByIds(chargeItemDefinition.getId(), + ConditionCode.LOT_NUMBER_COST.getCode(), data.getLotNumber()); // 采购价 List purchasePriceList = this.chargeItemDefDetailService - .searchChargeItemDefDetailByIds(chargeItemDefinition.getId(), ConditionCode.PURCHASE.getCode(), null); + .searchChargeItemDefDetailByIds(chargeItemDefinition.getId(), ConditionCode.PURCHASE.getCode(), null); if (!defDetailRetailList.isEmpty()) { for (ChargeItemDefDetail detail : defDetailRetailList) { detail.setDeleteFlag(DelFlag.YES.getCode()); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ProductDetailAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ProductDetailAppServiceImpl.java index ab48157b..aa604a2b 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ProductDetailAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ProductDetailAppServiceImpl.java @@ -10,12 +10,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -<<<<<<< HEAD -import com.core.common.utils.poi.ExcelUtil; -======= import com.core.common.utils.*; import com.openhis.web.inventorymanage.dto.ProductTransferPageDto; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -25,14 +21,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.core.common.core.domain.R; import com.core.common.core.domain.model.LoginUser; import com.core.common.enums.TenantOptionDict; -<<<<<<< HEAD -import com.core.common.utils.DateUtils; -import com.core.common.utils.MessageUtils; -import com.core.common.utils.SecurityUtils; -======= import com.core.common.exception.NonCaptureException; import com.core.common.utils.poi.ExcelUtil; ->>>>>>> v1.3 import com.core.web.util.TenantOptionUtil; import com.openhis.administration.domain.ChargeItemDefDetail; import com.openhis.administration.service.IChargeItemDefDetailService; @@ -47,10 +37,6 @@ import com.openhis.web.inventorymanage.dto.ProductDetailInitDto; import com.openhis.web.inventorymanage.dto.ProductDetailPageDto; import com.openhis.web.inventorymanage.dto.ProductDetailSearchParam; import com.openhis.web.inventorymanage.mapper.ProductDetailAppMapper; -<<<<<<< HEAD -import com.openhis.web.reportmanage.utils.ExcelFillerUtil; -======= ->>>>>>> v1.3 import com.openhis.workflow.domain.InventoryItem; import com.openhis.workflow.mapper.InventoryItemMapper; @@ -62,7 +48,7 @@ import com.openhis.workflow.mapper.InventoryItemMapper; */ @Service public class ProductDetailAppServiceImpl extends ServiceImpl - implements IProductDetailAppService { + implements IProductDetailAppService { @Resource private ProductDetailAppMapper productDetailsMapper; @@ -80,8 +66,8 @@ public class ProductDetailAppServiceImpl extends ServiceImpl chrgitmLvOptions = Stream.of(InsuranceLevel.values()) - .map(status -> new ProductDetailInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new ProductDetailInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); productDetailInitDto.setChrgitmLvOptions(chrgitmLvOptions); return R.ok(productDetailInitDto); } @@ -97,19 +83,12 @@ public class ProductDetailAppServiceImpl extends ServiceImpl getProductDetailPage(ProductDetailSearchParam productDetailSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { - // 项目类型 - Integer categoryCode = productDetailSearchParam.getCategoryCode(); -======= public R> getProductDetailPage(ProductDetailSearchParam productDetailSearchParam, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { // 药品类型 List medCategoryCodes = productDetailSearchParam.getMedCategoryCodes(); // 药品类型 List devCategoryCodes = productDetailSearchParam.getDevCategoryCodes(); ->>>>>>> v1.3 // 库存是否为零 Integer zeroFlag = productDetailSearchParam.getZeroFlag(); // 过期天数 @@ -118,38 +97,19 @@ public class ProductDetailAppServiceImpl extends ServiceImpl locationIds = productDetailSearchParam.getLocationIds(); // 供应商 List supplierIds = productDetailSearchParam.getSupplierIds(); -<<<<<<< HEAD - productDetailSearchParam.setCategoryCode(null).setZeroFlag(null).setRemainingDays(null).setLocationIds(null) - .setSupplierIds(null); -======= productDetailSearchParam.setZeroFlag(null).setRemainingDays(null).setLocationIds(null).setSupplierIds(null) - .setMedCategoryCodes(null).setDevCategoryCodes(null); ->>>>>>> v1.3 + .setMedCategoryCodes(null).setDevCategoryCodes(null); // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper( - productDetailSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.ItemName, - CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), - request); + productDetailSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.ItemName, + CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), + request); // 根据不同分类拼接查询条件 -<<<<<<< HEAD - if (categoryCode != null) { - if (categoryCode.equals(ItemCategoryCode.CHINESE_PATENT_DRUG.getValue()) - || categoryCode.equals(ItemCategoryCode.WESTERN_MEDICINE.getValue()) - || categoryCode.equals(ItemCategoryCode.EXTERNALLY_PROCURED_DRUGS.getValue()) - || categoryCode.equals(ItemCategoryCode.CHINESE_HERBAL_MEDICINE.getValue())) { - queryWrapper.eq(CommonConstants.FieldName.ItemTable, - CommonConstants.TableName.MED_MEDICATION_DEFINITION); - queryWrapper.eq(CommonConstants.FieldName.MedCategoryCode, categoryCode.toString()); - } else if (categoryCode.equals(ItemCategoryCode.DEVICE.getValue())) { - queryWrapper.eq(CommonConstants.FieldName.ItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - } -======= if (medCategoryCodes != null && !medCategoryCodes.isEmpty()) { queryWrapper.in(CommonConstants.FieldName.MedCategoryCode, medCategoryCodes); } if (devCategoryCodes != null && !devCategoryCodes.isEmpty()) { queryWrapper.in(CommonConstants.FieldName.DevCategoryCode, devCategoryCodes); ->>>>>>> v1.3 } // 库存是否为零 if (zeroFlag != null) { @@ -173,8 +133,8 @@ public class ProductDetailAppServiceImpl extends ServiceImpl productDetailsPage = productDetailsMapper.selectProductDetailsPage( - new Page<>(pageNo, pageSize), queryWrapper, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION, ConditionCode.LOT_NUMBER_COST.getCode()); + new Page<>(pageNo, pageSize), queryWrapper, CommonConstants.TableName.MED_MEDICATION_DEFINITION, + CommonConstants.TableName.ADM_DEVICE_DEFINITION, ConditionCode.LOT_NUMBER_COST.getCode()); // 库存明细 List productDetailList = productDetailsPage.getRecords(); if (productDetailList != null && !productDetailList.isEmpty()) { @@ -183,29 +143,25 @@ public class ProductDetailAppServiceImpl extends ServiceImpl chargeItemDefIdList = - productDetailList.stream().map(ProductDetailPageDto::getChargeItemDefId).filter(Objects::nonNull) - .distinct().collect(Collectors.toList()); + List chargeItemDefIdList + = productDetailList.stream().map(ProductDetailPageDto::getChargeItemDefId).filter(Objects::nonNull) + .distinct().collect(Collectors.toList()); // 查询批次售价信息 if (!chargeItemDefIdList.isEmpty()) { - List lotNumberPriceList = - chargeItemDefDetailService.getLotNumberPriceByDefIds(chargeItemDefIdList); + List lotNumberPriceList + = chargeItemDefDetailService.getLotNumberPriceByDefIds(chargeItemDefIdList); if (lotNumberPriceList != null && !lotNumberPriceList.isEmpty()) { // 创建批次号到售价的映射 - Map lotPriceMap = - lotNumberPriceList.stream().collect(Collectors.toMap(ChargeItemDefDetail::getConditionValue, - ChargeItemDefDetail::getAmount, (existing, replacement) -> existing)); // 处理重复键的情况 + Map lotPriceMap + = lotNumberPriceList.stream().collect(Collectors.toMap(ChargeItemDefDetail::getConditionValue, + ChargeItemDefDetail::getAmount, (existing, replacement) -> existing)); // 处理重复键的情况 // 更新原始列表中的售价 for (ProductDetailPageDto productDetail : productDetailList) { BigDecimal price = lotPriceMap.get(productDetail.getLotNumber()); if (price != null) { -<<<<<<< HEAD - productDetail.setTotalSalePrice(price); -======= productDetail.setSalePrice(price); ->>>>>>> v1.3 } } } @@ -215,14 +171,14 @@ public class ProductDetailAppServiceImpl extends ServiceImpl> getProductDetailBackupPage(ProductDetailSearchParam productDetailSearchParam, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { // 药品类型 List medCategoryCodes = productDetailSearchParam.getMedCategoryCodes(); // 药品类型 @@ -277,12 +231,12 @@ public class ProductDetailAppServiceImpl extends ServiceImpl supplierIds = productDetailSearchParam.getSupplierIds(); productDetailSearchParam.setZeroFlag(null).setRemainingDays(null).setLocationIds(null).setSupplierIds(null) - .setMedCategoryCodes(null).setDevCategoryCodes(null); + .setMedCategoryCodes(null).setDevCategoryCodes(null); // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper( - productDetailSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.ItemName, - CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), - request); + productDetailSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.ItemName, + CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), + request); // 根据不同分类拼接查询条件 if (medCategoryCodes != null && !medCategoryCodes.isEmpty()) { queryWrapper.in(CommonConstants.FieldName.MedCategoryCode, medCategoryCodes); @@ -311,20 +265,19 @@ public class ProductDetailAppServiceImpl extends ServiceImpl productDetailsBackupPage = - productDetailsMapper.selectProductDetailsBackupPage(new Page<>(pageNo, pageSize), queryWrapper); + Page productDetailsBackupPage + = productDetailsMapper.selectProductDetailsBackupPage(new Page<>(pageNo, pageSize), queryWrapper); productDetailsBackupPage.getRecords().forEach(e -> { // 医保等级 e.setChrgitmLv_enumText(EnumUtils.getInfoByValue(YbChrgitmLv.class, e.getChrgitmLv())); // 停供状态 e.setInventoryStatusEnum_enumText( - EnumUtils.getInfoByValue(PublicationStatus.class, e.getInventoryStatusEnum())); + EnumUtils.getInfoByValue(PublicationStatus.class, e.getInventoryStatusEnum())); }); return R.ok(productDetailsBackupPage); } /** ->>>>>>> v1.3 * 查询库存商品明细统计数据 * * @param productDetailSearchParam 查询条件 @@ -334,40 +287,24 @@ public class ProductDetailAppServiceImpl extends ServiceImpl getProductDetailStatistics(ProductDetailSearchParam productDetailSearchParam, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { // 查询库存商品明细分页列表 -<<<<<<< HEAD - R result = this.getProductDetailPage(productDetailSearchParam, 1, 30000, searchKey, request); - ProductDetailPageDto productDetail = new ProductDetailPageDto(); - if (result != null && result.getData() != null) { - Page productDetailPage = (Page)result.getData(); -======= - Page productDetailPage = - this.getProductDetailPage(productDetailSearchParam, 1, 30000, searchKey, request).getData(); + Page productDetailPage + = this.getProductDetailPage(productDetailSearchParam, 1, 30000, searchKey, request).getData(); ProductDetailPageDto productDetail = new ProductDetailPageDto(); if (productDetailPage != null && productDetailPage.getTotal() > 0) { ->>>>>>> v1.3 List productDetailList = productDetailPage.getRecords(); // 统计库房总金额 productDetail - .setPurchasePriceStatistics(productDetailList.stream().map(ProductDetailPageDto::getTotalPurchasePrice) - .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)) - .setSalePriceStatistics(productDetailList.stream().map(ProductDetailPageDto::getTotalSalePrice) - .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + .setPurchasePriceStatistics(productDetailList.stream().map(ProductDetailPageDto::getTotalPurchasePrice) + .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)) + .setSalePriceStatistics(productDetailList.stream().map(ProductDetailPageDto::getTotalSalePrice) + .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); } return R.ok(productDetail); } /** -<<<<<<< HEAD - * 操作:停供 - * - * @param inventoryId 库存项目管理ID - * @return 操作结果 - */ - @Override - public R stopSupplyById(Long inventoryId) { -======= * 查询库存商品备份明细统计数据 * * @param productDetailSearchParam 查询条件 @@ -377,20 +314,20 @@ public class ProductDetailAppServiceImpl extends ServiceImpl getProductDetailBackupStatistics(ProductDetailSearchParam productDetailSearchParam, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { // 查询库存商品备份明细分页列表 - Page productDetailPage = - this.getProductDetailBackupPage(productDetailSearchParam, 1, 30000, searchKey, request).getData(); + Page productDetailPage + = this.getProductDetailBackupPage(productDetailSearchParam, 1, 30000, searchKey, request).getData(); ProductDetailPageDto productDetailBackup = new ProductDetailPageDto(); if (productDetailPage != null && productDetailPage.getTotal() > 0) { List productDetailBackupList = productDetailPage.getRecords(); // 统计库房总金额 productDetailBackup - .setPurchasePriceStatistics( - productDetailBackupList.stream().map(ProductDetailPageDto::getTotalPurchasePrice) - .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)) - .setSalePriceStatistics(productDetailBackupList.stream().map(ProductDetailPageDto::getTotalSalePrice) - .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); + .setPurchasePriceStatistics( + productDetailBackupList.stream().map(ProductDetailPageDto::getTotalPurchasePrice) + .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)) + .setSalePriceStatistics(productDetailBackupList.stream().map(ProductDetailPageDto::getTotalSalePrice) + .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); } return R.ok(productDetailBackup); } @@ -403,7 +340,6 @@ public class ProductDetailAppServiceImpl extends ServiceImpl stopSupplyById(List inventoryIdList) { ->>>>>>> v1.3 // 获取当前时间 Date now = DateUtils.getNowDate(); @@ -412,34 +348,22 @@ public class ProductDetailAppServiceImpl extends ServiceImpl().eq(InventoryItem::getId, inventoryId) -======= - new LambdaUpdateWrapper().in(InventoryItem::getId, inventoryIdList) ->>>>>>> v1.3 - .set(InventoryItem::getUpdateTime, now).set(InventoryItem::getUpdateBy, loginUser.getUserId()) - .set(InventoryItem::getInventoryStatusEnum, PublicationStatus.RETIRED.getValue())); + new LambdaUpdateWrapper().in(InventoryItem::getId, inventoryIdList) + .set(InventoryItem::getUpdateTime, now).set(InventoryItem::getUpdateBy, loginUser.getUserId()) + .set(InventoryItem::getInventoryStatusEnum, PublicationStatus.RETIRED.getValue())); return updateCount > 0 ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)) - : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** * 操作:取消停供 * -<<<<<<< HEAD - * @param inventoryId 库存项目管理ID - * @return 操作结果 - */ - @Override - public R cancelSupplyById(Long inventoryId) { -======= * @param inventoryIdList 库存项目管理ID * @return 操作结果 */ @Override public R cancelSupplyById(List inventoryIdList) { ->>>>>>> v1.3 // 获取当前时间 Date now = DateUtils.getNowDate(); @@ -448,50 +372,27 @@ public class ProductDetailAppServiceImpl extends ServiceImpl().eq(InventoryItem::getId, inventoryId) -======= - new LambdaUpdateWrapper().in(InventoryItem::getId, inventoryIdList) ->>>>>>> v1.3 - .set(InventoryItem::getUpdateTime, now).set(InventoryItem::getUpdateBy, loginUser.getUserId()) - .set(InventoryItem::getInventoryStatusEnum, PublicationStatus.ACTIVE.getValue())); + new LambdaUpdateWrapper().in(InventoryItem::getId, inventoryIdList) + .set(InventoryItem::getUpdateTime, now).set(InventoryItem::getUpdateBy, loginUser.getUserId()) + .set(InventoryItem::getInventoryStatusEnum, PublicationStatus.ACTIVE.getValue())); return updateCount > 0 ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)) - : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** * 库存明细表导出 * * @param productDetailSearchParam 查询条件 -<<<<<<< HEAD - * @param pageNo 当前页码 - * @param pageSize 查询条数 -======= ->>>>>>> v1.3 * @param searchKey 模糊查询关键字 * @param request 请求数据 * @param response 响应数据 */ -<<<<<<< HEAD - public void makeExcelFile(ProductDetailSearchParam productDetailSearchParam, Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request, HttpServletResponse response) { - R result = this.getProductDetailPageX(productDetailSearchParam, 1, 10000, searchKey, request); - if (result != null && result.getData() != null) { - Page pageData = (Page)result.getData(); - List dataList = pageData.getRecords(); - - try { - for(ProductDetailPageDto productDetailPageDto : dataList) { - // 获取单位 - String unitCode = productDetailPageDto.getUnitCodeDictText(); - String minUnitCode = productDetailPageDto.getMinUnitCodeDictText(); - //获取数量 -======= @Override public void makeExcelFile(ProductDetailSearchParam productDetailSearchParam, String searchKey, - HttpServletRequest request, HttpServletResponse response) { - R> result = - this.getProductDetailPageAndTranslateField(productDetailSearchParam, searchKey, request); + HttpServletRequest request, HttpServletResponse response) { + R> result + = this.getProductDetailPageAndTranslateField(productDetailSearchParam, searchKey, request); if (result.getData() != null) { List dataList = result.getData(); try { @@ -500,87 +401,48 @@ public class ProductDetailAppServiceImpl extends ServiceImpl>>>>>> v1.3 BigDecimal number = productDetailPageDto.getNumber(); BigDecimal remainder = productDetailPageDto.getRemainder(); // 拼接 if (remainder.compareTo(BigDecimal.ZERO) > 0) { -<<<<<<< HEAD - productDetailPageDto.setNumber_text(number.setScale(0, RoundingMode.HALF_UP) + unitCode + remainder.setScale(0, RoundingMode.HALF_UP) + minUnitCode); - } else { - productDetailPageDto.setNumber_text(number.setScale(0, RoundingMode.HALF_UP) + unitCode); - } - productDetailPageDto.setQuantity_text(productDetailPageDto.getQuantity().setScale(0, RoundingMode.HALF_UP) + minUnitCode); - - // 金额字段拼接 ‘元’ -======= productDetailPageDto.setNumber_text(number.setScale(0, RoundingMode.HALF_UP) + unitCode - + remainder.setScale(0, RoundingMode.HALF_UP) + minUnitCode); + + remainder.setScale(0, RoundingMode.HALF_UP) + minUnitCode); } else { productDetailPageDto.setNumber_text(number.setScale(0, RoundingMode.HALF_UP) + unitCode); } productDetailPageDto.setQuantity_text( - productDetailPageDto.getQuantity().setScale(0, RoundingMode.HALF_UP) + minUnitCode); + productDetailPageDto.getQuantity().setScale(0, RoundingMode.HALF_UP) + minUnitCode); // 金额字段拼接 ->>>>>>> v1.3 BigDecimal purchasePrice = productDetailPageDto.getPurchasePrice(); BigDecimal salePrice = productDetailPageDto.getSalePrice(); BigDecimal totalPurchasePrice = productDetailPageDto.getTotalPurchasePrice(); BigDecimal totalSalePrice = productDetailPageDto.getTotalSalePrice(); if (salePrice != null) { -<<<<<<< HEAD - productDetailPageDto.setExcelSalePrice(salePrice.setScale(2, RoundingMode.HALF_UP) + "元"); - } - - if (purchasePrice != null) { - productDetailPageDto.setExcelPurchasePrice(purchasePrice.setScale(2, RoundingMode.HALF_UP) + "元"); - } - - if (totalPurchasePrice != null) { - productDetailPageDto.setExcelTotalPurchasePrice(totalPurchasePrice.setScale(2, RoundingMode.HALF_UP) + "元"); - } - - if (totalSalePrice != null) { - productDetailPageDto.setExcelTotalSalePrice(totalSalePrice.setScale(2, RoundingMode.HALF_UP) + "元"); -======= productDetailPageDto.setExcelSalePrice( - salePrice.setScale(2, RoundingMode.HALF_UP) + ""); + salePrice.setScale(2, RoundingMode.HALF_UP) + ""); } if (purchasePrice != null) { productDetailPageDto.setExcelPurchasePrice( - purchasePrice.setScale(2, RoundingMode.HALF_UP) + ""); + purchasePrice.setScale(2, RoundingMode.HALF_UP) + ""); } if (totalPurchasePrice != null) { productDetailPageDto.setExcelTotalPurchasePrice( - totalPurchasePrice.setScale(2, RoundingMode.HALF_UP) + ""); + totalPurchasePrice.setScale(2, RoundingMode.HALF_UP) + ""); } if (totalSalePrice != null) { productDetailPageDto.setExcelTotalSalePrice( - totalSalePrice.setScale(2, RoundingMode.HALF_UP) + ""); ->>>>>>> v1.3 + totalSalePrice.setScale(2, RoundingMode.HALF_UP) + ""); } // 判断项目类别 String devCategoryCodeDictText = productDetailPageDto.getDevCategoryCodeDictText(); String medCategoryCodeDictText = productDetailPageDto.getMedCategoryCodeDictText(); -<<<<<<< HEAD - String categoryCodeDictText = devCategoryCodeDictText == null ? medCategoryCodeDictText : devCategoryCodeDictText; - productDetailPageDto.setCategoryCodeDictText(categoryCodeDictText); - } - - //导出 - ExcelUtil util = new ExcelUtil(ProductDetailPageDto.class); - util.exportExcel(response, dataList, "库存明细记录"); - } catch (Exception e) { - e.printStackTrace(); - System.out.printf("导出Excel失败:" + e.getMessage()); -======= - String categoryCodeDictText = - devCategoryCodeDictText == null ? medCategoryCodeDictText : devCategoryCodeDictText; + String categoryCodeDictText + = devCategoryCodeDictText == null ? medCategoryCodeDictText : devCategoryCodeDictText; productDetailPageDto.setCategoryCodeDictText(categoryCodeDictText); } @@ -589,88 +451,21 @@ public class ProductDetailAppServiceImpl extends ServiceImpl>>>>>> v1.3 } } } -<<<<<<< HEAD - - /** - * 查询库存商品明细分页列表,联查数据字典 - * - * @param productDetailSearchParam 查询条件 - * @param pageNo 当前页码 - * @param pageSize 查询条数 -======= /** * 查询库存商品明细分页列表,联查数据字典翻译单位字段 * * @param productDetailSearchParam 查询条件 ->>>>>>> v1.3 * @param searchKey 模糊查询关键字 * @param request 请求数据 * @return 库存商品明细分页列表 */ -<<<<<<< HEAD - public R getProductDetailPageX(ProductDetailSearchParam productDetailSearchParam, Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { - Integer categoryCode = productDetailSearchParam.getCategoryCode(); - Integer zeroFlag = productDetailSearchParam.getZeroFlag(); - Integer remainingDays = productDetailSearchParam.getRemainingDays(); - List locationIds = productDetailSearchParam.getLocationIds(); - List supplierIds = productDetailSearchParam.getSupplierIds(); - productDetailSearchParam.setCategoryCode((Integer)null).setZeroFlag((Integer)null).setRemainingDays((Integer)null).setLocationIds((List)null).setSupplierIds((List)null); - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(productDetailSearchParam, searchKey, new HashSet(Arrays.asList("item_name", "bus_no", "py_str", "wb_str")), request); - if (categoryCode != null) { - if (!categoryCode.equals(ItemCategoryCode.CHINESE_PATENT_DRUG.getValue()) && !categoryCode.equals(ItemCategoryCode.WESTERN_MEDICINE.getValue()) && !categoryCode.equals(ItemCategoryCode.EXTERNALLY_PROCURED_DRUGS.getValue()) && !categoryCode.equals(ItemCategoryCode.CHINESE_HERBAL_MEDICINE.getValue())) { - if (categoryCode.equals(ItemCategoryCode.DEVICE.getValue())) { - queryWrapper.eq("item_table", "adm_device_definition"); - } - } else { - queryWrapper.eq("item_table", "med_medication_definition"); - queryWrapper.eq("med_category_code", categoryCode.toString()); - } - } - - if (zeroFlag != null) { - if (Whether.YES.getValue().equals(zeroFlag)) { - queryWrapper.eq("quantity", BigDecimal.ZERO); - } else { - queryWrapper.gt("quantity", BigDecimal.ZERO); - } - } - - if (locationIds != null && !locationIds.isEmpty()) { - queryWrapper.in("location_id", locationIds); - } - - if (supplierIds != null && !supplierIds.isEmpty()) { - queryWrapper.in("supplier_id", supplierIds); - } - - if (remainingDays != null) { - queryWrapper.le("remaining_days", remainingDays); - } - - Page productDetailsPage = this.productDetailsMapper.selectProductDetailsPageX(new Page((long)pageNo, (long)pageSize), queryWrapper, "med_medication_definition", "adm_device_definition", ConditionCode.LOT_NUMBER_COST.getCode()); - List productDetailList = productDetailsPage.getRecords(); - if (productDetailList != null && !productDetailList.isEmpty()) { - String orderPricingSource = TenantOptionUtil.getOptionContent(TenantOptionDict.ORDER_PRICING_SOURCE); - if (OrderPricingSource.BATCH_SELLING_PRICE.getCode().equals(orderPricingSource)) { - List chargeItemDefIdList = (List)productDetailList.stream().map(ProductDetailPageDto::getChargeItemDefId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); - if (!chargeItemDefIdList.isEmpty()) { - List lotNumberPriceList = this.chargeItemDefDetailService.getLotNumberPriceByDefIds(chargeItemDefIdList); - if (lotNumberPriceList != null && !lotNumberPriceList.isEmpty()) { - Map lotPriceMap = (Map)lotNumberPriceList.stream().collect(Collectors.toMap(ChargeItemDefDetail::getConditionValue, ChargeItemDefDetail::getAmount, (existing, replacement) -> existing)); - - for(ProductDetailPageDto productDetail : productDetailList) { - BigDecimal price = (BigDecimal)lotPriceMap.get(productDetail.getLotNumber()); - if (price != null) { - productDetail.setTotalSalePrice(price); -======= private R> getProductDetailPageAndTranslateField( - ProductDetailSearchParam productDetailSearchParam, String searchKey, HttpServletRequest request) { + ProductDetailSearchParam productDetailSearchParam, String searchKey, HttpServletRequest request) { // 药品类型 List medCategoryCodes = productDetailSearchParam.getMedCategoryCodes(); // 药品类型 @@ -684,12 +479,12 @@ public class ProductDetailAppServiceImpl extends ServiceImpl supplierIds = productDetailSearchParam.getSupplierIds(); productDetailSearchParam.setZeroFlag(null).setRemainingDays(null).setLocationIds(null).setSupplierIds(null) - .setMedCategoryCodes(null).setDevCategoryCodes(null); + .setMedCategoryCodes(null).setDevCategoryCodes(null); // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper( - productDetailSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.ItemName, - CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), - request); + productDetailSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.ItemName, + CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), + request); // 根据不同分类拼接查询条件 if (medCategoryCodes != null && !medCategoryCodes.isEmpty()) { queryWrapper.in(CommonConstants.FieldName.MedCategoryCode, medCategoryCodes); @@ -719,72 +514,50 @@ public class ProductDetailAppServiceImpl extends ServiceImpl productDetailList = productDetailsMapper.getProductDetailPageAndTranslateField( - queryWrapper, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION, ConditionCode.LOT_NUMBER_COST.getCode()); + queryWrapper, CommonConstants.TableName.MED_MEDICATION_DEFINITION, + CommonConstants.TableName.ADM_DEVICE_DEFINITION, ConditionCode.LOT_NUMBER_COST.getCode()); if (productDetailList != null && !productDetailList.isEmpty()) { // 医嘱定价来源 String orderPricingSource = TenantOptionUtil.getOptionContent(TenantOptionDict.ORDER_PRICING_SOURCE); // 批次售价需查询定价子表 if (OrderPricingSource.BATCH_SELLING_PRICE.getCode().equals(orderPricingSource)) { // 收集所有定价ID - List chargeItemDefIdList = - productDetailList.stream().map(ProductDetailPageDto::getChargeItemDefId).filter(Objects::nonNull) - .distinct().collect(Collectors.toList()); + List chargeItemDefIdList + = productDetailList.stream().map(ProductDetailPageDto::getChargeItemDefId).filter(Objects::nonNull) + .distinct().collect(Collectors.toList()); // 查询批次售价信息 if (!chargeItemDefIdList.isEmpty()) { - List lotNumberPriceList = - chargeItemDefDetailService.getLotNumberPriceByDefIds(chargeItemDefIdList); + List lotNumberPriceList + = chargeItemDefDetailService.getLotNumberPriceByDefIds(chargeItemDefIdList); if (lotNumberPriceList != null && !lotNumberPriceList.isEmpty()) { // 创建批次号到售价的映射 - Map lotPriceMap = - lotNumberPriceList.stream().collect(Collectors.toMap(ChargeItemDefDetail::getConditionValue, - ChargeItemDefDetail::getAmount, (existing, replacement) -> existing)); // 处理重复键的情况 + Map lotPriceMap + = lotNumberPriceList.stream().collect(Collectors.toMap(ChargeItemDefDetail::getConditionValue, + ChargeItemDefDetail::getAmount, (existing, replacement) -> existing)); // 处理重复键的情况 // 更新原始列表中的售价 for (ProductDetailPageDto productDetail : productDetailList) { BigDecimal price = lotPriceMap.get(productDetail.getLotNumber()); if (price != null) { productDetail.setSalePrice(price); ->>>>>>> v1.3 } } } } } -<<<<<<< HEAD - for(ProductDetailPageDto productDetailPageDto : productDetailList) { - productDetailPageDto.setChrgitmLv_enumText(EnumUtils.getInfoByValue(YbChrgitmLv.class, productDetailPageDto.getChrgitmLv())); - productDetailPageDto.setInventoryStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, productDetailPageDto.getInventoryStatusEnum())); - BigDecimal[] results = productDetailPageDto.getQuantity().divideAndRemainder(productDetailPageDto.getPartPercent()); - productDetailPageDto.setNumber(results[0]); - productDetailPageDto.setRemainder(results[1]); - if (productDetailPageDto.getPurchasePrice() != null) { - productDetailPageDto.setTotalPurchasePrice(productDetailPageDto.getPurchasePrice().multiply(results[0]).add(productDetailPageDto.getPurchasePrice().divide(productDetailPageDto.getPartPercent(), 4, RoundingMode.HALF_UP).multiply(results[1]))); - } - - if (productDetailPageDto.getSalePrice() != null) { - productDetailPageDto.setTotalSalePrice(productDetailPageDto.getSalePrice().multiply(results[0]).add(productDetailPageDto.getSalePrice().divide(productDetailPageDto.getPartPercent(), 4, RoundingMode.HALF_UP).multiply(results[1]))); - } - } - } - - return R.ok(productDetailsPage); - } - -======= for (ProductDetailPageDto productDetailPageDto : productDetailList) { // 医保等级 productDetailPageDto.setChrgitmLv_enumText( - EnumUtils.getInfoByValue(YbChrgitmLv.class, productDetailPageDto.getChrgitmLv())); + EnumUtils.getInfoByValue(YbChrgitmLv.class, productDetailPageDto.getChrgitmLv())); // 停供状态 productDetailPageDto.setInventoryStatusEnum_enumText( - EnumUtils.getInfoByValue(PublicationStatus.class, productDetailPageDto.getInventoryStatusEnum())); + EnumUtils.getInfoByValue(PublicationStatus.class, productDetailPageDto.getInventoryStatusEnum())); // 计算包装单位数量 - BigDecimal[] results = - productDetailPageDto.getQuantity().divideAndRemainder(productDetailPageDto.getPartPercent()); + BigDecimal[] results + = productDetailPageDto.getQuantity().divideAndRemainder(productDetailPageDto.getPartPercent()); // 整数 productDetailPageDto.setNumber(results[0]); // 余数 @@ -793,18 +566,18 @@ public class ProductDetailAppServiceImpl extends ServiceImpl> result = this.getProductDetailBackupPage(productDetailSearchParam,1,100000,searchKey,request); - if (result.getData() != null){ + R> result = this.getProductDetailBackupPage(productDetailSearchParam, 1, 100000, searchKey, request); + if (result.getData() != null) { Page pageData = result.getData(); List dataList = pageData.getRecords(); for (ProductDetailPageDto productDetailPageDto : dataList) { // 获取单位 - String unitCode = DictUtils.getDictLabel("unit_code",productDetailPageDto.getUnitCode()); - String minUnitCode = DictUtils.getDictLabel("unit_code",productDetailPageDto.getMinUnitCode()); + String unitCode = DictUtils.getDictLabel("unit_code", productDetailPageDto.getUnitCode()); + String minUnitCode = DictUtils.getDictLabel("unit_code", productDetailPageDto.getMinUnitCode()); // 获取数量 BigDecimal number = productDetailPageDto.getNumber(); BigDecimal remainder = productDetailPageDto.getRemainder(); @@ -860,24 +633,23 @@ public class ProductDetailAppServiceImpl extends ServiceImpl newExcelUtil = - new NewExcelUtil<>(ProductDetailPageDto.class); + NewExcelUtil newExcelUtil + = new NewExcelUtil<>(ProductDetailPageDto.class); newExcelUtil.exportExcel(response, dataList, CommonConstants.SheetName.INVENTORY_DETAIL_RECORD); } catch (Exception e) { throw new RuntimeException(e); } } } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java index 3c6c8810..adf94fe3 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java @@ -3,18 +3,9 @@ */ package com.openhis.web.inventorymanage.appservice.impl; -<<<<<<< HEAD -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -======= import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; ->>>>>>> v1.3 import java.util.stream.Collectors; import java.util.stream.Stream; @@ -22,25 +13,15 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -<<<<<<< HEAD -======= import com.openhis.administration.domain.Location; import com.openhis.administration.service.impl.LocationServiceImpl; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; import com.core.common.exception.ServiceException; -<<<<<<< HEAD -import com.core.common.utils.AssignSeqUtil; -import com.core.common.utils.DateUtils; -import com.core.common.utils.MessageUtils; -import com.core.common.utils.SecurityUtils; -======= import com.core.common.utils.*; ->>>>>>> v1.3 import com.core.common.utils.bean.BeanUtils; import com.openhis.administration.domain.Practitioner; import com.openhis.administration.domain.Supplier; @@ -99,27 +80,27 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer List practitionerList = practitionerService.getList(); // 经手人信息 List practitionerListOptions = practitionerList.stream() - .map(practitioner -> new PurchaseInventoryInitDto.practitionerListOption(practitioner.getId(), + .map(practitioner -> new PurchaseInventoryInitDto.practitionerListOption(practitioner.getId(), practitioner.getName())) - .collect(Collectors.toList()); + .collect(Collectors.toList()); // 供应商信息 List supplierListOptions = supplierList.stream() - .map(supplier -> new PurchaseInventoryInitDto.supplierListOption(supplier.getId(), supplier.getName())) - .collect(Collectors.toList()); + .map(supplier -> new PurchaseInventoryInitDto.supplierListOption(supplier.getId(), supplier.getName())) + .collect(Collectors.toList()); // 审批状态 List supplyStatusOptions = Stream.of(SupplyStatus.values()) - .map(supplyStatus -> new PurchaseInventoryInitDto.supplyStatusOption(supplyStatus.getValue(), + .map(supplyStatus -> new PurchaseInventoryInitDto.supplyStatusOption(supplyStatus.getValue(), supplyStatus.getInfo())) - .collect(Collectors.toList()); + .collect(Collectors.toList()); // 单据类型 List supplyTypeOptions = new ArrayList<>(); supplyTypeOptions.add(new PurchaseInventoryInitDto.supplyTypeOption(SupplyType.PURCHASE_INVENTORY.getValue(), - SupplyType.PURCHASE_INVENTORY.getInfo())); + SupplyType.PURCHASE_INVENTORY.getInfo())); supplyTypeOptions.add(new PurchaseInventoryInitDto.supplyTypeOption(SupplyType.PRODUCT_RETURN.getValue(), - SupplyType.PRODUCT_RETURN.getInfo())); + SupplyType.PRODUCT_RETURN.getInfo())); initDto.setSupplierListOptions(supplierListOptions).setPractitionerListOptions(practitionerListOptions) - .setSupplyStatusOptions(supplyStatusOptions).setSupplyTypeOptions(supplyTypeOptions); + .setSupplyStatusOptions(supplyStatusOptions).setSupplyTypeOptions(supplyTypeOptions); return R.ok(initDto); } @@ -149,18 +130,18 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer */ @Override public R> getPage(InventorySearchParam inventorySearchParam, Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { // 设置模糊查询的字段名 HashSet searchFields = new HashSet<>(); searchFields.add(CommonConstants.FieldName.SupplyBusNo); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(inventorySearchParam, searchKey, searchFields, request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(inventorySearchParam, searchKey, searchFields, request); // 查询入库单据分页列表 Page inventoryReceiptPage = purchaseInventoryMapper.selectInventoryReceiptPage( - new Page<>(pageNo, pageSize), queryWrapper, SupplyType.PURCHASE_INVENTORY.getValue()); + new Page<>(pageNo, pageSize), queryWrapper, SupplyType.PURCHASE_INVENTORY.getValue()); inventoryReceiptPage.getRecords().forEach(e -> { // 单据状态 @@ -185,19 +166,19 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer if (receiptDetailList.isEmpty()) { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00006, null)); } - + // 获取所有供应商ID Set supplierIds = receiptDetailList.stream() - .filter(dto -> dto.getSupplierId() != null) - .map(ReceiptDetailDto::getSupplierId) - .collect(Collectors.toSet()); - + .filter(dto -> dto.getSupplierId() != null) + .map(ReceiptDetailDto::getSupplierId) + .collect(Collectors.toSet()); + // 查询供应商信息并设置供应商名称 if (!supplierIds.isEmpty()) { List suppliers = supplierService.listByIds(supplierIds); Map supplierNameMap = suppliers.stream() - .collect(Collectors.toMap(Supplier::getId, Supplier::getName)); - + .collect(Collectors.toMap(Supplier::getId, Supplier::getName)); + // 设置供应商名称 receiptDetailList.forEach(dto -> { if (dto.getSupplierId() != null) { @@ -205,7 +186,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer } }); } - + return R.ok(receiptDetailList); } @@ -227,8 +208,8 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer List idList = new ArrayList<>(); // 单据号取得 - List busNoList = - purchaseInventoryDtoList.stream().map(PurchaseInventoryDto::getBusNo).collect(Collectors.toList()); + List busNoList + = purchaseInventoryDtoList.stream().map(PurchaseInventoryDto::getBusNo).collect(Collectors.toList()); // 请求数据取得 List requestList = supplyRequestService.getSupplyByBusNo(busNoList.get(0)); if (!requestList.isEmpty()) { @@ -246,18 +227,18 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer // 生成待发送的入库单据 supplyRequest - // id - .setId(null) - // 单据分类:非库存供应 - .setCategoryEnum(SupplyCategory.NON_STOCK.getValue()) - // 单据类型:采购入库 - .setTypeEnum(SupplyType.PURCHASE_INVENTORY.getValue()) - // 制单人 - .setApplicantId(SecurityUtils.getLoginUser().getPractitionerId()) - // 申请时间 - .setApplyTime(DateUtils.getNowDate()); + // id + .setId(null) + // 单据分类:非库存供应 + .setCategoryEnum(SupplyCategory.NON_STOCK.getValue()) + // 单据类型:采购入库 + .setTypeEnum(SupplyType.PURCHASE_INVENTORY.getValue()) + // 制单人 + .setApplicantId(SecurityUtils.getLoginUser().getPractitionerId()) + // 申请时间 + .setApplyTime(DateUtils.getNowDate()); supplyRequestList.add(supplyRequest); - + } // 保存 @@ -269,7 +250,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer List requestIdList = supplyRequestIdList.stream().map(SupplyRequest::getId).collect(Collectors.toList()); for (Long list : requestIdList) { idList.add(list.toString()); - } + } // 返回请求id return R.ok(idList, null); @@ -286,7 +267,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer // 删除单据 boolean result = supplyRequestService.removeByIds(supplyRequestIds); return result ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)) - : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -306,7 +287,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer // 单据提交审核 boolean result = supplyRequestService.submitApproval(busNo); return result ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)) - : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -320,7 +301,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer // 撤回审核 boolean result = supplyRequestService.withdrawApproval(busNo); return result ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)) - : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -335,13 +316,13 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer */ @Override public R getMonthlySettlementDetail(Long locationId, String startTime, String endTime, Integer pageNo, - Integer pageSize) { + Integer pageSize) { - Page receiptDetailList = - purchaseInventoryMapper.getMonthlySettlementDetail(new Page<>(pageNo, pageSize), locationId, startTime, - endTime, ItemType.MEDICINE.getValue(), ItemType.DEVICE.getValue(), - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - Arrays.asList(SupplyType.PURCHASE_INVENTORY.getValue()), SupplyStatus.AGREE.getValue()); + Page receiptDetailList + = purchaseInventoryMapper.getMonthlySettlementDetail(new Page<>(pageNo, pageSize), locationId, startTime, + endTime, ItemType.MEDICINE.getValue(), ItemType.DEVICE.getValue(), + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, + Arrays.asList(SupplyType.PURCHASE_INVENTORY.getValue()), SupplyStatus.AGREE.getValue()); return R.ok(receiptDetailList); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ReceiptApprovalAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ReceiptApprovalAppServiceImpl.java index 98199ea0..682016e1 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ReceiptApprovalAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/ReceiptApprovalAppServiceImpl.java @@ -117,12 +117,12 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService optionList.add(SupplyType.RETURN_ISSUE); optionList.add(SupplyType.PRODUCT_BATCH_STOCKTAKING); List supplyTypeOptions = optionList.stream() - .map(supplyType -> new ReceiptInitDto.supplyTypeOption(supplyType.getValue(), supplyType.getInfo())) - .collect(Collectors.toList()); + .map(supplyType -> new ReceiptInitDto.supplyTypeOption(supplyType.getValue(), supplyType.getInfo())) + .collect(Collectors.toList()); // 审批状态 List supplyStatusOptions = Stream.of(SupplyStatus.values()) - .map(supplyStatus -> new ReceiptInitDto.supplyStatusOption(supplyStatus.getValue(), supplyStatus.getInfo())) - .collect(Collectors.toList()); + .map(supplyStatus -> new ReceiptInitDto.supplyStatusOption(supplyStatus.getValue(), supplyStatus.getInfo())) + .collect(Collectors.toList()); initDto.setSupplyTypeOptions(supplyTypeOptions).setSupplyStatusOptions(supplyStatusOptions); return R.ok(initDto); @@ -138,25 +138,25 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService */ @Override public void exportExcel(ReceiptApprovalSearchParam receiptSearchParam, String searchKey, HttpServletRequest request, - HttpServletResponse response) { + HttpServletResponse response) { R> result = this.getPage(receiptSearchParam, 1, 10000, searchKey, request); if (result != null && result.getData() != null) { Page pageData = result.getData(); List dataList = pageData.getRecords(); List supplierList = supplierService.getList(); Map supplierToNameMap = supplierList.stream() - .collect(Collectors.toMap(Supplier::getId, Supplier::getName, (oldValue, newValue) -> oldValue // 冲突时保留旧值(第一个) - )); + .collect(Collectors.toMap(Supplier::getId, Supplier::getName, (oldValue, newValue) -> oldValue // 冲突时保留旧值(第一个) + )); List practitionerList = practitionerService.getList(); // 创建id到名字的映射 Map practitionerToNameMap = practitionerList.stream() - .collect(Collectors.toMap(Practitioner::getId, Practitioner::getName, (oldValue, newValue) -> oldValue // 冲突时保留旧值(第一个) - )); + .collect(Collectors.toMap(Practitioner::getId, Practitioner::getName, (oldValue, newValue) -> oldValue // 冲突时保留旧值(第一个) + )); List locationList = locationService.getLocationList(); Map locationToNameMap = locationList.stream() - .collect(Collectors.toMap(Location::getId, Location::getName, (oldValue, newValue) -> oldValue // 冲突时保留旧值(第一个) - )); + .collect(Collectors.toMap(Location::getId, Location::getName, (oldValue, newValue) -> oldValue // 冲突时保留旧值(第一个) + )); dataList.forEach(e -> { // 经手人:practitionerIdDictText e.setPractitionerIdDictText(practitionerToNameMap.get(e.getPractitionerId())); @@ -197,7 +197,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService */ @Override public R> getPage(ReceiptApprovalSearchParam receiptSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageSize, String searchKey, HttpServletRequest request) { // 处理拼接状态 String typeEnum = receiptSearchParam.getTypeEnum(); @@ -212,8 +212,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService searchFields.add(CommonConstants.FieldName.SupplyBusNo); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(receiptSearchParam, searchKey, searchFields, request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(receiptSearchParam, searchKey, searchFields, request); if (typeEnumList != null && !typeEnumList.isEmpty()) { queryWrapper.in(CommonConstants.FieldName.TypeEnum, typeEnumList); @@ -221,12 +221,12 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // 查询单据分页列表 Page receiptPage = receiptApprovalMapper.selectReceiptPage(new Page<>(pageNo, pageSize), - queryWrapper, SupplyStatus.APPROVAL.getValue(), SupplyStatus.AGREE.getValue(), - SupplyStatus.REJECT.getValue(), SupplyType.LOSS_REPORT_FORM.getValue(), - SupplyType.ISSUE_INVENTORY.getValue(), SupplyType.PRODUCT_BATCH_STOCKTAKING.getValue(), - SupplyType.PRODUCT_STOCKTAKING.getValue(), SupplyType.PRODUCT_RETURN.getValue(), - SupplyType.RETURN_ISSUE.getValue(), SupplyType.PRODUCT_TRANSFER.getValue(), - SupplyType.PRODUCT_BATCH_TRANSFER.getValue(), SupplyType.PURCHASE_INVENTORY.getValue()); + queryWrapper, SupplyStatus.APPROVAL.getValue(), SupplyStatus.AGREE.getValue(), + SupplyStatus.REJECT.getValue(), SupplyType.LOSS_REPORT_FORM.getValue(), + SupplyType.ISSUE_INVENTORY.getValue(), SupplyType.PRODUCT_BATCH_STOCKTAKING.getValue(), + SupplyType.PRODUCT_STOCKTAKING.getValue(), SupplyType.PRODUCT_RETURN.getValue(), + SupplyType.RETURN_ISSUE.getValue(), SupplyType.PRODUCT_TRANSFER.getValue(), + SupplyType.PRODUCT_BATCH_TRANSFER.getValue(), SupplyType.PURCHASE_INVENTORY.getValue()); receiptPage.getRecords().forEach(e -> { // 单据状态 @@ -319,8 +319,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { // 根据项目id,产品批号,仓库id 查询仓库库存表信息 List inventoryItemList = inventoryItemService.selectInventoryByItemId( - supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), - supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); + supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), + supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); InventoryItem inventoryItemPurpose = null; if (!inventoryItemList.isEmpty()) { inventoryItemPurpose = inventoryItemList.get(0); @@ -338,7 +338,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService if (supplyItemDetailDto.getItemUnit().equals(supplyItemDetailDto.getUnitCode())) { // 源仓库库存+(调拨数量*拆零比) minQuantity = minQuantity - .add(supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); + .add(supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); } else if (supplyItemDetailDto.getItemUnit().equals(supplyItemDetailDto.getMinUnitCode())) { // 供应申请的物品计量单位与最小单位相同 @@ -346,8 +346,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService minQuantity = minQuantity.add(supplyItemDetailDto.getItemQuantity()); } // 更新源仓库库存数量 - Boolean aBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItemPurpose.getId(), minQuantity, now); + Boolean aBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItemPurpose.getId(), minQuantity, now); if (!aBoolean) { throw new ServiceException("系统异常,请稍后重试"); @@ -356,7 +356,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } // 新增追溯码记录 traceNoAppService.addTraceNoManage(supplyItemDetailList, TraceNoStatus.IN.getValue(), - SupplyType.PURCHASE_INVENTORY.getValue()); + SupplyType.PURCHASE_INVENTORY.getValue()); if (!supplyList.isEmpty()) { // 将供应项目的详细信息装配为库存项目 @@ -368,8 +368,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // 调用医保商品采购接口 String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch)) { - List uploadFailedNoList = - this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.PURCHASE_IN, now, false); + List uploadFailedNoList + = this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.PURCHASE_IN, now, false); if (!uploadFailedNoList.isEmpty()) { returnMsg = "3503商品采购上传错误,错误项目编码" + uploadFailedNoList; } else { @@ -417,18 +417,18 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService if (!supplyItemDetailList.isEmpty()) { // 获取盘盈列表(itemQuantity > 0) List positiveList = supplyItemDetailList.stream() - .filter(item -> item.getItemQuantity() != null && item.getItemQuantity().compareTo(BigDecimal.ZERO) > 0) - .collect(Collectors.toList()); + .filter(item -> item.getItemQuantity() != null && item.getItemQuantity().compareTo(BigDecimal.ZERO) > 0) + .collect(Collectors.toList()); // 获取盘亏列表(itemQuantity < 0) List negativeList = supplyItemDetailList.stream() - .filter(item -> item.getItemQuantity() != null && item.getItemQuantity().compareTo(BigDecimal.ZERO) < 0) - .collect(Collectors.toList()); + .filter(item -> item.getItemQuantity() != null && item.getItemQuantity().compareTo(BigDecimal.ZERO) < 0) + .collect(Collectors.toList()); for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { // 根据id,产品批号,仓库 查询库存表信息 List inventoryItemList = inventoryItemService.selectInventoryByItemId( - supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), - supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); + supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), + supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); if (!inventoryItemList.isEmpty()) { InventoryItem inventoryItem = inventoryItemList.get(0); // 最小数量(最小单位库存数量) @@ -444,8 +444,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService minQuantity = minQuantity.add(supplyItemDetailDto.getItemQuantity()); // } // 更新库存数量 - Boolean aBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItem.getId(), minQuantity, now); + Boolean aBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItem.getId(), minQuantity, now); if (!aBoolean) { throw new ServiceException("系统异常,请稍后重试"); } @@ -460,13 +460,13 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService List uploadFailedLossList = null; if (!positiveList.isEmpty()) { // 调用医保库存变更接口,盘盈 - uploadFailedGainList = - this.ybInventoryIntegrated(positiveList, YbInvChgType.INVENTORY_GAIN, now, false); + uploadFailedGainList + = this.ybInventoryIntegrated(positiveList, YbInvChgType.INVENTORY_GAIN, now, false); } if (!negativeList.isEmpty()) { // 调用医保库存变更接口,盘亏 - uploadFailedLossList = - this.ybInventoryIntegrated(negativeList, YbInvChgType.INVENTORY_LOSS, now, false); + uploadFailedLossList + = this.ybInventoryIntegrated(negativeList, YbInvChgType.INVENTORY_LOSS, now, false); } if (uploadFailedGainList != null || uploadFailedLossList != null) { changeReturnMsg = "3502库存变更上传错误,错误项目编码" + uploadFailedGainList + uploadFailedLossList; @@ -474,7 +474,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } } return R.ok(stocktakingReturnMsg + changeReturnMsg, - MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)); + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)); } /** @@ -526,10 +526,10 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), // supplyItemDetailDto.getSourceLocationId(), SecurityUtils.getLoginUser().getTenantId()); List filteredInventoryItems = inventoryItems.stream() - .filter(item -> item.getItemId().equals(supplyItemDetailDto.getItemId()) + .filter(item -> item.getItemId().equals(supplyItemDetailDto.getItemId()) && item.getLotNumber().equals(supplyItemDetailDto.getLotNumber()) && item.getLocationId().equals(supplyItemDetailDto.getSourceLocationId())) - .collect(Collectors.toList()); + .collect(Collectors.toList()); InventoryItem inventoryItemSource = new InventoryItem(); if (!filteredInventoryItems.isEmpty()) { @@ -562,8 +562,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } // } // 更新源仓库库存数量 - Boolean aBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItemSource.getId(), minQuantity, now); + Boolean aBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItemSource.getId(), minQuantity, now); if (!aBoolean) { throw new ServiceException("系统异常,请稍后重试"); } @@ -576,8 +576,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // 根据项目id,产品批号,目的仓库id 查询目的仓库库存表信息 List inventoryItemPurposeList = inventoryItemService.selectInventoryByItemId( - supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), - supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); + supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), + supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); InventoryItem inventoryItemPurpose = null; if (!inventoryItemPurposeList.isEmpty()) { inventoryItemPurpose = inventoryItemPurposeList.get(0); @@ -589,7 +589,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // todo:不理解的代码,可能会因为四舍五入影响总价值 // 采购单价=单价*拆零比 supplyItemDetailDto - .setPrice(supplyItemDetailDto.getPrice().multiply(supplyItemDetailDto.getPartPercent())); + .setPrice(supplyItemDetailDto.getPrice().multiply(supplyItemDetailDto.getPartPercent())); } // 新增库存信息 supplylList.add(supplyItemDetailDto); @@ -609,8 +609,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService minQuantity = minQuantity.add(supplyItemDetailDto.getItemQuantity()); // } // 更新目的仓库库存数量 - Boolean bBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItemPurpose.getId(), minQuantity, now); + Boolean bBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItemPurpose.getId(), minQuantity, now); if (!bBoolean) { throw new ServiceException("系统异常,请稍后重试"); @@ -631,11 +631,11 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // 处理出库追溯码 traceNoAppService.addTraceNoManage(outList, TraceNoStatus.OUT.getValue(), - SupplyType.PRODUCT_TRANSFER.getValue()); + SupplyType.PRODUCT_TRANSFER.getValue()); // 处理入库追溯码 traceNoAppService.addTraceNoManage(inList, TraceNoStatus.IN.getValue(), - SupplyType.PRODUCT_TRANSFER.getValue()); + SupplyType.PRODUCT_TRANSFER.getValue()); } return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)); @@ -679,8 +679,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { // 根据项目id,产品批号,目的仓库id 查询仓库库存表信息 List inventoryItemList = inventoryItemService.selectInventoryByItemId( - supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), - supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); + supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), + supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); InventoryItem inventoryItemSource; if (!inventoryItemList.isEmpty()) { inventoryItemSource = inventoryItemList.get(0); @@ -696,7 +696,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } else { // 仓库库存-(退货数量*拆零比) minQuantity = minQuantity.subtract( - supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); + supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); } } else if (supplyItemDetailDto.getItemUnit().equals(supplyItemDetailDto.getMinUnitCode())) { if (minQuantity.compareTo(supplyItemDetailDto.getItemQuantity()) < 0) { @@ -710,8 +710,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } // 更新仓库库存数量 - Boolean aBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItemSource.getId(), minQuantity, now); + Boolean aBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItemSource.getId(), minQuantity, now); if (!aBoolean) { throw new ServiceException("系统异常,请稍后重试"); @@ -725,12 +725,12 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } // 处理追溯码 traceNoAppService.addTraceNoManage(supplyItemDetailList, TraceNoStatus.OUT.getValue(), - SupplyType.PRODUCT_RETURN.getValue()); + SupplyType.PRODUCT_RETURN.getValue()); // 调用医保采购退货接口 String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch)) { - List uploadFailedNoList = - this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.RETURN_OUT, now, false); + List uploadFailedNoList + = this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.RETURN_OUT, now, false); if (!uploadFailedNoList.isEmpty()) { returnMsg = "3504采购退货上传错误,错误项目编码" + uploadFailedNoList; } @@ -776,8 +776,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { // 根据id,产品批号,仓库 查询库存表信息 List inventoryItemList = inventoryItemService.selectInventoryByItemId( - supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), - supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); + supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), + supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); InventoryItem inventoryItem = new InventoryItem(); if (!inventoryItemList.isEmpty()) { inventoryItem = inventoryItemList.get(0); @@ -793,7 +793,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } else { // 目的仓库库存-(报损数量*拆零比) minQuantity = minQuantity.subtract( - supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); + supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); } } else if (supplyItemDetailDto.getItemUnit().equals(supplyItemDetailDto.getMinUnitCode())) { if (minQuantity.compareTo(supplyItemDetailDto.getItemQuantity()) < 0) { @@ -806,8 +806,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } } // 更新库存数量 - Boolean aBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItem.getId(), minQuantity, now); + Boolean aBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItem.getId(), minQuantity, now); if (!aBoolean) { throw new ServiceException("系统异常,请稍后重试"); } @@ -816,13 +816,13 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // 追溯码管理表数据追加 // 处理追溯码 traceNoAppService.addTraceNoManage(supplyItemDetailList, TraceNoStatus.OUT.getValue(), - SupplyType.LOSS_REPORT_FORM.getValue()); + SupplyType.LOSS_REPORT_FORM.getValue()); // 调用医保库存变更接口 String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch)) { - List uploadFailedNoList = - this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.DESTRUCTION, now, false); + List uploadFailedNoList + = this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.DESTRUCTION, now, false); if (!uploadFailedNoList.isEmpty()) { returnMsg = "3502库存变更上传错误,错误项目编码" + uploadFailedNoList; } @@ -866,15 +866,15 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService if (!supplyItemDetailList.isEmpty()) { // 根据项目id,产品批号,源仓库id 查询源仓库库存表信息 - List inventoryItemList = - inventoryItemService.list(new LambdaQueryWrapper().in(InventoryItem::getItemId, - supplyItemDetailList.stream().map(SupplyItemDetailDto::getItemId).toList())); + List inventoryItemList + = inventoryItemService.list(new LambdaQueryWrapper().in(InventoryItem::getItemId, + supplyItemDetailList.stream().map(SupplyItemDetailDto::getItemId).toList())); for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { if (!inventoryItemList.isEmpty()) { for (InventoryItem inventoryItem : inventoryItemList) { if (inventoryItem.getItemId().equals(supplyItemDetailDto.getItemId()) - && inventoryItem.getLotNumber().equals(supplyItemDetailDto.getLotNumber()) - && inventoryItem.getLocationId().equals(supplyItemDetailDto.getSourceLocationId())) { + && inventoryItem.getLotNumber().equals(supplyItemDetailDto.getLotNumber()) + && inventoryItem.getLocationId().equals(supplyItemDetailDto.getSourceLocationId())) { // 最小数量(最小单位库存数量) BigDecimal minQuantity = inventoryItem.getQuantity(); @@ -886,7 +886,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } else { // 源仓库库存-(领用数量*拆零比) minQuantity = minQuantity.subtract(supplyItemDetailDto.getPartPercent() - .multiply(supplyItemDetailDto.getItemQuantity())); + .multiply(supplyItemDetailDto.getItemQuantity())); } } else if (supplyItemDetailDto.getItemUnit().equals(supplyItemDetailDto.getMinUnitCode())) { if (minQuantity.compareTo(supplyItemDetailDto.getItemQuantity()) < 0) { @@ -899,8 +899,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } } // 更新源仓库库存数量 - Boolean aBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItem.getId(), minQuantity, now); + Boolean aBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItem.getId(), minQuantity, now); if (!aBoolean) { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); @@ -912,14 +912,14 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } // 处理追溯码 traceNoAppService.addTraceNoManage(supplyItemDetailList, TraceNoStatus.OUT.getValue(), - SupplyType.ISSUE_INVENTORY.getValue()); + SupplyType.ISSUE_INVENTORY.getValue()); // 返回信息 String returnMsg = null; // 调用医保库存变更接口 String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch)) { - List uploadFailedNoList = - this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.OTHER_OUT, now, false); + List uploadFailedNoList + = this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.OTHER_OUT, now, false); if (!uploadFailedNoList.isEmpty()) { returnMsg = "3502库存变更上传错误,错误项目编码" + uploadFailedNoList; } @@ -966,8 +966,8 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { // 根据项目id,产品批号,目的仓库id 查询目的仓库库存表信息 List inventoryItemList = inventoryItemService.selectInventoryByItemId( - supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), - supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); + supplyItemDetailDto.getItemId(), supplyItemDetailDto.getLotNumber(), + supplyItemDetailDto.getPurposeLocationId(), SecurityUtils.getLoginUser().getTenantId()); InventoryItem inventoryItemPurpose = null; if (!inventoryItemList.isEmpty()) { inventoryItemPurpose = inventoryItemList.get(0); @@ -985,15 +985,15 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService if (supplyItemDetailDto.getItemUnit().equals(supplyItemDetailDto.getUnitCode())) { // 源仓库库存+(退库数量*拆零比) minQuantity = minQuantity - .add(supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); + .add(supplyItemDetailDto.getPartPercent().multiply(supplyItemDetailDto.getItemQuantity())); } else if (supplyItemDetailDto.getItemUnit().equals(supplyItemDetailDto.getMinUnitCode())) { // 供应申请的物品计量单位与最小单位相同 // 源仓库库存+退库数量 minQuantity = minQuantity.add(supplyItemDetailDto.getItemQuantity()); } // 更新目的仓库库存数量 - Boolean bBoolean = - inventoryItemService.updateInventoryQuantity(inventoryItemPurpose.getId(), minQuantity, now); + Boolean bBoolean + = inventoryItemService.updateInventoryQuantity(inventoryItemPurpose.getId(), minQuantity, now); if (!bBoolean) { throw new ServiceException("系统异常,请稍后重试"); } @@ -1008,14 +1008,14 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } // 处理追溯码 traceNoAppService.addTraceNoManage(supplyItemDetailList, TraceNoStatus.IN.getValue(), - SupplyType.RETURN_ISSUE.getValue()); + SupplyType.RETURN_ISSUE.getValue()); // 返回信息 String returnMsg = null; // 调用医保库存变更接口 String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 if (Whether.YES.getCode().equals(ybSwitch)) { - List uploadFailedNoList = - this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.OTHER_IN, now, false); + List uploadFailedNoList + = this.ybInventoryIntegrated(supplyItemDetailList, YbInvChgType.OTHER_IN, now, false); if (!uploadFailedNoList.isEmpty()) { returnMsg = "3502库存变更上传错误,错误项目编码" + uploadFailedNoList; } @@ -1036,7 +1036,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // 驳回单据 boolean result = supplyRequestService.rejectRequest(busNo); return result ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)) - : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); + : R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } /** @@ -1047,19 +1047,20 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService * @return 价格定义子表数据 */ private List creatChargeItemDetail(List agreedList, - List chargeDetailList) { + List chargeDetailList) { List resultList = new ArrayList<>(); // 将各个项目的定价信息按项目id分组 - Map> chargeDetailGroup = - chargeDetailList.stream().collect(Collectors.groupingBy(ItemChargeDetailDto::getInstanceId)); + Map> chargeDetailGroup + = chargeDetailList.stream().collect(Collectors.groupingBy(ItemChargeDetailDto::getInstanceId)); for (SupplyRequest supplyRequest : agreedList) { Long itemId = supplyRequest.getItemId(); // 通过供应项目id匹配项目定价 List details = chargeDetailGroup.get(itemId); - if (details == null) + if (details == null) { continue; + } boolean shouldSkip = false; for (ItemChargeDetailDto detail : details) { @@ -1073,7 +1074,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService if (!shouldSkip) { // 新增对应项目的价格定义子表 resultList.addAll(this.addChargeItemDefApp(supplyRequest.getLotNumber(), supplyRequest.getPrice(), - details.get(0).getDefinitionId())); + details.get(0).getDefinitionId())); } } return resultList; @@ -1088,17 +1089,17 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService * @return 子表信息 */ private List addChargeItemDefApp(String conditionValue, BigDecimal sellPrice, - Long definitionId) { + Long definitionId) { List resultList = new ArrayList<>(); // 创建成本价记录 ChargeItemDefDetail costDetail = new ChargeItemDefDetail(); costDetail.setConditionCode(ConditionCode.LOT_NUMBER_COST.getCode()).setConditionValue(conditionValue) - .setDefinitionId(definitionId).setAmount(sellPrice); + .setDefinitionId(definitionId).setAmount(sellPrice); resultList.add(costDetail); // 创建销售价记录 ChargeItemDefDetail priceDetail = new ChargeItemDefDetail(); priceDetail.setConditionCode(ConditionCode.LOT_NUMBER_PRICE.getCode()).setConditionValue(conditionValue) - .setDefinitionId(definitionId).setAmount(sellPrice); + .setDefinitionId(definitionId).setAmount(sellPrice); resultList.add(priceDetail); return resultList; } @@ -1113,7 +1114,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService * @return 上传失败的id集合 */ public List ybInventoryIntegrated(List supplyItemDetailList, YbInvChgType ybInvChgType, - Date now, boolean saleFlag) { + Date now, boolean saleFlag) { List uploadFailedNoList = new ArrayList<>(); // 没有医保码的项目不调进销存 for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { @@ -1145,11 +1146,7 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService // 所有类型都需要调用库存变更(特殊类型失败时跳过) if (!skipInventoryUpdate) { result = ybManager.updateInventoryCount( -<<<<<<< HEAD - getMedicalInventory3502Param(supplyItemDetailDto, now, ybInvChgType.getValue())); -======= - getMedicalInventory3502Param(supplyItemDetailDto, now, ybInvChgType.getValue(), saleFlag)); ->>>>>>> v1.3 + getMedicalInventory3502Param(supplyItemDetailDto, now, ybInvChgType.getValue(), saleFlag)); if (result.getCode() != 200) { uploadFailedNoList.add(supplyItemDetailDto.getItemBusNo()); } @@ -1161,13 +1158,13 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService private MedicalPurchase3504Param getMedicalPurchase3504Param(SupplyItemDetailDto supplyItemDetailDto, Date now) { MedicalPurchase3504Param medicalPurchase3504Param = new MedicalPurchase3504Param(); medicalPurchase3504Param.setMedListCodg(supplyItemDetailDto.getYbNo()) - .setFixmedinsBchno(supplyItemDetailDto.getSupplyId().toString()) - .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) - .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()) - .setSplerName(supplyItemDetailDto.getSupplierName()).setPurcInvoNo(supplyItemDetailDto.getInvoiceNo()) - .setManuDate(supplyItemDetailDto.getStartTime()).setExpyEnd(supplyItemDetailDto.getEndTime()) - .setPurcRetnCnt(supplyItemDetailDto.getItemQuantity()).setPurcRetnStoinTime(now) - .setPurcRetnOpterName(supplyItemDetailDto.getPractitionerName()); + .setFixmedinsBchno(supplyItemDetailDto.getSupplyId().toString()) + .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) + .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()) + .setSplerName(supplyItemDetailDto.getSupplierName()).setPurcInvoNo(supplyItemDetailDto.getInvoiceNo()) + .setManuDate(supplyItemDetailDto.getStartTime()).setExpyEnd(supplyItemDetailDto.getEndTime()) + .setPurcRetnCnt(supplyItemDetailDto.getItemQuantity()).setPurcRetnStoinTime(now) + .setPurcRetnOpterName(supplyItemDetailDto.getPractitionerName()); if (YbRxFlag.IMPORTANT_HERBAL_SLICES.getCode() == supplyItemDetailDto.getRxFlag()) { medicalPurchase3504Param.setRxFlag(YbRxFlag.IMPORTANT_HERBAL_SLICES.getName()); } else if (YbRxFlag.WESTERN_AND_CHINESE_PATENT_MEDICINE.getCode() == supplyItemDetailDto.getRxFlag()) { @@ -1181,14 +1178,14 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService private Medical3503Param getMedical3503Param(SupplyItemDetailDto supplyItemDetailDto, Date now) { Medical3503Param medical3503Param = new Medical3503Param(); medical3503Param.setMedListCodg(supplyItemDetailDto.getYbNo()) - .setFixmedinsBchno(supplyItemDetailDto.getSupplyId().toString()) - .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) - .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()) - .setSplerName(supplyItemDetailDto.getSupplierName()).setManuLotnum(supplyItemDetailDto.getLotNumber()) - .setProdentpName(supplyItemDetailDto.getManufacturerText()) - .setAprvno(supplyItemDetailDto.getApprovalNumber()).setManuDate(supplyItemDetailDto.getStartTime()) - .setExpyEnd(supplyItemDetailDto.getEndTime()).setPurcRetnCnt(supplyItemDetailDto.getItemQuantity()) - .setPurcRetnStoinTime(now).setPurcRetnOpterName(supplyItemDetailDto.getPractitionerName()); + .setFixmedinsBchno(supplyItemDetailDto.getSupplyId().toString()) + .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) + .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()) + .setSplerName(supplyItemDetailDto.getSupplierName()).setManuLotnum(supplyItemDetailDto.getLotNumber()) + .setProdentpName(supplyItemDetailDto.getManufacturerText()) + .setAprvno(supplyItemDetailDto.getApprovalNumber()).setManuDate(supplyItemDetailDto.getStartTime()) + .setExpyEnd(supplyItemDetailDto.getEndTime()).setPurcRetnCnt(supplyItemDetailDto.getItemQuantity()) + .setPurcRetnStoinTime(now).setPurcRetnOpterName(supplyItemDetailDto.getPractitionerName()); if (YbRxFlag.IMPORTANT_HERBAL_SLICES.getCode() == supplyItemDetailDto.getRxFlag()) { medical3503Param.setRxFlag(YbRxFlag.IMPORTANT_HERBAL_SLICES.getName()); } else if (YbRxFlag.WESTERN_AND_CHINESE_PATENT_MEDICINE.getCode() == supplyItemDetailDto.getRxFlag()) { @@ -1201,25 +1198,25 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } private MedicalInventory3502Param getMedicalInventory3502Param(SupplyItemDetailDto supplyItemDetailDto, Date now, - String ybInvChgType, boolean saleFlag) { + String ybInvChgType, boolean saleFlag) { MedicalInventory3502Param medicalInventory3502Param = new MedicalInventory3502Param(); // 查库存信息 - List inventoryItemList = - inventoryItemService.selectInventoryByItemId(supplyItemDetailDto.getItemId(), - supplyItemDetailDto.getLotNumber(), null, SecurityUtils.getLoginUser().getTenantId()); + List inventoryItemList + = inventoryItemService.selectInventoryByItemId(supplyItemDetailDto.getItemId(), + supplyItemDetailDto.getLotNumber(), null, SecurityUtils.getLoginUser().getTenantId()); // 查询商品价格信息 - List itemChargeDetailList = - receiptApprovalAppService.getItemChargeDetail(List.of(supplyItemDetailDto.getItemId())); + List itemChargeDetailList + = receiptApprovalAppService.getItemChargeDetail(List.of(supplyItemDetailDto.getItemId())); if (!inventoryItemList.isEmpty() && !itemChargeDetailList.isEmpty()) { // 获取该项目所有的数量(最小单位) BigDecimal totalQuantity = inventoryItemList.stream() - .map(item -> item.getQuantity() != null ? item.getQuantity() : BigDecimal.ZERO) - .reduce(BigDecimal.ZERO, BigDecimal::add); + .map(item -> item.getQuantity() != null ? item.getQuantity() : BigDecimal.ZERO) + .reduce(BigDecimal.ZERO, BigDecimal::add); // 最小单位售卖价格 BigDecimal minPrice = BigDecimal.ZERO; Optional price = itemChargeDetailList.stream() - .filter(x -> x.getConditionValue().equals(supplyItemDetailDto.getLotNumber())) - .map(ItemChargeDetailDto::getSellPrice).findFirst(); + .filter(x -> x.getConditionValue().equals(supplyItemDetailDto.getLotNumber())) + .map(ItemChargeDetailDto::getSellPrice).findFirst(); if (price.isPresent()) { if (supplyItemDetailDto.getPartPercent().compareTo(BigDecimal.ZERO) > 0) { minPrice = price.get().divide(supplyItemDetailDto.getPartPercent(), RoundingMode.HALF_UP); @@ -1229,10 +1226,10 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService JSONArray medicalTraceNo = new JSONArray(); List inventoryTraceNoList = null; if (!YbInvChgType.DESTRUCTION.getValue().equals(ybInvChgType) - || !YbInvChgType.INVENTORY_LOSS.getValue().equals(ybInvChgType)) { + || !YbInvChgType.INVENTORY_LOSS.getValue().equals(ybInvChgType)) { // 获取同一批号下在库的追溯码信息 inventoryTraceNoList = traceNoManageService.getInventoryTraceNoList(supplyItemDetailDto.getItemId(), - supplyItemDetailDto.getLotNumber()); + supplyItemDetailDto.getLotNumber()); } // 转换成上传医保的格式 if (inventoryTraceNoList != null) { @@ -1244,9 +1241,9 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService } medicalInventory3502Param.setMedListCodg(supplyItemDetailDto.getYbNo()).setInvChgType(ybInvChgType) - .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) - .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()).setPric(minPrice).setCnt(totalQuantity) - .setInvChgTime(now).setDrugtracinfo(medicalTraceNo); + .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) + .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()).setPric(minPrice).setCnt(totalQuantity) + .setInvChgTime(now).setDrugtracinfo(medicalTraceNo); if (YbRxFlag.IMPORTANT_HERBAL_SLICES.getCode() == supplyItemDetailDto.getRxFlag()) { medicalInventory3502Param.setRxFlag(YbRxFlag.IMPORTANT_HERBAL_SLICES.getName()); } else if (YbRxFlag.WESTERN_AND_CHINESE_PATENT_MEDICINE.getCode() == supplyItemDetailDto.getRxFlag()) { @@ -1267,19 +1264,19 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService private MedicalInventory3501Param getMedicalInventory3501Param(SupplyItemDetailDto supplyItemDetailDto, Date date) { MedicalInventory3501Param medicalInventory3501Param = new MedicalInventory3501Param(); // 查库存信息 - List inventoryItemList = - inventoryItemService.selectInventoryByItemId(supplyItemDetailDto.getItemId(), - supplyItemDetailDto.getLotNumber(), null, SecurityUtils.getLoginUser().getTenantId()); + List inventoryItemList + = inventoryItemService.selectInventoryByItemId(supplyItemDetailDto.getItemId(), + supplyItemDetailDto.getLotNumber(), null, SecurityUtils.getLoginUser().getTenantId()); if (!inventoryItemList.isEmpty()) { // 获取该项目所有的数量(最小单位) BigDecimal totalQuantity = inventoryItemList.stream() - .map(item -> item.getQuantity() != null ? item.getQuantity() : BigDecimal.ZERO) - .reduce(BigDecimal.ZERO, BigDecimal::add); + .map(item -> item.getQuantity() != null ? item.getQuantity() : BigDecimal.ZERO) + .reduce(BigDecimal.ZERO, BigDecimal::add); medicalInventory3501Param.setMedListCodg(supplyItemDetailDto.getYbNo()) - .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) - .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()).setInvdate(date).setInvCnt(totalQuantity) - .setFixmedinsBchno(supplyItemDetailDto.getLotNumber()).setManuDate(supplyItemDetailDto.getStartTime()) - .setExpyEnd(supplyItemDetailDto.getEndTime()); + .setFixmedinsHilistId(supplyItemDetailDto.getItemBusNo()) + .setFixmedinsHilistName(supplyItemDetailDto.getItemTable()).setInvdate(date).setInvCnt(totalQuantity) + .setFixmedinsBchno(supplyItemDetailDto.getLotNumber()).setManuDate(supplyItemDetailDto.getStartTime()) + .setExpyEnd(supplyItemDetailDto.getEndTime()); if (YbRxFlag.IMPORTANT_HERBAL_SLICES.getCode() == supplyItemDetailDto.getRxFlag()) { medicalInventory3501Param.setRxFlag(YbRxFlag.IMPORTANT_HERBAL_SLICES.getName()); } else if (YbRxFlag.WESTERN_AND_CHINESE_PATENT_MEDICINE.getCode() == supplyItemDetailDto.getRxFlag()) { diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/LossReportFormController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/LossReportFormController.java index 48356b41..51bc531a 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/LossReportFormController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/LossReportFormController.java @@ -45,9 +45,9 @@ public class LossReportFormController { */ @GetMapping(value = "/loss-report-form-page") public R getPage(LossReportSearchParam lossReportSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return lossReportFormAppService.getPage(lossReportSearchParam, pageNo, pageSize, searchKey, request); } @@ -143,9 +143,6 @@ public class LossReportFormController { // @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { // return lossReportFormAppService.getMonthlySettlementDetail(locationId, startTime,endTime,pageNo,pageSize); // } -<<<<<<< HEAD -======= - /** * 报损单据明细导出 * @@ -156,5 +153,4 @@ public class LossReportFormController { public void exportExcel(@RequestParam String busNo, HttpServletResponse response) { lossReportFormAppService.makeExcelFile(busNo, response); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/ProductDetailController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/ProductDetailController.java index 4566dc82..05360659 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/ProductDetailController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/controller/ProductDetailController.java @@ -1,25 +1,17 @@ package com.openhis.web.inventorymanage.controller; -<<<<<<< HEAD -======= import java.util.List; ->>>>>>> v1.3 import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.bind.annotation.*; -<<<<<<< HEAD -import com.core.common.core.domain.R; -import com.openhis.web.inventorymanage.appservice.IProductDetailAppService; -======= import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; import com.openhis.web.inventorymanage.appservice.IProductDetailAppService; import com.openhis.web.inventorymanage.dto.ProductDetailPageDto; ->>>>>>> v1.3 import com.openhis.web.inventorymanage.dto.ProductDetailSearchParam; import lombok.extern.slf4j.Slf4j; @@ -59,21 +51,15 @@ public class ProductDetailController { * @return 库存商品明细分页列表 */ @GetMapping(value = "/product-page") -<<<<<<< HEAD - public R getProductDetailPage(ProductDetailSearchParam productDetailSearchParam, -======= public R> getProductDetailPage(ProductDetailSearchParam productDetailSearchParam, ->>>>>>> v1.3 - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "1000") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "1000") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return productDetailsAppService.getProductDetailPage(productDetailSearchParam, pageNo, pageSize, searchKey, - request); + request); } /** -<<<<<<< HEAD -======= * 查询库存商品备份明细分页列表 * * @param productDetailSearchParam 查询条件 @@ -85,15 +71,14 @@ public class ProductDetailController { */ @GetMapping(value = "/product-backup-page") public R> getProductDetailBackupPage(ProductDetailSearchParam productDetailSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "1000") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "1000") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return productDetailsAppService.getProductDetailBackupPage(productDetailSearchParam, pageNo, pageSize, - searchKey, request); + searchKey, request); } /** ->>>>>>> v1.3 * 查询库存商品明细统计数据 * * @param productDetailSearchParam 查询条件 @@ -103,21 +88,11 @@ public class ProductDetailController { */ @GetMapping(value = "/product-statistics") public R getProductDetailStatistics(ProductDetailSearchParam productDetailSearchParam, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return productDetailsAppService.getProductDetailStatistics(productDetailSearchParam, searchKey, request); } /** -<<<<<<< HEAD - * 操作:停供 - * - * @param inventoryId 库存项目管理ID - * @return 操作结果 - */ - @PutMapping("/stop-supply") - public R stopSupplyById(@RequestBody Long inventoryId) { - return productDetailsAppService.stopSupplyById(inventoryId); -======= * 查询库存商品备份明细统计数据 * * @param productDetailSearchParam 查询条件 @@ -127,7 +102,7 @@ public class ProductDetailController { */ @GetMapping(value = "/product-backup-statistics") public R getProductDetailBackupStatistics(ProductDetailSearchParam productDetailSearchParam, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return productDetailsAppService.getProductDetailBackupStatistics(productDetailSearchParam, searchKey, request); } @@ -140,54 +115,31 @@ public class ProductDetailController { @PutMapping("/stop-supply") public R stopSupplyById(@RequestBody List inventoryIdList) { return productDetailsAppService.stopSupplyById(inventoryIdList); ->>>>>>> v1.3 } /** * 操作:取消停供 * -<<<<<<< HEAD - * @param inventoryId 库存项目管理ID - * @return 操作结果 - */ - @PutMapping("/cancel-supply") - public R cancelSupplyById(@RequestBody Long inventoryId) { - return productDetailsAppService.cancelSupplyById(inventoryId); -======= * @param inventoryIdList 库存项目管理ID * @return 操作结果 */ @PutMapping("/cancel-supply") public R cancelSupplyById(@RequestBody List inventoryIdList) { return productDetailsAppService.cancelSupplyById(inventoryIdList); ->>>>>>> v1.3 } /** * 库存明细表导出 * * @param productDetailSearchParam 查询条件 -<<<<<<< HEAD - * @param pageNo 当前页码 - * @param pageSize 查询条数 -======= ->>>>>>> v1.3 * @param searchKey 模糊查询关键字 * @param request 请求数据 * @param response 响应数据 */ @GetMapping(value = "/excel-out") public void makeExcelFile(ProductDetailSearchParam productDetailSearchParam, -<<<<<<< HEAD - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request, - HttpServletResponse response) { - productDetailsAppService.makeExcelFile(productDetailSearchParam, pageNo, pageSize, searchKey, request, - response); -======= - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request, - HttpServletResponse response) { + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request, + HttpServletResponse response) { productDetailsAppService.makeExcelFile(productDetailSearchParam, searchKey, request, response); } @@ -201,11 +153,10 @@ public class ProductDetailController { */ @GetMapping(value = "/export-excel") public void exportExcel(ProductDetailSearchParam productDetailSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "1000") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request, - HttpServletResponse response) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "1000") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request, + HttpServletResponse response) { productDetailsAppService.exportExcel(productDetailSearchParam, pageNo, pageSize, searchKey, request, response); ->>>>>>> v1.3 } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailPageDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailPageDto.java index 3902b23d..4b6d98cd 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailPageDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailPageDto.java @@ -23,193 +23,265 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class ProductDetailPageDto { - /** 库存项目管理ID(停供用) */ + /** + * 库存项目管理ID(停供用) + */ @JsonSerialize(using = ToStringSerializer.class) private Long inventoryId; - /** 生产日期 */ + /** + * 生产日期 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") @Excel(name = "生产日期", sort = 19, dateFormat = "yyyy-MM-dd") private Date productionDate; - /** 失效日期 */ + /** + * 失效日期 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") @Excel(name = "有效期至", sort = 20, dateFormat = "yyyy-MM-dd") private Date expirationDate; - /** 库存状态 */ + /** + * 库存状态 + */ private Integer inventoryStatusEnum; private String inventoryStatusEnum_enumText; - /** 仓库 */ + /** + * 仓库 + */ @JsonSerialize(using = ToStringSerializer.class) private Long locationId; - /** 仓库名称 */ + /** + * 仓库名称 + */ @Excel(name = "仓库", sort = 4) private String locationName; - /** 货位 */ + /** + * 货位 + */ @JsonSerialize(using = ToStringSerializer.class) private Long locationStoreId; - /** 货位名称 */ + /** + * 货位名称 + */ @Excel(name = "货位", sort = 22) private String locationStoreName; - /** 生产批号 */ + /** + * 生产批号 + */ @Excel(name = "生产批号", sort = 7) private String lotNumber; - /** 库存数量 */ + /** + * 库存数量 + */ private BigDecimal quantity; @Excel(name = "库存(最小单位)", sort = 9) private String quantity_text; - /** 包装单位数量(整数部分) */ + /** + * 包装单位数量(整数部分) + */ private BigDecimal number; @Excel(name = "库存(包装单位)", sort = 8) private String number_text; - /** 包装单位数量(余数部分) */ + /** + * 包装单位数量(余数部分) + */ private BigDecimal remainder; - /** 供应商 */ + /** + * 供应商 + */ @JsonSerialize(using = ToStringSerializer.class) private Long supplierId; - /** 供应商名称 */ + /** + * 供应商名称 + */ @Excel(name = "供应商", sort = 17) private String supplierName; -<<<<<<< HEAD -======= - /** 项目id */ + /** + * 项目id + */ @JsonSerialize(using = ToStringSerializer.class) private Long itemId; ->>>>>>> v1.3 - /** 项目名称 */ + /** + * 项目名称 + */ @Excel(name = "项目名称", sort = 2) private String itemName; - /** 项目名称 */ + /** + * 项目名称 + */ private String itemTable; - /** 项目编码 */ + /** + * 项目编码 + */ @Excel(name = "药品编码", sort = 1) private String busNo; - /** 耗材类型 */ + /** + * 耗材类型 + */ @Dict(dictCode = "device_category_code") private String devCategoryCode; private String devCategoryCode_dictText; private String devCategoryCodeDictText; - /** 药品类型 */ + /** + * 药品类型 + */ @Dict(dictCode = "med_category_code") private String medCategoryCode; private String medCategoryCode_dictText; private String medCategoryCodeDictText; - /** 项目类别 */ + /** + * 项目类别 + */ @Excel(name = "项目类别", sort = 3) private String CategoryCodeDictText; - /** 医保等级 */ + /** + * 医保等级 + */ private Integer chrgitmLv; @Excel(name = "医保等级", sort = 18) private String chrgitmLv_enumText; - /** 厂家 */ + /** + * 厂家 + */ @Excel(name = "厂家/产地", sort = 6) private String manufacturerText; - /** 医保码 */ + /** + * 医保码 + */ private String ybNo; - /** 五笔码 */ + /** + * 五笔码 + */ private String wbStr; - /** 拼音码 */ + /** + * 拼音码 + */ private String pyStr; - /** 包装单位 */ + /** + * 包装单位 + */ @Dict(dictCode = "unit_code") private String unitCode; private String unitCode_dictText; private String unitCodeDictText; - /** 库存单位 */ + /** + * 库存单位 + */ @Dict(dictCode = "unit_code") private String minUnitCode; private String minUnitCode_dictText; private String minUnitCodeDictText; - /** 拆零比 */ + /** + * 拆零比 + */ @Excel(name = "拆零比", sort = 10, scale = 0) private BigDecimal partPercent; - /** 批准文号/国药准字 */ + /** + * 批准文号/国药准字 + */ @Excel(name = "国药准字", sort = 16) private String approvalNumber; - /** 剂型 */ + /** + * 剂型 + */ @Dict(dictCode = "dose_form_code") private String doseFormCode; private String doseFormCode_dictText; @Excel(name = "剂型", sort = 15) private String doseFormCodeDictText; - /** 规格 */ + /** + * 规格 + */ @Excel(name = "规格", sort = 5) private String totalVolume; - /** 零售价 */ + /** + * 零售价 + */ private BigDecimal salePrice; @Excel(name = "零售价", sort = 12) private String excelSalePrice = ""; - /** 定价id */ + /** + * 定价id + */ @JsonSerialize(using = ToStringSerializer.class) private Long chargeItemDefId; - /** 进价 */ + /** + * 进价 + */ private BigDecimal purchasePrice; @Excel(name = "采购价格", sort = 11) private String excelPurchasePrice = ""; - /** 剩余过期天数 */ + /** + * 剩余过期天数 + */ @Excel(name = "剩余过期天数", sort = 21) private Integer remainingDays; - /** 总零售价 */ + /** + * 总零售价 + */ private BigDecimal totalSalePrice; @Excel(name = "零售价总额", sort = 14) private String excelTotalSalePrice = ""; - /** 总进价 */ + /** + * 总进价 + */ private BigDecimal totalPurchasePrice; -<<<<<<< HEAD - @Excel(name = "进价总额", sort = 13, scale = 2) -======= @Excel(name = "进价总额", sort = 13) ->>>>>>> v1.3 private String excelTotalPurchasePrice = ""; - /** 售价统计 */ + /** + * 售价统计 + */ private BigDecimal salePriceStatistics; - /** 进价统计 */ + /** + * 进价统计 + */ private BigDecimal purchasePriceStatistics; -<<<<<<< HEAD -======= - /** 备份时间 */ + /** + * 备份时间 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") private Date backUpDate; ->>>>>>> v1.3 // 设置统计金额默认值为零 public ProductDetailPageDto() { this.totalSalePrice = BigDecimal.ZERO; diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailSearchParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailSearchParam.java index 6198802e..99fe9151 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailSearchParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ProductDetailSearchParam.java @@ -1,9 +1,6 @@ package com.openhis.web.inventorymanage.dto; -<<<<<<< HEAD -======= import java.util.Date; ->>>>>>> v1.3 import java.util.List; import lombok.Data; @@ -19,41 +16,53 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class ProductDetailSearchParam { - /** 剩余过期天数 */ + /** + * 剩余过期天数 + */ private Integer remainingDays; -<<<<<<< HEAD - /** 项目类型 */ - private Integer categoryCode; -======= - /** 药品类型 */ + /** + * 药品类型 + */ private List medCategoryCodes; - /** 耗材类型 */ + /** + * 耗材类型 + */ private List devCategoryCodes; ->>>>>>> v1.3 - /** 医保等级 */ + /** + * 医保等级 + */ private Integer chrgitmLv; - /** 仓库药房列表 */ + /** + * 仓库药房列表 + */ private List locationIds; - /** 供应商列表 */ + /** + * 供应商列表 + */ private List supplierIds; - /** 是否为零 */ + /** + * 是否为零 + */ private Integer zeroFlag; - /** 停用状态 */ + /** + * 停用状态 + */ private Integer inventoryStatusEnum; - /** 项目所在表 */ + /** + * 项目所在表 + */ private String itemTable; -<<<<<<< HEAD -======= - /** 备份时间 */ + /** + * 备份时间 + */ private Date backUpDate; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ReceiptPageDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ReceiptPageDto.java index 3c5f5e09..b37ee784 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ReceiptPageDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/dto/ReceiptPageDto.java @@ -6,14 +6,9 @@ package com.openhis.web.inventorymanage.dto; import java.math.BigDecimal; import java.util.Date; -<<<<<<< HEAD -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -======= import org.springframework.format.annotation.DateTimeFormat; import com.core.common.annotation.Excel; ->>>>>>> v1.3 import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -21,11 +16,6 @@ import com.openhis.common.annotation.Dict; import lombok.Data; import lombok.experimental.Accessors; -<<<<<<< HEAD -import org.apache.poi.hpsf.Decimal; -import org.springframework.format.annotation.DateTimeFormat; -======= ->>>>>>> v1.3 /** * 单据分页列表 dto @@ -37,24 +27,34 @@ import org.springframework.format.annotation.DateTimeFormat; @Accessors(chain = true) public class ReceiptPageDto { - /** 单据号 */ + /** + * 单据号 + */ @Excel(name = "单据号", sort = 1) private String supplyBusNo; - /** 状态 */ + /** + * 状态 + */ private Integer statusEnum; // @Excel(name = "审批状态", sort = 2) private String statusEnum_enumText; - /** 退货状态 */ + /** + * 退货状态 + */ private Integer returnStatus; - /** 类型 */ + /** + * 类型 + */ private Integer typeEnum; @Excel(name = "单据类型", sort = 3) private String typeEnum_enumText; - /** 供应商 */ + /** + * 供应商 + */ @Dict(dictCode = "id", dictText = "name", dictTable = "adm_supplier") @JsonSerialize(using = ToStringSerializer.class) private Long supplierId; @@ -62,7 +62,9 @@ public class ReceiptPageDto { @Excel(name = "供应商", sort = 5) private String supplierIdDictText; - /** 目的仓库 */ + /** + * 目的仓库 + */ @Dict(dictCode = "id", dictText = "name", dictTable = "adm_location") @JsonSerialize(using = ToStringSerializer.class) private Long purposeLocationId; @@ -70,16 +72,22 @@ public class ReceiptPageDto { @Excel(name = "目的仓库", sort = 6) private String purposeLocationIdDictText; - /** 目的仓位 */ + /** + * 目的仓位 + */ @Dict(dictCode = "id", dictText = "name", dictTable = "adm_location") @JsonSerialize(using = ToStringSerializer.class) private Long purposeLocationStoreId; private String purposeLocationStoreId_dictText; - /** 盈亏金额 */ + /** + * 盈亏金额 + */ private BigDecimal breakevenPrice; - /** 经手人 */ + /** + * 经手人 + */ @Dict(dictCode = "id", dictText = "name", dictTable = "adm_practitioner") @JsonSerialize(using = ToStringSerializer.class) private Long practitionerId; @@ -87,18 +95,24 @@ public class ReceiptPageDto { @Excel(name = "经手人", sort = 4) private String practitionerIdDictText; - /** 审批人 */ + /** + * 审批人 + */ @Dict(dictCode = "id", dictText = "name", dictTable = "adm_practitioner") private Long approverId; private String approverId_dictText; @Excel(name = "审批人", sort = 10) private String approverIdDictText; - /** 审批时间 */ + /** + * 审批时间 + */ @Excel(name = "审批时间", sort = 11, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date approvalTime; - /** 申请人 */ + /** + * 申请人 + */ @Dict(dictCode = "id", dictText = "name", dictTable = "adm_practitioner") @JsonSerialize(using = ToStringSerializer.class) private Long applicantId; @@ -106,38 +120,46 @@ public class ReceiptPageDto { @Excel(name = "申请人", sort = 8) private String applicantIdDictText; - /** 申请时间 */ + /** + * 申请时间 + */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") -<<<<<<< HEAD -======= // @Excel(name = "申请时间", sort = 9, dateFormat = "yyyy-MM-dd HH:mm:ss") ->>>>>>> v1.3 private Date applyTime; - /** 制单日期 */ + /** + * 制单日期 + */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") -<<<<<<< HEAD -======= // @Excel(name = "申请时间", sort = 9, dateFormat = "yyyy-MM-dd HH:mm:ss") ->>>>>>> v1.3 private Date createTime; - /** 备注 */ + /** + * 备注 + */ private String remake; - /** 项目所在表名 */ + /** + * 项目所在表名 + */ private String itemTable; - /** 药品类型 */ + /** + * 药品类型 + */ private Integer itemType; - /** 目的仓库类型 */ + /** + * 目的仓库类型 + */ private Integer purposeTypeEnum; private String purposeTypeEnum_enumText; - /** 追溯码 */ + /** + * 追溯码 + */ private String traceNo; /** * 24、药品 @@ -148,12 +170,8 @@ public class ReceiptPageDto { /* * 总金额 */ -<<<<<<< HEAD - private BigDecimal totalAmount; -======= - @Excel(name = "总金额", sort = 7,scale = 2) + @Excel(name = "总金额", sort = 7, scale = 2) private BigDecimal totalAmount; private String totalAmountText; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/InventoryAdjustPriceMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/InventoryAdjustPriceMapper.java index 07682fe7..5b055ba8 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/InventoryAdjustPriceMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/InventoryAdjustPriceMapper.java @@ -9,10 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.openhis.web.adjustprice.dto.ChangePricePageDto; import com.openhis.web.inventorymanage.dto.ReceiptApprovalSearchParam; import com.openhis.web.inventorymanage.dto.ReceiptPageDto; -<<<<<<< HEAD -======= import org.springframework.stereotype.Repository; ->>>>>>> v1.3 /** * @ClassName AdjustPriceMapper @@ -20,13 +17,11 @@ import org.springframework.stereotype.Repository; * @Author raymond * @Date 2025/10/23 14:41 * @Version 1.0 - **/ -<<<<<<< HEAD -@Component -======= + * + */ @Repository ->>>>>>> v1.3 public interface InventoryAdjustPriceMapper { + /** * 查询单据审批分页列表 * @@ -38,8 +33,8 @@ public interface InventoryAdjustPriceMapper { * @return 单据审批分页列表 */ Page searchPageByExamine(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("approval") Integer approval, @Param("agree") Integer agree, @Param("reject") Integer reject, - @Param("medCategory") Integer medTypeEnum, @Param("deviceCategory") Integer deviceTypeEnum, - @Param("activityCategory") Integer activityTypeEnum, @Param("healthCategory") Integer healthTypeEnum); + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("approval") Integer approval, @Param("agree") Integer agree, @Param("reject") Integer reject, + @Param("medCategory") Integer medTypeEnum, @Param("deviceCategory") Integer deviceTypeEnum, + @Param("activityCategory") Integer activityTypeEnum, @Param("healthCategory") Integer healthTypeEnum); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/ProductDetailAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/ProductDetailAppMapper.java index 82fea2aa..90292037 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/ProductDetailAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/mapper/ProductDetailAppMapper.java @@ -3,11 +3,8 @@ */ package com.openhis.web.inventorymanage.mapper; -<<<<<<< HEAD -======= import java.util.List; ->>>>>>> v1.3 import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -28,7 +25,7 @@ public interface ProductDetailAppMapper { /** * 查询库存商品明细分页列表 - * + * * @param page 分页 * @param queryWrapper 查询条件 * @param medMedicationDefinition 药品 @@ -37,36 +34,23 @@ public interface ProductDetailAppMapper { * @return 库存商品明细分页列表 */ Page selectProductDetailsPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("medMedicationDefinition") String medMedicationDefinition, - @Param("admDeviceDefinition") String admDeviceDefinition, @Param("lotNumberCost") String lotNumberCost); -<<<<<<< HEAD - /** - * 查询库存商品明细分页列表,联查数据字典 - * - * @param page 分页 -======= + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("medMedicationDefinition") String medMedicationDefinition, + @Param("admDeviceDefinition") String admDeviceDefinition, @Param("lotNumberCost") String lotNumberCost); /** * 查询库存商品明细分页列表,联查数据字典翻译单位字段 * ->>>>>>> v1.3 * @param queryWrapper 查询条件 * @param medMedicationDefinition 药品 * @param admDeviceDefinition 耗材 * @param lotNumberCost 批号进价 * @return 库存商品明细分页列表 */ -<<<<<<< HEAD - Page selectProductDetailsPageX(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("medMedicationDefinition") String medMedicationDefinition, - @Param("admDeviceDefinition") String admDeviceDefinition, @Param("lotNumberCost") String lotNumberCost); -======= List getProductDetailPageAndTranslateField( - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("medMedicationDefinition") String medMedicationDefinition, - @Param("admDeviceDefinition") String admDeviceDefinition, @Param("lotNumberCost") String lotNumberCost); + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("medMedicationDefinition") String medMedicationDefinition, + @Param("admDeviceDefinition") String admDeviceDefinition, @Param("lotNumberCost") String lotNumberCost); /** * 查询库存商品备份明细分页列表 @@ -76,6 +60,5 @@ public interface ProductDetailAppMapper { * @return 库存商品备份明细分页列表 */ Page selectProductDetailsBackupPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); ->>>>>>> v1.3 + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/IGfStudentListAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/IGfStudentListAppService.java index 691c9d21..c6a7feab 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/IGfStudentListAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/IGfStudentListAppService.java @@ -26,7 +26,7 @@ public interface IGfStudentListAppService { * @return 学生名单分页 */ R> getPage(GfStudentListDto searchParam, String searchKey, Integer pageNo, - Integer pageSize); + Integer pageSize); /** * 查询学生名单详情 @@ -38,7 +38,7 @@ public interface IGfStudentListAppService { /** * 添加学生名单 - * + * * @param gfStudentListDto 学生名单Dto * @return 结果 */ @@ -74,13 +74,10 @@ public interface IGfStudentListAppService { * @param response 响应 */ void importTemplate(HttpServletResponse response); -<<<<<<< HEAD -======= /** * peis数据同步 */ R synPeis(); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioApplicationRecordAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioApplicationRecordAppServiceImpl.java index d44dddf4..2e99e569 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioApplicationRecordAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioApplicationRecordAppServiceImpl.java @@ -5,10 +5,7 @@ import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; -<<<<<<< HEAD -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import org.apache.commons.lang3.tuple.Pair; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,10 +16,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; -<<<<<<< HEAD -import com.core.common.enums.DeleteFlag; -======= ->>>>>>> v1.3 import com.core.common.utils.AssignSeqUtil; import com.core.common.utils.DateUtils; import com.core.common.utils.SecurityUtils; @@ -83,18 +76,18 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati */ @Override public R> getPage(GfRatioApplicationRecordDto searchParam, String printable, - String searchKey, Integer pageNo, Integer pageSize) { + String searchKey, Integer pageNo, Integer pageSize) { // 构造查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(searchParam, searchKey, - new HashSet<>(Set.of("application_no", "bus_no", "name", "py_str", "wb_str", "yb_no")), null); + new HashSet<>(Set.of("application_no", "bus_no", "name", "py_str", "wb_str", "yb_no")), null); // 可打印筛选 if (Whether.YES.getCode().equals(printable)) { queryWrapper.eq("application_status", GfApplicationStatus.PROCESSING.getValue()).eq("final_approval_result", - GfApplicationStatus.PROCESSING.getValue()); + GfApplicationStatus.PROCESSING.getValue()); } // 查询比例调整申请记录分页 IPage page = gfRatioApplicationRecordAppMapper - .selectGfRatioApplicationRecordPage(new Page<>(pageNo, pageSize), queryWrapper); + .selectGfRatioApplicationRecordPage(new Page<>(pageNo, pageSize), queryWrapper); for (GfRatioApplicationRecordDto r : page.getRecords()) { // 翻译非字典枚举 GfItemType gfItemType = GfItemType.getByValue(r.getItemType()); @@ -125,68 +118,68 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati String ybNo = null; if (GfItemType.MEDICATION.getValue().equals(gfRatioApplication.getItemType())) { // 如果是药品,获取并设置药品定义信息 - MedicationDefinition medicationDefinition = - medicationDefinitionService.getById(gfRatioApplication.getDefinitionId()); + MedicationDefinition medicationDefinition + = medicationDefinitionService.getById(gfRatioApplication.getDefinitionId()); if (medicationDefinition != null) { gfRatioApplicationRecordDto.setBusNo(medicationDefinition.getBusNo()) - .setName(medicationDefinition.getName()).setYbNo(medicationDefinition.getYbNo()) - // 公费项目分类:药品 - .setItemTypeName(GfItemType.MEDICATION.getInfo()); - chrgitmLv = - Optional.of(medicationDefinition.getChrgitmLv()).orElse(YbChrgitmLv.SELF_PAY.getValue()).toString(); + .setName(medicationDefinition.getName()).setYbNo(medicationDefinition.getYbNo()) + // 公费项目分类:药品 + .setItemTypeName(GfItemType.MEDICATION.getInfo()); + chrgitmLv + = Optional.of(medicationDefinition.getChrgitmLv()).orElse(YbChrgitmLv.SELF_PAY.getValue()).toString(); ybNo = medicationDefinition.getYbNo(); } } else if (GfItemType.ACTIVITY.getValue().equals(gfRatioApplication.getItemType())) { // 如果是诊疗,获取并设置诊疗定义信息 - ActivityDefinition activityDefinition = - activityDefinitionService.getById(gfRatioApplication.getDefinitionId()); + ActivityDefinition activityDefinition + = activityDefinitionService.getById(gfRatioApplication.getDefinitionId()); if (activityDefinition != null) { gfRatioApplicationRecordDto.setBusNo(activityDefinition.getBusNo()) - .setName(activityDefinition.getName()).setYbNo(activityDefinition.getYbNo()) - // 公费项目分类:诊疗 - .setItemTypeName(GfItemType.ACTIVITY.getInfo()); - chrgitmLv = - Optional.of(activityDefinition.getChrgitmLv()).orElse(YbChrgitmLv.SELF_PAY.getValue()).toString(); + .setName(activityDefinition.getName()).setYbNo(activityDefinition.getYbNo()) + // 公费项目分类:诊疗 + .setItemTypeName(GfItemType.ACTIVITY.getInfo()); + chrgitmLv + = Optional.of(activityDefinition.getChrgitmLv()).orElse(YbChrgitmLv.SELF_PAY.getValue()).toString(); ybNo = activityDefinition.getYbNo(); } defTableName = CommonConstants.TableName.WOR_ACTIVITY_DEFINITION; } YbChrgitmLv ybChrgitmLv = YbChrgitmLv.getByCode(chrgitmLv); // 查询原支付比例 - Pair, BigDecimal> oldRatiosAndPrice = - this.getOldRatiosAndPrice(gfRatioApplication.getDefinitionId(), defTableName, chrgitmLv); + Pair, BigDecimal> oldRatiosAndPrice + = this.getOldRatiosAndPrice(gfRatioApplication.getDefinitionId(), defTableName, chrgitmLv); // Dto赋值返回 gfRatioApplicationRecordDto.setId(gfRatioApplication.getId()).setApplicationNo(gfRatioApplication.getBusNo()) - .setItemType(gfRatioApplication.getItemType()) - // 医保编号 - .setYbNo(ybNo) - // 医保等级名称 - .setChrgitmLvName(ybChrgitmLv == null ? null : ybChrgitmLv.getInfo()) - .setApplicationRatio(gfRatioApplication.getApplicationRatio()) - .setOldRatio(oldRatiosAndPrice.getLeft().getLeft()).setTotalPrice(oldRatiosAndPrice.getRight()) - // 价格差:计算得出 - .setPriceDiff(oldRatiosAndPrice.getLeft().getLeft() != null - && gfRatioApplication.getApplicationRatio() != null && oldRatiosAndPrice.getRight() != null - ? gfRatioApplication.getApplicationRatio().subtract(oldRatiosAndPrice.getLeft().getLeft()) - .multiply(oldRatiosAndPrice.getRight()).divide(new BigDecimal(100), RoundingMode.UNNECESSARY) - : null) - .setTwiceRatio(gfRatioApplication.getTwiceRatio()).setOldTwiceRatio(oldRatiosAndPrice.getLeft().getRight()) - .setStartDate(gfRatioApplication.getStartDate()).setEndDate(gfRatioApplication.getEndDate()) - .setApplicationStatus(gfRatioApplication.getApplicationStatus()) - .setApplicant(gfRatioApplication.getApplicant()).setApplicationTime(gfRatioApplication.getApplicationTime()) - .setApplicationReason(gfRatioApplication.getApplicationReason()) - .setInitialApprover(gfRatioApplication.getInitialApprover()) - .setInitialApprovalResult(gfRatioApplication.getInitialApprovalResult()) - .setInitialApprovalTime(gfRatioApplication.getInitialApprovalTime()) - .setInitialApprovalOpinion(gfRatioApplication.getInitialApprovalOpinion()) - .setFinanceApprover(gfRatioApplication.getFinanceApprover()) - .setFinanceApprovalResult(gfRatioApplication.getFinanceApprovalResult()) - .setFinanceApprovalTime(gfRatioApplication.getFinanceApprovalTime()) - .setFinanceApprovalOpinion(gfRatioApplication.getFinanceApprovalOpinion()) - .setFinalRecorder(gfRatioApplication.getFinalRecorder()) - .setFinalApprovalResult(gfRatioApplication.getFinalApprovalResult()) - .setFinalRecordTime(gfRatioApplication.getFinalRecordTime()) - .setFinalApprovalOpinion(gfRatioApplication.getFinalApprovalOpinion()); + .setItemType(gfRatioApplication.getItemType()) + // 医保编号 + .setYbNo(ybNo) + // 医保等级名称 + .setChrgitmLvName(ybChrgitmLv == null ? null : ybChrgitmLv.getInfo()) + .setApplicationRatio(gfRatioApplication.getApplicationRatio()) + .setOldRatio(oldRatiosAndPrice.getLeft().getLeft()).setTotalPrice(oldRatiosAndPrice.getRight()) + // 价格差:计算得出 + .setPriceDiff(oldRatiosAndPrice.getLeft().getLeft() != null + && gfRatioApplication.getApplicationRatio() != null && oldRatiosAndPrice.getRight() != null + ? gfRatioApplication.getApplicationRatio().subtract(oldRatiosAndPrice.getLeft().getLeft()) + .multiply(oldRatiosAndPrice.getRight()).divide(new BigDecimal(100), RoundingMode.UNNECESSARY) + : null) + .setTwiceRatio(gfRatioApplication.getTwiceRatio()).setOldTwiceRatio(oldRatiosAndPrice.getLeft().getRight()) + .setStartDate(gfRatioApplication.getStartDate()).setEndDate(gfRatioApplication.getEndDate()) + .setApplicationStatus(gfRatioApplication.getApplicationStatus()) + .setApplicant(gfRatioApplication.getApplicant()).setApplicationTime(gfRatioApplication.getApplicationTime()) + .setApplicationReason(gfRatioApplication.getApplicationReason()) + .setInitialApprover(gfRatioApplication.getInitialApprover()) + .setInitialApprovalResult(gfRatioApplication.getInitialApprovalResult()) + .setInitialApprovalTime(gfRatioApplication.getInitialApprovalTime()) + .setInitialApprovalOpinion(gfRatioApplication.getInitialApprovalOpinion()) + .setFinanceApprover(gfRatioApplication.getFinanceApprover()) + .setFinanceApprovalResult(gfRatioApplication.getFinanceApprovalResult()) + .setFinanceApprovalTime(gfRatioApplication.getFinanceApprovalTime()) + .setFinanceApprovalOpinion(gfRatioApplication.getFinanceApprovalOpinion()) + .setFinalRecorder(gfRatioApplication.getFinalRecorder()) + .setFinalApprovalResult(gfRatioApplication.getFinalApprovalResult()) + .setFinalRecordTime(gfRatioApplication.getFinalRecordTime()) + .setFinalApprovalOpinion(gfRatioApplication.getFinalApprovalOpinion()); return R.ok(gfRatioApplicationRecordDto); } @@ -200,37 +193,33 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati public R add(GfRatioApplicationRecordDto gfRatioApplicationRecordDto) { // 查询指定项目现行比例 List gfRatioList = gfRatioService.list(new LambdaQueryWrapper() - .eq(GfRatio::getDefinitionId, gfRatioApplicationRecordDto.getDefinitionId()) -<<<<<<< HEAD - .eq(GfRatio::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + .eq(GfRatio::getDefinitionId, gfRatioApplicationRecordDto.getDefinitionId()) + .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); // 验证时间是否重叠 if (!gfRatioList.isEmpty()) { for (GfRatio r : gfRatioList) { if (!r.getStartDate().after(gfRatioApplicationRecordDto.getEndDate()) - && !r.getEndDate().before(gfRatioApplicationRecordDto.getStartDate())) { + && !r.getEndDate().before(gfRatioApplicationRecordDto.getStartDate())) { return R.fail("该项目此次申请的开始结束时间与现行比例开始结束时间有重叠,请确认"); } } } // 创建申请 GfRatioApplication gfRatioApplication = new GfRatioApplication() - .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.GF_RATIO_APPLICATION.getPrefix(), 4)) - .setItemType(gfRatioApplicationRecordDto.getItemType()) - .setApplicationRatio(gfRatioApplicationRecordDto.getApplicationRatio()) - .setTwiceRatio(gfRatioApplicationRecordDto.getTwiceRatio()) - .setStartDate(gfRatioApplicationRecordDto.getStartDate()) - // 结束时间:调整为当天23点59分59秒 - .setEndDate(DateUtils.addSeconds(DateUtils.addDays(gfRatioApplicationRecordDto.getEndDate(), 1), -1)) - // 申请状态:处理中 - .setApplicationStatus(GfApplicationStatus.PROCESSING.getValue()).setApplicant(SecurityUtils.getNickName()) - .setApplicationTime(DateUtils.getNowDate()) - .setApplicationReason(gfRatioApplicationRecordDto.getApplicationReason()) - // 测算通过or驳回:处理中 - .setInitialApprovalResult(GfApplicationStatus.PROCESSING.getValue()) - .setDefinitionId(gfRatioApplicationRecordDto.getDefinitionId()); + .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.GF_RATIO_APPLICATION.getPrefix(), 4)) + .setItemType(gfRatioApplicationRecordDto.getItemType()) + .setApplicationRatio(gfRatioApplicationRecordDto.getApplicationRatio()) + .setTwiceRatio(gfRatioApplicationRecordDto.getTwiceRatio()) + .setStartDate(gfRatioApplicationRecordDto.getStartDate()) + // 结束时间:调整为当天23点59分59秒 + .setEndDate(DateUtils.addSeconds(DateUtils.addDays(gfRatioApplicationRecordDto.getEndDate(), 1), -1)) + // 申请状态:处理中 + .setApplicationStatus(GfApplicationStatus.PROCESSING.getValue()).setApplicant(SecurityUtils.getNickName()) + .setApplicationTime(DateUtils.getNowDate()) + .setApplicationReason(gfRatioApplicationRecordDto.getApplicationReason()) + // 测算通过or驳回:处理中 + .setInitialApprovalResult(GfApplicationStatus.PROCESSING.getValue()) + .setDefinitionId(gfRatioApplicationRecordDto.getDefinitionId()); gfRatioApplicationService.save(gfRatioApplication); return R.ok(); } @@ -250,15 +239,15 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati } // 状态验证 if (!GfApplicationStatus.PROCESSING.getValue().equals(gfRatioApplication.getApplicationStatus()) - && !GfApplicationStatus.PROCESSING.getValue().equals(gfRatioApplication.getInitialApprovalResult())) { + && !GfApplicationStatus.PROCESSING.getValue().equals(gfRatioApplication.getInitialApprovalResult())) { return R.fail("该申请已不可取消"); } // 更新申请记录 gfRatioApplicationService.update(new GfRatioApplication(), new LambdaUpdateWrapper() - // 申请状态:取消 - .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.CANCELLED.getValue()) - // 测算通过or驳回:NULL - .set(GfRatioApplication::getInitialApprovalResult, null).eq(GfRatioApplication::getId, id)); + // 申请状态:取消 + .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.CANCELLED.getValue()) + // 测算通过or驳回:NULL + .set(GfRatioApplication::getInitialApprovalResult, null).eq(GfRatioApplication::getId, id)); return null; } @@ -300,32 +289,32 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati if (GfApplicationStatus.APPROVED.getValue().equals(gfRatioApplicationProcessDto.getApprovalResult())) { // 更新申请记录 gfRatioApplicationService.update(new GfRatioApplication(), - new LambdaUpdateWrapper() - .set(GfRatioApplication::getInitialApprover, loginUserName) - // 测算通过or驳回:通过 - .set(GfRatioApplication::getInitialApprovalResult, GfApplicationStatus.APPROVED.getValue()) - .set(GfRatioApplication::getInitialApprovalTime, now) - .set(GfRatioApplication::getInitialApprovalOpinion, - gfRatioApplicationProcessDto.getApprovalOpinion()) - // 财务科通过or驳回:处理中 - .set(GfRatioApplication::getFinanceApprovalResult, GfApplicationStatus.PROCESSING.getValue()) - .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); + new LambdaUpdateWrapper() + .set(GfRatioApplication::getInitialApprover, loginUserName) + // 测算通过or驳回:通过 + .set(GfRatioApplication::getInitialApprovalResult, GfApplicationStatus.APPROVED.getValue()) + .set(GfRatioApplication::getInitialApprovalTime, now) + .set(GfRatioApplication::getInitialApprovalOpinion, + gfRatioApplicationProcessDto.getApprovalOpinion()) + // 财务科通过or驳回:处理中 + .set(GfRatioApplication::getFinanceApprovalResult, GfApplicationStatus.PROCESSING.getValue()) + .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); // 申请驳回 } else if (GfApplicationStatus.REJECTED.getValue() - .equals(gfRatioApplicationProcessDto.getApprovalResult())) { + .equals(gfRatioApplicationProcessDto.getApprovalResult())) { // 更新申请记录 gfRatioApplicationService.update(new GfRatioApplication(), - new LambdaUpdateWrapper() - .set(GfRatioApplication::getInitialApprover, loginUserName) - // 测算通过or驳回:驳回 - .set(GfRatioApplication::getInitialApprovalResult, GfApplicationStatus.REJECTED.getValue()) - .set(GfRatioApplication::getInitialApprovalTime, now) - .set(GfRatioApplication::getInitialApprovalOpinion, - gfRatioApplicationProcessDto.getApprovalOpinion()) - // 申请状态:驳回 - .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.REJECTED.getValue()) - .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); + new LambdaUpdateWrapper() + .set(GfRatioApplication::getInitialApprover, loginUserName) + // 测算通过or驳回:驳回 + .set(GfRatioApplication::getInitialApprovalResult, GfApplicationStatus.REJECTED.getValue()) + .set(GfRatioApplication::getInitialApprovalTime, now) + .set(GfRatioApplication::getInitialApprovalOpinion, + gfRatioApplicationProcessDto.getApprovalOpinion()) + // 申请状态:驳回 + .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.REJECTED.getValue()) + .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); } else { return R.fail("通过or驳回指定错误"); } @@ -340,32 +329,32 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati if (GfApplicationStatus.APPROVED.getValue().equals(gfRatioApplicationProcessDto.getApprovalResult())) { // 更新申请记录 gfRatioApplicationService.update(new GfRatioApplication(), - new LambdaUpdateWrapper() - .set(GfRatioApplication::getFinanceApprover, loginUserName) - // 财务科通过or驳回:通过 - .set(GfRatioApplication::getFinanceApprovalResult, GfApplicationStatus.APPROVED.getValue()) - .set(GfRatioApplication::getFinanceApprovalTime, now) - .set(GfRatioApplication::getFinanceApprovalOpinion, - gfRatioApplicationProcessDto.getApprovalOpinion()) - // 会议通过or驳回:处理中 - .set(GfRatioApplication::getFinalApprovalResult, GfApplicationStatus.PROCESSING.getValue()) - .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); + new LambdaUpdateWrapper() + .set(GfRatioApplication::getFinanceApprover, loginUserName) + // 财务科通过or驳回:通过 + .set(GfRatioApplication::getFinanceApprovalResult, GfApplicationStatus.APPROVED.getValue()) + .set(GfRatioApplication::getFinanceApprovalTime, now) + .set(GfRatioApplication::getFinanceApprovalOpinion, + gfRatioApplicationProcessDto.getApprovalOpinion()) + // 会议通过or驳回:处理中 + .set(GfRatioApplication::getFinalApprovalResult, GfApplicationStatus.PROCESSING.getValue()) + .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); // 申请驳回 } else if (GfApplicationStatus.REJECTED.getValue() - .equals(gfRatioApplicationProcessDto.getApprovalResult())) { + .equals(gfRatioApplicationProcessDto.getApprovalResult())) { // 更新申请记录 gfRatioApplicationService.update(new GfRatioApplication(), - new LambdaUpdateWrapper() - .set(GfRatioApplication::getFinanceApprover, loginUserName) - // 财务科通过or驳回:驳回 - .set(GfRatioApplication::getFinanceApprovalResult, GfApplicationStatus.REJECTED.getValue()) - .set(GfRatioApplication::getFinanceApprovalTime, now) - .set(GfRatioApplication::getFinanceApprovalOpinion, - gfRatioApplicationProcessDto.getApprovalOpinion()) - // 申请状态:驳回 - .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.REJECTED.getValue()) - .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); + new LambdaUpdateWrapper() + .set(GfRatioApplication::getFinanceApprover, loginUserName) + // 财务科通过or驳回:驳回 + .set(GfRatioApplication::getFinanceApprovalResult, GfApplicationStatus.REJECTED.getValue()) + .set(GfRatioApplication::getFinanceApprovalTime, now) + .set(GfRatioApplication::getFinanceApprovalOpinion, + gfRatioApplicationProcessDto.getApprovalOpinion()) + // 申请状态:驳回 + .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.REJECTED.getValue()) + .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); } else { return R.fail("通过or驳回指定错误"); } @@ -380,36 +369,36 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati if (GfApplicationStatus.APPROVED.getValue().equals(gfRatioApplicationProcessDto.getApprovalResult())) { // 更新申请记录 gfRatioApplicationService.update(new GfRatioApplication(), new LambdaUpdateWrapper() - .set(GfRatioApplication::getFinalRecorder, loginUserName) - // 会议通过or驳回:通过 - .set(GfRatioApplication::getFinalApprovalResult, GfApplicationStatus.APPROVED.getValue()) - .set(GfRatioApplication::getFinalRecordTime, now) - .set(GfRatioApplication::getFinalApprovalOpinion, gfRatioApplicationProcessDto.getApprovalOpinion()) - // 申请状态:通过 - .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.APPROVED.getValue()) - .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); + .set(GfRatioApplication::getFinalRecorder, loginUserName) + // 会议通过or驳回:通过 + .set(GfRatioApplication::getFinalApprovalResult, GfApplicationStatus.APPROVED.getValue()) + .set(GfRatioApplication::getFinalRecordTime, now) + .set(GfRatioApplication::getFinalApprovalOpinion, gfRatioApplicationProcessDto.getApprovalOpinion()) + // 申请状态:通过 + .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.APPROVED.getValue()) + .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); // 创建现行自付比例 GfRatio gfRatio = new GfRatio() - // 比例类型:单项比例 - .setRatioType(GfRatioType.INDIVIDUAL_RATIO.getValue()).setItemType(gfRatioApplication.getItemType()) - .setSelfRatio(gfRatioApplication.getApplicationRatio()) - .setTwiceRatio(gfRatioApplication.getTwiceRatio()).setStartDate(gfRatioApplication.getStartDate()) - .setEndDate(gfRatioApplication.getEndDate()).setDefinitionId(gfRatioApplication.getDefinitionId()); + // 比例类型:单项比例 + .setRatioType(GfRatioType.INDIVIDUAL_RATIO.getValue()).setItemType(gfRatioApplication.getItemType()) + .setSelfRatio(gfRatioApplication.getApplicationRatio()) + .setTwiceRatio(gfRatioApplication.getTwiceRatio()).setStartDate(gfRatioApplication.getStartDate()) + .setEndDate(gfRatioApplication.getEndDate()).setDefinitionId(gfRatioApplication.getDefinitionId()); gfRatioService.save(gfRatio); // 申请驳回 } else if (GfApplicationStatus.REJECTED.getValue() - .equals(gfRatioApplicationProcessDto.getApprovalResult())) { + .equals(gfRatioApplicationProcessDto.getApprovalResult())) { // 申请驳回,更新申请记录 gfRatioApplicationService.update(new GfRatioApplication(), new LambdaUpdateWrapper() - .set(GfRatioApplication::getFinalRecorder, loginUserName) - // 财务科通过or驳回:驳回 - .set(GfRatioApplication::getFinalApprovalResult, GfApplicationStatus.REJECTED.getValue()) - .set(GfRatioApplication::getFinalRecordTime, now) - .set(GfRatioApplication::getFinalApprovalOpinion, gfRatioApplicationProcessDto.getApprovalOpinion()) - // 申请状态:驳回 - .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.REJECTED.getValue()) - .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); + .set(GfRatioApplication::getFinalRecorder, loginUserName) + // 财务科通过or驳回:驳回 + .set(GfRatioApplication::getFinalApprovalResult, GfApplicationStatus.REJECTED.getValue()) + .set(GfRatioApplication::getFinalRecordTime, now) + .set(GfRatioApplication::getFinalApprovalOpinion, gfRatioApplicationProcessDto.getApprovalOpinion()) + // 申请状态:驳回 + .set(GfRatioApplication::getApplicationStatus, GfApplicationStatus.REJECTED.getValue()) + .eq(GfRatioApplication::getId, gfRatioApplicationProcessDto.getId())); } else { return R.fail("通过or驳回指定错误"); } @@ -431,14 +420,14 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati */ @Override public R> getDefinitionSelectPage( - GfRatioApplicationDefinitionSelectDto searchParam, String searchKey, Integer itemType, Integer pageNo, - Integer pageSize) { + GfRatioApplicationDefinitionSelectDto searchParam, String searchKey, Integer itemType, Integer pageNo, + Integer pageSize) { // 构造查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(searchParam, - searchKey, new HashSet<>(Set.of("bus_no", "name", "py_str", "wb_str", "yb_no")), null); + searchKey, new HashSet<>(Set.of("bus_no", "name", "py_str", "wb_str", "yb_no")), null); // 查询比例调整申请记录分页 IPage page = gfRatioApplicationRecordAppMapper - .selectGfRatioApplicationDefinitionSelectPage(itemType, new Page<>(pageNo, pageSize), queryWrapper); + .selectGfRatioApplicationDefinitionSelectPage(itemType, new Page<>(pageNo, pageSize), queryWrapper); // 翻译非字典枚举 for (GfRatioApplicationDefinitionSelectDto dto : page.getRecords()) { YbChrgitmLv ybChrgitmLv = YbChrgitmLv.getByValue(dto.getChrgitmLv()); @@ -461,7 +450,7 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati List idList; try { idList = Arrays.stream(ids.split(",")).map(String::trim).filter(s -> !s.isEmpty()).map(Long::valueOf) - .collect(Collectors.toList()); + .collect(Collectors.toList()); } catch (NumberFormatException e) { return R.fail("传参有误"); } @@ -469,9 +458,9 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati return R.ok(Collections.emptyList()); } // 查询要打印的申请单 - List applicationList = - gfRatioApplicationService.list(new LambdaQueryWrapper() - .in(GfRatioApplication::getId, idList).orderByDesc(GfRatioApplication::getId)); + List applicationList + = gfRatioApplicationService.list(new LambdaQueryWrapper() + .in(GfRatioApplication::getId, idList).orderByDesc(GfRatioApplication::getId)); if (applicationList.isEmpty()) { return R.ok(Collections.emptyList()); } @@ -485,52 +474,52 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati String defTableName = CommonConstants.TableName.MED_MEDICATION_DEFINITION; if (GfItemType.MEDICATION.getValue().equals(application.getItemType())) { // 获取药品名称和医保等级 - MedicationDefinition medicationDefinition = - medicationDefinitionService.getById(application.getDefinitionId()); + MedicationDefinition medicationDefinition + = medicationDefinitionService.getById(application.getDefinitionId()); if (medicationDefinition != null) { itemName = medicationDefinition.getName(); ybLv = Optional.of(medicationDefinition.getChrgitmLv()).orElse(YbChrgitmLv.SELF_PAY.getValue()) - .toString(); + .toString(); } } else if (GfItemType.ACTIVITY.getValue().equals(application.getItemType())) { // 获取诊疗名称和医保等级 - ActivityDefinition activityDefinition = - activityDefinitionService.getById(application.getDefinitionId()); + ActivityDefinition activityDefinition + = activityDefinitionService.getById(application.getDefinitionId()); if (activityDefinition != null) { itemName = activityDefinition.getName(); ybLv = Optional.of(activityDefinition.getChrgitmLv()).orElse(YbChrgitmLv.SELF_PAY.getValue()) - .toString(); + .toString(); } defTableName = CommonConstants.TableName.WOR_ACTIVITY_DEFINITION; } YbChrgitmLv ybChrgitmLv = YbChrgitmLv.getByCode(ybLv); // 查询原支付比例和价格(包括二次比例) - Pair, BigDecimal> oldRatiosAndPrice = - this.getOldRatiosAndPrice(application.getDefinitionId(), defTableName, ybLv); + Pair, BigDecimal> oldRatiosAndPrice + = this.getOldRatiosAndPrice(application.getDefinitionId(), defTableName, ybLv); BigDecimal oldRatio = oldRatiosAndPrice.getLeft().getLeft(); BigDecimal oldTwiceRatio = oldRatiosAndPrice.getLeft().getRight(); BigDecimal totalPrice = oldRatiosAndPrice.getRight(); // 作成返回Dto printDto.setItemName(itemName) - // 全价 - .setTotalPrice(totalPrice == null ? "" : totalPrice.stripTrailingZeros().toPlainString()) - // 医保等级 - .setChrgitmLv(ybChrgitmLv == null ? "" : ybChrgitmLv.getInfo()) - // 原支付比例 - .setOldRatio(oldRatio == null ? "" : oldRatio.stripTrailingZeros().toPlainString()) - // 新支付比例 - .setNewRatio(application.getApplicationRatio() == null ? "" - : application.getApplicationRatio().stripTrailingZeros().toPlainString()) - // 价格差 - .setPriceDiff(oldRatio != null && application.getApplicationRatio() != null && totalPrice != null - ? application.getApplicationRatio().subtract(oldRatio).multiply(totalPrice) - .divide(new BigDecimal(100), RoundingMode.UNNECESSARY).stripTrailingZeros().toPlainString() - : "") - // 原二次支付比例 - .setOldTwiceRatio(oldTwiceRatio == null ? "" : oldTwiceRatio.stripTrailingZeros().toPlainString()) - // 新二次支付比例 - .setNewTwiceRatio(application.getTwiceRatio() == null ? "" - : application.getTwiceRatio().stripTrailingZeros().toPlainString()); + // 全价 + .setTotalPrice(totalPrice == null ? "" : totalPrice.stripTrailingZeros().toPlainString()) + // 医保等级 + .setChrgitmLv(ybChrgitmLv == null ? "" : ybChrgitmLv.getInfo()) + // 原支付比例 + .setOldRatio(oldRatio == null ? "" : oldRatio.stripTrailingZeros().toPlainString()) + // 新支付比例 + .setNewRatio(application.getApplicationRatio() == null ? "" + : application.getApplicationRatio().stripTrailingZeros().toPlainString()) + // 价格差 + .setPriceDiff(oldRatio != null && application.getApplicationRatio() != null && totalPrice != null + ? application.getApplicationRatio().subtract(oldRatio).multiply(totalPrice) + .divide(new BigDecimal(100), RoundingMode.UNNECESSARY).stripTrailingZeros().toPlainString() + : "") + // 原二次支付比例 + .setOldTwiceRatio(oldTwiceRatio == null ? "" : oldTwiceRatio.stripTrailingZeros().toPlainString()) + // 新二次支付比例 + .setNewTwiceRatio(application.getTwiceRatio() == null ? "" + : application.getTwiceRatio().stripTrailingZeros().toPlainString()); printDtoList.add(printDto); } return R.ok(printDtoList); @@ -538,44 +527,36 @@ public class GfRatioApplicationRecordAppServiceImpl implements IGfRatioApplicati /** * 查询原支付比例和价格(包括二次比例) - * + * * @param definitionId 定义ID * @param definitionTableName 定义表名 * @param ybLv 医保等级 * @return 原支付比例和价格(包括二次比例) */ private Pair, BigDecimal> getOldRatiosAndPrice(Long definitionId, - String definitionTableName, String ybLv) { + String definitionTableName, String ybLv) { BigDecimal oldRatio = null; BigDecimal price = null; // 查询费用定价 List chargeItemDefinitionList = chargeItemDefinitionService - .list(new LambdaQueryWrapper().eq(ChargeItemDefinition::getInstanceId, definitionId) - .eq(ChargeItemDefinition::getInstanceTable, definitionTableName) - .orderByDesc(ChargeItemDefinition::getId)); + .list(new LambdaQueryWrapper().eq(ChargeItemDefinition::getInstanceId, definitionId) + .eq(ChargeItemDefinition::getInstanceTable, definitionTableName) + .orderByDesc(ChargeItemDefinition::getId)); if (!chargeItemDefinitionList.isEmpty()) { price = chargeItemDefinitionList.get(0).getPrice(); // 查询现行大类比例 List typeRatioList = gfRatioService - .list(new LambdaQueryWrapper().eq(GfRatio::getRatioType, GfRatioType.TYPE_RATIO.getValue()) - .eq(GfRatio::getYbClass, chargeItemDefinitionList.get(0).getYbType()).eq(GfRatio::getYbLv, ybLv) -<<<<<<< HEAD - .eq(GfRatio::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + .list(new LambdaQueryWrapper().eq(GfRatio::getRatioType, GfRatioType.TYPE_RATIO.getValue()) + .eq(GfRatio::getYbClass, chargeItemDefinitionList.get(0).getYbType()).eq(GfRatio::getYbLv, ybLv) + .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); if (!typeRatioList.isEmpty()) { oldRatio = typeRatioList.get(0).getSelfRatio(); } } // 查询历史小项比例 - List historicalRatioList = - gfRatioService.list(new LambdaQueryWrapper().eq(GfRatio::getDefinitionId, definitionId) -<<<<<<< HEAD - .eq(GfRatio::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode()).orderByDesc(GfRatio::getId)); -======= - .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode()).orderByDesc(GfRatio::getId)); ->>>>>>> v1.3 + List historicalRatioList + = gfRatioService.list(new LambdaQueryWrapper().eq(GfRatio::getDefinitionId, definitionId) + .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode()).orderByDesc(GfRatio::getId)); BigDecimal oldTwiceRatio = null; if (!historicalRatioList.isEmpty()) { GfRatio latestRatio = historicalRatioList.get(0); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioManageAppServiceImpl.java index 68b6f209..fbc22352 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfRatioManageAppServiceImpl.java @@ -12,11 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; -<<<<<<< HEAD -import com.core.common.enums.DeleteFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.common.enums.GfItemType; import com.openhis.common.enums.GfRatioType; import com.openhis.common.enums.ybenums.YbChrgitmLv; @@ -62,15 +58,11 @@ public class GfRatioManageAppServiceImpl implements IGfRatioManageAppService { public R saveTypeRatioList(List typeRatioList) { // 查询DB中的所有大项比例 List gfRatioList = gfRatioService - .list(new LambdaQueryWrapper().eq(GfRatio::getRatioType, GfRatioType.TYPE_RATIO.getValue()) -<<<<<<< HEAD - .eq(GfRatio::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + .list(new LambdaQueryWrapper().eq(GfRatio::getRatioType, GfRatioType.TYPE_RATIO.getValue()) + .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); // 做成医保分项+医保等级拼接的Map - Map gfRatioMap = - gfRatioList.stream().collect(Collectors.toMap(e -> e.getYbClass() + e.getYbLv(), Function.identity())); + Map gfRatioMap + = gfRatioList.stream().collect(Collectors.toMap(e -> e.getYbClass() + e.getYbLv(), Function.identity())); // 遍历输入项 List addGfRatioList = new ArrayList<>(); List editGfRatioList = new ArrayList<>(); @@ -82,7 +74,7 @@ public class GfRatioManageAppServiceImpl implements IGfRatioManageAppService { if (editGfRatio == null) { // DB不存在时新增 GfRatio addGfRatio = new GfRatio().setRatioType(GfRatioType.TYPE_RATIO.getValue()) - .setYbClass(dto.getYbClass()).setYbLv(dto.getYbLv()).setSelfRatio(dto.getSelfRatio()); + .setYbClass(dto.getYbClass()).setYbLv(dto.getYbLv()).setSelfRatio(dto.getSelfRatio()); addGfRatioList.add(addGfRatio); } else { // DB存在时修改 @@ -111,13 +103,13 @@ public class GfRatioManageAppServiceImpl implements IGfRatioManageAppService { */ @Override public R> getIndividualRatioPage(GfIndividualRatioDto searchParam, String searchKey, - Integer pageNo, Integer pageSize) { + Integer pageNo, Integer pageSize) { // 构造查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(searchParam, searchKey, - new HashSet<>(Set.of("bus_no", "name", "py_str", "wb_str", "yb_no")), null); + new HashSet<>(Set.of("bus_no", "name", "py_str", "wb_str", "yb_no")), null); // 查询单项比例分页 - IPage page = - gfRatioManageAppMapper.selectGfIndividualRatioPage(new Page<>(pageNo, pageSize), queryWrapper); + IPage page + = gfRatioManageAppMapper.selectGfIndividualRatioPage(new Page<>(pageNo, pageSize), queryWrapper); // 设置公费项目分类名称 for (GfIndividualRatioDto dto : page.getRecords()) { dto.setItemTypeName(GfItemType.getByValue(dto.getItemType()).getInfo()); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfStudentListAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfStudentListAppServiceImpl.java index 43142338..e56758fe 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfStudentListAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/appservice/impl/GfStudentListAppServiceImpl.java @@ -1,13 +1,5 @@ package com.openhis.web.nenu.appservice.impl; -<<<<<<< HEAD -import java.time.format.DateTimeParseException; -import java.util.*; -import java.util.stream.Collectors; - -import javax.servlet.http.HttpServletResponse; - -======= import java.io.IOException; import java.time.format.DateTimeParseException; import java.util.*; @@ -34,7 +26,6 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; ->>>>>>> v1.3 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -45,11 +36,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; -<<<<<<< HEAD -import com.core.common.enums.DeleteFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.core.common.utils.*; import com.core.common.utils.poi.ExcelUtil; import com.openhis.administration.domain.Patient; @@ -96,13 +83,13 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { */ @Override public R> getPage(GfStudentListDto searchParam, String searchKey, Integer pageNo, - Integer pageSize) { + Integer pageSize) { // 构造查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(searchParam, searchKey, - new HashSet<>(Set.of("name", "py_str", "wb_str", "student_id", "id_number")), null); + new HashSet<>(Set.of("name", "py_str", "wb_str", "student_id", "id_number")), null); // 查询学生名单分页 - IPage page = - gfStudentListAppMapper.selectGfStudentListPage(new Page<>(pageNo, pageSize), queryWrapper); + IPage page + = gfStudentListAppMapper.selectGfStudentListPage(new Page<>(pageNo, pageSize), queryWrapper); return R.ok(page); } @@ -121,15 +108,15 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { } // 返回Dto赋值 GfStudentListDto gfStudentListDto = new GfStudentListDto().setId(patientStudent.getId()) - .setName(patientStudent.getName()).setGender(patientStudent.getGender()).setAge(patientStudent.getAge()) - .setStudentId(patientStudent.getStudentId()).setIdNumber(patientStudent.getIdNumber()) - .setPhone(patientStudent.getPhone()).setCollege(patientStudent.getCollege()) - .setMajor(patientStudent.getMajor()).setEducationLevel(patientStudent.getEducationLevel()) - .setEnrollmentDate(patientStudent.getEnrollmentDate()).setGraduationDate(patientStudent.getGraduationDate()) - .setGrade(patientStudent.getGrade()).setStudyMode(patientStudent.getStudyMode()) - .setStudentStatus(patientStudent.getStudentStatus()) - .setPhysicalExamResult(patientStudent.getPhysicalExamResult()).setCounselor(patientStudent.getCounselor()) - .setCounselorPhone(patientStudent.getCounselorPhone()).setPatientId(patientStudent.getPatientId()); + .setName(patientStudent.getName()).setGender(patientStudent.getGender()).setAge(patientStudent.getAge()) + .setStudentId(patientStudent.getStudentId()).setIdNumber(patientStudent.getIdNumber()) + .setPhone(patientStudent.getPhone()).setCollege(patientStudent.getCollege()) + .setMajor(patientStudent.getMajor()).setEducationLevel(patientStudent.getEducationLevel()) + .setEnrollmentDate(patientStudent.getEnrollmentDate()).setGraduationDate(patientStudent.getGraduationDate()) + .setGrade(patientStudent.getGrade()).setStudyMode(patientStudent.getStudyMode()) + .setStudentStatus(patientStudent.getStudentStatus()) + .setPhysicalExamResult(patientStudent.getPhysicalExamResult()).setCounselor(patientStudent.getCounselor()) + .setCounselorPhone(patientStudent.getCounselorPhone()).setPatientId(patientStudent.getPatientId()); return R.ok(gfStudentListDto); } @@ -143,28 +130,20 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { public R add(GfStudentListDto gfStudentListDto) { // 学号重复验证 List sameStudentIdStudents = patientStudentService.list( - new LambdaQueryWrapper().eq(PatientStudent::getStudentId, gfStudentListDto.getStudentId()) -<<<<<<< HEAD - .eq(PatientStudent::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + new LambdaQueryWrapper().eq(PatientStudent::getStudentId, gfStudentListDto.getStudentId()) + .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); if (!sameStudentIdStudents.isEmpty()) { return R.fail("学号" + gfStudentListDto.getStudentId() + "在系统中已存在"); } // 学生信息重复校验 List sameIdNumberStudents = patientStudentService.list( - new LambdaQueryWrapper().eq(PatientStudent::getIdNumber, gfStudentListDto.getIdNumber()) -<<<<<<< HEAD - .eq(PatientStudent::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + new LambdaQueryWrapper().eq(PatientStudent::getIdNumber, gfStudentListDto.getIdNumber()) + .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); Long existingPatientId = null; if (!sameIdNumberStudents.isEmpty()) { for (PatientStudent ps : sameIdNumberStudents) { if (!ps.getEnrollmentDate().after(gfStudentListDto.getGraduationDate()) - && !ps.getGraduationDate().before(gfStudentListDto.getEnrollmentDate())) { + && !ps.getGraduationDate().before(gfStudentListDto.getEnrollmentDate())) { return R.fail("该身份证在系统中已录入过学生信息,此次录入的入校离校时间与既存数据有重叠,请确认"); } } @@ -185,39 +164,35 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { if (existingPatientId == null) { // 判断患者信息是否有重复 List sameIdNumberPatients = patientService - .list(new LambdaQueryWrapper().eq(Patient::getIdCard, gfStudentListDto.getIdNumber()) -<<<<<<< HEAD - .eq(Patient::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(Patient::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + .list(new LambdaQueryWrapper().eq(Patient::getIdCard, gfStudentListDto.getIdNumber()) + .eq(Patient::getDeleteFlag, DelFlag.NO.getCode())); if (!sameIdNumberPatients.isEmpty()) { // 已存在则取存在的 existingPatientId = sameIdNumberPatients.get(0).getId(); } else { // 不存在则新建患者 - Patient patient = - new Patient().setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.PATIENT_NUM.getPrefix(), 10)) - .setName(gfStudentListDto.getName()).setGenderEnum(gfStudentListDto.getGender()) - .setBirthDate(birthDate).setPhone(gfStudentListDto.getPhone()) - .setIdCard(gfStudentListDto.getIdNumber()).setPyStr(pyStr).setWbStr(wbStr) - .setOrganizationId(SecurityUtils.getLoginUser().getOrgId()); + Patient patient + = new Patient().setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.PATIENT_NUM.getPrefix(), 10)) + .setName(gfStudentListDto.getName()).setGenderEnum(gfStudentListDto.getGender()) + .setBirthDate(birthDate).setPhone(gfStudentListDto.getPhone()) + .setIdCard(gfStudentListDto.getIdNumber()).setPyStr(pyStr).setWbStr(wbStr) + .setOrganizationId(SecurityUtils.getLoginUser().getOrgId()); patientService.save(patient); existingPatientId = patient.getId(); } } // 创建学生信息 PatientStudent patientStudent = new PatientStudent().setName(gfStudentListDto.getName()).setPyStr(pyStr) - .setWbStr(wbStr).setGender(gfStudentListDto.getGender()).setAge(age) - .setStudentId(gfStudentListDto.getStudentId()).setIdNumber(gfStudentListDto.getIdNumber()) - .setPhone(gfStudentListDto.getPhone()).setCollege(gfStudentListDto.getCollege()) - .setMajor(gfStudentListDto.getMajor()).setEducationLevel(gfStudentListDto.getEducationLevel()) - .setEnrollmentDate(gfStudentListDto.getEnrollmentDate()) - .setGraduationDate(gfStudentListDto.getGraduationDate()).setGrade(gfStudentListDto.getGrade()) - .setStudyMode(gfStudentListDto.getStudyMode()).setStudentStatus(gfStudentListDto.getStudentStatus()) - .setPhysicalExamResult(gfStudentListDto.getPhysicalExamResult()) - .setCounselor(gfStudentListDto.getCounselor()).setCounselorPhone(gfStudentListDto.getCounselorPhone()) - .setPatientId(existingPatientId); + .setWbStr(wbStr).setGender(gfStudentListDto.getGender()).setAge(age) + .setStudentId(gfStudentListDto.getStudentId()).setIdNumber(gfStudentListDto.getIdNumber()) + .setPhone(gfStudentListDto.getPhone()).setCollege(gfStudentListDto.getCollege()) + .setMajor(gfStudentListDto.getMajor()).setEducationLevel(gfStudentListDto.getEducationLevel()) + .setEnrollmentDate(gfStudentListDto.getEnrollmentDate()) + .setGraduationDate(gfStudentListDto.getGraduationDate()).setGrade(gfStudentListDto.getGrade()) + .setStudyMode(gfStudentListDto.getStudyMode()).setStudentStatus(gfStudentListDto.getStudentStatus()) + .setPhysicalExamResult(gfStudentListDto.getPhysicalExamResult()) + .setCounselor(gfStudentListDto.getCounselor()).setCounselorPhone(gfStudentListDto.getCounselorPhone()) + .setPatientId(existingPatientId); patientStudentService.save(patientStudent); return R.ok(); } @@ -248,29 +223,29 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { String wbStr = ChineseConvertUtils.toWBFirstLetter(gfStudentListDto.getName()); // 更新学生信息 patientStudentService.update(new LambdaUpdateWrapper() - .set(PatientStudent::getName, gfStudentListDto.getName()).set(PatientStudent::getPyStr, pyStr) - .set(PatientStudent::getWbStr, wbStr).set(PatientStudent::getGender, gfStudentListDto.getGender()) - .set(PatientStudent::getAge, age).set(PatientStudent::getStudentId, gfStudentListDto.getStudentId()) - .set(PatientStudent::getIdNumber, gfStudentListDto.getIdNumber()) - .set(PatientStudent::getPhone, gfStudentListDto.getPhone()) - .set(PatientStudent::getCollege, gfStudentListDto.getCollege()) - .set(PatientStudent::getMajor, gfStudentListDto.getMajor()) - .set(PatientStudent::getEducationLevel, gfStudentListDto.getEducationLevel()) - .set(PatientStudent::getEnrollmentDate, gfStudentListDto.getEnrollmentDate()) - .set(PatientStudent::getGraduationDate, gfStudentListDto.getGraduationDate()) - .set(PatientStudent::getGrade, gfStudentListDto.getGrade()) - .set(PatientStudent::getStudyMode, gfStudentListDto.getStudyMode()) - .set(PatientStudent::getStudentStatus, gfStudentListDto.getStudentStatus()) - .set(PatientStudent::getPhysicalExamResult, gfStudentListDto.getPhysicalExamResult()) - .set(PatientStudent::getCounselor, gfStudentListDto.getCounselor()) - .set(PatientStudent::getCounselorPhone, gfStudentListDto.getCounselorPhone()) - .eq(PatientStudent::getId, gfStudentListDto.getId())); + .set(PatientStudent::getName, gfStudentListDto.getName()).set(PatientStudent::getPyStr, pyStr) + .set(PatientStudent::getWbStr, wbStr).set(PatientStudent::getGender, gfStudentListDto.getGender()) + .set(PatientStudent::getAge, age).set(PatientStudent::getStudentId, gfStudentListDto.getStudentId()) + .set(PatientStudent::getIdNumber, gfStudentListDto.getIdNumber()) + .set(PatientStudent::getPhone, gfStudentListDto.getPhone()) + .set(PatientStudent::getCollege, gfStudentListDto.getCollege()) + .set(PatientStudent::getMajor, gfStudentListDto.getMajor()) + .set(PatientStudent::getEducationLevel, gfStudentListDto.getEducationLevel()) + .set(PatientStudent::getEnrollmentDate, gfStudentListDto.getEnrollmentDate()) + .set(PatientStudent::getGraduationDate, gfStudentListDto.getGraduationDate()) + .set(PatientStudent::getGrade, gfStudentListDto.getGrade()) + .set(PatientStudent::getStudyMode, gfStudentListDto.getStudyMode()) + .set(PatientStudent::getStudentStatus, gfStudentListDto.getStudentStatus()) + .set(PatientStudent::getPhysicalExamResult, gfStudentListDto.getPhysicalExamResult()) + .set(PatientStudent::getCounselor, gfStudentListDto.getCounselor()) + .set(PatientStudent::getCounselorPhone, gfStudentListDto.getCounselorPhone()) + .eq(PatientStudent::getId, gfStudentListDto.getId())); // 同步更新患者信息 patientService.update(new Patient(), new LambdaUpdateWrapper() - .set(Patient::getName, gfStudentListDto.getName()).set(Patient::getPyStr, pyStr) - .set(Patient::getWbStr, wbStr).set(Patient::getGenderEnum, gfStudentListDto.getGender()) - .set(Patient::getBirthDate, birthDate).set(Patient::getPhone, gfStudentListDto.getPhone()) - .set(Patient::getIdCard, gfStudentListDto.getIdNumber()).eq(Patient::getId, patientStudent.getPatientId())); + .set(Patient::getName, gfStudentListDto.getName()).set(Patient::getPyStr, pyStr) + .set(Patient::getWbStr, wbStr).set(Patient::getGenderEnum, gfStudentListDto.getGender()) + .set(Patient::getBirthDate, birthDate).set(Patient::getPhone, gfStudentListDto.getPhone()) + .set(Patient::getIdCard, gfStudentListDto.getIdNumber()).eq(Patient::getId, patientStudent.getPatientId())); return R.ok(); } @@ -283,11 +258,7 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { @Override public R delete(Long id) { patientStudentService.update(new LambdaUpdateWrapper() -<<<<<<< HEAD - .set(PatientStudent::getDeleteFlag, DeleteFlag.DELETED.getCode()).eq(PatientStudent::getId, id)); -======= - .set(PatientStudent::getDeleteFlag, DelFlag.YES.getCode()).eq(PatientStudent::getId, id)); ->>>>>>> v1.3 + .set(PatientStudent::getDeleteFlag, DelFlag.YES.getCode()).eq(PatientStudent::getId, id)); return R.ok(); } @@ -300,8 +271,8 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { @Override public R importData(MultipartFile file) { // 读取文件 - R> readResult = - CommonUtil.readImportedExcelFile(file, GfStudentListImportDto.class); + R> readResult + = CommonUtil.readImportedExcelFile(file, GfStudentListImportDto.class); if (R.SUCCESS != readResult.getCode()) { return readResult; } @@ -327,28 +298,28 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { String wbStr = ChineseConvertUtils.toWBFirstLetter(importDto.getName()); // 患者未创建时,创建患者 if (importDto.getPatientId() == null) { - Patient patient = - new Patient().setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.PATIENT_NUM.getPrefix(), 10)) - .setName(importDto.getName()).setGenderEnum(CommonUtil.tryParseInt(importDto.getGender())) - .setBirthDate(birthDate).setPhone(importDto.getPhone()).setIdCard(importDto.getIdNumber()) - .setPyStr(pyStr).setWbStr(wbStr).setOrganizationId(orgId); + Patient patient + = new Patient().setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.PATIENT_NUM.getPrefix(), 10)) + .setName(importDto.getName()).setGenderEnum(CommonUtil.tryParseInt(importDto.getGender())) + .setBirthDate(birthDate).setPhone(importDto.getPhone()).setIdCard(importDto.getIdNumber()) + .setPyStr(pyStr).setWbStr(wbStr).setOrganizationId(orgId); patientService.save(patient); importDto.setPatientId(patient.getId()); } // 创建学生信息 PatientStudent patientStudent = new PatientStudent().setName(importDto.getName()).setPyStr(pyStr) - .setWbStr(wbStr).setGender(CommonUtil.tryParseInt(importDto.getGender())).setAge(age) - .setStudentId(importDto.getStudentId()).setIdNumber(importDto.getIdNumber()) - .setPhone(importDto.getPhone()).setCollege(importDto.getCollege()).setMajor(importDto.getMajor()) - .setEducationLevel(CommonUtil.tryParseInt(importDto.getEducationLevel())) - .setEnrollmentDate(importDto.getEnrollmentDate()).setGraduationDate(importDto.getGraduationDate()) - .setGrade(importDto.getGrade()).setStudyMode(CommonUtil.tryParseInt(importDto.getStudyMode())) - // 在校状态:在校 - .setStudentStatus(StudentStatus.IN_SCHOOL.getValue()) - // 体检结果:体检合格 - .setPhysicalExamResult(PhysicalExamResult.EXAMINATION_PASSED.getValue()) - .setCounselor(importDto.getCounselor()).setCounselorPhone(importDto.getCounselorPhone()) - .setPatientId(importDto.getPatientId()); + .setWbStr(wbStr).setGender(CommonUtil.tryParseInt(importDto.getGender())).setAge(age) + .setStudentId(importDto.getStudentId()).setIdNumber(importDto.getIdNumber()) + .setPhone(importDto.getPhone()).setCollege(importDto.getCollege()).setMajor(importDto.getMajor()) + .setEducationLevel(CommonUtil.tryParseInt(importDto.getEducationLevel())) + .setEnrollmentDate(importDto.getEnrollmentDate()).setGraduationDate(importDto.getGraduationDate()) + .setGrade(importDto.getGrade()).setStudyMode(CommonUtil.tryParseInt(importDto.getStudyMode())) + // 在校状态:在校 + .setStudentStatus(StudentStatus.IN_SCHOOL.getValue()) + // 体检结果:体检合格 + .setPhysicalExamResult(PhysicalExamResult.EXAMINATION_PASSED.getValue()) + .setCounselor(importDto.getCounselor()).setCounselorPhone(importDto.getCounselorPhone()) + .setPatientId(importDto.getPatientId()); patientStudentService.save(patientStudent); } return R.ok(); @@ -431,7 +402,7 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { } if (!lineValidateMsgList.isEmpty()) { fieldValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); + .add("■ 第" + importDto.getLineNumber() + "行:" + String.join(",", lineValidateMsgList) + ";"); } } if (!fieldValidateMsgList.isEmpty()) { @@ -439,22 +410,22 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { } // 重复校验(文件行重复) List lineRepeatedValidateMsgList = new ArrayList<>(); - Map> fileSameStudentIdMap = - importDtoList.stream().collect(Collectors.groupingBy(GfStudentListImportDto::getStudentId)); + Map> fileSameStudentIdMap + = importDtoList.stream().collect(Collectors.groupingBy(GfStudentListImportDto::getStudentId)); for (Map.Entry> entry : fileSameStudentIdMap.entrySet()) { if (entry.getValue().size() > 1) { lineRepeatedValidateMsgList - .add("■ 第" + entry.getValue().stream().map(GfStudentListImportDto::getLineNumber).sorted() - .map(Object::toString).collect(Collectors.joining(",")) + "行的学号重复;"); + .add("■ 第" + entry.getValue().stream().map(GfStudentListImportDto::getLineNumber).sorted() + .map(Object::toString).collect(Collectors.joining(",")) + "行的学号重复;"); } } - Map> fileSameIdNumberMap = - importDtoList.stream().collect(Collectors.groupingBy(GfStudentListImportDto::getIdNumber)); + Map> fileSameIdNumberMap + = importDtoList.stream().collect(Collectors.groupingBy(GfStudentListImportDto::getIdNumber)); for (Map.Entry> entry : fileSameIdNumberMap.entrySet()) { if (entry.getValue().size() > 1) { lineRepeatedValidateMsgList - .add("■ 第" + entry.getValue().stream().map(GfStudentListImportDto::getLineNumber).sorted() - .map(Object::toString).collect(Collectors.joining(",")) + "行的身份证号重复;"); + .add("■ 第" + entry.getValue().stream().map(GfStudentListImportDto::getLineNumber).sorted() + .map(Object::toString).collect(Collectors.joining(",")) + "行的身份证号重复;"); } } if (!lineRepeatedValidateMsgList.isEmpty()) { @@ -464,28 +435,20 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { List dbRepeatedValidateMsgList = new ArrayList<>(); for (GfStudentListImportDto importDto : importDtoList) { List sameStudentIdStudents = patientStudentService.list( - new LambdaQueryWrapper().eq(PatientStudent::getStudentId, importDto.getStudentId()) -<<<<<<< HEAD - .eq(PatientStudent::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + new LambdaQueryWrapper().eq(PatientStudent::getStudentId, importDto.getStudentId()) + .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); if (!sameStudentIdStudents.isEmpty()) { dbRepeatedValidateMsgList.add("■ 第" + importDto.getLineNumber() + "行的学号在系统中已存在;"); } List sameIdNumberStudents = patientStudentService - .list(new LambdaQueryWrapper().eq(PatientStudent::getIdNumber, importDto.getIdNumber()) -<<<<<<< HEAD - .eq(PatientStudent::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + .list(new LambdaQueryWrapper().eq(PatientStudent::getIdNumber, importDto.getIdNumber()) + .eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode())); if (!sameIdNumberStudents.isEmpty()) { for (PatientStudent ps : sameIdNumberStudents) { if (!ps.getEnrollmentDate().after(importDto.getGraduationDate()) - && !ps.getGraduationDate().before(importDto.getEnrollmentDate())) { + && !ps.getGraduationDate().before(importDto.getEnrollmentDate())) { dbRepeatedValidateMsgList - .add("■ 第" + importDto.getLineNumber() + "行的身份证在系统中已录入过学生信息,此次录入的入校离校时间与既存数据有重叠,请确认;"); + .add("■ 第" + importDto.getLineNumber() + "行的身份证在系统中已录入过学生信息,此次录入的入校离校时间与既存数据有重叠,请确认;"); } } importDto.setPatientId(sameIdNumberStudents.get(0).getPatientId()); @@ -497,8 +460,6 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { return R.ok(); } -<<<<<<< HEAD -======= @Override public R synPeis() { @@ -512,7 +473,6 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { } //log.info("开始传输学生数据,总记录数: {}", totalCount); - // 2. 分批处理参数 int pageSize = 1000; // 每批大小 int pageNum = 1; @@ -528,7 +488,7 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { }) .collect(Collectors.toList()); // 3. 分批处理 - for (ArrayList list:lists) { + for (ArrayList list : lists) { //log.info("开始处理第 {}/{} 批", pageNum, totalPages); PeisStudentPatientDto peisStudentPatientDto = new PeisStudentPatientDto(); @@ -621,7 +581,7 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { CloseableHttpResponse response = null; // 发送请求 try { - HttpPost httpPost = new HttpPost(TenantOptionUtil.getOptionContent(TenantOptionDict.PEIS_SERVER_URL)+"/wx/auth/syncHisInfo"); + HttpPost httpPost = new HttpPost(TenantOptionUtil.getOptionContent(TenantOptionDict.PEIS_SERVER_URL) + "/wx/auth/syncHisInfo"); StringEntity stringEntity = new StringEntity(JSON.toJSONString(peisStudentPatientDto), ContentType.APPLICATION_JSON); httpPost.setEntity(stringEntity); // 执行http请求 @@ -645,5 +605,4 @@ public class GfStudentListAppServiceImpl implements IGfStudentListAppService { // 可以根据业务需求决定是否重试 } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/controller/GfStudentListController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/controller/GfStudentListController.java index 632cb3fb..4a2b2bd2 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/controller/GfStudentListController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/controller/GfStudentListController.java @@ -35,9 +35,9 @@ public class GfStudentListController { */ @GetMapping("/page") public R> getPage(GfStudentListDto searchParam, - @RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { return gfStudentListAppService.getPage(searchParam, searchKey, pageNo, pageSize); } @@ -105,8 +105,6 @@ public class GfStudentListController { public void importTemplate(HttpServletResponse response) { gfStudentListAppService.importTemplate(response); } -<<<<<<< HEAD -======= /** * peis同步 @@ -116,5 +114,4 @@ public class GfStudentListController { public R synPeis() { return gfStudentListAppService.synPeis(); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/mapper/GfStudentListAppMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/mapper/GfStudentListAppMapper.java index b9179931..26ba0ff4 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/mapper/GfStudentListAppMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/nenu/mapper/GfStudentListAppMapper.java @@ -1,9 +1,6 @@ package com.openhis.web.nenu.mapper; -<<<<<<< HEAD -======= import com.openhis.web.nenu.dto.GfStudentPeisDto; ->>>>>>> v1.3 import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -13,11 +10,8 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.openhis.web.nenu.dto.GfStudentListDto; -<<<<<<< HEAD -======= import java.util.List; ->>>>>>> v1.3 /** * 公费医疗-学生名单管理 Mapper * @@ -35,16 +29,15 @@ public interface GfStudentListAppMapper { * @return 学生名单分页 */ IPage selectGfStudentListPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); -<<<<<<< HEAD -======= /** * 获取学生名单peis同步列表 * * @return 学生名单peis同步列表 */ - List getPatientBusNoList(@Param("pageNum")int pageNum, @Param("pageSize")int pageSize); + List getPatientBusNoList(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize); + /** * 获取学生名单peis同步列表 * @@ -59,5 +52,4 @@ public interface GfStudentListAppMapper { */ Long getPatientBusNoCount(); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientTreatmentAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientTreatmentAppServiceImpl.java index 22d70989..ea0a81f6 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientTreatmentAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientTreatmentAppServiceImpl.java @@ -129,7 +129,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp */ @Override public R getEncounterInfoListPage(OutpatientTreatmentEncounterDto outpatientTreatmentEncounterDto, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { // 设置模糊查询的字段名 HashSet searchFields = new HashSet<>(); @@ -137,20 +137,20 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp searchFields.add(CommonConstants.FieldName.PatientPyStr); searchFields.add(CommonConstants.FieldName.PatientWbStr); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(outpatientTreatmentEncounterDto, searchKey, searchFields, request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(outpatientTreatmentEncounterDto, searchKey, searchFields, request); // 查询就诊病人列表 - Page encounterInfoPageDto = - outpatientTreatmentAppMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper, - EncounterClass.AMB.getValue(), RequestStatus.COMPLETED.getValue(), RequestStatus.CANCELLED.getValue()); + Page encounterInfoPageDto + = outpatientTreatmentAppMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper, + EncounterClass.AMB.getValue(), RequestStatus.COMPLETED.getValue(), RequestStatus.CANCELLED.getValue()); encounterInfoPageDto.getRecords().forEach(prescriptionPatientInfoDto -> { // 性别 prescriptionPatientInfoDto.setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, prescriptionPatientInfoDto.getGenderEnum())); + EnumUtils.getInfoByValue(AdministrativeGender.class, prescriptionPatientInfoDto.getGenderEnum())); // 计算年龄 prescriptionPatientInfoDto.setAge(prescriptionPatientInfoDto.getBirthDate() != null - ? AgeCalculatorUtil.getAge(prescriptionPatientInfoDto.getBirthDate()) : ""); + ? AgeCalculatorUtil.getAge(prescriptionPatientInfoDto.getBirthDate()) : ""); }); return R.ok(encounterInfoPageDto); } @@ -165,21 +165,21 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp */ @Override public R getOutpatientTreatmentInfo(OutpatientTreatmentInfoDto outpatientTreatmentInfoDto, Integer pageNo, - Integer pageSize) { + Integer pageSize) { // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(outpatientTreatmentInfoDto, null, null, null); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(outpatientTreatmentInfoDto, null, null, null); // 查询处置单 IPage treatmentInfo = outpatientTreatmentAppMapper.selectTreatmentInfoPage( - new Page<>(pageNo, pageSize), queryWrapper, RequestStatus.COMPLETED.getValue(), - DispenseStatus.DRAFT.getValue(), CommonConstants.TableName.WOR_SERVICE_REQUEST, - CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.MED_MEDICATION_REQUEST); + new Page<>(pageNo, pageSize), queryWrapper, RequestStatus.COMPLETED.getValue(), + DispenseStatus.DRAFT.getValue(), CommonConstants.TableName.WOR_SERVICE_REQUEST, + CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.MED_MEDICATION_REQUEST); List treatmentList = treatmentInfo.getRecords(); // 获取请求ids - List reqIds = - treatmentList.stream().map(OutpatientTreatmentInfoDto::getRequestId).collect(Collectors.toList()); + List reqIds + = treatmentList.stream().map(OutpatientTreatmentInfoDto::getRequestId).collect(Collectors.toList()); Map> procedureRecordGroup = new HashMap<>(); if (!reqIds.isEmpty()) { // 查询执行记录 @@ -188,7 +188,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp if (procedureRecords != null && !procedureRecords.isEmpty()) { // 根据服务请求id分组 procedureRecordGroup = procedureRecords.stream() - .collect(Collectors.groupingBy(Procedure::getRequestId, Collectors.toList())); + .collect(Collectors.groupingBy(Procedure::getRequestId, Collectors.toList())); } } @@ -218,12 +218,12 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp // 发放状态 if (treatment.getDispenseStatus() != null) { treatment.setDispenseStatus_enumText( - EnumUtils.getInfoByValue(DispenseStatus.class, treatment.getDispenseStatus())); + EnumUtils.getInfoByValue(DispenseStatus.class, treatment.getDispenseStatus())); } // 收费状态 if (treatment.getChargeStatus() != null) { treatment.setChargeStatus_enumText( - EnumUtils.getInfoByValue(ChargeItemStatus.class, treatment.getChargeStatus())); + EnumUtils.getInfoByValue(ChargeItemStatus.class, treatment.getChargeStatus())); } } return R.ok(treatmentInfo); @@ -242,7 +242,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp performRecordList.forEach(performRecordDto -> { // 获取执行状态 performRecordDto - .setStatusEnum_enumText(EnumUtils.getInfoByValue(EventStatus.class, performRecordDto.getStatusEnum())); + .setStatusEnum_enumText(EnumUtils.getInfoByValue(EventStatus.class, performRecordDto.getStatusEnum())); }); return R.ok(performRecordList); } @@ -261,7 +261,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp List devicePerformList = new ArrayList<>(); for (PerformInfoDto item : performInfoList) { if (CommonConstants.TableName.WOR_SERVICE_REQUEST.equals(item.getRequestTable()) - || CommonConstants.TableName.MED_MEDICATION_REQUEST.equals(item.getRequestTable())) { + || CommonConstants.TableName.MED_MEDICATION_REQUEST.equals(item.getRequestTable())) { serviceMedPerformList.add(item); } else if (CommonConstants.TableName.WOR_DEVICE_REQUEST.equals(item.getRequestTable())) { devicePerformList.add(item); @@ -270,18 +270,18 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp // 分别处理诊疗/药品执行和耗材发放 if (!serviceMedPerformList.isEmpty()) { List chargeItemList = chargeItemService.getChargeItemInfoByReqId( - serviceMedPerformList.stream().map(PerformInfoDto::getRequestId).collect(Collectors.toList())); + serviceMedPerformList.stream().map(PerformInfoDto::getRequestId).collect(Collectors.toList())); if (chargeItemList == null || chargeItemList.isEmpty()) { throw new ServiceException("未找到对应的收费项,请联系管理员"); } // 按requestId分组收费项 - Map> chargeItemMap = - chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getServiceId)); + Map> chargeItemMap + = chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getServiceId)); // 过滤出已收费的执行项目 serviceMedPerformList = serviceMedPerformList.stream().filter(performInfo -> { List chargeItems = chargeItemMap.get(performInfo.getRequestId()); return chargeItems != null && chargeItems.stream() - .anyMatch(chargeItem -> ChargeItemStatus.BILLED.getValue().equals(chargeItem.getStatusEnum())); + .anyMatch(chargeItem -> ChargeItemStatus.BILLED.getValue().equals(chargeItem.getStatusEnum())); }).toList(); // 处理诊疗执行 for (PerformInfoDto performInfoDto : serviceMedPerformList) { @@ -299,8 +299,8 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp exeCount = serviceRequest.getQuantity().intValue(); } } else if (CommonConstants.TableName.MED_MEDICATION_REQUEST.equals(performInfoDto.getRequestTable())) { - MedicationRequest medicationRequest = - medicationRequestService.getById(performInfoDto.getRequestId()); + MedicationRequest medicationRequest + = medicationRequestService.getById(performInfoDto.getRequestId()); if (medicationRequest != null) { encounterId = medicationRequest.getEncounterId(); requestId = medicationRequest.getId(); @@ -310,7 +310,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp } // 根据请求id查询执行记录 List procedureRecordList = procedureService - .getProcedureRecords(List.of(performInfoDto.getRequestId()), performInfoDto.getRequestTable()); + .getProcedureRecords(List.of(performInfoDto.getRequestId()), performInfoDto.getRequestTable()); if (procedureRecordList != null && !procedureRecordList.isEmpty()) { // 初始化计数器 int performCount = 0; @@ -327,8 +327,8 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp if (performCount - cancelCount < exeCount) { // 未执行则新增执行记录 Long procedureId = procedureService.addProcedureRecord(encounterId, patientId, requestId, - performInfoDto.getRequestTable(), EventStatus.COMPLETED, - ProcedureCategory.OUTPATIENT_ADVICE, null, null, DateUtils.getNowDate(), groupId, null); + performInfoDto.getRequestTable(), EventStatus.COMPLETED, + ProcedureCategory.OUTPATIENT_ADVICE, null, null, DateUtils.getNowDate(), groupId, null); if (procedureId == null) { throw new ServiceException("执行失败,请联系管理员"); } @@ -336,8 +336,8 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp } else { // 新增执行记录 Long procedureId = procedureService.addProcedureRecord(encounterId, patientId, requestId, - performInfoDto.getRequestTable(), EventStatus.COMPLETED, ProcedureCategory.OUTPATIENT_ADVICE, - null, null, DateUtils.getNowDate(), groupId, null); + performInfoDto.getRequestTable(), EventStatus.COMPLETED, ProcedureCategory.OUTPATIENT_ADVICE, + null, null, DateUtils.getNowDate(), groupId, null); if (procedureId == null) { throw new ServiceException("执行失败,请联系管理员"); } @@ -352,22 +352,19 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp List devRequestIdList = devicePerformList.stream().map(PerformInfoDto::getRequestId).toList(); // 获取耗材发放id列表 List devDispenseIdList = performInfoList.stream().map(PerformInfoDto::getDispenseId).toList(); -<<<<<<< HEAD -======= // 更新请求状态为已完成 - LambdaUpdateWrapper updateWrapper = - new LambdaUpdateWrapper().in(DeviceRequest::getId, devRequestIdList) - .set(DeviceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()); + LambdaUpdateWrapper updateWrapper + = new LambdaUpdateWrapper().in(DeviceRequest::getId, devRequestIdList) + .set(DeviceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()); deviceRequestService.update(updateWrapper); ->>>>>>> v1.3 // 发耗材信息查询 List dispenseList = deviceDispenseService - .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); + .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); // 获取耗材待发放id列表 List devUnDispenseIdList = new ArrayList<>(); if (dispenseList != null) { List unDispenseList = dispenseList.stream() - .filter(x -> DispenseStatus.PREPARATION.getValue().equals(x.getStatusEnum())).toList(); + .filter(x -> DispenseStatus.PREPARATION.getValue().equals(x.getStatusEnum())).toList(); for (DeviceDispense deviceDispense : unDispenseList) { // 耗材发放状态 deviceDispense.setStatusEnum(DispenseStatus.COMPLETED.getValue()); @@ -379,7 +376,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp deviceDispense.setPerformerId(SecurityUtils.getLoginUser().getPractitionerId()); // 根据数量设置追溯码 deviceDispense.setTraceNo(String.join(CommonConstants.Common.COMMA, Collections - .nCopies(deviceDispense.getQuantity().intValue(), CommonConstants.Common.DEV_TRACE_NO))); + .nCopies(deviceDispense.getQuantity().intValue(), CommonConstants.Common.DEV_TRACE_NO))); devUnDispenseIdList.add(deviceDispense.getId()); } // 药品发放更新 @@ -387,74 +384,24 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp } else { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } -<<<<<<< HEAD - // 获取库存信息 - List inventoryList = returnMedicineMapper.selectInventoryInfoList( - devUnDispenseIdList, null, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); - // 按每个耗材分组 - Map> groupedByItemId = - inventoryList.stream().collect(Collectors.groupingBy(UnDispenseInventoryDto::getItemId)); - // 遍历每个分组校验库存状态 - for (Map.Entry> entry : groupedByItemId.entrySet()) { - List groupItems = entry.getValue(); - if (groupItems.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { - // 库存停供校验 - return R.fail(groupItems.get(0).getItemName() + "库存已停供"); - } - } - List inventoryItemList = new ArrayList<>(); - if (!inventoryList.isEmpty()) { - for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { - if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum())) { - InventoryItem inventoryItem = new InventoryItem(); - // 库存数量判定 - if (unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity() - .subtract(unDispenseInventoryDto.getQuantity()); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity().subtract( - unDispenseInventoryDto.getPartPercent().multiply(unDispenseInventoryDto.getQuantity())); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } - inventoryItemList.add(inventoryItem); -======= // 获取药品待发放库存信息 List unDispenseInventoryList = returnMedicineMapper.selectInventoryInfoList( - devUnDispenseIdList, null, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); + devUnDispenseIdList, null, CommonConstants.TableName.MED_MEDICATION_DEFINITION, + CommonConstants.TableName.ADM_DEVICE_DEFINITION); // 库存待更新列表 List inventoryItemList = new ArrayList<>(); // 根据批号,发放项目,发放药房进行分组处理 - Map> unDispenseInventoryMap = unDispenseInventoryList.stream() + Map> unDispenseInventoryMap = unDispenseInventoryList.stream() .collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLotNumber() - + CommonConstants.Common.DASH + x.getLocationId())); + + CommonConstants.Common.DASH + x.getLocationId())); if (!unDispenseInventoryMap.isEmpty()) { for (Map.Entry> entry : unDispenseInventoryMap.entrySet()) { List inventoryList = entry.getValue(); if (!inventoryList.isEmpty()) { if (inventoryList.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .anyMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { + .anyMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { // 停供库存校验 throw new ServiceException(inventoryList.get(0).getItemName() + "库存已停供"); } @@ -467,15 +414,15 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { BigDecimal quantity = unDispenseInventoryDto.getQuantity(); if (!unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { + .equals(unDispenseInventoryDto.getInventoryUnitCode())) { // 转换为小单位进行累加 quantity = unDispenseInventoryDto.getQuantity() - .multiply(unDispenseInventoryDto.getPartPercent()); + .multiply(unDispenseInventoryDto.getPartPercent()); } minQuantity = minQuantity.add(quantity); if (PublicationStatus.ACTIVE.getValue() - .equals(unDispenseInventoryDto.getInventoryStatusEnum()) - && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { + .equals(unDispenseInventoryDto.getInventoryStatusEnum()) + && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { inventoryQuantity = unDispenseInventoryDto.getInventoryQuantity(); inventoryId = unDispenseInventoryDto.getInventoryId(); } @@ -486,31 +433,13 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp } else { // 设置待更新的库存信息 inventoryItemList.add(new InventoryItem().setId(inventoryId) - .setQuantity(inventoryQuantity.subtract(minQuantity))); + .setQuantity(inventoryQuantity.subtract(minQuantity))); } ->>>>>>> v1.3 } } } // 库存更新 inventoryItemService.updateBatchById(inventoryItemList); -<<<<<<< HEAD - // 更新请求状态为已完成 - deviceRequestService.updateCompletedStatusBatch(devRequestIdList); - - // 调用医保商品销售接口 - String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); - // 医保开关 - if (Whether.YES.getCode().equals(ybSwitch)) { - List uploadFailedNoList = - westernMedicineDispenseAppServiceImpl.ybMedicineIntegrated(null, devDispenseIdList); - if (uploadFailedNoList != null) { - returnMsg = "3505商品销售上传错误,错误项目编码" + uploadFailedNoList; - } else { - returnMsg = "3505商品销售上传成功"; - } - } -======= // // 调用医保商品销售接口 // String ybSwitch = @@ -525,7 +454,6 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp // returnMsg = "3505商品销售上传成功"; // } // } ->>>>>>> v1.3 } return R.ok("执行成功"); } @@ -543,7 +471,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp List deviceCancelList = new ArrayList<>(); for (PerformInfoDto item : performInfoList) { if (CommonConstants.TableName.WOR_SERVICE_REQUEST.equals(item.getRequestTable()) - || CommonConstants.TableName.MED_MEDICATION_REQUEST.equals(item.getRequestTable())) { + || CommonConstants.TableName.MED_MEDICATION_REQUEST.equals(item.getRequestTable())) { serviceMedCancelList.add(item); } else if (CommonConstants.TableName.WOR_DEVICE_REQUEST.equals(item.getRequestTable())) { deviceCancelList.add(item); @@ -555,7 +483,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp for (PerformInfoDto performInfoDto : serviceMedCancelList) { // 根据请求id查询执行记录 List procedureRecordList = procedureService - .getProcedureRecords(List.of(performInfoDto.getRequestId()), performInfoDto.getRequestTable()); + .getProcedureRecords(List.of(performInfoDto.getRequestId()), performInfoDto.getRequestTable()); if (procedureRecordList != null && !procedureRecordList.isEmpty()) { Procedure procedure = procedureRecordList.get(0); // 初始化计数器 @@ -573,9 +501,9 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp if (performCount - cancelCount > 0) { // 已执行则新增取消执行记录 Long procedureId = procedureService.addProcedureRecord(procedure.getEncounterId(), - procedure.getPatientId(), procedure.getRequestId(), procedure.getRequestTable(), - EventStatus.CANCEL, ProcedureCategory.OUTPATIENT_ADVICE, performInfoDto.getLocationId(), - null, DateUtils.getNowDate(), performInfoDto.getGroupId(), null); + procedure.getPatientId(), procedure.getRequestId(), procedure.getRequestTable(), + EventStatus.CANCEL, ProcedureCategory.OUTPATIENT_ADVICE, performInfoDto.getLocationId(), + null, DateUtils.getNowDate(), performInfoDto.getGroupId(), null); if (procedureId == null) { throw new ServiceException("取消执行失败,请联系管理员"); } @@ -597,8 +525,8 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp Long requestId = deviceRequest.getId(); // 查询待退的耗材请求 DeviceRequest deviceRefundRequest = deviceRequestService.getOne(new LambdaQueryWrapper() - .eq(DeviceRequest::getRefundDeviceId, performInfoDto.getRequestId()) - .eq(DeviceRequest::getDeleteFlag, DelFlag.NO.getCode())); + .eq(DeviceRequest::getRefundDeviceId, performInfoDto.getRequestId()) + .eq(DeviceRequest::getDeleteFlag, DelFlag.NO.getCode())); if (deviceRefundRequest != null) { if (deviceRefundRequest.getStatusEnum().equals(RequestStatus.CANCELLED.getValue())) { // 获取待退的耗材请求id @@ -626,7 +554,7 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp if (!devRefundRequestIdList.isEmpty() && !devDispenseIdList.isEmpty()) { // 耗材已发放信息查询 List deviceDispenseList = deviceDispenseService - .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); + .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); // 根据发药单对应生成退药单 for (DeviceDispense deviceDispense : deviceDispenseList) { // 耗材发放编码 @@ -648,51 +576,12 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp // 药品退药请求状态变更(待退药→已完成) deviceRequestService.updateCompletedStatusBatch(devRefundRequestIdList); -<<<<<<< HEAD - List inventoryItemList = new ArrayList<>(); - // 获取库存信息 - List inventoryList = returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, - null, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); - if (inventoryList != null && !inventoryList.isEmpty()) { - // 设置库存数量 - for (UnDispenseInventoryDto inventory : inventoryList) { - // 库存表项目设定 - InventoryItem inventoryItem = new InventoryItem(); - // id - inventoryItem.setId(inventory.getInventoryId()); - // 库存数量 - if (inventory.getDispenseUnit().equals(inventory.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+待退数量 - inventoryItem - .setQuantity(inventory.getInventoryQuantity().add(inventory.getDispenseQuantity())); - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+退药数量(拆零比×待退数量) - inventoryItem.setQuantity(inventory.getInventoryQuantity() - .add(inventory.getPartPercent().multiply(inventory.getDispenseQuantity()))); - } - inventoryItemList.add(inventoryItem); - } - } - // 库存更新 - inventoryItemService.updateBatchById(inventoryItemList); - // 调用医保商品销售退货接口 - String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 - if (Whether.YES.getCode().equals(ybSwitch)) { - if (!devRefundList.isEmpty()) { - List uploadFailedNoList = - returnedMedicineAppServiceImpl.ybReturnIntegrated(new ArrayList<>(), devDispenseIdList); - if (uploadFailedNoList != null) { - returnMsg = "3506商品销售退货上传错误,错误项目编码" + uploadFailedNoList; - } else { - returnMsg = "3506商品销售退货上传成功"; -======= // 扣库 List inventoryItemList = new ArrayList<>(); // 获取库存信息 List inventoryList = returnMedicineMapper.selectInventoryInfoList( - devDispenseIdList, null, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); + devDispenseIdList, null, CommonConstants.TableName.MED_MEDICATION_DEFINITION, + CommonConstants.TableName.ADM_DEVICE_DEFINITION); if (inventoryList != null && !inventoryList.isEmpty()) { // 设置库存数量 for (UnDispenseInventoryDto inventory : inventoryList) { @@ -704,14 +593,13 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp if (inventory.getDispenseUnit().equals(inventory.getInventoryUnitCode())) { // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+待退数量 inventoryItem - .setQuantity(inventory.getInventoryQuantity().add(inventory.getDispenseQuantity())); + .setQuantity(inventory.getInventoryQuantity().add(inventory.getDispenseQuantity())); } else { // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+退药数量(拆零比×待退数量) inventoryItem.setQuantity(inventory.getInventoryQuantity() - .add(inventory.getPartPercent().multiply(inventory.getDispenseQuantity()))); + .add(inventory.getPartPercent().multiply(inventory.getDispenseQuantity()))); } inventoryItemList.add(inventoryItem); ->>>>>>> v1.3 } } // 库存更新 @@ -743,11 +631,11 @@ public class OutpatientTreatmentAppServiceImpl implements IOutpatientTreatmentAp */ @Override public R getBloodTransfusionPatch(Long requestId) { - BloodTransfusionPatchDto bloodTransfusionPatch = - outpatientTreatmentAppMapper.getBloodTransfusionPatch(requestId); + BloodTransfusionPatchDto bloodTransfusionPatch + = outpatientTreatmentAppMapper.getBloodTransfusionPatch(requestId); // 性别枚举 bloodTransfusionPatch.setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, bloodTransfusionPatch.getGenderEnum())); + EnumUtils.getInfoByValue(AdministrativeGender.class, bloodTransfusionPatch.getGenderEnum())); // 计算年龄 if (bloodTransfusionPatch.getBirthDate() != null) { bloodTransfusionPatch.setAge(AgeCalculatorUtil.getAge(bloodTransfusionPatch.getBirthDate())); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IPatientInformationService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IPatientInformationService.java index b1a2c549..9ceaeda6 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IPatientInformationService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IPatientInformationService.java @@ -32,7 +32,7 @@ public interface IPatientInformationService { * @return 分页查询 */ IPage getPatientInfo(PatientBaseInfoDto patientBaseInfoDto, String searchKey, Integer pageNo, - Integer pageSize, HttpServletRequest request); + Integer pageSize, HttpServletRequest request); /** * 修改病人信息 @@ -50,20 +50,9 @@ public interface IPatientInformationService { R addPatient(PatientBaseInfoDto patientInfoDto); /** -<<<<<<< HEAD - * 检查患者是否存在 - * - * @param name 患者姓名 - * @param idCardNo 身份证号 - * @return 是否存在 - */ - boolean checkPatientExists(String name, String idCardNo); - -======= * 更新患者手机号 - * + * * @param patientBaseInfoDto 患者信息 */ R updatePatientPhone(PatientBaseInfoDto patientBaseInfoDto); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/PatientInformationServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/PatientInformationServiceImpl.java index 501b995a..85d7c106 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/PatientInformationServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/PatientInformationServiceImpl.java @@ -71,48 +71,48 @@ public class PatientInformationServiceImpl implements IPatientInformationService PatientInfoInitDto initDto = new PatientInfoInitDto(); // 获取婚姻状态列表 List maritalStatusOptions = Stream.of(MaritalStatus.values()) - .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); initDto.setMaritalStatus(maritalStatusOptions); // 获取职业编码列表 List occupationTypeOptions = Stream.of(OccupationType.values()) - .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); initDto.setOccupationType(occupationTypeOptions); // 获取性别列表 List sexOptions = new ArrayList<>(); sexOptions.add(new PatientInfoInitDto.statusEnumOption(AdministrativeGender.MALE.getValue(), - AdministrativeGender.MALE.getInfo())); + AdministrativeGender.MALE.getInfo())); sexOptions.add(new PatientInfoInitDto.statusEnumOption(AdministrativeGender.FEMALE.getValue(), - AdministrativeGender.FEMALE.getInfo())); + AdministrativeGender.FEMALE.getInfo())); initDto.setSex(sexOptions); // 获取ABO血型列表 List bloodTypeABOOptions = Stream.of(BloodTypeABO.values()) - .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); initDto.setBloodTypeABO(bloodTypeABOOptions); // 获取RH血型列表 List bloodTypeRHOptions = Stream.of(BloodTypeRH.values()) - .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); initDto.setBloodTypeRH(bloodTypeRHOptions); // 获取家庭关系列表 List familyRelationshipType = Stream.of(FamilyRelationshipType.values()) - .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new PatientInfoInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); initDto.setFamilyRelationshipType(familyRelationshipType); // 获取是/否状态 List whetherOptions = new ArrayList<>(); whetherOptions.add(new PatientInfoInitDto.statusEnumOption(PublicationStatus.ACTIVE.getValue(), - PublicationStatus.ACTIVE.getInfo())); + PublicationStatus.ACTIVE.getInfo())); whetherOptions.add(new PatientInfoInitDto.statusEnumOption(PublicationStatus.RETIRED.getValue(), - PublicationStatus.RETIRED.getInfo())); + PublicationStatus.RETIRED.getInfo())); initDto.setWhetherStatus(whetherOptions); return initDto; @@ -129,26 +129,17 @@ public class PatientInformationServiceImpl implements IPatientInformationService */ @Override public IPage getPatientInfo(PatientBaseInfoDto patientBaseInfoDto, String searchKey, - Integer pageNo, Integer pageSize, HttpServletRequest request) { -<<<<<<< HEAD - - // 构建查询条件 - 添加phone字段到搜索条件中 - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper( - patientInfoSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.Name, - CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr, - CommonConstants.FieldName.Phone)), // 添加phone字段支持手机号搜索 -======= + Integer pageNo, Integer pageSize, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper( - patientBaseInfoDto, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.Name, - CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), ->>>>>>> v1.3 - request); - IPage patientInformationPage = - patientManageMapper.getPatientPage(new Page<>(pageNo, pageSize), queryWrapper); + patientBaseInfoDto, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.Name, + CommonConstants.FieldName.BusNo, CommonConstants.FieldName.PyStr, CommonConstants.FieldName.WbStr)), + request); + IPage patientInformationPage + = patientManageMapper.getPatientPage(new Page<>(pageNo, pageSize), queryWrapper); // 患者id集合 - List patientIdList = - patientInformationPage.getRecords().stream().map(PatientBaseInfoDto::getId).collect(Collectors.toList()); + List patientIdList + = patientInformationPage.getRecords().stream().map(PatientBaseInfoDto::getId).collect(Collectors.toList()); // 患者身份信息 List patientIdInfo = patientManageMapper.getPatientIdInfo(patientIdList); // 获取登录者信息 @@ -166,10 +157,10 @@ public class PatientInformationServiceImpl implements IPatientInformationService e.setBloodRh_enumText(EnumUtils.getInfoByValue(BloodTypeRH.class, e.getBloodRh())); // 家庭关系枚举类回显赋值 e.setLinkRelationCode_enumText( - EnumUtils.getInfoByValue(FamilyRelationshipType.class, e.getLinkRelationCode())); + EnumUtils.getInfoByValue(FamilyRelationshipType.class, e.getLinkRelationCode())); // 患者身份子表信息 List idInfo = patientIdInfo.stream() - .filter(idInfoDto -> idInfoDto.getPatientId().equals(e.getId())).collect(Collectors.toList()); + .filter(idInfoDto -> idInfoDto.getPatientId().equals(e.getId())).collect(Collectors.toList()); e.setPatientIdInfoList(idInfo); // 登记医院 e.setOrganizationId(loginUser.getOrgId()); @@ -194,13 +185,13 @@ public class PatientInformationServiceImpl implements IPatientInformationService } } // 身份证号是否存在 - List idCardList = - patientService.list(new LambdaQueryWrapper().eq(Patient::getIdCard, patientInfoDto.getIdCard()) - .ne(patientInfoDto.getId() != null, Patient::getId, patientInfoDto.getId())); + List idCardList + = patientService.list(new LambdaQueryWrapper().eq(Patient::getIdCard, patientInfoDto.getIdCard()) + .ne(patientInfoDto.getId() != null, Patient::getId, patientInfoDto.getId())); if (!idCardList.isEmpty()) { Patient patient = idCardList.get(0); if (patientInfoDto.getIdCard().equals(patient.getIdCard()) - && !patientInfoDto.getId().equals(patientInfoDto.getId())) { + && !patientInfoDto.getId().equals(patientInfoDto.getId())) { throw new ServiceException("身份证号:" + patientInfoDto.getIdCard() + "已经存在"); } } @@ -209,7 +200,7 @@ public class PatientInformationServiceImpl implements IPatientInformationService Patient patient = this.handlePatientInfo(patientInfoDto); // 患者身份子表信息,先删除再新增 patientIdentifierService - .remove(new LambdaQueryWrapper().eq(PatientIdentifier::getPatientId, patient.getId())); + .remove(new LambdaQueryWrapper().eq(PatientIdentifier::getPatientId, patient.getId())); if (patientInfoDto.getPatientIdInfoList() != null) { // 新增患者身份子表信息 List patientIdInfoList = patientInfoDto.getPatientIdInfoList(); @@ -226,7 +217,7 @@ public class PatientInformationServiceImpl implements IPatientInformationService } } return R.ok(patient.getIdCard(), - MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"病人信息"})); + MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"病人信息"})); } /** @@ -245,8 +236,8 @@ public class PatientInformationServiceImpl implements IPatientInformationService } } // 身份证号是否存在 - List idCardList = - patientService.list(new LambdaQueryWrapper().eq(Patient::getIdCard, patientInfoDto.getIdCard())); + List idCardList + = patientService.list(new LambdaQueryWrapper().eq(Patient::getIdCard, patientInfoDto.getIdCard())); if (!idCardList.isEmpty()) { throw new ServiceException("身份证号:" + patientInfoDto.getIdCard() + "已经存在"); } @@ -269,21 +260,9 @@ public class PatientInformationServiceImpl implements IPatientInformationService } } - return R.ok(patient, MessageUtils.createMessage(PromptMsgConstant.Common.M00001, new Object[] {"患者信息"})); + return R.ok(patient, MessageUtils.createMessage(PromptMsgConstant.Common.M00001, new Object[]{"患者信息"})); } -<<<<<<< HEAD - @Override - public boolean checkPatientExists(String name, String idCardNo) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("name", name) - .eq("id_card", idCardNo) - .eq("delete_flag", "0"); - return patientService.count(queryWrapper) > 0; - } - - -======= /** * 处理患者信息 * @@ -327,7 +306,7 @@ public class PatientInformationServiceImpl implements IPatientInformationService /** * 更新患者手机号 - * + * * @param patientBaseInfoDto 患者信息 */ @Override @@ -345,5 +324,4 @@ public class PatientInformationServiceImpl implements IPatientInformationService } return R.fail("更新患者手机号失败"); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/PatientBaseInfoDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/PatientBaseInfoDto.java index 4a8a0154..bb84e721 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/PatientBaseInfoDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/PatientBaseInfoDto.java @@ -45,7 +45,9 @@ public class PatientBaseInfoDto { private Integer genderEnum; private String genderEnum_enumText; - /** 活动标记 */ + /** + * 活动标记 + */ private Integer activeFlag; private Integer activeFlag_enumText; @@ -68,18 +70,7 @@ public class PatientBaseInfoDto { /** * 联系方式 */ -<<<<<<< HEAD:openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/PatientInformationDto.java - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8") - private Date deceasedDate; - - /** - * 婚姻状态 - */ - private Integer maritalStatusEnum; - private String maritalStatusEnum_enumText; -======= private String phone; ->>>>>>> v1.3:openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/PatientBaseInfoDto.java /** * 职业编码 diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/IPaymentRecService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/IPaymentRecService.java index 09252384..57426f9f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/IPaymentRecService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/IPaymentRecService.java @@ -11,14 +11,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.core.common.core.domain.R; import com.openhis.web.chargemanage.dto.OutpatientRegistrationAddParam; import com.openhis.web.chargemanage.dto.OutpatientRegistrationSettleParam; -<<<<<<< HEAD -import com.openhis.web.paymentmanage.dto.CancelPaymentDto; -import com.openhis.web.paymentmanage.dto.InpatientPreSettleResultDto; -import com.openhis.web.paymentmanage.dto.NenuBpcPayDto; -import com.openhis.web.paymentmanage.dto.PaymentVO; -======= import com.openhis.web.paymentmanage.dto.*; ->>>>>>> v1.3 import com.openhis.yb.dto.PaymentDetailDto; import com.openhis.yb.dto.PaymentDto; import com.openhis.yb.dto.PaymentInpatientDto; @@ -31,9 +24,10 @@ import com.openhis.yb.dto.PrePaymentDto; * @date 2025-03-29 */ public interface IPaymentRecService { + /** * 付款 - * + * * @param paymentDto 入参 * @return 结果 */ @@ -41,7 +35,7 @@ public interface IPaymentRecService { /** * 取消付款 - * + * * @param cancelPaymentDto 入参 * @return 结果 */ @@ -57,7 +51,7 @@ public interface IPaymentRecService { /** * 支付列表 - * + * * @param searchKey 查询条件 * @param pageNo 分页参数 * @param pageSize 分页参数 @@ -65,11 +59,11 @@ public interface IPaymentRecService { * @return 结果 */ IPage getPage(String searchKey, Integer kingEnum, String invoiceNo, Integer pageNo, Integer pageSize, - HttpServletRequest request); + HttpServletRequest request); /** * 获取支付详情 - * + * * @param paymentDto 入参 * @return 结果 */ @@ -77,7 +71,7 @@ public interface IPaymentRecService { /** * 预结算 - * + * * @param prePaymentDto 预结算入参 * @return 预结算结果 */ @@ -85,7 +79,7 @@ public interface IPaymentRecService { /** * 挂号预结算 - * + * * @param outpatientRegistrationAddParam 挂号参数 * @return 预结算结果 */ @@ -93,16 +87,16 @@ public interface IPaymentRecService { /** * 挂号结算 - * + * * @param outpatientRegistrationSettleParam 挂号参数 * @return 预结算结果 */ R regPay(OutpatientRegistrationSettleParam outpatientRegistrationSettleParam, String chrgBchno, - List paymentDetails); + List paymentDetails); /** * 取消预结算 - * + * * @param encounterId 就诊id * @return 操作结果 */ @@ -110,7 +104,7 @@ public interface IPaymentRecService { /** * 住院预结算 - * + * * @param prePaymentDto 预结算参数 * @return 预结算结果 */ @@ -118,7 +112,7 @@ public interface IPaymentRecService { /** * 住院结算 - * + * * @param paymentDto 住院结算参数 * @return 操作结果 */ @@ -134,14 +128,11 @@ public interface IPaymentRecService { /** * BPC支付 - * + * * @param nenuBpcPayDto bpc支付参数 * @return 结果 */ String nenuBpcPay(NenuBpcPayDto nenuBpcPayDto); -<<<<<<< HEAD -======= List cancelPreReg(Long encounterId); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/ThreePartPayService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/ThreePartPayService.java index 9a74602d..d2a77413 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/ThreePartPayService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/ThreePartPayService.java @@ -3,11 +3,8 @@ package com.openhis.web.paymentmanage.appservice; import com.core.common.core.domain.R; import com.openhis.yb.dto.ThreePartPayDto; -<<<<<<< HEAD -======= import javax.servlet.http.HttpServletRequest; ->>>>>>> v1.3 /** * 第三方支付应用层Service * @@ -15,11 +12,10 @@ import javax.servlet.http.HttpServletRequest; * @date 2025-03-29 */ public interface ThreePartPayService { -<<<<<<< HEAD - R payFor(ThreePartPayDto threePartPayDto); -======= + /** * 付款 + * * @param threePartPayDto 前台参数 * @return 结果 */ @@ -27,26 +23,29 @@ public interface ThreePartPayService { /** * 签到 + * * @return 结果 */ R sign(); /** * 签出 + * * @return 结果 */ R signOut(); /** * 支付结果查询 + * * @param id 参数 * @return 结果 */ R payQuery(Long id); - /** * 当天退费 + * * @param paymentId 参数 * @return 结果 */ @@ -54,6 +53,7 @@ public interface ThreePartPayService { /** * 隔天退货 + * * @param paymentId 参数 * @return 结果 */ @@ -61,6 +61,7 @@ public interface ThreePartPayService { /** * 退费结果查询 + * * @param id * @return */ @@ -68,6 +69,7 @@ public interface ThreePartPayService { /** * 网银支付记录 + * * @param searchKey 模糊查询 * @param pageNo 页码 * @param pageSize 页容量 @@ -78,9 +80,9 @@ public interface ThreePartPayService { /** * 付款(师大中银) + * * @param threePartPayDto 前台参数 * @return 结果 */ R payForNenu(ThreePartPayDto threePartPayDto); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/EleInvoiceServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/EleInvoiceServiceImpl.java index 08f85b06..34c45fa4 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/EleInvoiceServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/EleInvoiceServiceImpl.java @@ -78,6 +78,7 @@ import lombok.extern.slf4j.Slf4j; @Component @Slf4j public class EleInvoiceServiceImpl implements IEleInvoiceService { + private static final BigDecimal ZERO = new BigDecimal("0.00"); Logger logger = LoggerFactory.getLogger(EleInvoiceServiceImpl.class); @Resource @@ -121,7 +122,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 创建Http请求 RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30000).setConnectionRequestTimeout(30000) - .setSocketTimeout(30000).build(); + .setSocketTimeout(30000).build(); CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build(); CloseableHttpResponse response = null; // 发送请求 @@ -129,7 +130,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { HttpPost httpPost = new HttpPost(optionJson.getString("invoiceUrl") + "/eleInvoice/forward"); System.out.println(optionJson.getString("invoiceUrl") + "/eleInvoice/forward"); StringEntity stringEntity = new StringEntity(com.alibaba.fastjson2.JSON.toJSONString(eleInvioceBillDto), - ContentType.APPLICATION_JSON); + ContentType.APPLICATION_JSON); httpPost.setEntity(stringEntity); // 执行http请求 response = httpClient.execute(httpPost); @@ -170,8 +171,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 拼接成完整 URL(作为路径) String cleanUrl = baseUrl + "/" + endpoint; // 确保用 "/" 分隔 String url = cleanUrl.trim().replaceAll("^\"|\"$", "") // 去除首尾引号 - .replaceAll("\\s+", "")// 去除首尾引号 - .replaceAll("\"", ""); // 去除中间引号 + .replaceAll("\\s+", "")// 去除首尾引号 + .replaceAll("\"", ""); // 去除中间引号 String appID = optionJson.getString(CommonConstants.Option.APP_ID); String appKey = optionJson.getString(CommonConstants.Option.KEY); @@ -225,13 +226,13 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { String rmd5 = DigestUtils.md5Hex(str1.toString().getBytes(Charset.forName("UTF-8"))).toUpperCase(); String rsign = resultData.get("sign").toString(); System.out.println("验签-》" + (StringUtils.equals(rsign, rmd5))); - String busData = - new String(Base64.getDecoder().decode(resultData.get("data").toString()), StandardCharsets.UTF_8); + String busData + = new String(Base64.getDecoder().decode(resultData.get("data").toString()), StandardCharsets.UTF_8); System.out.println("返回业务数据--》" + busData); Map busDataMap = new ObjectMapper().readValue(busData, Map.class); System.out - .println("业务信息解密--》" + new String(Base64.getDecoder().decode(busDataMap.get("message").toString()), - StandardCharsets.UTF_8)); + .println("业务信息解密--》" + new String(Base64.getDecoder().decode(busDataMap.get("message").toString()), + StandardCharsets.UTF_8)); JSONObject resobj = JSONObject.parseObject(busData); result.put("success", true); @@ -259,8 +260,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 获取付款信息 PaymentReconciliation paymentReconciliation = paymentReconciliationService.getById(paymentId); List idList = Arrays.stream(paymentReconciliation.getChargeItemIds().split(",")).map(String::trim) // 去除可能的空格 - .map(Long::parseLong) // 转换为 Long - .collect(Collectors.toList()); + .map(Long::parseLong) // 转换为 Long + .collect(Collectors.toList()); // 获取费用项信息 List chargeItem = chargeItemService.getChargeItemInfo(idList); @@ -312,30 +313,30 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 获取患者信息 EleInvoicePatientInfoDto patientInfo = eleInvoiceMapper.getPatientInfo(encounterId, - EncounterClass.AMB.getValue(), OrganizationClass.CLINIC.getValue()); + EncounterClass.AMB.getValue(), OrganizationClass.CLINIC.getValue()); //12.4 红旗医院现场字典没赋值 - if(patientInfo.getGenderEnum_enumText()==null) { + if (patientInfo.getGenderEnum_enumText() == null) { patientInfo.setGenderEnum_enumText(patientInfo.getGenderEnumEnumText()); } // 获取付款信息 EleInvoicePaymentInfoDto paymentInfo = eleInvoiceMapper.getPaymentInfo(paymentId, encounterId, - YbPayment.SELF_YB_ZH_PAY.getValue(), YbPayment.SELF_CASH_VALUE.getValue(), - YbPayment.SELF_CASH_VX_VALUE.getValue(), YbPayment.SELF_CASH_ALI_VALUE.getValue(), - YbPayment.SELF_CASH_UNION_VALUE.getValue(), YbPayment.YB_FUND_PAY.getValue(), - YbPayment.OTHER_PAY.getValue(), YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()); + YbPayment.SELF_YB_ZH_PAY.getValue(), YbPayment.SELF_CASH_VALUE.getValue(), + YbPayment.SELF_CASH_VX_VALUE.getValue(), YbPayment.SELF_CASH_ALI_VALUE.getValue(), + YbPayment.SELF_CASH_UNION_VALUE.getValue(), YbPayment.YB_FUND_PAY.getValue(), + YbPayment.OTHER_PAY.getValue(), YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()); // 医保结算记录 InvoiceBaseInfoDto clinicSettle = this.getClinicSettleByPaymentId(paymentInfo.getPaymentId()); // 业务状态校验 if (paymentInfo.getPaymentStatus() == null - || paymentInfo.getPaymentStatus().equals(PaymentStatus.DRAFT.getValue())) { + || paymentInfo.getPaymentStatus().equals(PaymentStatus.DRAFT.getValue())) { return R.fail(PromptMsgConstant.invoice.M00002); } if (!paymentInfo.getPaymentStatus().equals(PaymentStatus.SUCCESS.getValue())) { return R.fail(PromptMsgConstant.invoice.M00006); } if (paymentInfo.getInvoiceStatus() != null - && paymentInfo.getInvoiceStatus().equals(InvoiceStatus.ISSUED.getValue())) { + && paymentInfo.getInvoiceStatus().equals(InvoiceStatus.ISSUED.getValue())) { return R.fail(PromptMsgConstant.invoice.M00003); } @@ -372,7 +373,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // chargeDetail 收费项目明细 JSONArray 不限 是 // 获取收费项目明细 // 医疗收费项目类别 13:挂号费 - List ybTypeList = new ArrayList<>(Arrays.asList("13","02")); + List ybTypeList = new ArrayList<>(Arrays.asList("13", "02")); // 付款账单集合 List chargeItemIds = new ArrayList<>(); String[] parts = paymentInfo.getChargeItemIds().split(","); @@ -380,7 +381,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { chargeItemIds.add(Long.parseLong(part.trim())); // trim() 去除空格 } // todo 若挂号绑诊察的话,方法需要改 List chargeItems = eleInvoiceMapper.getChargeDetail(encounterId, ybTypeList, - "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); + "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); JSONArray chargeDetails = new JSONArray(); Integer sortNo = 1; @@ -395,8 +396,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // unit 计量单位 chargeDetail.put("unit", "项"); // std 收费标准 Number 14,2 是 - BigDecimal std = - detail.getAmt().divide(new BigDecimal(detail.getNumber().toString()), 6, RoundingMode.HALF_UP); + BigDecimal std + = detail.getAmt().divide(new BigDecimal(detail.getNumber().toString()), 6, RoundingMode.HALF_UP); // 精确表示,避免科学计数法 chargeDetail.put("std", df.format(std)); // number 数量 Number 14,2 是 @@ -414,7 +415,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { JSONArray listDetails = new JSONArray(); // 获取清单项目明细 List details = eleInvoiceMapper.getRegListDetail(encounterId, ybTypeList, - "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); + "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); for (EleInvoiceListDetailDto detail : details) { JSONObject listDetail = new JSONObject(); @@ -504,7 +505,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { } return R.ok(invoice, - MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"电子发票做成"})); + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"电子发票做成"})); } else { redata.put("result", rejson.getString("result")); redata64 = rejson.getString("message").toString(); @@ -553,30 +554,30 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 获取患者信息 EleInvoicePatientInfoDto patientInfo = eleInvoiceMapper.getPatientInfo(encounterId, - EncounterClass.AMB.getValue(), OrganizationClass.CLINIC.getValue()); + EncounterClass.AMB.getValue(), OrganizationClass.CLINIC.getValue()); //12.4 红旗医院现场字典没赋值 - if(patientInfo.getGenderEnum_enumText()==null) { + if (patientInfo.getGenderEnum_enumText() == null) { patientInfo.setGenderEnum_enumText(patientInfo.getGenderEnumEnumText()); } // 获取付款信息 EleInvoicePaymentInfoDto paymentInfo = eleInvoiceMapper.getPaymentInfo(paymentId, encounterId, - YbPayment.SELF_YB_ZH_PAY.getValue(), YbPayment.SELF_CASH_VALUE.getValue(), - YbPayment.SELF_CASH_VX_VALUE.getValue(), YbPayment.SELF_CASH_ALI_VALUE.getValue(), - YbPayment.SELF_CASH_UNION_VALUE.getValue(), YbPayment.YB_FUND_PAY.getValue(), - YbPayment.OTHER_PAY.getValue(), YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()); + YbPayment.SELF_YB_ZH_PAY.getValue(), YbPayment.SELF_CASH_VALUE.getValue(), + YbPayment.SELF_CASH_VX_VALUE.getValue(), YbPayment.SELF_CASH_ALI_VALUE.getValue(), + YbPayment.SELF_CASH_UNION_VALUE.getValue(), YbPayment.YB_FUND_PAY.getValue(), + YbPayment.OTHER_PAY.getValue(), YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()); // 医保结算记录 InvoiceBaseInfoDto clinicSettle = this.getClinicSettleByPaymentId(paymentInfo.getPaymentId()); // 业务状态校验 if (paymentInfo.getPaymentStatus() == null - || paymentInfo.getPaymentStatus().equals(PaymentStatus.DRAFT.getValue())) { + || paymentInfo.getPaymentStatus().equals(PaymentStatus.DRAFT.getValue())) { return R.fail(PromptMsgConstant.invoice.M00002); } if (!paymentInfo.getPaymentStatus().equals(PaymentStatus.SUCCESS.getValue())) { return R.fail(PromptMsgConstant.invoice.M00006); } if (paymentInfo.getInvoiceStatus() != null - && paymentInfo.getInvoiceStatus().equals(InvoiceStatus.ISSUED.getValue())) { + && paymentInfo.getInvoiceStatus().equals(InvoiceStatus.ISSUED.getValue())) { return R.fail(PromptMsgConstant.invoice.M00003); } @@ -589,7 +590,6 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { bill.put("busType", "02"); // ------就诊信息------ - // patientCategory 就诊科室 String 60 是 bill.put("patientCategory", patientInfo.getPatientCategory()); // patientCategoryCode 就诊科室编码 String 60 是 @@ -606,11 +606,11 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { clinicSettle.setPsnCashPay(clinicSettle.getPsnCashPay() == null ? ZERO : clinicSettle.getPsnCashPay()); // 医保报销总金额 clinicSettle - .setFundPaySumamt(clinicSettle.getFundPaySumamt() == null ? ZERO : clinicSettle.getFundPaySumamt()); + .setFundPaySumamt(clinicSettle.getFundPaySumamt() == null ? ZERO : clinicSettle.getFundPaySumamt()); // otherfundPay 其它医保支付 bill.put("otherfundPay", - String.format("%.2f", clinicSettle.getFundPaySumamt().subtract(clinicSettle.getHifpPay()))); + String.format("%.2f", clinicSettle.getFundPaySumamt().subtract(clinicSettle.getHifpPay()))); // ownAcBalance 个人账户余额 Number 14,2 否 bill.put("ownAcBalance", clinicSettle.getBalc()); // balancedNumber 医保结算号 String 100 否 HIS和医保实时结算时,医保生成的唯一业务流水号 @@ -675,7 +675,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 医疗收费项目类别 // 01 床位费,02 诊察费,03 检查费,04 化验费,05 治疗费,06 手术费,07 护理费,08 卫生材料费,09 西药费,10 中药饮片费,11 中成药费,12 一般诊疗费,13 挂号费,14 其他费 List ybTypeList = new ArrayList<>( - Arrays.asList("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "14")); + Arrays.asList("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "14")); // 付款账单集合 List chargeItemIds = new ArrayList<>(); String[] parts = paymentInfo.getChargeItemIds().split(","); @@ -685,7 +685,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 获取收费项目明细 List chargeItems = eleInvoiceMapper.getChargeDetail(encounterId, ybTypeList, - "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); + "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); // chargeDetail 收费项目明细 JSONArray 不限 是 详见A-1,JSON格式列表 JSONArray chargeDetails = new JSONArray(); @@ -701,8 +701,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // unit 计量单位 chargeDetail.put("unit", "项"); // std 收费标准 Number 14,2 是 - BigDecimal std = - detail.getAmt().divide(new BigDecimal(detail.getNumber().toString()), 6, RoundingMode.HALF_UP); + BigDecimal std + = detail.getAmt().divide(new BigDecimal(detail.getNumber().toString()), 6, RoundingMode.HALF_UP); chargeDetail.put("std", df.format(std)); // number 数量 Number 14,2 是 chargeDetail.put("number", detail.getNumber()); @@ -719,7 +719,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 获取清单项目明细 List details = eleInvoiceMapper.getListDetail(encounterId, ybTypeList, - "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); + "med_chrgitm_type", ContrastTypeEnum.INVOICE_CLINIC.getValue(), chargeItemIds); for (EleInvoiceListDetailDto detail : details) { JSONObject listDetail = new JSONObject(); @@ -735,9 +735,9 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { listDetail.put("name", detail.getName()); // unit 计量单位 String 20 是 String unit = ""; - if(detail.getUnit()==null||StringUtils.isEmpty(detail.getUnit())){ + if (detail.getUnit() == null || StringUtils.isEmpty(detail.getUnit())) { unit = "项"; - }else{ + } else { unit = detail.getUnit(); } listDetail.put("unit", unit); @@ -767,12 +767,9 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { String srcmsg; System.out.println(JSON.toJSONString(bill)); JSONObject resobj; -<<<<<<< HEAD -======= logger.info("************************************** 分 割 线 ***************************************"); logger.info("门诊信息入参:" + JSON.toJSONString(bill)); logger.info("———————————————————————————————————————————————————————————————————————————————————————"); ->>>>>>> v1.3 if ("0".equals(SecurityUtils.getLoginUser().getOptionJson().getString("forwardSwitch"))) { resobj = PreInvoicePostForward(bill, "api/medical/invoiceEBillOutpatient"); } else { @@ -815,7 +812,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { } return R.ok(invoice, - MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"电子发票做成"})); + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"电子发票做成"})); } else { redata.put("result", rejson.getString("result")); redata64 = rejson.getString("message").toString(); @@ -867,30 +864,30 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 获取患者信息 EleInvoicePatientInfoDto patientInfo = eleInvoiceMapper.getPatientInfo(encounterId, - EncounterClass.IMP.getValue(), OrganizationClass.INPATIENT.getValue()); + EncounterClass.IMP.getValue(), OrganizationClass.INPATIENT.getValue()); //12.4 红旗医院现场字典没赋值 - if(patientInfo.getGenderEnum_enumText()==null) { + if (patientInfo.getGenderEnum_enumText() == null) { patientInfo.setGenderEnum_enumText(patientInfo.getGenderEnumEnumText()); } // 获取付款信息 EleInvoicePaymentInfoDto paymentInfo = eleInvoiceMapper.getPaymentInfo(paymentId, encounterId, - YbPayment.SELF_YB_ZH_PAY.getValue(), YbPayment.SELF_CASH_VALUE.getValue(), - YbPayment.SELF_CASH_VX_VALUE.getValue(), YbPayment.SELF_CASH_ALI_VALUE.getValue(), - YbPayment.SELF_CASH_UNION_VALUE.getValue(), YbPayment.YB_FUND_PAY.getValue(), - YbPayment.OTHER_PAY.getValue(), YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()); + YbPayment.SELF_YB_ZH_PAY.getValue(), YbPayment.SELF_CASH_VALUE.getValue(), + YbPayment.SELF_CASH_VX_VALUE.getValue(), YbPayment.SELF_CASH_ALI_VALUE.getValue(), + YbPayment.SELF_CASH_UNION_VALUE.getValue(), YbPayment.YB_FUND_PAY.getValue(), + YbPayment.OTHER_PAY.getValue(), YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()); // 医保结算记录 InvoiceBaseInfoDto clinicSettle = this.getClinicSettleByPaymentId(paymentInfo.getPaymentId()); // 业务状态校验 if (paymentInfo.getPaymentStatus() == null - || paymentInfo.getPaymentStatus().equals(PaymentStatus.DRAFT.getValue())) { + || paymentInfo.getPaymentStatus().equals(PaymentStatus.DRAFT.getValue())) { return R.fail(PromptMsgConstant.invoice.M00002); } if (!paymentInfo.getPaymentStatus().equals(PaymentStatus.SUCCESS.getValue())) { return R.fail(PromptMsgConstant.invoice.M00006); } if (paymentInfo.getInvoiceStatus() != null - && paymentInfo.getInvoiceStatus().equals(InvoiceStatus.ISSUED.getValue())) { + && paymentInfo.getInvoiceStatus().equals(InvoiceStatus.ISSUED.getValue())) { return R.fail(PromptMsgConstant.invoice.M00003); } @@ -905,7 +902,6 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { bill.put("checker", user.getName()); // ------就诊信息------ - // medCareAreaCode 医保行政区划码 String 6 否 医保结算时必须填写 bill.put("medCareAreaCode", patientInfo.getMedCareAreaCode()); // category 入院科室名称 String 50 是 如:入院科室不存在,填写出院科室 @@ -934,10 +930,10 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { clinicSettle.setPsnCashPay(clinicSettle.getPsnCashPay() == null ? ZERO : clinicSettle.getPsnCashPay()); // 医保报销总金额 clinicSettle - .setFundPaySumamt(clinicSettle.getFundPaySumamt() == null ? ZERO : clinicSettle.getFundPaySumamt()); + .setFundPaySumamt(clinicSettle.getFundPaySumamt() == null ? ZERO : clinicSettle.getFundPaySumamt()); // otherfundPay 其它医保支付 Number 14,2 是 bill.put("otherfundPay", - String.format("%.2f", clinicSettle.getFundPaySumamt().subtract(clinicSettle.getHifpPay()))); + String.format("%.2f", clinicSettle.getFundPaySumamt().subtract(clinicSettle.getHifpPay()))); // balancedNumber 医保结算号 String 100 否 bill.put("balancedNumber", clinicSettle.getSetlId() == null ? "" : clinicSettle.getSetlId()); // otherInfo 其它扩展信息列表 JSONArray 不限 是 @@ -990,7 +986,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 医疗收费项目类别 // 01 床位费,02 诊察费,03 检查费,04 化验费,05 治疗费,06 手术费,07 护理费,08 卫生材料费,09 西药费,10 中药饮片费,11 中成药费,12 一般诊疗费,13 挂号费,14 其他费 List ybTypeList = new ArrayList<>( - Arrays.asList("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14")); + Arrays.asList("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14")); // 付款账单集合 List chargeItemIds = new ArrayList<>(); String[] parts = paymentInfo.getChargeItemIds().split(","); @@ -999,7 +995,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { } // 获取清单项目明细 List details = eleInvoiceMapper.getListDetail(encounterId, ybTypeList, - "med_chrgitm_type", ContrastTypeEnum.INVOICE_CINPATIENT.getValue(), chargeItemIds); + "med_chrgitm_type", ContrastTypeEnum.INVOICE_CINPATIENT.getValue(), chargeItemIds); JSONArray listDetails = new JSONArray(); @@ -1017,9 +1013,9 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { listDetail.put("name", detail.getName()); // unit 计量单位 String 20 是 String unit = ""; - if(detail.getUnit()==null||StringUtils.isEmpty(detail.getUnit())){ + if (detail.getUnit() == null || StringUtils.isEmpty(detail.getUnit())) { unit = "项"; - }else{ + } else { unit = detail.getUnit(); } listDetail.put("unit", unit); @@ -1044,7 +1040,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 获取收费项目明细 List chargeItems = eleInvoiceMapper.getChargeDetail(encounterId, ybTypeList, - "med_chrgitm_type", ContrastTypeEnum.INVOICE_CINPATIENT.getValue(), chargeItemIds); + "med_chrgitm_type", ContrastTypeEnum.INVOICE_CINPATIENT.getValue(), chargeItemIds); // chargeDetail 收费项目明细 JSONArray 不限 是 JSONArray chargeDetails = new JSONArray(); @@ -1061,8 +1057,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // unit 计量单位 chargeDetail.put("unit", "项"); // std 收费标准 Number 14,2 是 - BigDecimal std = - detail.getAmt().divide(new BigDecimal(detail.getNumber().toString()), 6, RoundingMode.HALF_UP); + BigDecimal std + = detail.getAmt().divide(new BigDecimal(detail.getNumber().toString()), 6, RoundingMode.HALF_UP); // 精确表示,避免科学计数法 chargeDetail.put("std", df.format(std)); // number 数量 Number 14,2 是 @@ -1077,19 +1073,15 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { bill.put("chargeDetail", chargeDetails); // --------------------请求业务参数 data--------------------END - JSONObject redata = new JSONObject(); String redata64; String srcdata; String srcmsg; // JSONObject resobj = PreInvoicePostForward(bill, "api/medical/invEBillHospitalized"); JSONObject resobj; -<<<<<<< HEAD -======= logger.info("************************************** 分 割 线 ***************************************"); logger.info("住院信息入参:" + JSON.toJSONString(bill)); logger.info("———————————————————————————————————————————————————————————————————————————————————————"); ->>>>>>> v1.3 if ("0".equals(SecurityUtils.getLoginUser().getOptionJson().getString("forwardSwitch"))) { resobj = PreInvoicePostForward(bill, "api/medical/invEBillHospitalized"); } else { @@ -1132,7 +1124,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { } return R.ok(invoice, - MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"电子发票做成"})); + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"电子发票做成"})); } else { redata.put("result", rejson.getString("result")); redata64 = rejson.getString("message").toString(); @@ -1160,9 +1152,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { * @param clinicSettle 医保结算记录 * @return 返回值 */ - private JSONObject commomSet(EleInvoicePatientInfoDto patientInfo, EleInvoicePaymentInfoDto paymentInfo, - InvoiceBaseInfoDto clinicSettle) throws ParseException { + InvoiceBaseInfoDto clinicSettle) throws ParseException { // 日期格式化:定义多种时间格式,用于生成业务流水号、时间戳等。 SimpleDateFormat sdfday = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); @@ -1266,7 +1257,6 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // 360 老红军医疗保障 //370 企业补充医疗保险 // 380 新型农村合作医疗 //390 城乡居民基本医疗保险 // 391 城镇居民基本医疗保险 //392 城乡居民大病医疗保险 //399 其他特殊人员医疗保障 - // 01 职工基本医疗保险 06 全公费 // 02 居民基本医疗保险 07 全自费 // 03 新型农村合作医疗 90 城乡居民医疗保险 @@ -1337,15 +1327,15 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { //BigDecimal overLmtSelfpay = clinicSettle.getOverlmtSelfpay()==null?ZERO:clinicSettle.getOverlmtSelfpay(); //全自费 clinicSettle - .setFulamtOwnpayAmt(clinicSettle.getFulamtOwnpayAmt() == null ? ZERO : clinicSettle.getFulamtOwnpayAmt()); + .setFulamtOwnpayAmt(clinicSettle.getFulamtOwnpayAmt() == null ? ZERO : clinicSettle.getFulamtOwnpayAmt()); // 个人自负 clinicSettle.setPsnPartAmt(clinicSettle.getPsnPartAmt() == null ? ZERO : clinicSettle.getPsnPartAmt()); // 超限价 clinicSettle - .setOverlmtSelfpay(clinicSettle.getOverlmtSelfpay() == null ? ZERO : clinicSettle.getOverlmtSelfpay()); + .setOverlmtSelfpay(clinicSettle.getOverlmtSelfpay() == null ? ZERO : clinicSettle.getOverlmtSelfpay()); //先行自付 clinicSettle - .setPreselfpayAmt(clinicSettle.getPreselfpayAmt() == null ? ZERO : clinicSettle.getPreselfpayAmt()); + .setPreselfpayAmt(clinicSettle.getPreselfpayAmt() == null ? ZERO : clinicSettle.getPreselfpayAmt()); // 个人现金支付 clinicSettle.setPsnCashPay(clinicSettle.getPsnCashPay() == null ? ZERO : clinicSettle.getPsnCashPay()); // 医保报销总金额 @@ -1357,10 +1347,10 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { bill.put("fundPay", df.format(clinicSettle.getHifpPay())); // ownPay 自费金额 Number 14,2 是 (2025/12/25 朝阳红旗中医院:电子发票个人自费=医保丙类+超限价) // 2021-12-15 医保回复:个人自付 = (PAY_COST)医保账户+(psn_part_amt)个人现金+ (HIFMI_PAY)大病 -(fulamt_ownpay_amt)个人自费 - BigDecimal acctPay = clinicSettle.getAcctPay()==null?ZERO:clinicSettle.getAcctPay(); - BigDecimal psnPartAmt = clinicSettle.getPsnPartAmt()==null?ZERO:clinicSettle.getPsnPartAmt(); - BigDecimal hifmiPay = clinicSettle.getHifmiPay()==null?ZERO:clinicSettle.getHifmiPay(); - BigDecimal fulamtOwnpayAmt = clinicSettle.getFulamtOwnpayAmt()==null?ZERO:clinicSettle.getFulamtOwnpayAmt(); + BigDecimal acctPay = clinicSettle.getAcctPay() == null ? ZERO : clinicSettle.getAcctPay(); + BigDecimal psnPartAmt = clinicSettle.getPsnPartAmt() == null ? ZERO : clinicSettle.getPsnPartAmt(); + BigDecimal hifmiPay = clinicSettle.getHifmiPay() == null ? ZERO : clinicSettle.getHifmiPay(); + BigDecimal fulamtOwnpayAmt = clinicSettle.getFulamtOwnpayAmt() == null ? ZERO : clinicSettle.getFulamtOwnpayAmt(); bill.put("ownPay", df.format(acctPay.add(psnPartAmt).add(hifmiPay).subtract(fulamtOwnpayAmt))); // selfConceitedAmt 个人自负 Number 14,2 是 (2025/12/25 朝阳红旗中医院:电子发票个人自付=医保乙类后患者自付的部分) @@ -1384,17 +1374,17 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { paymentInfo.setDebitPayAmount(paymentInfo.getDebitPayAmount() == null ? ZERO : paymentInfo.getDebitPayAmount()); // 个人现金支付金额 paymentInfo - .setRmbCashPayAmount(paymentInfo.getRmbCashPayAmount() == null ? ZERO : paymentInfo.getRmbCashPayAmount()); + .setRmbCashPayAmount(paymentInfo.getRmbCashPayAmount() == null ? ZERO : paymentInfo.getRmbCashPayAmount()); // 个人医保账户支付 paymentInfo.setZhPayAmount(paymentInfo.getZhPayAmount() == null ? ZERO : paymentInfo.getZhPayAmount()); // 基金支付总额 paymentInfo - .setYbFundPayAmount(paymentInfo.getYbFundPayAmount() == null ? ZERO : paymentInfo.getYbFundPayAmount()); + .setYbFundPayAmount(paymentInfo.getYbFundPayAmount() == null ? ZERO : paymentInfo.getYbFundPayAmount()); // 其他(如医院负担金额) paymentInfo.setOtherPayAmount(paymentInfo.getOtherPayAmount() == null ? ZERO : paymentInfo.getOtherPayAmount()); // 账户共济支付金额 paymentInfo - .setAelfYbZhGjValue(paymentInfo.getAelfYbZhGjValue() == null ? ZERO : paymentInfo.getAelfYbZhGjValue()); + .setAelfYbZhGjValue(paymentInfo.getAelfYbZhGjValue() == null ? ZERO : paymentInfo.getAelfYbZhGjValue()); if (medCareTypeCode.equals("07")) {// 全自费 if (paymentInfo.getWxPayAmount().compareTo(ZERO) > 0) { payChannelDetail = new JSONObject(); @@ -1423,8 +1413,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { payChannelDetail = new JSONObject(); payChannelDetail.put("payChannelCode", "02");// 02 现金 payChannelDetail.put("payChannelValue", - df.format(paymentInfo.getTotalAmt().subtract(paymentInfo.getWxPayAmount()) - .subtract(paymentInfo.getAliPayAmount()).subtract(paymentInfo.getDebitPayAmount()))); + df.format(paymentInfo.getTotalAmt().subtract(paymentInfo.getWxPayAmount()) + .subtract(paymentInfo.getAliPayAmount()).subtract(paymentInfo.getDebitPayAmount()))); payChannelDetails.add(payChannelDetail); } } else { @@ -1434,16 +1424,11 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { payChannelDetail.put("payChannelCode", "11"); // payChannelDetail.put("payChannelValue", df.format(paymentInfo.getYbFundPayAmount().add(paymentInfo // .getOtherPayAmount().add(paymentInfo.getZhPayAmount()).add(paymentInfo.getAelfYbZhGjValue())))); -<<<<<<< HEAD - payChannelDetail.put("payChannelValue", df.format(paymentInfo.getYbFundPayAmount() - .add(paymentInfo.getZhPayAmount()).add(paymentInfo.getAelfYbZhGjValue()))); -======= //payChannelDetail.put("payChannelValue", df.format(paymentInfo.getYbFundPayAmount() // .add(paymentInfo.getZhPayAmount()).add(paymentInfo.getAelfYbZhGjValue()))); // 根据这几个医院的实际情况,医保支付金额先后刨除掉其他支付共济支付金额两项 payChannelDetail.put("payChannelValue", df.format(paymentInfo.getYbFundPayAmount() .add(paymentInfo.getZhPayAmount()))); ->>>>>>> v1.3 payChannelDetails.add(payChannelDetail); // 现金 @@ -1472,7 +1457,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { payChannelDetails.add(payChannelDetail); } else { BigDecimal cashpay = clinicSettle.getPsnCashPay().subtract(paymentInfo.getWxPayAmount()) - .subtract(paymentInfo.getAliPayAmount()).subtract(paymentInfo.getDebitPayAmount()); + .subtract(paymentInfo.getAliPayAmount()).subtract(paymentInfo.getDebitPayAmount()); if (cashpay.compareTo(ZERO) > 0) { payChannelDetail = new JSONObject(); payChannelDetail.put("payChannelCode", "02");// 02 现金 @@ -1512,8 +1497,8 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { return R.fail(PromptMsgConstant.invoice.M00004); } - Invoice invoice = - invoiceService.getOne(new LambdaQueryWrapper().eq(Invoice::getReconciliationId, paymentId)); + Invoice invoice + = invoiceService.getOne(new LambdaQueryWrapper().eq(Invoice::getReconciliationId, paymentId)); if (invoice.getStatusEnum() == null || invoice.getStatusEnum().equals(InvoiceStatus.DRAFT)) { return R.fail(PromptMsgConstant.invoice.M00007); @@ -1548,13 +1533,9 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { // JSONObject resobj = PreInvoicePostForward(bill, "api/medical/writeOffEBill"); JSONObject resobj; -<<<<<<< HEAD - logger.info("冲红信息入参:" + JSON.toJSONString(bill)); -======= logger.info("************************************** 分 割 线 ***************************************"); logger.info("冲红信息入参:" + JSON.toJSONString(bill)); logger.info("———————————————————————————————————————————————————————————————————————————————————————"); ->>>>>>> v1.3 if ("0".equals(SecurityUtils.getLoginUser().getOptionJson().getString("forwardSwitch"))) { resobj = PreInvoicePostForward(bill, "api/medical/writeOffEBill"); } else { @@ -1577,13 +1558,13 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { return R.fail(PromptMsgConstant.Common.M00011); } // 查询退款的支付id - List paymentReconciliation = - paymentReconciliationService.list(new LambdaQueryWrapper() - .eq(PaymentReconciliation::getRelationId, paymentId) - .in(PaymentReconciliation::getStatusEnum, - Arrays.asList(PaymentStatus.REFUND_ALL.getValue(), - PaymentStatus.REFUND_PART.getValue())) - .eq(PaymentReconciliation::getDeleteFlag, '0').last("LIMIT 1")); + List paymentReconciliation + = paymentReconciliationService.list(new LambdaQueryWrapper() + .eq(PaymentReconciliation::getRelationId, paymentId) + .in(PaymentReconciliation::getStatusEnum, + Arrays.asList(PaymentStatus.REFUND_ALL.getValue(), + PaymentStatus.REFUND_PART.getValue())) + .eq(PaymentReconciliation::getDeleteFlag, '0').last("LIMIT 1")); if (paymentReconciliation == null) { return R.fail(PromptMsgConstant.invoice.M00009); } @@ -1628,7 +1609,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { invoiceAdd.setPictureNetUrl(redata.getString("pictureNetUrl")); // 票据营业日期 //invoiceAdd.setBillBusDate( - //redata.getString("billBusDate") == "" ? null : sdf.parse(redata.getString("billBusDate"))); + //redata.getString("billBusDate") == "" ? null : sdf.parse(redata.getString("billBusDate"))); Long invoiceIdAdd = invoiceService.addInvoice(invoiceAdd); if (invoiceIdAdd == null) { @@ -1636,7 +1617,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { } return R.ok(invoiceAdd, - MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"电子发票冲红"})); + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"电子发票冲红"})); } else { redata.put("result", rejson.getString("result").toString()); redata64 = rejson.getString("message").toString(); @@ -1665,7 +1646,7 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { //PaymentReconciliation paymentReconciliation = paymentReconciliationService.getById(paymentId); List details = paymentRecDetailService - .list(new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, paymentId)); + .list(new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, paymentId)); InvoiceBaseInfoDto invoiceBaseInfoDto = initInvoiceBaseInfoDto(); @@ -1718,13 +1699,10 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { if (YbPayment.OVERLMT_SELFPAY.getValue().equals(detail.getPayEnum())) { invoiceBaseInfoDto.setOverlmtSelfpay(detail.getAmount()); } -<<<<<<< HEAD -======= // 先行自付费用 if (YbPayment.PRESELFPAY_AMT.getValue().equals(detail.getPayEnum())) { invoiceBaseInfoDto.setPreselfpayAmt(detail.getAmount()); } ->>>>>>> v1.3 // 学校垫支 if (YbPayment.SCHOOL_GF_PAY.getValue().equals(detail.getPayEnum())) { invoiceBaseInfoDto.setGfRatio(detail.getAmount()); @@ -1741,15 +1719,15 @@ public class EleInvoiceServiceImpl implements IEleInvoiceService { private InvoiceBaseInfoDto initInvoiceBaseInfoDto() { InvoiceBaseInfoDto clinicSettle = new InvoiceBaseInfoDto(); return clinicSettle.setMedfeeSumamt(new BigDecimal("0.0")).setFulamtOwnpayAmt(new BigDecimal("0.0")) - .setOverlmtSelfpay(new BigDecimal("0.0")).setPreselfpayAmt(new BigDecimal("0.0")) - .setInscpScpAmt(new BigDecimal("0.0")).setActPayDedc(new BigDecimal("0.0")) - .setHifpPay(new BigDecimal("0.0")).setPoolPropSelfpay(new BigDecimal("0.0")) - .setCvlservPay(new BigDecimal("0.0")).setHifesPay(new BigDecimal("0.0")).setHifmiPay(new BigDecimal("0.0")) - .setHifobPay(new BigDecimal("0.00")).setMafPay(new BigDecimal("0.0")).setOthPay(new BigDecimal("0.0")) - .setFundPaySumamt(new BigDecimal("0.0")).setPsnPartAmt(new BigDecimal("0.0")) - .setAcctPay(new BigDecimal("0.0")).setPsnCashPay(new BigDecimal("0.0")) - .setHospPartAmt(new BigDecimal("0.0")).setBalc(new BigDecimal("0.0")) - .setAcctMulaidPay(new BigDecimal("0.0")).setHifdmPay(new BigDecimal("0.0")); + .setOverlmtSelfpay(new BigDecimal("0.0")).setPreselfpayAmt(new BigDecimal("0.0")) + .setInscpScpAmt(new BigDecimal("0.0")).setActPayDedc(new BigDecimal("0.0")) + .setHifpPay(new BigDecimal("0.0")).setPoolPropSelfpay(new BigDecimal("0.0")) + .setCvlservPay(new BigDecimal("0.0")).setHifesPay(new BigDecimal("0.0")).setHifmiPay(new BigDecimal("0.0")) + .setHifobPay(new BigDecimal("0.00")).setMafPay(new BigDecimal("0.0")).setOthPay(new BigDecimal("0.0")) + .setFundPaySumamt(new BigDecimal("0.0")).setPsnPartAmt(new BigDecimal("0.0")) + .setAcctPay(new BigDecimal("0.0")).setPsnCashPay(new BigDecimal("0.0")) + .setHospPartAmt(new BigDecimal("0.0")).setBalc(new BigDecimal("0.0")) + .setAcctMulaidPay(new BigDecimal("0.0")).setHifdmPay(new BigDecimal("0.0")); } @Override diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/IChargeBillServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/IChargeBillServiceImpl.java index e00e9e8d..cac8a2bb 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/IChargeBillServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/IChargeBillServiceImpl.java @@ -303,8 +303,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { map.put("insuplcAdmdvs", perinfo.getInsuplcAdmdvs());// 患者参保地区划 } - Contract contract = - contractService.getOne(new LambdaQueryWrapper().eq(Contract::getBusNo, account.getContractNo())); + Contract contract + = contractService.getOne(new LambdaQueryWrapper().eq(Contract::getBusNo, account.getContractNo())); if (contract == null) { throw new ServiceException("未查询到合同信息"); } @@ -319,8 +319,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { if (encounterDiagnosis != null) { Condition condition = iConditionService.getById(encounterDiagnosis.getConditionId()); if (condition != null) { - ConditionDefinition conditionDefinition = - iConditionDefinitionService.getOne(new LambdaQueryWrapper() + ConditionDefinition conditionDefinition + = iConditionDefinitionService.getOne(new LambdaQueryWrapper() .eq(ConditionDefinition::getId, condition.getDefinitionId())); if (conditionDefinition != null) { map.put("conditionDefinition", conditionDefinition.getName());// 诊断名 @@ -349,9 +349,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { ChargeItemDefinition chargeItemDefinition = iChargeItemDefinitionService.getById(definitionId); - - YbMedChrgItmType medChrgItmType = - YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); + YbMedChrgItmType medChrgItmType + = YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); switch (medChrgItmType) { case BED_FEE: @@ -467,35 +466,35 @@ public class IChargeBillServiceImpl implements IChargeBillService { // } // 查询所有的支付详情 - List paymentIdList = - paymentReconciliationList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); + List paymentIdList + = paymentReconciliationList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); List paymentDetails = paymentRecDetailService .list(new LambdaQueryWrapper().in(PaymentRecDetail::getReconciliationId, paymentIdList) .eq(PaymentRecDetail::getDeleteFlag, DelFlag.NO.getCode()).notIn(PaymentRecDetail::getPayEnum, - YbPayment.SUPPLEMENTARY_INSURANCE.getValue(), YbPayment.SUPPLEMENTARY_INSURANCE.getValue(), - YbPayment.FULAMT_OWNPAY_AMT.getValue(), YbPayment.OVERLMT_SELFPAY.getValue(), - YbPayment.PRESELFPAY_AMT.getValue(), YbPayment.INSCP_SCP_AMT.getValue(), - YbPayment.ACT_PAY_DEDC.getValue(), YbPayment.POOL_PROP_SELFPAY.getValue(), - YbPayment.BALC.getValue(), YbPayment.BIRTH_FUND.getValue(), YbPayment.RETIREE_MEDICAL.getValue(), - YbPayment.MEDICAL_ASSISTANCE.getValue(), YbPayment.URBAN_SERIOUS_ILLNESS.getValue(), - YbPayment.URBAN_BASIC_MEDICAL.getValue(), YbPayment.GOVERNMENT_SUBSIDY.getValue(), - YbPayment.ACCIDENT_INSURANCE.getValue(), YbPayment.CARE_INSURANCE.getValue(), - YbPayment.FINANCIAL_FUND.getValue(), YbPayment.HOSPITAL_ADVANCE.getValue(), - YbPayment.SUPPLEMENTARY_INSURANCE.getValue(), - YbPayment.BASIC_MEDICAL_INSURANCE_FOR_URBAN_EMPLOYEES.getValue(), YbPayment.E_WALLET.getValue(), - YbPayment.HEALTHCARE_PREPAYMENT.getValue())); + YbPayment.SUPPLEMENTARY_INSURANCE.getValue(), YbPayment.SUPPLEMENTARY_INSURANCE.getValue(), + YbPayment.FULAMT_OWNPAY_AMT.getValue(), YbPayment.OVERLMT_SELFPAY.getValue(), + YbPayment.PRESELFPAY_AMT.getValue(), YbPayment.INSCP_SCP_AMT.getValue(), + YbPayment.ACT_PAY_DEDC.getValue(), YbPayment.POOL_PROP_SELFPAY.getValue(), + YbPayment.BALC.getValue(), YbPayment.BIRTH_FUND.getValue(), YbPayment.RETIREE_MEDICAL.getValue(), + YbPayment.MEDICAL_ASSISTANCE.getValue(), YbPayment.URBAN_SERIOUS_ILLNESS.getValue(), + YbPayment.URBAN_BASIC_MEDICAL.getValue(), YbPayment.GOVERNMENT_SUBSIDY.getValue(), + YbPayment.ACCIDENT_INSURANCE.getValue(), YbPayment.CARE_INSURANCE.getValue(), + YbPayment.FINANCIAL_FUND.getValue(), YbPayment.HOSPITAL_ADVANCE.getValue(), + YbPayment.SUPPLEMENTARY_INSURANCE.getValue(), + YbPayment.BASIC_MEDICAL_INSURANCE_FOR_URBAN_EMPLOYEES.getValue(), YbPayment.E_WALLET.getValue(), + YbPayment.HEALTHCARE_PREPAYMENT.getValue())); if (paymentDetails.isEmpty()) { return getMap(map); } - Map> paymentDetailsKV = - paymentDetails.stream().collect(Collectors.groupingBy(PaymentRecDetail::getReconciliationId)); + Map> paymentDetailsKV + = paymentDetails.stream().collect(Collectors.groupingBy(PaymentRecDetail::getReconciliationId)); // 声明变量,符合要求的付款记录 Collection PaymentReconciliationList; List accountList = new ArrayList<>(); if (!StringUtils.isEmpty(contractNo)) { // 查询账户信息用来区分省市医保 - List accountIds = - paymentDetails.stream().map(PaymentRecDetail::getAccountId).collect(Collectors.toList()); + List accountIds + = paymentDetails.stream().map(PaymentRecDetail::getAccountId).collect(Collectors.toList()); if (accountIds.isEmpty()) { throw new ServiceException("查询账户信息为空"); } @@ -505,8 +504,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { Map paymentMap = new HashMap<>(); for (PaymentRecDetail paymentDetail : paymentDetails) { - Optional first = - accountList.stream().filter(x -> x.getId().equals(paymentDetail.getAccountId())).findFirst(); + Optional first + = accountList.stream().filter(x -> x.getId().equals(paymentDetail.getAccountId())).findFirst(); // 账户不符合要求的筛出掉 if (first.isEmpty() || !first.get().getContractNo().equals(contractNo)) { continue; @@ -545,7 +544,6 @@ public class IChargeBillServiceImpl implements IChargeBillService { // System.out.println(chargeItemId); // System.out.println(","); // } - List chargeItemList = chargeItemService.list(new LambdaQueryWrapper() .in(ChargeItem::getId, chargeItemIds).eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); if (paymentDetails.isEmpty()) { @@ -558,20 +556,19 @@ public class IChargeBillServiceImpl implements IChargeBillService { // System.out.println(JSON.toJSONString(chargeItem)); // } // } - // 查询收费定义列表 - List chargeItemDefinitionIdList = - chargeItemList.stream().map(ChargeItem::getDefinitionId).collect(Collectors.toList()); + List chargeItemDefinitionIdList + = chargeItemList.stream().map(ChargeItem::getDefinitionId).collect(Collectors.toList()); if (chargeItemDefinitionIdList.isEmpty()) { throw new ServiceException("未查询到收费记录,无收费项信息"); } - List chargeItemDefinitions = - iChargeItemDefinitionService.listByIds(chargeItemDefinitionIdList); + List chargeItemDefinitions + = iChargeItemDefinitionService.listByIds(chargeItemDefinitionIdList); if (chargeItemDefinitions.isEmpty()) { throw new ServiceException("未查询到收费记录,无收费项信息"); } - Map> chargeItemDefKV = - chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getId)); + Map> chargeItemDefKV + = chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getId)); // 查询医保结算id List settleIds = new ArrayList<>(); @@ -602,8 +599,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { for (PaymentRecDetail paymentDetail : paymentDetails) { if (!StringUtils.isEmpty(contractNo)) { - Optional first = - accountList.stream().filter(x -> x.getId().equals(paymentDetail.getAccountId())).findFirst(); + Optional first + = accountList.stream().filter(x -> x.getId().equals(paymentDetail.getAccountId())).findFirst(); if (first.isEmpty() || !first.get().getContractNo().equals(contractNo)) { continue; } @@ -646,14 +643,14 @@ public class IChargeBillServiceImpl implements IChargeBillService { } } if (!returnPaymentList.isEmpty()) { - List returnIds = - returnPaymentList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); + List returnIds + = returnPaymentList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); List invoiceList = iInvoiceService.list(new LambdaUpdateWrapper() .in(Invoice::getReconciliationId, returnIds).eq(Invoice::getDeleteFlag, DelFlag.NO.getCode())); if (!invoiceList.isEmpty()) { - Map> invoiceKV = - invoiceList.stream().collect(Collectors.groupingBy(Invoice::getReconciliationId)); + Map> invoiceKV + = invoiceList.stream().collect(Collectors.groupingBy(Invoice::getReconciliationId)); for (PaymentReconciliation paymentReconciliation : returnPaymentList) { returnBillVO = new ReturnBillVO(); returnBillVO.setTotalAmount(paymentReconciliation.getTenderedAmount()); @@ -719,8 +716,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { ChargeItemDefinition chargeItemDefinition = chargeItemDefKV.get(definitionId).get(0); - YbMedChrgItmType medChrgItmType = - YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); + YbMedChrgItmType medChrgItmType + = YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); switch (medChrgItmType) { case BED_FEE: @@ -799,10 +796,10 @@ public class IChargeBillServiceImpl implements IChargeBillService { throw new ServiceException("收费定义未设置财务分类,提示信息chargeItemDefinitionId:" + chargeItemDefinition.getId()); } } - Map> chargeItemDefMapByTypeCode = - chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getTypeCode)); - Map> chargeItemMapByDefinitionId = - chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getDefinitionId)); + Map> chargeItemDefMapByTypeCode + = chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getTypeCode)); + Map> chargeItemMapByDefinitionId + = chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getDefinitionId)); for (Map.Entry> stringListEntry : chargeItemDefMapByTypeCode.entrySet()) { String key = stringListEntry.getKey(); @@ -863,16 +860,15 @@ public class IChargeBillServiceImpl implements IChargeBillService { // } // } // } - // 查询所有的支付详情 - List paymentIdList = - paymentReconciliationList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); + List paymentIdList + = paymentReconciliationList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); // List paymentDetails = paymentRecDetailService // .list(new LambdaQueryWrapper().in(PaymentRecDetail::getReconciliationId, paymentIdList) // .eq(PaymentRecDetail::getDeleteFlag, DelFlag.NO.getCode())); - List PaymentRecDetailAccountResultList = - paymentRecDetailService.getListByReconciliationIds(paymentIdList, PaymentKind.OUTPATIENT_CLINIC.getValue()); + List PaymentRecDetailAccountResultList + = paymentRecDetailService.getListByReconciliationIds(paymentIdList, PaymentKind.OUTPATIENT_CLINIC.getValue()); if (PaymentRecDetailAccountResultList.isEmpty()) { return getMap(map); } @@ -935,7 +931,6 @@ public class IChargeBillServiceImpl implements IChargeBillService { // throw new ServiceException("收费项:" + chargeItem.getId()); // } // } - // 根据省市医保分组 Map> paymentDetailsMapByContract = PaymentRecDetailAccountResultList .stream().collect(Collectors.groupingBy(PaymentRecDetailAccountResult::getContractNo)); @@ -964,20 +959,19 @@ public class IChargeBillServiceImpl implements IChargeBillService { // System.out.println(JSON.toJSONString(chargeItem)); // } // } - // 查询收费定义列表 - List chargeItemDefinitionIdList = - chargeItemList.stream().map(ChargeItem::getDefinitionId).collect(Collectors.toList()); + List chargeItemDefinitionIdList + = chargeItemList.stream().map(ChargeItem::getDefinitionId).collect(Collectors.toList()); if (chargeItemDefinitionIdList.isEmpty()) { throw new ServiceException("未查询到收费记录,无收费项信息"); } - List chargeItemDefinitions = - iChargeItemDefinitionService.listByIds(chargeItemDefinitionIdList); + List chargeItemDefinitions + = iChargeItemDefinitionService.listByIds(chargeItemDefinitionIdList); if (chargeItemDefinitions.isEmpty()) { throw new ServiceException("未查询到收费记录,无收费项信息"); } - Map> chargeItemDefKV = - chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getId)); + Map> chargeItemDefKV + = chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getId)); // 查询医保结算id List settleIds = new ArrayList<>(); @@ -1011,8 +1005,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { BigDecimal YbCashSum = BigDecimal.ZERO;// 医保现金总额 // 长大版本要显示出来省市医保的区别 List redisContractList = iContractService.getRedisContractList(); - Map> contractMapByBusNo = - redisContractList.stream().collect(Collectors.groupingBy(Contract::getBusNo)); + Map> contractMapByBusNo + = redisContractList.stream().collect(Collectors.groupingBy(Contract::getBusNo)); for (Map.Entry> stringListEntry : paymentDetailsMapByContract .entrySet()) { String key = stringListEntry.getKey(); @@ -1122,11 +1116,11 @@ public class IChargeBillServiceImpl implements IChargeBillService { List beforeChargeItemDefinitions = new ArrayList<>(); List beforeChargeItemList = new ArrayList<>(); if (!returnPaymentList.isEmpty()) { - List returnIds = - returnPaymentList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); + List returnIds + = returnPaymentList.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); // 查原付款单子 - List relationIdList = - returnPaymentList.stream().map(PaymentReconciliation::getRelationId).collect(Collectors.toList()); + List relationIdList + = returnPaymentList.stream().map(PaymentReconciliation::getRelationId).collect(Collectors.toList()); if (relationIdList.isEmpty() || returnPaymentList.size() != relationIdList.size()) { throw new ServiceException("数据异常,存在无法关联到原单的退款单,请联系工程师"); } @@ -1142,8 +1136,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { } if (!beforeList.isEmpty()) { // 拆解所有的chargeItemId,拼装成一个集合 - List chargeItemIdList = - beforeList.stream().map(PaymentReconciliation::getChargeItemIds).collect(Collectors.toList()); + List chargeItemIdList + = beforeList.stream().map(PaymentReconciliation::getChargeItemIds).collect(Collectors.toList()); List beforeChargeItemIds = new ArrayList<>(); for (String chargeItemId : chargeItemIdList) { if (StringUtils.isNotEmpty(chargeItemId)) { @@ -1158,8 +1152,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { if (beforeChargeItemList.isEmpty()) { throw new ServiceException("数据异常,查找不到退费收费项信息"); } - List beforeChargeItemDefinitionIdList = - beforeChargeItemList.stream().map(ChargeItem::getDefinitionId).collect(Collectors.toList()); + List beforeChargeItemDefinitionIdList + = beforeChargeItemList.stream().map(ChargeItem::getDefinitionId).collect(Collectors.toList()); if (beforeChargeItemDefinitionIdList.isEmpty()) { throw new ServiceException("数据异常,查找不到收费项的定义信息"); } @@ -1180,8 +1174,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { ChargeItemDefinition chargeItemDefinition = chargeItemDefKV.get(definitionId).get(0); - YbMedChrgItmType medChrgItmType = - YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); + YbMedChrgItmType medChrgItmType + = YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); switch (medChrgItmType) { case BED_FEE: @@ -1233,13 +1227,13 @@ public class IChargeBillServiceImpl implements IChargeBillService { List invoiceList = iInvoiceService.list(new LambdaUpdateWrapper() .in(Invoice::getReconciliationId, returnIds).eq(Invoice::getDeleteFlag, DelFlag.NO.getCode())); if (!invoiceList.isEmpty()) { - Map> invoiceKV = - invoiceList.stream().collect(Collectors.groupingBy(Invoice::getReconciliationId)); + Map> invoiceKV + = invoiceList.stream().collect(Collectors.groupingBy(Invoice::getReconciliationId)); for (PaymentReconciliation paymentReconciliation : returnPaymentList) { returnBillVO = new ReturnBillVO(); returnBillVO.setTotalAmount(paymentReconciliation.getTenderedAmount()); - List paymentRecDetails = - paymentDetailsKV.get(paymentReconciliation.getId()); + List paymentRecDetails + = paymentDetailsKV.get(paymentReconciliation.getId()); for (PaymentRecDetailAccountResult paymentRecDetail : paymentRecDetails) { if (YbPayment.SELF_CASH_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { returnBillVO.setPaidAmount(paymentRecDetail.getAmount()); @@ -1286,8 +1280,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { ChargeItemDefinition chargeItemDefinition = chargeItemDefKV.get(definitionId).get(0); - YbMedChrgItmType medChrgItmType = - YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); + YbMedChrgItmType medChrgItmType + = YbMedChrgItmType.getByCode(Integer.parseInt(chargeItemDefinition.getYbType())); switch (medChrgItmType) { case BED_FEE: @@ -1367,10 +1361,10 @@ public class IChargeBillServiceImpl implements IChargeBillService { } } - Map> chargeItemDefMapByTypeCode = - chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getTypeCode)); - Map> chargeItemMapByDefinitionId = - chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getDefinitionId)); + Map> chargeItemDefMapByTypeCode + = chargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getTypeCode)); + Map> chargeItemMapByDefinitionId + = chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getDefinitionId)); for (Map.Entry> stringListEntry : chargeItemDefMapByTypeCode.entrySet()) { String key = stringListEntry.getKey(); @@ -1389,10 +1383,10 @@ public class IChargeBillServiceImpl implements IChargeBillService { // 超本时间段的退费单统计 if (!beforeChargeItemDefinitions.isEmpty() && !beforeChargeItemList.isEmpty()) { - Map> beforeChargeItemDefMapByTypeCode = - beforeChargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getTypeCode)); - Map> beforeChargeItemMapByDefinitionId = - beforeChargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getDefinitionId)); + Map> beforeChargeItemDefMapByTypeCode + = beforeChargeItemDefinitions.stream().collect(Collectors.groupingBy(ChargeItemDefinition::getTypeCode)); + Map> beforeChargeItemMapByDefinitionId + = beforeChargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getDefinitionId)); for (Map.Entry> longListEntry : beforeChargeItemDefMapByTypeCode .entrySet()) { BigDecimal bigDecimal = map.get(longListEntry.getKey()) == null ? BigDecimal.ZERO @@ -1413,8 +1407,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { // 医保人次自费人次计算 List list = iEncounterService.getEncounterInfoByTime(startDate, endDate); - Map> encounterAccountDtoMapByContract = - list.stream().collect(Collectors.groupingBy(EncounterAccountDto::getContractNo)); + Map> encounterAccountDtoMapByContract + = list.stream().collect(Collectors.groupingBy(EncounterAccountDto::getContractNo)); for (Map.Entry> stringListEntry : encounterAccountDtoMapByContract .entrySet()) { String key = stringListEntry.getKey(); @@ -1428,7 +1422,7 @@ public class IChargeBillServiceImpl implements IChargeBillService { * 长大门诊日结单(最终版) ps:小范围区间内通用版本,需要时间检验 * * @param startTime 开始时间 - * @param endTime 结束时间 + * @param endTime 结束时间 * @param entererId 参与人id * @return 参数 */ @@ -1473,10 +1467,10 @@ public class IChargeBillServiceImpl implements IChargeBillService { map.put("amount", amount);// 应收金额 // 查询所有的支付详情(业务注释:收集并统计不同支付渠道支付的费用) - List paymentIdList = - paymentReconciliationList.stream().map(PaymentReconciliationAccountDel::getId).collect(Collectors.toList()); - List PaymentRecDetailAccountResultList = - paymentRecDetailService.getListByReconciliationIds(paymentIdList, PaymentKind.OUTPATIENT_CLINIC.getValue()); + List paymentIdList + = paymentReconciliationList.stream().map(PaymentReconciliationAccountDel::getId).collect(Collectors.toList()); + List PaymentRecDetailAccountResultList + = paymentRecDetailService.getListByReconciliationIds(paymentIdList, PaymentKind.OUTPATIENT_CLINIC.getValue()); if (PaymentRecDetailAccountResultList.isEmpty()) { return getMap(map); @@ -1503,8 +1497,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { BigDecimal discountSum = BigDecimal.ZERO;// 优惠金额 // 长大版本要显示出来省市医保的区别 List redisContractList = iContractService.getRedisContractList(); - Map> contractMapByBusNo = - redisContractList.stream().collect(Collectors.groupingBy(Contract::getBusNo)); + Map> contractMapByBusNo + = redisContractList.stream().collect(Collectors.groupingBy(Contract::getBusNo)); for (Map.Entry> stringListEntry : paymentDetailsMapByContract .entrySet()) { @@ -1584,15 +1578,15 @@ public class IChargeBillServiceImpl implements IChargeBillService { Map> returnPaymentMapByRelationId = new HashMap<>(); if (!returnList.isEmpty()) { - returnPaymentMapByRelationId = - returnList.stream().collect(Collectors.groupingBy(PaymentReconciliationAccountDel::getRelationId)); + returnPaymentMapByRelationId + = returnList.stream().collect(Collectors.groupingBy(PaymentReconciliationAccountDel::getRelationId)); } List addChargeItemIds = new ArrayList<>(); List subChargeItemIds = new ArrayList<>(); for (PaymentReconciliationAccountDel paymentReconciliation : paymentList) { - List paymentReconciliations = - returnPaymentMapByRelationId.get(paymentReconciliation.getId()); + List paymentReconciliations + = returnPaymentMapByRelationId.get(paymentReconciliation.getId()); if (paymentReconciliations != null && !paymentReconciliations.isEmpty()) { // 情况a if (PaymentStatus.SUCCESS.getValue().equals(paymentReconciliation.getStatusEnum())) { @@ -1646,8 +1640,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { if (chargeItemDefInfoByIds.isEmpty()) { throw new ServiceException("数据异常,该时间段内未查询到收费项"); } - Map> chargeItemDefInfoKVById = - chargeItemDefInfoByIds.stream().collect(Collectors.groupingBy(ChargeItemDefInfo::getId)); + Map> chargeItemDefInfoKVById + = chargeItemDefInfoByIds.stream().collect(Collectors.groupingBy(ChargeItemDefInfo::getId)); // 省名变量 BigDecimal bedFee = BigDecimal.ZERO;// 床位费 @@ -1805,15 +1799,9 @@ public class IChargeBillServiceImpl implements IChargeBillService { map.put("GENERAL_CONSULTATION_FEE", generalConsultationFee);// 一般诊疗费 map.put("REGISTRATION_FEE", registrationFee);// 挂号费 map.put("OTHER_FEE", otherFee);// 其他费用 -<<<<<<< HEAD - sum = bedFee.add(diagnosticFee).add(checkFee).add(diagnosticTestFee).add(medicalExpenseFee).add(operationFee) - .add(nursingFee).add(sanitaryMaterialsFee).add(westMedicine).add(chineseMedicineFee) - .add(chineseMedicineSlicesFee).add(generalConsultationFee).add(registrationFee).add(otherFee).subtract(discountSum); -======= sum = bedFee.add(diagnosticFee).add(checkFee).add(diagnosticTestFee).add(outDiagnosticTestFee).add(medicalExpenseFee).add(operationFee) .add(nursingFee).add(sanitaryMaterialsFee).add(westMedicine).add(chineseMedicineFee).add( - chineseMedicineSlicesFee).add(generalConsultationFee).add(registrationFee).add(otherFee); ->>>>>>> v1.3 + chineseMedicineSlicesFee).add(generalConsultationFee).add(registrationFee).add(otherFee); map.put("SUM", sum);// 合计费用 Map> chargeItemDefKVByTypeCode = chargeItemDefInfoByIds.stream() @@ -1848,11 +1836,11 @@ public class IChargeBillServiceImpl implements IChargeBillService { ReturnBillVO returnBillVO; if (!returnList.isEmpty()) { - List returnIds = - returnList.stream().map(PaymentReconciliationAccountDel::getId).collect(Collectors.toList()); + List returnIds + = returnList.stream().map(PaymentReconciliationAccountDel::getId).collect(Collectors.toList()); // 查原付款单子 - List relationIdList = - returnList.stream().map(PaymentReconciliationAccountDel::getRelationId).collect(Collectors.toList()); + List relationIdList + = returnList.stream().map(PaymentReconciliationAccountDel::getRelationId).collect(Collectors.toList()); if (relationIdList.isEmpty() || returnList.size() != relationIdList.size()) { throw new ServiceException("数据异常,存在无法关联到原单的退款单,请联系工程师"); } @@ -1860,13 +1848,13 @@ public class IChargeBillServiceImpl implements IChargeBillService { List invoiceList = iInvoiceService.list(new LambdaUpdateWrapper() .in(Invoice::getReconciliationId, returnIds).eq(Invoice::getDeleteFlag, DelFlag.NO.getCode())); if (!invoiceList.isEmpty()) { - Map> invoiceKV = - invoiceList.stream().collect(Collectors.groupingBy(Invoice::getReconciliationId)); + Map> invoiceKV + = invoiceList.stream().collect(Collectors.groupingBy(Invoice::getReconciliationId)); for (PaymentReconciliationAccountDel paymentReconciliation : returnList) { returnBillVO = new ReturnBillVO(); returnBillVO.setTotalAmount(paymentReconciliation.getTenderedAmount()); - List paymentRecDetails = - paymentDetailsKV.get(paymentReconciliation.getId()); + List paymentRecDetails + = paymentDetailsKV.get(paymentReconciliation.getId()); for (PaymentRecDetailAccountResult paymentRecDetail : paymentRecDetails) { if (YbPayment.SELF_CASH_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { returnBillVO.setPaidAmount(paymentRecDetail.getAmount()); @@ -1894,11 +1882,10 @@ public class IChargeBillServiceImpl implements IChargeBillService { // map.put("tcSum", tcSum);// 基本统筹 // map.put("zhSum", zhSum);// 账户支付 // map.put("fundSum", fundSum);// 基金支付总额 - // 医保人次自费人次计算 List list = iEncounterService.getEncounterInfoByTime(startDate, endDate); - Map> encounterAccountDtoMapByContract = - list.stream().collect(Collectors.groupingBy(EncounterAccountDto::getContractNo)); + Map> encounterAccountDtoMapByContract + = list.stream().collect(Collectors.groupingBy(EncounterAccountDto::getContractNo)); for (Map.Entry> stringListEntry : encounterAccountDtoMapByContract .entrySet()) { String key = stringListEntry.getKey(); @@ -2032,8 +2019,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { ? chargeItem.getTotalPrice() : chargeItem.getSystemDiscountPrice()); break; case CHINESE_MEDICINE_SLICES_FEE: - tyChineseMedicineSlicesFee = - tyChineseMedicineSlicesFee.add(chargeItem.getSystemDiscountPrice() == null + tyChineseMedicineSlicesFee + = tyChineseMedicineSlicesFee.add(chargeItem.getSystemDiscountPrice() == null ? chargeItem.getTotalPrice() : chargeItem.getSystemDiscountPrice()); break; case CHINESE_MEDICINE_FEE: @@ -2109,8 +2096,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { ? chargeItem.getTotalPrice() : chargeItem.getSystemDiscountPrice()); break; case CHINESE_MEDICINE_SLICES_FEE: - tyChineseMedicineSlicesFee = - tyChineseMedicineSlicesFee.subtract(chargeItem.getSystemDiscountPrice() == null + tyChineseMedicineSlicesFee + = tyChineseMedicineSlicesFee.subtract(chargeItem.getSystemDiscountPrice() == null ? chargeItem.getTotalPrice() : chargeItem.getSystemDiscountPrice()); break; case CHINESE_MEDICINE_FEE: @@ -2118,8 +2105,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { ? chargeItem.getTotalPrice() : chargeItem.getSystemDiscountPrice()); break; case GENERAL_CONSULTATION_FEE: - tyGeneralConsultationFee = - tyGeneralConsultationFee.subtract(chargeItem.getSystemDiscountPrice() == null + tyGeneralConsultationFee + = tyGeneralConsultationFee.subtract(chargeItem.getSystemDiscountPrice() == null ? chargeItem.getTotalPrice() : chargeItem.getSystemDiscountPrice()); break; case REGISTRATION_FEE: @@ -2149,8 +2136,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { map.put("TY_REGISTRATION_FEE", tyRegistrationFee);// 挂号费 map.put("TY_OTHER_FEE", tyOtherFee);// 其他费用 tySum = tyBedFee.add(tyDiagnosticFee).add(tyCheckFee).add(tyDiagnosticTestFee).add(tyOutDiagnosticTestFee).add(tyMedicalExpenseFee).add( - tyOperationFee).add(tyNursingFee).add(tySanitaryMaterialsFee).add(tyWestMedicine).add( - tyChineseMedicineSlicesFee).add(tyChineseMedicineFee).add(tyGeneralConsultationFee).add(tyRegistrationFee) + tyOperationFee).add(tyNursingFee).add(tySanitaryMaterialsFee).add(tyWestMedicine).add( + tyChineseMedicineSlicesFee).add(tyChineseMedicineFee).add(tyGeneralConsultationFee).add(tyRegistrationFee) .add(tyOtherFee); map.put("TY_SUM", tySum);// 合计费用 @@ -2236,13 +2223,13 @@ public class IChargeBillServiceImpl implements IChargeBillService { .map(Long::valueOf) // 转换为Long .collect(Collectors.toList()); - List ChargeItemExtendInfoDtoList = - chargeBillMapper.selectChargeItemExtendInfoList(chargeItemIds, chargeSummaryDto.getOrgIdList()); + List ChargeItemExtendInfoDtoList + = chargeBillMapper.selectChargeItemExtendInfoList(chargeItemIds, chargeSummaryDto.getOrgIdList()); - Map> chargeItemExtendInfoDtoListGroupByOrgIdMap = - ChargeItemExtendInfoDtoList.stream().collect(Collectors.groupingBy(ChargeItemExtendInfoDto::getOrgId)); - LambdaQueryWrapper organizationLambdaQueryWrapper = - new LambdaQueryWrapper().eq(Organization::getTypeEnum, OrganizationType.DEPARTMENT.getValue()) + Map> chargeItemExtendInfoDtoListGroupByOrgIdMap + = ChargeItemExtendInfoDtoList.stream().collect(Collectors.groupingBy(ChargeItemExtendInfoDto::getOrgId)); + LambdaQueryWrapper organizationLambdaQueryWrapper + = new LambdaQueryWrapper().eq(Organization::getTypeEnum, OrganizationType.DEPARTMENT.getValue()) .eq(Organization::getDeleteFlag, DelFlag.NO.getCode()).orderByDesc(Organization::getDisplayOrder); if (chargeSummaryDto.getOrgIdList() != null && !chargeSummaryDto.getOrgIdList().isEmpty()) { organizationLambdaQueryWrapper.in(Organization::getId, chargeSummaryDto.getOrgIdList()); @@ -2256,8 +2243,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { for (Organization organization : organizationList) { orgIncomeDto = new OrgIncomeDto(); orgIncomeDto.setOrgName(organization.getName()); - List chargeItemExtendInfoDtos = - chargeItemExtendInfoDtoListGroupByOrgIdMap.get(organization.getId()); + List chargeItemExtendInfoDtos + = chargeItemExtendInfoDtoListGroupByOrgIdMap.get(organization.getId()); if (chargeItemExtendInfoDtos == null) { orgIncomeList.add(orgIncomeDto); continue; @@ -2380,7 +2367,7 @@ public class IChargeBillServiceImpl implements IChargeBillService { } Invoice invoice = iInvoiceService.getOne(new LambdaQueryWrapper().eq(Invoice::getReconciliationId, - paymentId).eq(Invoice::getStatusEnum, InvoiceStatus.ISSUED.getValue()).orderByDesc(Invoice::getCreateTime) + paymentId).eq(Invoice::getStatusEnum, InvoiceStatus.ISSUED.getValue()).orderByDesc(Invoice::getCreateTime) .last(YbCommonConstants.sqlConst.LIMIT1)); if (invoice != null) { map.put("invoiceNo", invoice.getBillNo());// 支付详细 @@ -2388,7 +2375,7 @@ public class IChargeBillServiceImpl implements IChargeBillService { } List chargeItemIds = Arrays.stream(paymentReconciliation.getChargeItemIds().split(",")).map( - Long::parseLong) // 将字符串转换为 Long + Long::parseLong) // 将字符串转换为 Long .collect(Collectors.toList()); List chargeItemBaseInfoByIds = chargeItemService.getChargeItemBaseInfoByIds( chargeItemIds); @@ -2434,7 +2421,7 @@ public class IChargeBillServiceImpl implements IChargeBillService { map.put("regNo", encounter.getBusNo());// 门诊号 InfoPerson perinfo = iPerinfoService.getOne(new LambdaQueryWrapper().eq(InfoPerson::getCertno, - patient.getIdCard()).eq(InfoPerson::getTenantId, patient.getTenantId()) + patient.getIdCard()).eq(InfoPerson::getTenantId, patient.getTenantId()) .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); if (perinfo != null) { map.put("personType", perinfo.getInsutype());// 人员类别:职工医保,居民医保等;如果为空显示自费或其他 @@ -2444,8 +2431,8 @@ public class IChargeBillServiceImpl implements IChargeBillService { // 查询主诊断信息 EncounterDiagnosis encounterDiagnosis = iEncounterDiagnosisService.getOne( new LambdaQueryWrapper().eq(EncounterDiagnosis::getEncounterId, encounter.getId()).eq( - EncounterDiagnosis::getMaindiseFlag, Whether.YES.getValue()).eq(EncounterDiagnosis::getDeleteFlag, - DelFlag.NO.getCode()).orderByDesc(EncounterDiagnosis::getDiagSrtNo) + EncounterDiagnosis::getMaindiseFlag, Whether.YES.getValue()).eq(EncounterDiagnosis::getDeleteFlag, + DelFlag.NO.getCode()).orderByDesc(EncounterDiagnosis::getDiagSrtNo) .last(YbCommonConstants.sqlConst.LIMIT1)); if (encounterDiagnosis != null) { @@ -2495,7 +2482,7 @@ public class IChargeBillServiceImpl implements IChargeBillService { } InfoPerson perinfo = iPerinfoService.getOne(new LambdaQueryWrapper().eq(InfoPerson::getCertno, - patient.getIdCard()).eq(InfoPerson::getTenantId, patient.getTenantId()) + patient.getIdCard()).eq(InfoPerson::getTenantId, patient.getTenantId()) .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); if (perinfo != null) { YbMdcsType byCode = YbMdcsType.getByCode(perinfo.getInsutype()); @@ -2527,9 +2514,9 @@ public class IChargeBillServiceImpl implements IChargeBillService { // PaymentStatus.SUCCESS.getValue()).in(PaymentReconciliation::getId,paymentIdList)); List list = paymentReconciliationService.list( new LambdaQueryWrapper().eq(PaymentReconciliation::getDeleteFlag, - DelFlag.NO.getCode()).eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue()) - .between(PaymentReconciliation::getBillDate, Date.from(LocalDateTime.parse("2025-12-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).atZone(ZoneId.systemDefault()).toInstant()) - , Date.from(LocalDateTime.parse("2025-12-31 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).atZone(ZoneId.systemDefault()).toInstant()))); + DelFlag.NO.getCode()).eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue()) + .between(PaymentReconciliation::getBillDate, Date.from(LocalDateTime.parse("2025-12-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).atZone(ZoneId.systemDefault()).toInstant()), + Date.from(LocalDateTime.parse("2025-12-31 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).atZone(ZoneId.systemDefault()).toInstant()))); for (PaymentReconciliation paymentReconciliation : list) { @@ -2598,7 +2585,6 @@ public class IChargeBillServiceImpl implements IChargeBillService { // BigDecimal b = BigDecimal.ZERO;// 实付金额与药品金额差值即待分配金额 // BigDecimal c = BigDecimal.ZERO;// 诊疗检查等项目的合计金额 // BigDecimal d = paymentReconciliation.getTenderedAmount().subtract(paymentRecDetail.getAmount());// 实际交款金额 - List newChargeItemList = new ArrayList<>(); for (ChargeItemDefInfo chargeItemDefInfo : chargeItemDefInfoByIdList) { diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/PaymentRecServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/PaymentRecServiceImpl.java index 15e7d1ef..838b08b2 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/PaymentRecServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/PaymentRecServiceImpl.java @@ -186,7 +186,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { /** * 【门诊预结算】 - * + * * @param prePaymentDto 预结算入参 * @return 结果 */ @@ -200,8 +200,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // 此次chargeItem的就诊诊断id集合 - List diagIdList = - chargeItemList.stream().map(ChargeItem::getEncounterDiagnosisId).collect(Collectors.toList()); + List diagIdList + = chargeItemList.stream().map(ChargeItem::getEncounterDiagnosisId).collect(Collectors.toList()); if (diagIdList.isEmpty()) { throw new ServiceException("收费项的就诊诊断查询为空"); } @@ -210,8 +210,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (diagList.isEmpty()) { throw new ServiceException("就诊诊断查询为空,错误信息:EncounterDiagnosis"); } - List medTypeList = - diagList.stream().map(EncounterDiagnosis::getMedTypeCode).distinct().collect(Collectors.toList()); + List medTypeList + = diagList.stream().map(EncounterDiagnosis::getMedTypeCode).distinct().collect(Collectors.toList()); if (medTypeList.size() > 1) { return R.fail("收费项的就诊类型未统一"); } @@ -221,14 +221,14 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // account去重 List distinctAccountIdList = accountIdList.stream().distinct().collect(Collectors.toList()); List accountList = iAccountService.list(new LambdaQueryWrapper() - .in(Account::getId, distinctAccountIdList).eq(Account::getEncounterId, prePaymentDto.getEncounterId())); + .in(Account::getId, distinctAccountIdList).eq(Account::getEncounterId, prePaymentDto.getEncounterId())); if (accountList.size() != distinctAccountIdList.size()) { throw new ServiceException("未查询到账户信息"); } // 账户id,对应的账单列表 - Map> chargeItemMapByAccountId = - chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getAccountId)); + Map> chargeItemMapByAccountId + = chargeItemList.stream().collect(Collectors.groupingBy(ChargeItem::getAccountId)); // 查询合同信息 List contractList = contractService.list(); @@ -238,8 +238,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Contract settleContract = null; if (account != null && account.getContractNo() != null && contractList != null) { settleContract = contractList.stream().filter(Objects::nonNull) - .filter(e -> account.getContractNo().equals(e.getBusNo())).findFirst() // 或 findAny,根据业务需求 - .orElse(null); + .filter(e -> account.getContractNo().equals(e.getBusNo())).findFirst() // 或 findAny,根据业务需求 + .orElse(null); } // 根据accountid,获取结算合同 if (settleContract != null) { List chargeItemsForPreSettle = chargeItemMapByAccountId.get(account.getId()); @@ -249,15 +249,15 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 处理套餐项目,如果ChargeItem有子项,并且此项目是不可调价项目要被拆出来 // 这是不拆的逻辑,如果TODO完成,会多一种情况进入这个逻辑 if (StringUtils.isEmpty(chargeItem.getChildrenJson()) - || CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(account.getContractNo()) - || "0".equals( - SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH))) { + || CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(account.getContractNo()) + || "0".equals( + SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH))) { PaymentedItemModel piModel = ConverterToPaymenItemModel(diagList, chargeItem); prePaymentedItems.add(piModel); } else { try { - List childrenList = - JSON.parseArray(chargeItem.getChildrenJson(), ChargeItem.class); + List childrenList + = JSON.parseArray(chargeItem.getChildrenJson(), ChargeItem.class); for (ChargeItem child : childrenList) { PaymentedItemModel piModel = ConverterToPaymenItemModel(diagList, child); prePaymentedItems.add(piModel); @@ -270,8 +270,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 调用核心预结算方法 PrePaymentResult prePaymentResult = iPaymentReconciliationService.preSettle( - YbMdtrtCertType.getByValue(prePaymentDto.getYbMdtrtCertType()), prePaymentDto.getBusiCardInfo(), - settleContract.getBusNo(), prePaymentedItems); + YbMdtrtCertType.getByValue(prePaymentDto.getYbMdtrtCertType()), prePaymentDto.getBusiCardInfo(), + settleContract.getBusNo(), prePaymentedItems); // 把多个account的预结算结果加入preSettleResultList if (prePaymentResult != null) { prePaymentResult.setAccountId(account.getId()); @@ -303,15 +303,15 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 新增支付信息 PaymentReconciliation payment = new PaymentReconciliation(); payment.setStatusEnum(PaymentStatus.DRAFT.getValue()).setPaymentNo(paymentNo).setYbSettleIds("") - .setPaymentEnum(PaymentType.PAY.getValue()).setEntererId(SecurityUtils.getLoginUser().getPractitionerId()) - .setPaymentReconciliationId(prePaymentDto.getPatientId()).setPatientId(prePaymentDto.getPatientId()) - .setKindEnum(PaymentKind.OUTPATIENT_CLINIC.getValue()).setPractitionerId(prePaymentDto.getEntererId()) - .setOutcomeEnum(PaymentOutcome.PARTIAL.getCode()).setLocationId(-99l).setExpirationDate(futureTime) - .setBillDate(setlTime).setPrintCount(0) - .setChargeItemIds( - prePaymentDto.getChargeItemIds().stream().map(String::valueOf).collect(Collectors.joining(","))) - .setTenderedAmount(amount).setDisplayAmount(amount).setReturnedAmount(new BigDecimal("0.0")) - .setEncounterId(prePaymentDto.getEncounterId()); + .setPaymentEnum(PaymentType.PAY.getValue()).setEntererId(SecurityUtils.getLoginUser().getPractitionerId()) + .setPaymentReconciliationId(prePaymentDto.getPatientId()).setPatientId(prePaymentDto.getPatientId()) + .setKindEnum(PaymentKind.OUTPATIENT_CLINIC.getValue()).setPractitionerId(prePaymentDto.getEntererId()) + .setOutcomeEnum(PaymentOutcome.PARTIAL.getCode()).setLocationId(-99l).setExpirationDate(futureTime) + .setBillDate(setlTime).setPrintCount(0) + .setChargeItemIds( + prePaymentDto.getChargeItemIds().stream().map(String::valueOf).collect(Collectors.joining(","))) + .setTenderedAmount(amount).setDisplayAmount(amount).setReturnedAmount(new BigDecimal("0.0")) + .setEncounterId(prePaymentDto.getEncounterId()); // 保存付款信息 paymentReconciliationService.save(payment); // 保存付款详情 @@ -320,14 +320,14 @@ public class PaymentRecServiceImpl implements IPaymentRecService { PrePaymentResultModel prePaymentResultModel = new PrePaymentResultModel(); prePaymentResultModel.setDetails(paymentRecDetailDtoList).setPaymentReconciliation(payment) - .setPaymentId(String.valueOf(payment.getId())); + .setPaymentId(String.valueOf(payment.getId())); return R.ok(prePaymentResultModel); } /** * 【门诊预结算】-转换实体用于页面显示页面显示 - * + * * @param paymentRecDetails 收费详情detai集合 * @return 操作结果 */ @@ -339,8 +339,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { paymentRecDetailDto = new PaymentRecDetailDto(); paymentRecDetailDto.setPayEnum(paymentRecDetail.getPayEnum()).setId(paymentRecDetail.getId()) - .setAccountId(paymentRecDetail.getAccountId()).setAmount(paymentRecDetail.getAmount()) - .setPayEnumText(ybPayment == null ? "" : ybPayment.getInfo()); + .setAccountId(paymentRecDetail.getAccountId()).setAmount(paymentRecDetail.getAmount()) + .setPayEnumText(ybPayment == null ? "" : ybPayment.getInfo()); list.add(paymentRecDetailDto); } return list; @@ -367,74 +367,43 @@ public class PaymentRecServiceImpl implements IPaymentRecService { return R.fail("该账单不是待支付账单"); } // 查找对应的收费详情,根据批次号查询 - List paymentRecDetails = - paymentRecDetailService.list(new LambdaQueryWrapper() - .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); + List paymentRecDetails + = paymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); if (paymentRecDetails.isEmpty()) { return R.fail("查询不到收费详情"); } if (!paymentDto.getChargeItemIds().stream().map(String::valueOf).collect(Collectors.joining(",")) - .equals(paymentReconciliation.getChargeItemIds())) { + .equals(paymentReconciliation.getChargeItemIds())) { return R.fail("收费项目变动,请重新预结算"); } -<<<<<<< HEAD - //2025.11.4 长大发生异常,相同的chargeItem存在两个payment并重复收费,要求在此处增加校验 - // 经研究最优解为在数据库中查询本次就诊的所有的chargeItemIds,与现有chargeItemId进行匹配 - List paymentReconciliationList = paymentReconciliationService.getListByEncounterId(paymentDto.getEncounterId(), PaymentKind.OUTPATIENT_CLINIC); - - List chargeItemIds = paymentDto.getChargeItemIds(); - - if(!paymentReconciliationList.isEmpty()){ - // 收集所有元素(包含重复) - List allElements = paymentReconciliationList.stream() - .map(PaymentReconciliation::getChargeItemIds) // 获取逗号拼接的字符串 - .filter(str -> str != null && !str.trim().isEmpty()) // 过滤空值 - .flatMap(str -> Arrays.stream(str.split(","))) // 拆分成单个元素 - .map(String::trim) // 去除空格 - .filter(s -> !s.isEmpty()) // 过滤空字符串 - .collect(Collectors.toList()); - - for (Long chargeItemId : chargeItemIds) { - Optional first = allElements.stream() - .filter(item -> item.equals(chargeItemId.toString())) - .findFirst(); - - if(first.isPresent()){ - throw new ServiceException("收费项目id:"+chargeItemId+"已经收费过了,请确认"); -======= // 2025.11.4 长大发生异常,相同的chargeItem存在两个payment并重复收费,要求在此处增加校验 // 经研究最优解为在数据库中查询本次就诊的所有的chargeItemIds,与现有chargeItemId进行匹配 List paymentReconciliationList = paymentReconciliationService - .getListByEncounterId(paymentDto.getEncounterId(), PaymentKind.OUTPATIENT_CLINIC); + .getListByEncounterId(paymentDto.getEncounterId(), PaymentKind.OUTPATIENT_CLINIC); List chargeItemIds = paymentDto.getChargeItemIds(); if (!paymentReconciliationList.isEmpty()) { // 收集所有元素(包含重复) List allElements = paymentReconciliationList.stream().map(PaymentReconciliation::getChargeItemIds) // 获取逗号拼接的字符串 - .filter(str -> str != null && !str.trim().isEmpty()) // 过滤空值 - .flatMap(str -> Arrays.stream(str.split(","))) // 拆分成单个元素 - .map(String::trim) // 去除空格 - .filter(s -> !s.isEmpty()) // 过滤空字符串 - .collect(Collectors.toList()); + .filter(str -> str != null && !str.trim().isEmpty()) // 过滤空值 + .flatMap(str -> Arrays.stream(str.split(","))) // 拆分成单个元素 + .map(String::trim) // 去除空格 + .filter(s -> !s.isEmpty()) // 过滤空字符串 + .collect(Collectors.toList()); for (Long chargeItemId : chargeItemIds) { - Optional first = - allElements.stream().filter(item -> item.equals(chargeItemId.toString())).findFirst(); + Optional first + = allElements.stream().filter(item -> item.equals(chargeItemId.toString())).findFirst(); if (first.isPresent()) { throw new ServiceException("收费项目id:" + chargeItemId + "已经收费过了,请确认"); ->>>>>>> v1.3 } } } -<<<<<<< HEAD - - -======= ->>>>>>> v1.3 // 校验金额:前台输入金额与仍需支付的现金部分进行比较 BigDecimal sum = BigDecimal.ZERO; PaymentRecDetail paymentRecDetailDemo = new PaymentRecDetail(); @@ -454,14 +423,14 @@ public class PaymentRecServiceImpl implements IPaymentRecService { newPaymentRecDetail = new PaymentRecDetail(); BeanUtils.copyProperties(paymentRecDetailDemo, newPaymentRecDetail); newPaymentRecDetail.setPayEnum(paymentDetail.getPayEnum()).setId(null) - .setPayLevelEnum(YbPayment.getByValue(paymentDetail.getPayEnum()) == null ? null - : YbPayment.getByValue(paymentDetail.getPayEnum()).getLevel()) - .setAmount(paymentDetail.getAmount()); + .setPayLevelEnum(YbPayment.getByValue(paymentDetail.getPayEnum()) == null ? null + : YbPayment.getByValue(paymentDetail.getPayEnum()).getLevel()) + .setAmount(paymentDetail.getAmount()); list.add(newPaymentRecDetail); } // 前台传入数据可能会精度丢失,后台临时处理使用近似 11.11要求后台全部改为6位小数,但是实际患者缴费只到1.67,但是我后台是1.666667,所以只能1.67=1.67 if (sum.setScale(2, BigDecimal.ROUND_HALF_UP) - .compareTo(chargeAmount.setScale(2, BigDecimal.ROUND_HALF_UP)) != 0) { + .compareTo(chargeAmount.setScale(2, BigDecimal.ROUND_HALF_UP)) != 0) { throw new ServiceException("交款金额与预结算金额不相等"); } @@ -471,7 +440,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { return R.fail("未选择收费项"); } if (chargeItemList.stream().map(ChargeItem::getStatusEnum) - .anyMatch(x -> x.equals(ChargeItemStatus.BILLED.getValue()))) { + .anyMatch(x -> x.equals(ChargeItemStatus.BILLED.getValue()))) { return R.fail("已收费账单,请误重复提交"); } // 分别获取各个请求id列表 @@ -481,30 +450,32 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Integer mcsTracCnt = 0; chargeItemList.forEach(item -> { switch (item.getServiceTable()) { - case CommonConstants.TableName.MED_MEDICATION_REQUEST -> medReqIdList.add(item.getServiceId()); - case CommonConstants.TableName.WOR_DEVICE_REQUEST -> devReqIdList.add(item.getServiceId()); + case CommonConstants.TableName.MED_MEDICATION_REQUEST -> + medReqIdList.add(item.getServiceId()); + case CommonConstants.TableName.WOR_DEVICE_REQUEST -> + devReqIdList.add(item.getServiceId()); } }); // 根据药品请求计算本次结算应上传最小包装药品追溯码数量 if (!medReqIdList.isEmpty()) { List medicationRequestList = medicationRequestService - .list(new LambdaQueryWrapper().in(MedicationRequest::getId, medReqIdList)); + .list(new LambdaQueryWrapper().in(MedicationRequest::getId, medReqIdList)); if (!medicationRequestList.isEmpty()) { - List medicationIdList = - medicationRequestList.stream().map(MedicationRequest::getMedicationId).distinct().toList(); + List medicationIdList + = medicationRequestList.stream().map(MedicationRequest::getMedicationId).distinct().toList(); // 根据药品id获取药品定义 - List medicationDefinitionList = - medicationDefinitionService.listByIds(medicationIdList); + List medicationDefinitionList + = medicationDefinitionService.listByIds(medicationIdList); if (!medicationDefinitionList.isEmpty()) { // 创建药品定义map Map medicationDefinitionMap = medicationDefinitionList.stream() - .collect(Collectors.toMap(MedicationDefinition::getId, definition -> definition)); + .collect(Collectors.toMap(MedicationDefinition::getId, definition -> definition)); // 用于累加总数量 BigDecimal totalQuantity = BigDecimal.ZERO; for (MedicationRequest medicationRequest : medicationRequestList) { - MedicationDefinition medicationDefinition = - medicationDefinitionMap.get(medicationRequest.getMedicationId()); + MedicationDefinition medicationDefinition + = medicationDefinitionMap.get(medicationRequest.getMedicationId()); if (medicationDefinition != null) { BigDecimal requestQuantity = medicationRequest.getQuantity(); // 根据是否拆零计算 @@ -514,7 +485,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } else if (medicationRequest.getUnitCode().equals(medicationDefinition.getMinUnitCode())) { // 除以拆零比 BigDecimal convertedQuantity = requestQuantity - .divide(medicationDefinition.getPartPercent(), 10, RoundingMode.HALF_UP); + .divide(medicationDefinition.getPartPercent(), 10, RoundingMode.HALF_UP); // 向上取整(进一取整) BigDecimal ceilingQuantity = convertedQuantity.setScale(0, RoundingMode.CEILING); totalQuantity = totalQuantity.add(ceilingQuantity); @@ -536,8 +507,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // } // 收费详情按照收费批次进行分组 - Map> payTransNoMap = - paymentRecDetails.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransNo)); + Map> payTransNoMap + = paymentRecDetails.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransNo)); com.openhis.financial.model.PaymentResult paymentResult; List paymentResultList = new ArrayList<>(); @@ -550,27 +521,27 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // 结算方法 paymentResult = iPaymentReconciliationService.settle(contractService.getContract(account.getContractNo()), - stringListEntry.getKey(), YbMdtrtCertType.getByValue(paymentDto.getYbMdtrtCertType()), - paymentDto.getBusiCardInfo(), minpacuntDrugTracCnt, mcsTracCnt); + stringListEntry.getKey(), YbMdtrtCertType.getByValue(paymentDto.getYbMdtrtCertType()), + paymentDto.getBusiCardInfo(), minpacuntDrugTracCnt, mcsTracCnt); paymentResult.setAccountId(stringListEntry.getValue().get(0).getAccountId());// 记录账户余额的时候要使用这个AccountId for (PaymentRecDetail paymentRecDetail : stringListEntry.getValue()) { paymentRecDetail.setPayTransText(paymentResult.getSetlId()) - .setResultEnum(PaymentResult.PAID.getValue());// 医保结算赋值结算id;用于医保对账清算时使用 + .setResultEnum(PaymentResult.PAID.getValue());// 医保结算赋值结算id;用于医保对账清算时使用 } for (PaymentRecDetail paymentRecDetail : list) { paymentRecDetail.setPayTransText(paymentResult.getSetlId()) - .setResultEnum(PaymentResult.PAID.getValue());// 整合数据 + .setResultEnum(PaymentResult.PAID.getValue());// 整合数据 } paymentResultList.add(paymentResult); } List ybSettleIds = paymentResultList.stream().map(com.openhis.financial.model.PaymentResult::getSetlId) - .collect(Collectors.toList()); + .collect(Collectors.toList()); // 更改付款状态 logger.info("更新付款状态:payment:" + JSON.toJSONString(paymentReconciliation)); iPaymentReconciliationService.updatePaymentStatusAndSettleIdsById(paymentReconciliation.getId(), - PaymentStatus.SUCCESS, PaymentOutcome.COMPLETED.getCode(), ybSettleIds); + PaymentStatus.SUCCESS, PaymentOutcome.COMPLETED.getCode(), ybSettleIds); // iPaymentRecDetailService.updateResultByPaymentId(paymentReconciliation.getId(), PaymentResult.PAID); // 更改付款详情的信息 iPaymentRecDetailService.updateBatchById(paymentRecDetails); @@ -595,9 +566,9 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (balc != null) { PaymentRecDetail paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(paymentReconciliation.getId()) - .setPayEnum(YbPayment.BALC.getValue()).setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) - .setPayTransNo(minAmountResult.getChrgBchno()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(minAmountResult.getAccountId()).setPayTransText(minAmountResult.getSetlId()); + .setPayEnum(YbPayment.BALC.getValue()).setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) + .setPayTransNo(minAmountResult.getChrgBchno()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(minAmountResult.getAccountId()).setPayTransText(minAmountResult.getSetlId()); iPaymentRecDetailService.save(paymentRecDetail); } } @@ -608,13 +579,13 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 保存付款快照信息 2025/08/08 paymentRecStaticService.savePaymentRecStatics(paymentReconciliation.getId(), PaymentType.PAY, null, - chargeItemService.getChargeItemDefInfoByIdList(chargeItemIdList)); + chargeItemService.getChargeItemDefInfoByIdList(chargeItemIdList)); // 生成发票信息 Invoice invoice = new Invoice(); invoice.setPatientId(paymentReconciliation.getPatientId()).setStatusEnum(InvoiceStatus.DRAFT) - .setReconciliationId(paymentReconciliation.getId()).setTypeCode(InvoiceType.ISSUING_INVOICES.getValue()) - .setChargeItemIds(paymentReconciliation.getChargeItemIds()); + .setReconciliationId(paymentReconciliation.getId()).setTypeCode(InvoiceType.ISSUING_INVOICES.getValue()) + .setChargeItemIds(paymentReconciliation.getChargeItemIds()); iInvoiceService.save(invoice); // 获取收费项对应的项目请求id @@ -626,8 +597,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { switch (item.getServiceTable()) { case CommonConstants.TableName.MED_MEDICATION_REQUEST -> medicationRequestIdList.add(item.getServiceId()); - case CommonConstants.TableName.WOR_DEVICE_REQUEST -> deviceRequestIdList.add(item.getServiceId()); - case CommonConstants.TableName.WOR_SERVICE_REQUEST -> serviceRequestIdList.add(item.getServiceId()); + case CommonConstants.TableName.WOR_DEVICE_REQUEST -> + deviceRequestIdList.add(item.getServiceId()); + case CommonConstants.TableName.WOR_SERVICE_REQUEST -> + serviceRequestIdList.add(item.getServiceId()); } }); @@ -650,7 +623,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { logger.info("收费成功:payment:" + JSON.toJSONString(paymentReconciliation)); // throw new ServiceException(""); return R.ok(paymentReconciliation, - MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"收费"})); + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"收费"})); } /** @@ -673,7 +646,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // 原结算的ChargeItemIdList List chargeItemIdList = Arrays.asList(paymentReconciliation.getChargeItemIds().split(",")).stream() - .filter(Objects::nonNull).map(Long::parseLong).collect(Collectors.toList()); + .filter(Objects::nonNull).map(Long::parseLong).collect(Collectors.toList()); if (chargeItemIdList.isEmpty()) { throw new ServiceException("未查询到收费项信息"); } @@ -683,13 +656,13 @@ public class PaymentRecServiceImpl implements IPaymentRecService { throw new ServiceException("未查询到收费项信息"); } if (chargeItems.stream().map(ChargeItem::getStatusEnum) - .anyMatch(x -> x.equals(ChargeItemStatus.REFUNDED.getValue()))) { + .anyMatch(x -> x.equals(ChargeItemStatus.REFUNDED.getValue()))) { throw new ServiceException("请勿重复退费"); } // 查找对应的收费详情 - List PaymentRecDetails = - paymentRecDetailService.list(new LambdaQueryWrapper() - .eq(PaymentRecDetail::getReconciliationId, cancelPaymentDto.getId())); + List PaymentRecDetails + = paymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, cancelPaymentDto.getId())); // 查询账户信息 // Account account = iAccountService.getById(paymentReconciliation.getAccountId()); if (PaymentRecDetails.isEmpty()) { @@ -702,7 +675,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { chargeItemList = new ArrayList<>(); } else { chargeItemList = chargeItemService - .list(new LambdaQueryWrapper().in(ChargeItem::getId, cancelPaymentDto.getChargeItemIds())); + .list(new LambdaQueryWrapper().in(ChargeItem::getId, cancelPaymentDto.getChargeItemIds())); } // 全退 @@ -714,7 +687,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (!ybSettleIdList.isEmpty()) { // 医保反结 List clinicSettleList = clinicSettleService - .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, ybSettleIdList)); + .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, ybSettleIdList)); StringBuilder stringBuilder = new StringBuilder(); for (ClinicSettle clinicSettle : clinicSettleList) { R r = ybManager.unSettle(clinicSettle.getSetlId()); @@ -722,13 +695,13 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 获取医保反结算后的2208输出参数 Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoOutput = null; if (Clinic2208UnSetlInfoOutput.class.isAssignableFrom(r.getData().getClass())) { - clinic2208UnSetlInfoOutput = (Clinic2208UnSetlInfoOutput)r.getData(); + clinic2208UnSetlInfoOutput = (Clinic2208UnSetlInfoOutput) r.getData(); stringBuilder.append(clinic2208UnSetlInfoOutput.getSetlId()).append(","); // 对payment详情的结算id进行处理 - List paymentRecDetailList = - iPaymentRecDetailService.list(new LambdaQueryWrapper() - .eq(PaymentRecDetail::getReconciliationId, unPaymentReconciliation.getId()) - .eq(PaymentRecDetail::getPayTransText, clinicSettle.getSetlId())); + List paymentRecDetailList + = iPaymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, unPaymentReconciliation.getId()) + .eq(PaymentRecDetail::getPayTransText, clinicSettle.getSetlId())); if (!paymentRecDetailList.isEmpty()) { for (PaymentRecDetail paymentRecDetail : paymentRecDetailList) { paymentRecDetail.setPayTransText(clinic2208UnSetlInfoOutput.getSetlId()); @@ -752,10 +725,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // PrePaymentDto prePaymentDto = new PrePaymentDto(); prePaymentDto.setEncounterId(paymentReconciliation.getEncounterId()).setEntererId(practitionerId) - .setPatientId(paymentReconciliation.getPatientId()) - .setYbMdtrtCertType(cancelPaymentDto.getYbMdtrtCertType()) - .setChargeItemIds(cancelPaymentDto.getChargeItemIds()) - .setBusiCardInfo(cancelPaymentDto.getBusiCardInfo()); + .setPatientId(paymentReconciliation.getPatientId()) + .setYbMdtrtCertType(cancelPaymentDto.getYbMdtrtCertType()) + .setChargeItemIds(cancelPaymentDto.getChargeItemIds()) + .setBusiCardInfo(cancelPaymentDto.getBusiCardInfo()); R preResult = prePayment(prePaymentDto); @@ -763,8 +736,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { throw new ServiceException("重新预结算失败请联系工程师"); } - PrePaymentResultModel prePaymentResultModel = - JSON.parseObject(JSON.toJSONString(preResult.getData()), PrePaymentResultModel.class); + PrePaymentResultModel prePaymentResultModel + = JSON.parseObject(JSON.toJSONString(preResult.getData()), PrePaymentResultModel.class); // 新的应收 BigDecimal cashPay = BigDecimal.ZERO; for (PaymentRecDetailDto paymentRecDetail : prePaymentResultModel.getDetails()) { @@ -785,10 +758,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { PaymentDto paymentDto = new PaymentDto(); ArrayList paymentDetailDtoList = new ArrayList<>(); paymentDetailDtoList.add(new PaymentDetailDto().setPayEnum(YbPayment.SELF_CASH_PAY.getValue()) - .setAmount(cashPay).setChargeAmount(cashPay).setReturnAmount(new BigDecimal("0.0"))); + .setAmount(cashPay).setChargeAmount(cashPay).setReturnAmount(new BigDecimal("0.0"))); paymentDto.setEncounterId(paymentReconciliation.getEncounterId()) - .setChargeItemIds(chargeItemList.stream().map(ChargeItem::getId).collect(Collectors.toList())) - .setPaymentDetails(paymentDetailDtoList).setId(Long.parseLong(prePaymentResultModel.getPaymentId())); + .setChargeItemIds(chargeItemList.stream().map(ChargeItem::getId).collect(Collectors.toList())) + .setPaymentDetails(paymentDetailDtoList).setId(Long.parseLong(prePaymentResultModel.getPaymentId())); R settleResult = savePayment(paymentDto); @@ -797,12 +770,12 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // 获取新的付款参数表 - PaymentReconciliation payment = - JSON.parseObject(JSON.toJSONString(settleResult.getData()), PaymentReconciliation.class); + PaymentReconciliation payment + = JSON.parseObject(JSON.toJSONString(settleResult.getData()), PaymentReconciliation.class); // 获取实付金额 List paymentRecDetail = paymentRecDetailService.list( - new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, payment.getId()) - .eq(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_PAY.getValue())); + new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, payment.getId()) + .eq(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_PAY.getValue())); BigDecimal chargedPay = BigDecimal.ZERO; for (PaymentRecDetailDto paymentRecDet : prePaymentResultModel.getDetails()) { @@ -811,7 +784,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } } logger.info( - "部分退款:原payment:" + JSON.toJSONString(paymentReconciliation) + "新payment:" + JSON.toJSONString(payment)); + "部分退款:原payment:" + JSON.toJSONString(paymentReconciliation) + "新payment:" + JSON.toJSONString(payment)); if (chargedPay.compareTo(payAmount) >= 0) { return R.ok("请患者补交" + chargedPay.subtract(payAmount).setScale(6, RoundingMode.HALF_UP) + "元"); } else { @@ -825,7 +798,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { /** * 单纯做 payment*-1 - * + * * @param cancelPaymentDto 入参 * @return */ @@ -838,13 +811,13 @@ public class PaymentRecServiceImpl implements IPaymentRecService { throw new ServiceException("查询不到付款记录"); } List paymentRecDetails = iPaymentRecDetailService - .list(new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, paymentId)); + .list(new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, paymentId)); if (paymentRecDetails.isEmpty()) { throw new ServiceException("查询不到付款记录"); } - PaymentReconciliation unPaymentReconciliation = - normalUnCharge(paymentReconciliation, paymentRecDetails, cancelPaymentDto.getSetlId(), cancelPaymentDto.getReason()); + PaymentReconciliation unPaymentReconciliation + = normalUnCharge(paymentReconciliation, paymentRecDetails, cancelPaymentDto.getSetlId(), cancelPaymentDto.getReason()); return R.ok(unPaymentReconciliation); } @@ -860,7 +833,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { */ @Override public IPage getPage(String searchKey, Integer kingEnum, String invoiceNo, Integer pageNo, - Integer pageSize, HttpServletRequest request) { + Integer pageSize, HttpServletRequest request) { String invoiceStatus = request.getParameter("invoiceStatus"); PaymentVO paymentVO = new PaymentVO(); @@ -869,12 +842,12 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(paymentVO, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PaymentNo)), - request); + new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PaymentNo)), + request); // queryWrapper.eq(PaymentVO::getStatusEnum,PaymentStatus.SUCCESS.getValue()).or().eq(PaymentVO::getStatusEnum,PaymentStatus.REFUND_ALL.getValue()); queryWrapper.in("status_enum", PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue()); - IPage paymentDtoIPage = - paymentMapper.getPage(new Page<>(pageNo, pageSize), kingEnum, invoiceNo, queryWrapper); + IPage paymentDtoIPage + = paymentMapper.getPage(new Page<>(pageNo, pageSize), kingEnum, invoiceNo, queryWrapper); for (PaymentVO record : paymentDtoIPage.getRecords()) { record.setPaymentId(record.getId().toString()); @@ -889,7 +862,6 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // // 计算年龄 // e.setAgeString(AgeCalculatorUtil.getAge(DateUtils.parseDate(e.getBirthDate()))); // }); - return paymentDtoIPage; } @@ -914,18 +886,18 @@ public class PaymentRecServiceImpl implements IPaymentRecService { * @return 结果 */ private PaymentReconciliation normalUnCharge(PaymentReconciliation paymentReconciliation, - List paymentRecDetails, String setlIds, String reason) { + List paymentRecDetails, String setlIds, String reason) { // 获取原ID Long id = paymentReconciliation.getId(); // SJQ:2025.04.01 确认locationId暂不做处理,location表只记录库房药房信息 paymentReconciliation.setId(null).setStatusEnum(PaymentStatus.REFUND_ALL.getValue()) - .setPaymentEnum(PaymentType.UN_PAY.getValue()).setRelationId(id) - .setEntererId(SecurityUtils.getLoginUser().getPractitionerId()).setBillDate(new Date()) - .setTenderedAmount(paymentReconciliation.getTenderedAmount().negate()) - .setReturnedAmount(paymentReconciliation.getReturnedAmount().negate()) - .setDisplayAmount(paymentReconciliation.getDisplayAmount().negate()) - .setRefundReason(reason); // 保存退号/退费原因 + .setPaymentEnum(PaymentType.UN_PAY.getValue()).setRelationId(id) + .setEntererId(SecurityUtils.getLoginUser().getPractitionerId()).setBillDate(new Date()) + .setTenderedAmount(paymentReconciliation.getTenderedAmount().negate()) + .setReturnedAmount(paymentReconciliation.getReturnedAmount().negate()) + .setDisplayAmount(paymentReconciliation.getDisplayAmount().negate()) + .setRefundReason(reason); // 保存退号/退费原因 if (setlIds != null) { paymentReconciliation.setYbSettleIds(setlIds); } @@ -933,7 +905,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 更改原单的支付结果 paymentReconciliationService.update(new PaymentReconciliation().setOutcomeEnum(PaymentOutcome.ERROR.getCode()), - new LambdaQueryWrapper().eq(PaymentReconciliation::getId, id)); + new LambdaQueryWrapper().eq(PaymentReconciliation::getId, id)); // 新增详情信息 PaymentRecDetail newPaymentRecDetail; @@ -973,7 +945,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { throw new ServiceException("payment数据未关联收费项信息,异常数据payment" + id); } paymentRecStaticService.savePaymentRecStatics(paymentReconciliation.getId(), PaymentType.PAY, null, - chargeItemService.getChargeItemDefInfoByIdList(chargeItemIds)); + chargeItemService.getChargeItemDefInfoByIdList(chargeItemIds)); return paymentReconciliation; } @@ -985,12 +957,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { * @param payment 付款实体 */ private List savePaymentDetail(List prePaymentResults, - PaymentReconciliation payment) { -<<<<<<< HEAD - //11.11 paymentDetail的amount在11.7日按照同一的异常日结单,要求改为保留两位小数,后于11.11又被要求改为保留六位小数 -======= + PaymentReconciliation payment) { // 11.11 paymentDetail的amount在11.7日按照同一的异常日结单,要求改为保留两位小数,后于11.11又被要求改为保留六位小数 ->>>>>>> v1.3 // 保存付款详情 List paymentRecDetails = new ArrayList<>(); for (PrePaymentResult prePaymentResult : prePaymentResults) { @@ -1000,14 +968,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (psnCashPay != null) { PaymentRecDetail paymentRecDetail10 = new PaymentRecDetail(); paymentRecDetail10.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_CASH_PAY.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()).setAmount(psnCashPay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()) - .setAmount(psnCashPay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()) + .setAmount(psnCashPay.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail10); } @@ -1016,14 +980,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (psnPartAmt != null) { PaymentRecDetail paymentRecDetail1 = new PaymentRecDetail(); paymentRecDetail1.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_PAY.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()).setAmount(psnPartAmt.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()) - .setAmount(psnPartAmt.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()) + .setAmount(psnPartAmt.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail1); } // 基本医疗保险统筹基金支出 @@ -1031,16 +991,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifpPay != null) { PaymentRecDetail paymentRecDetail2 = new PaymentRecDetail(); paymentRecDetail2.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()).setAmount(hifpPay.setScale(6,RoundingMode.HALF_UP)) - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); -======= - .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()) - .setAmount(hifpPay.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); ->>>>>>> v1.3 + .setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()) + .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()) + .setAmount(hifpPay.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail2); } @@ -1049,15 +1003,11 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (cvlservPay != null) { PaymentRecDetail paymentRecDetail3 = new PaymentRecDetail(); paymentRecDetail3.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()) - .setAmount(cvlservPay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()) + .setAmount(cvlservPay.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail3); } // 企业补充医疗保险基金支出 @@ -1065,15 +1015,11 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifesPay != null) { PaymentRecDetail paymentRecDetail4 = new PaymentRecDetail(); paymentRecDetail4.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()).setAmount(hifesPay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()) - .setAmount(hifesPay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()) + .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()) + .setAmount(hifesPay.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail4); } // 居民大病保险资金支出 @@ -1081,15 +1027,11 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifmiPay != null) { PaymentRecDetail paymentRecDetail5 = new PaymentRecDetail(); paymentRecDetail5.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()).setAmount(hifmiPay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()) - .setAmount(hifmiPay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()) + .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()) + .setAmount(hifmiPay.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail5); } // 职工大额医疗费用补助基金支出 @@ -1097,14 +1039,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifobPay != null) { PaymentRecDetail paymentRecDetail6 = new PaymentRecDetail(); paymentRecDetail6.setReconciliationId(payment.getId()).setPayTransNo(prePaymentResult.getChrgBchno()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()) - .setAmount(hifobPay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()) + .setAmount(hifobPay.setScale(6, RoundingMode.HALF_UP)) + .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail6); } // 医疗救助基金支出 @@ -1112,16 +1050,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (mafPay != null) { PaymentRecDetail paymentRecDetail7 = new PaymentRecDetail(); paymentRecDetail7.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()).setAmount(mafPay.setScale(6,RoundingMode.HALF_UP)) - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); -======= - .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()) - .setAmount(mafPay.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); ->>>>>>> v1.3 + .setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()) + .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()) + .setAmount(mafPay.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail7); } // 其他支出 @@ -1129,13 +1061,9 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (othPay != null) { PaymentRecDetail paymentRecDetail8 = new PaymentRecDetail(); paymentRecDetail8.setReconciliationId(payment.getId()).setPayEnum(YbPayment.OTHER_PAY.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail8); } // 基金支付总额 @@ -1143,14 +1071,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (fundPaySumamt != null) { PaymentRecDetail paymentRecDetail9 = new PaymentRecDetail(); paymentRecDetail9.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_FUND_PAY.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()).setAmount(fundPaySumamt.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()) - .setAmount(fundPaySumamt.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()) + .setAmount(fundPaySumamt.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail9); } // 个人账户支出 @@ -1158,15 +1082,9 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (acctPay != null) { PaymentRecDetail paymentRecDetail11 = new PaymentRecDetail(); paymentRecDetail11.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()).setAmount(acctPay.setScale(6,RoundingMode.HALF_UP)) - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); -======= - .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()) - .setAmount(acctPay.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); ->>>>>>> v1.3 + .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()) + .setAmount(acctPay.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail11); } // 医院负担金额 @@ -1174,14 +1092,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hospPartAmt != null) { PaymentRecDetail paymentRecDetail12 = new PaymentRecDetail(); paymentRecDetail12.setReconciliationId(payment.getId()).setPayEnum(YbPayment.HOSP_PART_AMT.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.HOSP_PART_AMT.getLevel()).setAmount(hospPartAmt.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.HOSP_PART_AMT.getLevel()) - .setAmount(hospPartAmt.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.HOSP_PART_AMT.getLevel()) + .setAmount(hospPartAmt.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail12); } // 个人账户共济支付金额 @@ -1189,15 +1103,11 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (acctMulaidPay != null) { PaymentRecDetail paymentRecDetail13 = new PaymentRecDetail(); paymentRecDetail13.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()) - .setAmount(acctMulaidPay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()) + .setAmount(acctMulaidPay.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail13); } // 全自费金额 @@ -1205,15 +1115,11 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (fulamtOwnpayAmt != null) { PaymentRecDetail paymentRecDetail14 = new PaymentRecDetail(); paymentRecDetail14.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.FULAMT_OWNPAY_AMT.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()).setAmount(fulamtOwnpayAmt.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()) - .setAmount(fulamtOwnpayAmt.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayEnum(YbPayment.FULAMT_OWNPAY_AMT.getValue()) + .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()) + .setAmount(fulamtOwnpayAmt.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail14); } // 超限价自费费用 @@ -1221,14 +1127,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (overlmtSelfpay != null) { PaymentRecDetail paymentRecDetail15 = new PaymentRecDetail(); paymentRecDetail15.setReconciliationId(payment.getId()).setPayEnum(YbPayment.OVERLMT_SELFPAY.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()).setAmount(overlmtSelfpay.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()) - .setAmount(overlmtSelfpay.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()) + .setAmount(overlmtSelfpay.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail15); } // BigDecimal balc = prePaymentResult.getBalc(); @@ -1241,77 +1143,55 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (preselfpayAmt != null) { PaymentRecDetail paymentRecDetail17 = new PaymentRecDetail(); paymentRecDetail17.setReconciliationId(payment.getId()).setPayEnum(YbPayment.PRESELFPAY_AMT.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()).setAmount(preselfpayAmt.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()) - .setAmount(preselfpayAmt.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()) + .setAmount(preselfpayAmt.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail17); } BigDecimal inscpScpAmt = prePaymentResult.getInscpScpAmt(); if (inscpScpAmt != null) { PaymentRecDetail paymentRecDetail18 = new PaymentRecDetail(); paymentRecDetail18.setReconciliationId(payment.getId()).setPayEnum(YbPayment.INSCP_SCP_AMT.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()).setAmount(inscpScpAmt.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()) - .setAmount(inscpScpAmt.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()) + .setAmount(inscpScpAmt.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail18); } BigDecimal actPayDedc = prePaymentResult.getActPayDedc(); if (actPayDedc != null) { PaymentRecDetail paymentRecDetail19 = new PaymentRecDetail(); paymentRecDetail19.setReconciliationId(payment.getId()).setPayEnum(YbPayment.ACT_PAY_DEDC.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()).setAmount(actPayDedc.setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()) - .setAmount(actPayDedc.setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()) + .setAmount(actPayDedc.setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail19); } BigDecimal gfRatio = prePaymentResult.getGfRatio(); if (gfRatio != null && gfRatio.compareTo(BigDecimal.ZERO) > 0) { PaymentRecDetail paymentRecDetail20 = new PaymentRecDetail(); paymentRecDetail20.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SCHOOL_GF_PAY.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(YbPayment.SCHOOL_GF_PAY.getLevel()).setAmount(gfRatio.setScale(6,RoundingMode.HALF_UP)) - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); -======= - .setPayLevelEnum(YbPayment.SCHOOL_GF_PAY.getLevel()) - .setAmount(gfRatio.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); ->>>>>>> v1.3 + .setPayLevelEnum(YbPayment.SCHOOL_GF_PAY.getLevel()) + .setAmount(gfRatio.setScale(6, RoundingMode.HALF_UP)).setPayTransNo(prePaymentResult.getChrgBchno()) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail20); } if (prePaymentResult.getSetldetail() != null && !prePaymentResult.getSetldetail().isEmpty()) { PaymentRecDetail paymentRecDetail20; for (Clinic2206FundPaymentResult clinic2206FundPaymentResult : prePaymentResult.getSetldetail()) { - YbPayment ybPayment = - YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); + YbPayment ybPayment + = YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); if (ybPayment == null) { continue; } paymentRecDetail20 = new PaymentRecDetail(); paymentRecDetail20.setReconciliationId(payment.getId()).setPayEnum(ybPayment.getValue()) -<<<<<<< HEAD - .setPayLevelEnum(ybPayment.getLevel()).setAmount(clinic2206FundPaymentResult.getFundPayamt().setScale(6,RoundingMode.HALF_UP)) -======= - .setPayLevelEnum(ybPayment.getLevel()) - .setAmount(clinic2206FundPaymentResult.getFundPayamt().setScale(6, RoundingMode.HALF_UP)) ->>>>>>> v1.3 - .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(prePaymentResult.getAccountId()); + .setPayLevelEnum(ybPayment.getLevel()) + .setAmount(clinic2206FundPaymentResult.getFundPayamt().setScale(6, RoundingMode.HALF_UP)) + .setPayTransNo(prePaymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(prePaymentResult.getAccountId()); paymentRecDetails.add(paymentRecDetail20); } } @@ -1328,7 +1208,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { * @param paymentDetails 付款详情 */ private void savePaymentDetail(com.openhis.financial.model.PaymentResult paymentResult, - PaymentReconciliation payment, List paymentDetails, Long accountId) { + PaymentReconciliation payment, List paymentDetails, Long accountId) { // 保存付款详情 List paymentRecDetails = new ArrayList<>(); // BigDecimal amount = BigDecimal.ZERO; @@ -1341,33 +1221,33 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (YbPayment.SELF_CASH_VX_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.SELF_CASH_VX_VALUE.getValue()).setAccountId(accountId) - .setPayLevelEnum(YbPayment.SELF_CASH_VX_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()).setPayTransNo(paymentResult.getChrgBchno()); + .setPayEnum(YbPayment.SELF_CASH_VX_VALUE.getValue()).setAccountId(accountId) + .setPayLevelEnum(YbPayment.SELF_CASH_VX_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail); } if (YbPayment.SELF_CASH_ALI_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.SELF_CASH_ALI_VALUE.getValue()).setAccountId(accountId) - .setPayLevelEnum(YbPayment.SELF_CASH_ALI_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()).setPayTransNo(paymentResult.getChrgBchno()); + .setPayEnum(YbPayment.SELF_CASH_ALI_VALUE.getValue()).setAccountId(accountId) + .setPayLevelEnum(YbPayment.SELF_CASH_ALI_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail); } if (YbPayment.SELF_CASH_UNION_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.SELF_CASH_UNION_VALUE.getValue()).setAccountId(accountId) - .setPayLevelEnum(YbPayment.SELF_CASH_UNION_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()).setPayTransNo(paymentResult.getChrgBchno()); + .setPayEnum(YbPayment.SELF_CASH_UNION_VALUE.getValue()).setAccountId(accountId) + .setPayLevelEnum(YbPayment.SELF_CASH_UNION_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail); } if (YbPayment.SELF_CASH_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_CASH_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(accountId) - .setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(accountId) + .setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail); } @@ -1381,163 +1261,163 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 现金支付 PaymentRecDetail paymentRecDetail10 = new PaymentRecDetail(); paymentRecDetail10.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_CASH_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()).setAmount(psnCashPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()).setAmount(psnCashPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail10); // 个人负担总金额 BigDecimal psnPartAmt = paymentResult.getPsnPartAmt(); PaymentRecDetail paymentRecDetail1 = new PaymentRecDetail(); paymentRecDetail1.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()).setAmount(psnPartAmt) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()).setAmount(psnPartAmt) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail1); // 基本医疗保险统筹基金支出 BigDecimal hifpPay = paymentResult.getHifpPay(); PaymentRecDetail paymentRecDetail2 = new PaymentRecDetail(); paymentRecDetail2.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()).setAmount(hifpPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()).setAmount(hifpPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail2); // 公务员医疗补助资金支出 BigDecimal cvlservPay = paymentResult.getCvlservPay(); PaymentRecDetail paymentRecDetail3 = new PaymentRecDetail(); paymentRecDetail3.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail3); // 企业补充医疗保险基金支出 BigDecimal hifesPay = paymentResult.getHifesPay(); PaymentRecDetail paymentRecDetail4 = new PaymentRecDetail(); paymentRecDetail4.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()).setAmount(hifesPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()).setAmount(hifesPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail4); // 居民大病保险资金支出 BigDecimal hifmiPay = paymentResult.getHifmiPay(); PaymentRecDetail paymentRecDetail5 = new PaymentRecDetail(); paymentRecDetail5.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()).setAmount(hifmiPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()).setAmount(hifmiPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail5); // 职工大额医疗费用补助基金支出 BigDecimal hifobPay = paymentResult.getHifobPay(); PaymentRecDetail paymentRecDetail6 = new PaymentRecDetail(); paymentRecDetail6.setReconciliationId(payment.getId()) - .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail6); // 医疗救助基金支出 BigDecimal mafPay = paymentResult.getMafPay(); PaymentRecDetail paymentRecDetail7 = new PaymentRecDetail(); paymentRecDetail7.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()).setAmount(mafPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()).setAmount(mafPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail7); // 其他支出 BigDecimal othPay = paymentResult.getOthPay(); PaymentRecDetail paymentRecDetail8 = new PaymentRecDetail(); paymentRecDetail8.setReconciliationId(payment.getId()).setPayEnum(YbPayment.OTHER_PAY.getValue()) - .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail8); // 基金支付总额 BigDecimal fundPaySumamt = paymentResult.getFundPaySumamt(); PaymentRecDetail paymentRecDetail9 = new PaymentRecDetail(); paymentRecDetail9.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_FUND_PAY.getValue()) - .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()).setAmount(fundPaySumamt) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()).setAmount(fundPaySumamt) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail9); // 个人账户支出 BigDecimal acctPay = paymentResult.getAcctPay(); PaymentRecDetail paymentRecDetail11 = new PaymentRecDetail(); paymentRecDetail11.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()).setAmount(acctPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()).setAmount(acctPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail11); // 医院负担金额 BigDecimal hospPartAmt = paymentResult.getHospPartAmt(); PaymentRecDetail paymentRecDetail12 = new PaymentRecDetail(); paymentRecDetail12.setReconciliationId(payment.getId()).setPayEnum(YbPayment.OTHER_PAY.getValue()) - .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(hospPartAmt) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(hospPartAmt) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail12); // 个人账户共济支付金额 BigDecimal acctMulaidPay = paymentResult.getAcctMulaidPay(); PaymentRecDetail paymentRecDetail13 = new PaymentRecDetail(); paymentRecDetail13.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail13); // 全自费金额 BigDecimal fulamtOwnpayAmt = paymentResult.getFulamtOwnpayAmt(); PaymentRecDetail paymentRecDetail14 = new PaymentRecDetail(); paymentRecDetail14.setReconciliationId(payment.getId()).setPayEnum(YbPayment.FULAMT_OWNPAY_AMT.getValue()) - .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()).setAmount(fulamtOwnpayAmt) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()).setAmount(fulamtOwnpayAmt) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail14); // 超限价自费费用 BigDecimal overlmtSelfpay = paymentResult.getOverlmtSelfpay(); PaymentRecDetail paymentRecDetail15 = new PaymentRecDetail(); paymentRecDetail15.setReconciliationId(payment.getId()).setPayEnum(YbPayment.OVERLMT_SELFPAY.getValue()) - .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()).setAmount(overlmtSelfpay) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()).setAmount(overlmtSelfpay) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(accountId).setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail15); BigDecimal balc = paymentResult.getBalc(); PaymentRecDetail paymentRecDetail16 = new PaymentRecDetail(); paymentRecDetail16.setReconciliationId(payment.getId()).setPayEnum(YbPayment.BALC.getValue()) - .setAccountId(accountId).setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) - .setPayTransNo(paymentResult.getChrgBchno()).setPayTransText(paymentResult.getSetlId()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setAccountId(accountId).setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) + .setPayTransNo(paymentResult.getChrgBchno()).setPayTransText(paymentResult.getSetlId()) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail16); BigDecimal preselfpayAmt = paymentResult.getPreselfpayAmt(); PaymentRecDetail paymentRecDetail17 = new PaymentRecDetail(); paymentRecDetail17.setReconciliationId(payment.getId()).setPayEnum(YbPayment.PRESELFPAY_AMT.getValue()) - .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()).setAmount(preselfpayAmt).setAccountId(accountId) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()).setAmount(preselfpayAmt).setAccountId(accountId) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail17); BigDecimal inscpScpAmt = paymentResult.getInscpScpAmt(); PaymentRecDetail paymentRecDetail18 = new PaymentRecDetail(); paymentRecDetail18.setReconciliationId(payment.getId()).setPayEnum(YbPayment.INSCP_SCP_AMT.getValue()) - .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()).setAmount(inscpScpAmt).setAccountId(accountId) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()).setAmount(inscpScpAmt).setAccountId(accountId) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail18); BigDecimal actPayDedc = paymentResult.getActPayDedc(); PaymentRecDetail paymentRecDetail19 = new PaymentRecDetail(); paymentRecDetail19.setReconciliationId(payment.getId()).setPayEnum(YbPayment.ACT_PAY_DEDC.getValue()) - .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()).setAmount(actPayDedc).setAccountId(accountId) - .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) - .setPayTransNo(paymentResult.getChrgBchno()); + .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()).setAmount(actPayDedc).setAccountId(accountId) + .setPayTransText(paymentResult.getSetlId()).setResultEnum(PaymentResult.PAID.getValue()) + .setPayTransNo(paymentResult.getChrgBchno()); paymentRecDetails.add(paymentRecDetail19); if (paymentResult.getSetldetail() != null && !paymentResult.getSetldetail().isEmpty()) { PaymentRecDetail paymentRecDetail20; for (Clinic2206FundPaymentResult clinic2206FundPaymentResult : paymentResult.getSetldetail()) { - YbPayment ybPayment = - YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); + YbPayment ybPayment + = YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); if (ybPayment == null) { continue; } paymentRecDetail20 = new PaymentRecDetail(); paymentRecDetail20.setReconciliationId(payment.getId()).setPayEnum(ybPayment.getValue()) - .setPayLevelEnum(ybPayment.getLevel()).setAmount(clinic2206FundPaymentResult.getFundPayamt()) - .setPayTransNo(paymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(paymentResult.getAccountId()).setPayTransText(paymentResult.getSetlId()); + .setPayLevelEnum(ybPayment.getLevel()).setAmount(clinic2206FundPaymentResult.getFundPayamt()) + .setPayTransNo(paymentResult.getChrgBchno()).setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(paymentResult.getAccountId()).setPayTransText(paymentResult.getSetlId()); paymentRecDetails.add(paymentRecDetail20); } } @@ -1553,7 +1433,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { * @param paymentDetails 付款详情 */ private void savePaymentDetail(List clinicOrder2207ResultList, - PaymentReconciliation payment, List paymentDetails) { + PaymentReconciliation payment, List paymentDetails) { // 保存付款详情 List paymentRecDetails = new ArrayList<>(); // BigDecimal amount = BigDecimal.ZERO; @@ -1566,32 +1446,32 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (YbPayment.SELF_CASH_VX_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.SELF_CASH_VX_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_VX_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_VX_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_CASH_VX_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail); } if (YbPayment.SELF_CASH_ALI_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.SELF_CASH_ALI_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_ALI_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_ALI_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_CASH_ALI_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail); } if (YbPayment.SELF_CASH_UNION_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()) - .setPayEnum(YbPayment.SELF_CASH_UNION_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_UNION_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_UNION_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_CASH_UNION_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail); } if (YbPayment.SELF_CASH_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_CASH_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail); } @@ -1606,131 +1486,131 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 现金支付 PaymentRecDetail paymentRecDetail10 = new PaymentRecDetail(); paymentRecDetail10.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_CASH_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()).setAmount(psnCashPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()).setAmount(psnCashPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail10); // 个人负担总金额 BigDecimal psnPartAmt = clinicOrder2207Result.getPsnPartAmt(); PaymentRecDetail paymentRecDetail1 = new PaymentRecDetail(); paymentRecDetail1.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()).setAmount(psnPartAmt) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()).setAmount(psnPartAmt) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail1); // 基本医疗保险统筹基金支出 BigDecimal hifpPay = clinicOrder2207Result.getHifpPay(); PaymentRecDetail paymentRecDetail2 = new PaymentRecDetail(); paymentRecDetail2.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()).setAmount(hifpPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()).setAmount(hifpPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail2); // 公务员医疗补助资金支出 BigDecimal cvlservPay = clinicOrder2207Result.getCvlservPay(); PaymentRecDetail paymentRecDetail3 = new PaymentRecDetail(); paymentRecDetail3.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail3); // 企业补充医疗保险基金支出 BigDecimal hifesPay = clinicOrder2207Result.getHifesPay(); PaymentRecDetail paymentRecDetail4 = new PaymentRecDetail(); paymentRecDetail4.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()).setAmount(hifesPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()).setAmount(hifesPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail4); // 居民大病保险资金支出 BigDecimal hifmiPay = clinicOrder2207Result.getHifmiPay(); PaymentRecDetail paymentRecDetail5 = new PaymentRecDetail(); paymentRecDetail5.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()).setAmount(hifmiPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()).setAmount(hifmiPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail5); // 职工大额医疗费用补助基金支出 BigDecimal hifobPay = clinicOrder2207Result.getHifobPay(); PaymentRecDetail paymentRecDetail6 = new PaymentRecDetail(); paymentRecDetail6.setReconciliationId(payment.getId()) - .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) - .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) + .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail6); // 医疗救助基金支出 BigDecimal mafPay = clinicOrder2207Result.getMafPay(); PaymentRecDetail paymentRecDetail7 = new PaymentRecDetail(); paymentRecDetail7.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()).setAmount(mafPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()).setAmount(mafPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail7); // 其他支出 BigDecimal othPay = clinicOrder2207Result.getOthPay(); PaymentRecDetail paymentRecDetail8 = new PaymentRecDetail(); paymentRecDetail8.setReconciliationId(payment.getId()).setPayEnum(YbPayment.OTHER_PAY.getValue()) - .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail8); // 基金支付总额 BigDecimal fundPaySumamt = clinicOrder2207Result.getFundPaySumamt(); PaymentRecDetail paymentRecDetail9 = new PaymentRecDetail(); paymentRecDetail9.setReconciliationId(payment.getId()).setPayEnum(YbPayment.YB_FUND_PAY.getValue()) - .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()).setAmount(fundPaySumamt) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()).setAmount(fundPaySumamt) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail9); // 个人账户支出 BigDecimal acctPay = clinicOrder2207Result.getAcctPay(); PaymentRecDetail paymentRecDetail11 = new PaymentRecDetail(); paymentRecDetail11.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()).setAmount(acctPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()).setAmount(acctPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail11); // 医院负担金额 BigDecimal hospPartAmt = clinicOrder2207Result.getHospPartAmt(); PaymentRecDetail paymentRecDetail12 = new PaymentRecDetail(); paymentRecDetail12.setReconciliationId(payment.getId()).setPayEnum(YbPayment.HOSP_PART_AMT.getValue()) - .setPayLevelEnum(YbPayment.HOSP_PART_AMT.getLevel()).setAmount(hospPartAmt) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.HOSP_PART_AMT.getLevel()).setAmount(hospPartAmt) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail12); // 个人账户共济支付金额 BigDecimal acctMulaidPay = clinicOrder2207Result.getAcctMulaidPay(); PaymentRecDetail paymentRecDetail13 = new PaymentRecDetail(); paymentRecDetail13.setReconciliationId(payment.getId()).setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail13); // 全自费金额 BigDecimal fulamtOwnpayAmt = clinicOrder2207Result.getFulamtOwnpayAmt(); PaymentRecDetail paymentRecDetail14 = new PaymentRecDetail(); paymentRecDetail14.setReconciliationId(payment.getId()).setPayEnum(YbPayment.FULAMT_OWNPAY_AMT.getValue()) - .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()).setAmount(fulamtOwnpayAmt) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()).setAmount(fulamtOwnpayAmt) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail14); // 超限价自费费用 BigDecimal overlmtSelfpay = clinicOrder2207Result.getOverlmtSelfpay(); PaymentRecDetail paymentRecDetail15 = new PaymentRecDetail(); paymentRecDetail15.setReconciliationId(payment.getId()).setPayEnum(YbPayment.OVERLMT_SELFPAY.getValue()) - .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()).setAmount(overlmtSelfpay) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()).setAmount(overlmtSelfpay) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail15); BigDecimal balc = clinicOrder2207Result.getBalc(); PaymentRecDetail paymentRecDetail16 = new PaymentRecDetail(); paymentRecDetail16.setReconciliationId(payment.getId()).setPayEnum(YbPayment.BALC.getValue()) - .setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail16); BigDecimal preselfpayAmt = clinicOrder2207Result.getPreselfpayAmt(); PaymentRecDetail paymentRecDetail17 = new PaymentRecDetail(); paymentRecDetail17.setReconciliationId(payment.getId()).setPayEnum(YbPayment.PRESELFPAY_AMT.getValue()) - .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()).setAmount(preselfpayAmt) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()).setAmount(preselfpayAmt) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail17); BigDecimal inscpScpAmt = clinicOrder2207Result.getInscpScpAmt(); PaymentRecDetail paymentRecDetail18 = new PaymentRecDetail(); paymentRecDetail18.setReconciliationId(payment.getId()).setPayEnum(YbPayment.INSCP_SCP_AMT.getValue()) - .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()).setAmount(inscpScpAmt) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()).setAmount(inscpScpAmt) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail18); BigDecimal actPayDedc = clinicOrder2207Result.getActPayDedc(); PaymentRecDetail paymentRecDetail19 = new PaymentRecDetail(); paymentRecDetail19.setReconciliationId(payment.getId()).setPayEnum(YbPayment.ACT_PAY_DEDC.getValue()) - .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()).setAmount(actPayDedc) - .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); + .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()).setAmount(actPayDedc) + .setResultEnum(PaymentResult.PAID.getValue()).setAccountId(clinicOrder2207Result.getAccountId()); paymentRecDetails.add(paymentRecDetail19); } // 由于多次付款整合为一个payment,所以每次医保结算的基金详细支付需要去医保的表中查询 @@ -1759,7 +1639,6 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // if (num > 0) { // return R.fail(null, "当日已挂号此服务"); // } - Patient patient = iPatientService.getById(outpatientRegistrationAddParam.getEncounterFormData().getPatientId()); if (patient == null) { throw new ServiceException("未查询到患者信息"); @@ -1767,7 +1646,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 挂学生号前需要校验(校医院) if (outpatientRegistrationAddParam.getAccountFormData().getContractNo() - .contains(CommonConstants.BusinessName.CONTRACT_STUDENT)) { + .contains(CommonConstants.BusinessName.CONTRACT_STUDENT)) { patientStudentService.checkStatus(patient); } @@ -1789,8 +1668,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Date startOfNextDayDate = Date.from(startOfNextDay.atZone(ZoneId.systemDefault()).toInstant()); // 查询科室信息 - Organization organization = - iOrganizationService.getById(outpatientRegistrationAddParam.getEncounterFormData().getOrganizationId()); + Organization organization + = iOrganizationService.getById(outpatientRegistrationAddParam.getEncounterFormData().getOrganizationId()); if (organization == null) { throw new ServiceException("未查询到科室信息"); } @@ -1801,7 +1680,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { doctor = iPractitionerService.getById(organization.getDefDoctorId()); } else { doctor = iPractitionerService - .getById(outpatientRegistrationAddParam.getEncounterParticipantFormData().getPractitionerId()); + .getById(outpatientRegistrationAddParam.getEncounterParticipantFormData().getPractitionerId()); } if (doctor == null) { @@ -1809,43 +1688,34 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // 校验当天是否已经医保挂号,若有则冲销 - List list = - iRegService.list(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtCertNo, patient.getIdCard()) - .between(ClinicReg::getBegntime, startOfDayDate, startOfNextDayDate)); + List list + = iRegService.list(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtCertNo, patient.getIdCard()) + .between(ClinicReg::getBegntime, startOfDayDate, startOfNextDayDate)); for (ClinicReg clinicReg : list) { if (organization.getYbNo().equals(clinicReg.getDeptCode()) - && doctor.getYbNo().equals(clinicReg.getDeptCode())) { + && doctor.getYbNo().equals(clinicReg.getDeptCode())) { // ybManager.cancelRegById(clinicReg); } } // 查询挂号信息的医保码等 - HealthcareService healthcareService = - healthcareServiceService.getById(outpatientRegistrationAddParam.getChargeItemFormData().getServiceId()); + HealthcareService healthcareService + = healthcareServiceService.getById(outpatientRegistrationAddParam.getChargeItemFormData().getServiceId()); if (healthcareService == null) { throw new ServiceException("未查询到号源信息!"); } -<<<<<<< HEAD - if (healthcareService.getYbNo() == null) { - throw new ServiceException("该号源未对码或未查询到医保码信息!"); - } -======= ->>>>>>> v1.3 Clinic2206OrderOutput clinic2206OrderResult; String string = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); if ("1".equals(SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH)) - && !(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO - .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()) + && !(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO + .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()) || CommonConstants.BusinessName.DEFAULT_STUDENT_CONTRACT_NO - .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()))) { -<<<<<<< HEAD -======= + .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()))) { if (healthcareService.getYbNo() == null) { throw new ServiceException("该号源未对码或未查询到医保码信息!"); } ->>>>>>> v1.3 OutpatientRegistrationModel model = new OutpatientRegistrationModel(); model.setMdtrtCertType(outpatientRegistrationAddParam.getYbMdtrtCertType()); model.setBusiCardInfo(outpatientRegistrationAddParam.getBusiCardInfo()); @@ -1871,18 +1741,18 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Clinic2206OrderOutput clinic2206OrderResult = new Clinic2206OrderOutput(); return clinic2206OrderResult - .setChrgBchno(assignSeqUtil.getSeqByDay(AssignSeqEnum.SF_CLINIC_ORDER.getPrefix(), 12)) - .setMedfeeSumamt(chargeItem.getTotalPrice()).setFulamtOwnpayAmt(chargeItem.getTotalPrice()) - .setPsnPartAmt(chargeItem.getTotalPrice()).setPsnCashPay(chargeItem.getTotalPrice()) - .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.ENCOUNTER_NUM.getPrefix(), 4)); + .setChrgBchno(assignSeqUtil.getSeqByDay(AssignSeqEnum.SF_CLINIC_ORDER.getPrefix(), 12)) + .setMedfeeSumamt(chargeItem.getTotalPrice()).setFulamtOwnpayAmt(chargeItem.getTotalPrice()) + .setPsnPartAmt(chargeItem.getTotalPrice()).setPsnCashPay(chargeItem.getTotalPrice()) + .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.ENCOUNTER_NUM.getPrefix(), 4)); } @Override public R regPay(OutpatientRegistrationSettleParam outpatientRegistrationSettleParam, String chrgBchno, - List paymentDetails) { + List paymentDetails) { - OutpatientRegistrationAddParam outpatientRegistrationAddParam = - outpatientRegistrationSettleParam.getOutpatientRegistrationAddParam(); + OutpatientRegistrationAddParam outpatientRegistrationAddParam + = outpatientRegistrationSettleParam.getOutpatientRegistrationAddParam(); ChargeItem chargeItem = new ChargeItem(); BeanUtils.copyProperties(outpatientRegistrationAddParam.getChargeItemFormData(), chargeItem); chargeItem.setContextEnum(ChargeItemContext.REGISTER.getValue());// 挂号 @@ -1898,8 +1768,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // EncounterLocationFormData encounterLocationFormData = // outpatientRegistrationAddParam.getEncounterLocationFormData(); // 就诊参数者管理-表单数据 - EncounterParticipantFormData encounterParticipantFormData = - outpatientRegistrationAddParam.getEncounterParticipantFormData(); + EncounterParticipantFormData encounterParticipantFormData + = outpatientRegistrationAddParam.getEncounterParticipantFormData(); // 就诊账户管理-表单数据 AccountFormData accountFormData = outpatientRegistrationAddParam.getAccountFormData(); // 费用项管理-表单数据 @@ -1911,31 +1781,31 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Long serviceTypeId = encounterFormData.getServiceTypeId(); // 校验是否重复挂号(不包括退号) Integer num = outpatientRegistrationAppMapper.getNumByPatientIdAndOrganizationId(patientId, serviceTypeId, - EncounterStatus.CANCELLED.getValue()); + EncounterStatus.CANCELLED.getValue()); if (num > 0) { return R.fail(null, "当日已挂号此服务"); } - Contract contract = - contractService.getContract(outpatientRegistrationAddParam.getAccountFormData().getContractNo()); + Contract contract + = contractService.getContract(outpatientRegistrationAddParam.getAccountFormData().getContractNo()); if (contract == null) { throw new ServiceException("请选择合适的费用性质"); } com.openhis.financial.model.PaymentResult paymentResult; if ("1".equals(SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH)) - && !CommonConstants.BusinessName.DEFAULT_CONTRACT_NO - .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()) - && contract.getYbFlag() == 1) { + && !CommonConstants.BusinessName.DEFAULT_CONTRACT_NO + .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()) + && contract.getYbFlag() == 1) { // 医保结算 paymentResult = ybManager.settle( - contractService.getContract(outpatientRegistrationAddParam.getAccountFormData().getContractNo()), - chrgBchno); + contractService.getContract(outpatientRegistrationAddParam.getAccountFormData().getContractNo()), + chrgBchno); } else { // 自费结算 paymentResult = new com.openhis.financial.model.PaymentResult(); paymentResult.setChrgBchno(chrgBchno).setMedfeeSumamt(chargeItem.getTotalPrice()) - .setFulamtOwnpayAmt(chargeItem.getTotalPrice()).setPsnPartAmt(chargeItem.getTotalPrice()) - .setPsnCashPay(chargeItem.getTotalPrice()).setSetlId(contract.getBusNo()); + .setFulamtOwnpayAmt(chargeItem.getTotalPrice()).setPsnPartAmt(chargeItem.getTotalPrice()) + .setPsnCashPay(chargeItem.getTotalPrice()).setSetlId(contract.getBusNo()); } // 生成payment @@ -1978,44 +1848,44 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Account account = new Account(); BeanUtils.copyProperties(accountFormData, account); account.setTypeCode(outpatientRegistrationAddParam.getYbMdtrtCertType() == null - ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() : outpatientRegistrationAddParam.getYbMdtrtCertType()); + ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() : outpatientRegistrationAddParam.getYbMdtrtCertType()); // 账户ID Long accountId = iAccountService.saveAccountByRegister(account); // 2025/05/23 如果是医保挂号,创建两个ACCOUNT if (!CommonConstants.BusinessName.DEFAULT_CONTRACT_NO - .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo())) { + .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo())) { Account accountZf = new Account(); BeanUtils.copyProperties(accountFormData, accountZf); accountZf.setContractNo(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO).setEncounterFlag(0) - .setTypeCode(outpatientRegistrationAddParam.getYbMdtrtCertType() == null - ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() - : outpatientRegistrationAddParam.getYbMdtrtCertType()); + .setTypeCode(outpatientRegistrationAddParam.getYbMdtrtCertType() == null + ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() + : outpatientRegistrationAddParam.getYbMdtrtCertType()); iAccountService.save(accountZf); } if (!CommonConstants.BusinessName.DEFAULT_CONTRACT_NO - .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()) - && !CommonConstants.BusinessName.DEFAULT_STUDENT_CONTRACT_NO .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()) - && outpatientRegistrationAddParam.getAccountFormData().getContractNo().length() > 11) { + && !CommonConstants.BusinessName.DEFAULT_STUDENT_CONTRACT_NO + .equals(outpatientRegistrationAddParam.getAccountFormData().getContractNo()) + && outpatientRegistrationAddParam.getAccountFormData().getContractNo().length() > 11) { // 建立学生自费ACCOUNT Account accountStudentZf = new Account(); BeanUtils.copyProperties(accountFormData, accountStudentZf); accountStudentZf.setContractNo(CommonConstants.BusinessName.DEFAULT_STUDENT_CONTRACT_NO).setEncounterFlag(0) - .setTypeCode(outpatientRegistrationAddParam.getYbMdtrtCertType() == null - ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() - : outpatientRegistrationAddParam.getYbMdtrtCertType()); + .setTypeCode(outpatientRegistrationAddParam.getYbMdtrtCertType() == null + ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() + : outpatientRegistrationAddParam.getYbMdtrtCertType()); iAccountService.save(accountStudentZf); Contract contractYb = contractService.getContract( - outpatientRegistrationAddParam.getAccountFormData().getContractNo().substring("STUDENT".length())); + outpatientRegistrationAddParam.getAccountFormData().getContractNo().substring("STUDENT".length())); if (contractYb != null && 1 == contractYb.getYbFlag()) { // 建立纯医保ACCOUNT Account accountYb = new Account(); BeanUtils.copyProperties(accountFormData, accountYb); accountYb.setContractNo(contractYb.getBusNo()).setEncounterFlag(0) - .setTypeCode(outpatientRegistrationAddParam.getYbMdtrtCertType() == null - ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() - : outpatientRegistrationAddParam.getYbMdtrtCertType()); + .setTypeCode(outpatientRegistrationAddParam.getYbMdtrtCertType() == null + ? YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue() + : outpatientRegistrationAddParam.getYbMdtrtCertType()); iAccountService.save(accountYb); } } @@ -2040,33 +1910,33 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 新增支付信息 PaymentReconciliation payment = new PaymentReconciliation(); payment.setStatusEnum(PaymentStatus.SUCCESS.getValue()).setPaymentNo(paymentNo) - .setYbSettleIds(paymentResult.getSetlId()).setPaymentEnum(PaymentType.PAY.getValue()) - .setPaymentReconciliationId(outpatientRegistrationAddParam.getEncounterFormData().getPatientId()) - .setPatientId(outpatientRegistrationAddParam.getEncounterFormData().getPatientId()) - .setKindEnum(PaymentKind.OUTPATIENT_CLINIC.getValue()).setEntererId(practitionerId) - .setPractitionerId(practitionerId).setOutcomeEnum(PaymentOutcome.PARTIAL.getCode()).setLocationId(-99l) - .setExpirationDate(futureTime).setBillDate(setlTime).setPrintCount(0) - .setChargeItemIds(chargeItemIdList.stream().map(String::valueOf).collect(Collectors.joining(","))) - .setTenderedAmount(chargeItem.getTotalPrice()).setDisplayAmount(paymentResult.getPsnPartAmt()) - .setReturnedAmount(new BigDecimal("0.0")).setEncounterId(encounter.getId()); + .setYbSettleIds(paymentResult.getSetlId()).setPaymentEnum(PaymentType.PAY.getValue()) + .setPaymentReconciliationId(outpatientRegistrationAddParam.getEncounterFormData().getPatientId()) + .setPatientId(outpatientRegistrationAddParam.getEncounterFormData().getPatientId()) + .setKindEnum(PaymentKind.OUTPATIENT_CLINIC.getValue()).setEntererId(practitionerId) + .setPractitionerId(practitionerId).setOutcomeEnum(PaymentOutcome.PARTIAL.getCode()).setLocationId(-99l) + .setExpirationDate(futureTime).setBillDate(setlTime).setPrintCount(0) + .setChargeItemIds(chargeItemIdList.stream().map(String::valueOf).collect(Collectors.joining(","))) + .setTenderedAmount(chargeItem.getTotalPrice()).setDisplayAmount(paymentResult.getPsnPartAmt()) + .setReturnedAmount(new BigDecimal("0.0")).setEncounterId(encounter.getId()); // 保存付款信息 paymentReconciliationService.save(payment); // 保存付款详情 this.savePaymentDetail(paymentResult, payment, paymentDetails, accountId); // 更改chargeItem的状态 - List chargeItemIds = - Arrays.stream(payment.getChargeItemIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); + List chargeItemIds + = Arrays.stream(payment.getChargeItemIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); chargeItemService.updatePaymentStatus(chargeItemIds, ChargeItemStatus.BILLED.getValue()); // 保存付款快照信息 2025/08/08 paymentRecStaticService.savePaymentRecStatics(payment.getId(), PaymentType.PAY, null, - chargeItemService.getChargeItemDefInfoByIdList(chargeItemIds)); + chargeItemService.getChargeItemDefInfoByIdList(chargeItemIds)); // 生成发票信息 Invoice invoice = new Invoice(); invoice.setPatientId(encounter.getPatientId()).setStatusEnum(InvoiceStatus.DRAFT) - .setReconciliationId(payment.getId()).setTypeCode(InvoiceType.ISSUING_INVOICES.getValue()) - .setChargeItemIds(payment.getChargeItemIds().toString()); + .setReconciliationId(payment.getId()).setTypeCode(InvoiceType.ISSUING_INVOICES.getValue()) + .setChargeItemIds(payment.getChargeItemIds().toString()); iInvoiceService.save(invoice); return R.ok(payment, "收费成功"); } @@ -2084,7 +1954,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Long organizationId = encounter.getOrganizationId(); // 诊疗定义id集合 List tmpActivityList = outpatientRegistrationAppMapper.getTmpActivityList(serviceTypeId, - CommonConstants.TableName.WOR_ACTIVITY_DEFINITION); + CommonConstants.TableName.WOR_ACTIVITY_DEFINITION); AdviceBaseDto adviceBaseDto; ServiceRequest serviceRequest; ChargeItem chargeItem; @@ -2097,7 +1967,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { adviceBaseDto.setAdviceDefinitionId(activityDeviceDto.getDevActId()); // 对应的诊疗医嘱信息 AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, null, - null, null, organizationId, 1, 1, Whether.NO.getValue(), List.of(1, 2, 3), null).getRecords().get(0); + null, null, organizationId, 1, 1, Whether.NO.getValue(), List.of(1, 2, 3), null).getRecords().get(0); // 价格信息 if (activityAdviceBaseDto != null) { // 费用定价 @@ -2154,7 +2024,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { /** * 获取收费项集合 - * + * * @param chargeItemIds 收费项id集合 * @return 收费项集合 */ @@ -2174,14 +2044,14 @@ public class PaymentRecServiceImpl implements IPaymentRecService { piModel.setBusNo(chargeItem.getBusNo()); EncounterDiagnosis encounterDiagnosis; - Optional optional = - diagList.stream().filter(e -> e.getId().equals(chargeItem.getEncounterDiagnosisId())).findFirst(); + Optional optional + = diagList.stream().filter(e -> e.getId().equals(chargeItem.getEncounterDiagnosisId())).findFirst(); if (optional.isPresent()) { encounterDiagnosis = optional.get(); } else { throw new ServiceException( - "诊断信息与收费项的诊断信息未对应,错误信息:费用项" + chargeItem.getBusNo() + chargeItem.getEncounterDiagnosisId()); + "诊断信息与收费项的诊断信息未对应,错误信息:费用项" + chargeItem.getBusNo() + chargeItem.getEncounterDiagnosisId()); } piModel.setMedType(encounterDiagnosis.getMedTypeCode()); piModel.setTotalPrice(chargeItem.getTotalPrice()); @@ -2202,7 +2072,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { /** * 【取消预结算】 - * + * * @param paymentId 结算id * @return 结果 */ @@ -2212,21 +2082,21 @@ public class PaymentRecServiceImpl implements IPaymentRecService { PaymentReconciliation byId = iPaymentReconciliationService.getById(paymentId); List paymentRecDetails = iPaymentRecDetailService - .list(new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, paymentId)); + .list(new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, paymentId)); if (paymentRecDetails.isEmpty() || byId == null) { throw new ServiceException("未查询到收费详情"); } - List payTransNoList = - paymentRecDetails.stream().map(PaymentRecDetail::getPayTransNo).distinct().collect(Collectors.toList()); + List payTransNoList + = paymentRecDetails.stream().map(PaymentRecDetail::getPayTransNo).distinct().collect(Collectors.toList()); - List accountIdList = - paymentRecDetails.stream().map(PaymentRecDetail::getAccountId).distinct().collect(Collectors.toList()); + List accountIdList + = paymentRecDetails.stream().map(PaymentRecDetail::getAccountId).distinct().collect(Collectors.toList()); if (accountIdList.isEmpty()) { throw new ServiceException("未查到账户信息"); } - List accountList = - iAccountService.list(new LambdaQueryWrapper().in(Account::getId, accountIdList)); + List accountList + = iAccountService.list(new LambdaQueryWrapper().in(Account::getId, accountIdList)); if (accountList.isEmpty()) { throw new ServiceException("未查到账户信息"); } @@ -2239,17 +2109,17 @@ public class PaymentRecServiceImpl implements IPaymentRecService { /** * 医保住院预结算 - * + * * @param prePaymentDto 预结算参数 * @return 预结算集合 */ public InpatientPreSettleResultDto inpatientPreSettle(PrePaymentDto prePaymentDto) { - List chargeItemBaseInfoByIds = - iChargeItemService.getChargeItemBaseInfoByIds(prePaymentDto.getChargeItemIds()); + List chargeItemBaseInfoByIds + = iChargeItemService.getChargeItemBaseInfoByIds(prePaymentDto.getChargeItemIds()); - Map> chargeItemKVByContractNo = - chargeItemBaseInfoByIds.stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getContractNo)); + Map> chargeItemKVByContractNo + = chargeItemBaseInfoByIds.stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getContractNo)); List yb2303OutputSetInfos = new ArrayList<>(); Yb2303OutputSetInfo yb2303OutputSetInfo; @@ -2265,8 +2135,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } else { - inpatientPreSettleDto = - preSettleInpatientBySelf(prePaymentDto.getEncounterId(), stringListEntry.getValue()); + inpatientPreSettleDto + = preSettleInpatientBySelf(prePaymentDto.getEncounterId(), stringListEntry.getValue()); yb2303OutputSetInfos.add(inpatientPreSettleDto); } @@ -2279,13 +2149,13 @@ public class PaymentRecServiceImpl implements IPaymentRecService { PaymentReconciliation paymentReconciliation = getPaymentReconciliation(chargeItemBaseInfoByIds); iPaymentReconciliationService.save(paymentReconciliation); - List paymentDetailList = - getPaymentRecDetailList(paymentReconciliation.getId(), yb2303OutputSetInfos); + List paymentDetailList + = getPaymentRecDetailList(paymentReconciliation.getId(), yb2303OutputSetInfos); iPaymentRecDetailService.saveBatch(paymentDetailList); // 查询原预交金 payment PaymentReconciliation oldPayment = iPaymentReconciliationService - .getByEncounterId(prePaymentDto.getEncounterId(), PaymentKind.HOSPITAL_DEPOSIT); + .getByEncounterId(prePaymentDto.getEncounterId(), PaymentKind.HOSPITAL_DEPOSIT); if (oldPayment == null) { throw new ServiceException("未查询到原预交金记录"); } @@ -2316,7 +2186,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { /** * 【住院结算】 - * + * * @param paymentDto 住院结算参数 * @return 操作结果 */ @@ -2347,16 +2217,16 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 收费项一致校验 List chargeItemIds = paymentDto.getChargeItemIds().stream().sorted().toList(); List chargeItemIdList = Arrays.stream(paymentReconciliation.getChargeItemIds().split(",")) - .map(String::trim).filter(s -> !s.isEmpty()).map(Long::valueOf).sorted().toList(); + .map(String::trim).filter(s -> !s.isEmpty()).map(Long::valueOf).sorted().toList(); if (!chargeItemIds.equals(chargeItemIdList)) { return R.fail("收费项目变动,请重新预结算"); } // 查找对应的收费详情,根据批次号查询 - List paymentRecDetails = - paymentRecDetailService.list(new LambdaQueryWrapper() - .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); + List paymentRecDetails + = paymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); if (paymentRecDetails.isEmpty()) { return R.fail("未查询到业务付款草稿的收费详情"); @@ -2374,10 +2244,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // <2> 查询基础数据 - List chargeItemBaseInfoByIds = - iChargeItemService.getChargeItemBaseInfoByIds(paymentDto.getChargeItemIds()); - Map> chargeItemKVByContractNo = - chargeItemBaseInfoByIds.stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getContractNo)); + List chargeItemBaseInfoByIds + = iChargeItemService.getChargeItemBaseInfoByIds(paymentDto.getChargeItemIds()); + Map> chargeItemKVByContractNo + = chargeItemBaseInfoByIds.stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getContractNo)); List accountList = iAccountService.getAccountListByEncounter(paymentDto.getEncounterId()); if (accountList.isEmpty()) { @@ -2392,8 +2262,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { Integer mcsTracCnt = 0; // <3>收费详情按照收费批次进行分组后结算 - Map> payTransNoMap = - paymentRecDetails.stream().collect(Collectors.groupingBy(PaymentRecDetail::getAccountId)); + Map> payTransNoMap + = paymentRecDetails.stream().collect(Collectors.groupingBy(PaymentRecDetail::getAccountId)); for (Map.Entry> stringListEntry : payTransNoMap.entrySet()) { // paymentResult = new PaymentResult(); @@ -2403,12 +2273,12 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } // 结算方法 paymentResult = iPaymentReconciliationService - .inpatientSettle(contractService.getContract(accounts.get(0).getContractNo()), paymentDto); + .inpatientSettle(contractService.getContract(accounts.get(0).getContractNo()), paymentDto); paymentResult.setAccountId(accounts.get(0).getId());// 记录账户余额的时候要使用这个AccountId // 现有的paymentDetail处理,计划update for (PaymentRecDetail paymentRecDetail : stringListEntry.getValue()) { paymentRecDetail.setPayTransText(paymentResult.getSetlId()) - .setResultEnum(PaymentResult.PAID.getValue());// 医保结算赋值结算id;用于医保对账清算时使用 + .setResultEnum(PaymentResult.PAID.getValue());// 医保结算赋值结算id;用于医保对账清算时使用 } // 前台传入的微信支付等集合处理,计划insert // for (PaymentRecDetail paymentRecDetail : list) { @@ -2419,12 +2289,12 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } List ybSettleIds = paymentResultList.stream().map(com.openhis.financial.model.PaymentResult::getSetlId) - .filter(StringUtils::isNotEmpty).collect(Collectors.toList()); + .filter(StringUtils::isNotEmpty).collect(Collectors.toList()); // <4>更改付款状态 logger.info("更新付款状态:payment:" + JSON.toJSONString(paymentReconciliation)); iPaymentReconciliationService.updatePaymentStatusAndSettleIdsById(paymentReconciliation.getId(), - PaymentStatus.SUCCESS, PaymentOutcome.COMPLETED.getCode(), ybSettleIds); + PaymentStatus.SUCCESS, PaymentOutcome.COMPLETED.getCode(), ybSettleIds); // 更改付款详情的信息 iPaymentRecDetailService.updateBatchById(paymentRecDetails); @@ -2433,10 +2303,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (!paymentDto.getPaymentDetails().isEmpty() && newPayment != null) { // 更改新预交金payment状态 iPaymentReconciliationService.updatePaymentStatusAndSettleIdsById(newPayment.getId(), PaymentStatus.SUCCESS, - PaymentOutcome.COMPLETED.getCode(), new ArrayList<>()); + PaymentOutcome.COMPLETED.getCode(), new ArrayList<>()); // 新增详情信息 Optional accountSelfOptional = accountList.stream() - .filter(e -> e.getTypeCode().equals(AccountType.PERSONAL_CASH_ACCOUNT.getCode())).findAny(); + .filter(e -> e.getTypeCode().equals(AccountType.PERSONAL_CASH_ACCOUNT.getCode())).findAny(); Account selfAccount;// 预交金账户 if (accountSelfOptional.isEmpty()) { throw new ServiceException("未查询到预交金账户"); @@ -2475,9 +2345,9 @@ public class PaymentRecServiceImpl implements IPaymentRecService { BigDecimal balc = minAmountResult.getBalc(); PaymentRecDetail paymentRecDetail = new PaymentRecDetail(); paymentRecDetail.setReconciliationId(paymentReconciliation.getId()).setPayEnum(YbPayment.BALC.getValue()) - .setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) - .setPayTransNo(minAmountResult.getChrgBchno()).setResultEnum(PaymentResult.PAID.getValue()) - .setAccountId(minAmountResult.getAccountId()).setPayTransText(minAmountResult.getSetlId()); + .setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) + .setPayTransNo(minAmountResult.getChrgBchno()).setResultEnum(PaymentResult.PAID.getValue()) + .setAccountId(minAmountResult.getAccountId()).setPayTransText(minAmountResult.getSetlId()); iPaymentRecDetailService.save(paymentRecDetail); } @@ -2486,28 +2356,28 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 更新住院患者状态:已结算出院 iEncounterService.updateEncounterStatus(paymentDto.getEncounterId(), - EncounterZyStatus.ALREADY_SETTLED.getValue()); + EncounterZyStatus.ALREADY_SETTLED.getValue()); // 保存付款快照信息 2025/08/08 paymentRecStaticService.savePaymentRecStatics(paymentReconciliation.getId(), PaymentType.PAY, null, - chargeItemService.getChargeItemDefInfoByIdList(paymentDto.getChargeItemIds())); + chargeItemService.getChargeItemDefInfoByIdList(paymentDto.getChargeItemIds())); // 生成发票信息 Invoice invoice = new Invoice(); invoice.setPatientId(paymentReconciliation.getPatientId()).setStatusEnum(InvoiceStatus.DRAFT) - .setReconciliationId(paymentReconciliation.getId()).setTypeCode(InvoiceType.ISSUING_INVOICES.getValue()) - .setChargeItemIds(paymentReconciliation.getChargeItemIds()); + .setReconciliationId(paymentReconciliation.getId()).setTypeCode(InvoiceType.ISSUING_INVOICES.getValue()) + .setChargeItemIds(paymentReconciliation.getChargeItemIds()); iInvoiceService.save(invoice); logger.info("收费成功:payment:" + JSON.toJSONString(paymentReconciliation)); // throw new ServiceException(""); return R.ok(paymentReconciliation, - MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"收费"})); + MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"收费"})); } /** * 【取消住院结算】 - * + * * @param paymentId 付款id * @return 操作结果 */ @@ -2525,9 +2395,9 @@ public class PaymentRecServiceImpl implements IPaymentRecService { throw new ServiceException("请选择正确退费渠道,该付款不是住院收费"); } // 查找对应的收费详情,根据批次号查询 - List paymentRecDetails = - paymentRecDetailService.list(new LambdaQueryWrapper() - .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); + List paymentRecDetails + = paymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); if (paymentRecDetails.isEmpty()) { return R.fail("未查询到业务付款记录收费详情"); } @@ -2543,7 +2413,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (!ybSettleIdList.isEmpty() && !ybSettleIdList.get(0).equals("null")) { // 医保反结 List InpatientSettleList = iInpatientSettleService - .list(new LambdaQueryWrapper().in(InpatientSettle::getSetlId, ybSettleIdList)); + .list(new LambdaQueryWrapper().in(InpatientSettle::getSetlId, ybSettleIdList)); Account ybAccount = iAccountService.getYbAccount(paymentReconciliation.getEncounterId()); if (ybAccount == null) { throw new ServiceException("未查询到医保账户信息"); @@ -2559,10 +2429,10 @@ public class PaymentRecServiceImpl implements IPaymentRecService { // 获取医保反结算后的2305输出参数 stringBuilder.append(yb2305OutputSetlInfo.getSetlId()).append(","); // 对payment详情的结算id进行处理 - List paymentRecDetailList = - iPaymentRecDetailService.list(new LambdaQueryWrapper() - .eq(PaymentRecDetail::getReconciliationId, unPaymentReconciliation.getId()) - .eq(PaymentRecDetail::getPayTransText, inpatientSettle.getSetlId())); + List paymentRecDetailList + = iPaymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, unPaymentReconciliation.getId()) + .eq(PaymentRecDetail::getPayTransText, inpatientSettle.getSetlId())); if (!paymentRecDetailList.isEmpty()) { for (PaymentRecDetail paymentRecDetail : paymentRecDetailList) { paymentRecDetail.setPayTransText(yb2305OutputSetlInfo.getSetlId()); @@ -2585,13 +2455,13 @@ public class PaymentRecServiceImpl implements IPaymentRecService { /** * 【住院预结算】-生成detail的方法 - * + * * @param paymentId paymentId * @param yb2303OutputSetInfos 住院预结算结果 * @return detail详情 */ private List getPaymentRecDetailList(Long paymentId, - List yb2303OutputSetInfos) { + List yb2303OutputSetInfos) { List paymentRecDetails = new ArrayList<>(); @@ -2602,8 +2472,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (psnCashPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail10 = new PaymentRecDetail(); paymentRecDetail10.setReconciliationId(paymentId).setPayEnum(YbPayment.SELF_CASH_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()).setAmount(psnCashPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_CASH_PAY.getLevel()).setAmount(psnCashPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail10); } // 个人负担总金额 @@ -2611,8 +2481,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (psnPartAmt.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail1 = new PaymentRecDetail(); paymentRecDetail1.setReconciliationId(paymentId).setPayEnum(YbPayment.SELF_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()).setAmount(psnPartAmt) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_PAY.getLevel()).setAmount(psnPartAmt) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail1); } // 基本医疗保险统筹基金支出 @@ -2620,8 +2490,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifpPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail2 = new PaymentRecDetail(); paymentRecDetail2.setReconciliationId(paymentId).setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()).setAmount(hifpPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()).setAmount(hifpPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail2); } // 公务员医疗补助资金支出 @@ -2629,8 +2499,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (cvlservPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail3 = new PaymentRecDetail(); paymentRecDetail3.setReconciliationId(paymentId).setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail3); } // 企业补充医疗保险基金支出 @@ -2638,8 +2508,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifesPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail4 = new PaymentRecDetail(); paymentRecDetail4.setReconciliationId(paymentId).setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()).setAmount(hifesPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()).setAmount(hifesPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail4); } // 居民大病保险资金支出 @@ -2647,8 +2517,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifmiPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail5 = new PaymentRecDetail(); paymentRecDetail5.setReconciliationId(paymentId).setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()).setAmount(hifmiPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()).setAmount(hifmiPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail5); } // 职工大额医疗费用补助基金支出 @@ -2656,9 +2526,9 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hifobPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail6 = new PaymentRecDetail(); paymentRecDetail6.setReconciliationId(paymentId) - .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) - .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) + .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail6); } // 医疗救助基金支出 @@ -2666,8 +2536,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (mafPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail7 = new PaymentRecDetail(); paymentRecDetail7.setReconciliationId(paymentId).setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()) - .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()).setAmount(mafPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()).setAmount(mafPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail7); } // 其他支出 @@ -2675,8 +2545,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (othPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail8 = new PaymentRecDetail(); paymentRecDetail8.setReconciliationId(paymentId).setPayEnum(YbPayment.OTHER_PAY.getValue()) - .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()).setAmount(othPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail8); } // 基金支付总额 @@ -2684,8 +2554,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (fundPaySumamt.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail9 = new PaymentRecDetail(); paymentRecDetail9.setReconciliationId(paymentId).setPayEnum(YbPayment.YB_FUND_PAY.getValue()) - .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()).setAmount(fundPaySumamt) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()).setAmount(fundPaySumamt) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail9); } // 个人账户支出 @@ -2693,8 +2563,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (acctPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail11 = new PaymentRecDetail(); paymentRecDetail11.setReconciliationId(paymentId).setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()).setAmount(acctPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()).setAmount(acctPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail11); } // 医院负担金额 @@ -2702,8 +2572,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (hospPartAmt.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail12 = new PaymentRecDetail(); paymentRecDetail12.setReconciliationId(paymentId).setPayEnum(YbPayment.HOSP_PART_AMT.getValue()) - .setPayLevelEnum(YbPayment.HOSP_PART_AMT.getLevel()).setAmount(hospPartAmt) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.HOSP_PART_AMT.getLevel()).setAmount(hospPartAmt) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail12); } // 个人账户共济支付金额 @@ -2711,8 +2581,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (acctMulaidPay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail13 = new PaymentRecDetail(); paymentRecDetail13.setReconciliationId(paymentId).setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail13); } // 全自费金额 @@ -2720,8 +2590,8 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (fulamtOwnpayAmt.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail14 = new PaymentRecDetail(); paymentRecDetail14.setReconciliationId(paymentId).setPayEnum(YbPayment.FULAMT_OWNPAY_AMT.getValue()) - .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()).setAmount(fulamtOwnpayAmt) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.FULAMT_OWNPAY_AMT.getLevel()).setAmount(fulamtOwnpayAmt) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail14); } // 超限价自费费用 @@ -2729,56 +2599,56 @@ public class PaymentRecServiceImpl implements IPaymentRecService { if (overlmtSelfpay.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail15 = new PaymentRecDetail(); paymentRecDetail15.setReconciliationId(paymentId).setPayEnum(YbPayment.OVERLMT_SELFPAY.getValue()) - .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()).setAmount(overlmtSelfpay) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.OVERLMT_SELFPAY.getLevel()).setAmount(overlmtSelfpay) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail15); } BigDecimal balc = inpatientPreSettleDto.getBalc(); if (balc.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail16 = new PaymentRecDetail(); paymentRecDetail16.setReconciliationId(paymentId).setPayEnum(YbPayment.BALC.getValue()) - .setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.BALC.getLevel()).setAmount(balc) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail16); } BigDecimal preselfpayAmt = inpatientPreSettleDto.getPreselfpayAmt(); if (preselfpayAmt.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail17 = new PaymentRecDetail(); paymentRecDetail17.setReconciliationId(paymentId).setPayEnum(YbPayment.PRESELFPAY_AMT.getValue()) - .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()).setAmount(preselfpayAmt) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.PRESELFPAY_AMT.getLevel()).setAmount(preselfpayAmt) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail17); } BigDecimal inscpScpAmt = inpatientPreSettleDto.getInscpScpAmt(); if (inscpScpAmt.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail18 = new PaymentRecDetail(); paymentRecDetail18.setReconciliationId(paymentId).setPayEnum(YbPayment.INSCP_SCP_AMT.getValue()) - .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()).setAmount(inscpScpAmt) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.INSCP_SCP_AMT.getLevel()).setAmount(inscpScpAmt) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail18); } BigDecimal actPayDedc = inpatientPreSettleDto.getActPayDedc(); if (actPayDedc.compareTo(BigDecimal.ZERO) != 0) { PaymentRecDetail paymentRecDetail19 = new PaymentRecDetail(); paymentRecDetail19.setReconciliationId(paymentId).setPayEnum(YbPayment.ACT_PAY_DEDC.getValue()) - .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()).setAmount(actPayDedc) - .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(YbPayment.ACT_PAY_DEDC.getLevel()).setAmount(actPayDedc) + .setResultEnum(PaymentResult.UNPAID.getValue()).setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail19); } if (inpatientPreSettleDto.getSetldetail() != null && !inpatientPreSettleDto.getSetldetail().isEmpty()) { PaymentRecDetail paymentRecDetail20; for (Clinic2206FundPaymentResult clinic2206FundPaymentResult : inpatientPreSettleDto.getSetldetail()) { - YbPayment ybPayment = - YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); + YbPayment ybPayment + = YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); if (ybPayment == null) { continue; } paymentRecDetail20 = new PaymentRecDetail(); paymentRecDetail20.setReconciliationId(paymentId).setPayEnum(ybPayment.getValue()) - .setPayLevelEnum(ybPayment.getLevel()).setAmount(clinic2206FundPaymentResult.getFundPayamt()) - // .setPayTransNo(inpatientPreSettleDto.getChrgBchno())住院结算没有这个批次的字段就不用了 - .setResultEnum(PaymentResult.UNPAID.getValue()) - .setAccountId(inpatientPreSettleDto.getAccountId()); + .setPayLevelEnum(ybPayment.getLevel()).setAmount(clinic2206FundPaymentResult.getFundPayamt()) + // .setPayTransNo(inpatientPreSettleDto.getChrgBchno())住院结算没有这个批次的字段就不用了 + .setResultEnum(PaymentResult.UNPAID.getValue()) + .setAccountId(inpatientPreSettleDto.getAccountId()); paymentRecDetails.add(paymentRecDetail20); } } @@ -2810,27 +2680,27 @@ public class PaymentRecServiceImpl implements IPaymentRecService { String paymentNo = assignSeqUtil.getSeqByDay(AssignSeqEnum.PAYMENT_NO.getPrefix(), 20); payment.setStatusEnum(PaymentStatus.DRAFT.getValue()).setPaymentNo(paymentNo).setYbSettleIds("") - .setPaymentEnum(PaymentType.PAY.getValue()).setEntererId(SecurityUtils.getLoginUser().getPractitionerId()) - .setPaymentReconciliationId(chargeItemList.get(0).getPatientId()) - .setPatientId(chargeItemList.get(0).getPatientId()).setKindEnum(PaymentKind.INPATIENT_CLINIC.getValue()) - .setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()) - .setOutcomeEnum(PaymentOutcome.COMPLETED.getCode()).setLocationId(-99l).setExpirationDate(futureTime) - .setBillDate(setlTime).setPrintCount(0) - .setChargeItemIds(chargeItemList.stream().map(ChargeItemBaseInfoDto::getId).map(String::valueOf) - .collect(Collectors.joining(","))) - .setTenderedAmount(bigDecimal).setDisplayAmount(bigDecimal).setReturnedAmount(new BigDecimal("0.0")) - .setEncounterId(chargeItemList.get(0).getEncounterId()); + .setPaymentEnum(PaymentType.PAY.getValue()).setEntererId(SecurityUtils.getLoginUser().getPractitionerId()) + .setPaymentReconciliationId(chargeItemList.get(0).getPatientId()) + .setPatientId(chargeItemList.get(0).getPatientId()).setKindEnum(PaymentKind.INPATIENT_CLINIC.getValue()) + .setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()) + .setOutcomeEnum(PaymentOutcome.COMPLETED.getCode()).setLocationId(-99l).setExpirationDate(futureTime) + .setBillDate(setlTime).setPrintCount(0) + .setChargeItemIds(chargeItemList.stream().map(ChargeItemBaseInfoDto::getId).map(String::valueOf) + .collect(Collectors.joining(","))) + .setTenderedAmount(bigDecimal).setDisplayAmount(bigDecimal).setReturnedAmount(new BigDecimal("0.0")) + .setEncounterId(chargeItemList.get(0).getEncounterId()); return payment; } /** * 【住院预结算】-生成payment的方法 - * + * * @param paymentDetailList 收费项基础信息集合 * @return payment实体 */ private PaymentReconciliation getPaymentReconciliation(PaymentReconciliation oldPayment, - List paymentDetailList) { + List paymentDetailList) { PaymentReconciliation payment = new PaymentReconciliation(); @@ -2864,14 +2734,14 @@ public class PaymentRecServiceImpl implements IPaymentRecService { String paymentNo = assignSeqUtil.getSeqByDay(AssignSeqEnum.PAYMENT_NO.getPrefix(), 20); payment.setStatusEnum(PaymentStatus.DRAFT.getValue()).setPaymentNo(paymentNo).setYbSettleIds("") - .setPaymentEnum(paymentType.getValue()).setEntererId(SecurityUtils.getLoginUser().getPractitionerId()) - .setPaymentReconciliationId(oldPayment.getPatientId()).setPatientId(oldPayment.getPatientId()) - .setKindEnum(PaymentKind.HOSPITAL_DEPOSIT.getValue()).setRelationId(oldPayment.getId()) - .setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()) - .setOutcomeEnum(PaymentOutcome.PARTIAL.getCode()).setLocationId(-99l).setExpirationDate(futureTime) - .setBillDate(setlTime).setPrintCount(0).setChargeItemIds(oldPayment.getChargeItemIds()) - .setTenderedAmount(subtract.multiply(mul)).setDisplayAmount(subtract.multiply(mul)) - .setReturnedAmount(new BigDecimal("0.0")).setEncounterId(oldPayment.getEncounterId()); + .setPaymentEnum(paymentType.getValue()).setEntererId(SecurityUtils.getLoginUser().getPractitionerId()) + .setPaymentReconciliationId(oldPayment.getPatientId()).setPatientId(oldPayment.getPatientId()) + .setKindEnum(PaymentKind.HOSPITAL_DEPOSIT.getValue()).setRelationId(oldPayment.getId()) + .setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()) + .setOutcomeEnum(PaymentOutcome.PARTIAL.getCode()).setLocationId(-99l).setExpirationDate(futureTime) + .setBillDate(setlTime).setPrintCount(0).setChargeItemIds(oldPayment.getChargeItemIds()) + .setTenderedAmount(subtract.multiply(mul)).setDisplayAmount(subtract.multiply(mul)) + .setReturnedAmount(new BigDecimal("0.0")).setEncounterId(oldPayment.getEncounterId()); return payment; } @@ -2892,7 +2762,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { InpatientPreSettleDto inpatientPreSettleDto = new InpatientPreSettleDto(); inpatientPreSettleDto.setMedinsSetlId(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO); inpatientPreSettleDto.setMedfeeSumamt(bigDecimal).setFulamtOwnpayAmt(bigDecimal).setPsnPartAmt(bigDecimal) - .setPsnCashPay(bigDecimal).setAccountId(chargeItems.get(0).getAccountId()); + .setPsnCashPay(bigDecimal).setAccountId(chargeItems.get(0).getAccountId()); return inpatientPreSettleDto; } @@ -2912,45 +2782,43 @@ public class PaymentRecServiceImpl implements IPaymentRecService { } TransactionResponse transactionResponse = new TransactionResponse() - .setTxnAmt(nenuBpcPayDto.getBpcPayAmount().multiply(new BigDecimal("100")).toString()) - .setPaymentId(nenuBpcPayDto.getPaymentId()).setScanCode(nenuBpcPayDto.getBpcCode()) - .setIndex(nenuBpcPayDto.getIndex()); + .setTxnAmt(nenuBpcPayDto.getBpcPayAmount().multiply(new BigDecimal("100")).toString()) + .setPaymentId(nenuBpcPayDto.getPaymentId()).setScanCode(nenuBpcPayDto.getBpcCode()) + .setIndex(nenuBpcPayDto.getIndex()); transactionResponseService.save(transactionResponse); R r = bankPosCloudAppService.processConsumerScan( - String.valueOf(nenuBpcPayDto.getBpcPayAmount().multiply(new BigDecimal("100"))), - nenuBpcPayDto.getPaymentId() + "IND" + nenuBpcPayDto.getIndex() + "T" + new Date(), - nenuBpcPayDto.getBpcCode(), practitioner.getPosNo()); + String.valueOf(nenuBpcPayDto.getBpcPayAmount().multiply(new BigDecimal("100"))), + nenuBpcPayDto.getPaymentId() + "IND" + nenuBpcPayDto.getIndex() + "T" + new Date(), + nenuBpcPayDto.getBpcCode(), practitioner.getPosNo()); return r.getMsg(); } -<<<<<<< HEAD -======= @Override public List cancelPreReg(Long encounterId) { List paymentReconciliationList = paymentReconciliationService - .list(new LambdaQueryWrapper().eq(PaymentReconciliation::getEncounterId, encounterId) - .eq(PaymentReconciliation::getDeleteFlag, DelFlag.NO.getCode()) - .eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue())); + .list(new LambdaQueryWrapper().eq(PaymentReconciliation::getEncounterId, encounterId) + .eq(PaymentReconciliation::getDeleteFlag, DelFlag.NO.getCode()) + .eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue())); List chargeItemIdList = paymentReconciliationList.stream().map(item -> item.getChargeItemIds()) // 获取逗号分隔的字符串属性 - .filter(str -> str != null && !str.trim().isEmpty()) // 过滤空值 - .flatMap(str -> Arrays.stream(str.split(","))) // 按逗号分割并扁平化 - .map(String::trim) // 去除空格 - .filter(s -> !s.isEmpty()) // 过滤空字符串 - .map(Long::valueOf) // 转换为Long - .collect(Collectors.toList()); + .filter(str -> str != null && !str.trim().isEmpty()) // 过滤空值 + .flatMap(str -> Arrays.stream(str.split(","))) // 按逗号分割并扁平化 + .map(String::trim) // 去除空格 + .filter(s -> !s.isEmpty()) // 过滤空字符串 + .map(Long::valueOf) // 转换为Long + .collect(Collectors.toList()); - List chargeItemBaseInfoByIds = - chargeItemService.getChargeItemBaseInfoByIds(chargeItemIdList); + List chargeItemBaseInfoByIds + = chargeItemService.getChargeItemBaseInfoByIds(chargeItemIdList); // 查找第一个匹配的对象 Optional targetObject = chargeItemBaseInfoByIds.stream() - .filter(item -> CommonConstants.TableName.ADM_HEALTHCARE_SERVICE.equals(item.getServiceTable())) - .findFirst(); + .filter(item -> CommonConstants.TableName.ADM_HEALTHCARE_SERVICE.equals(item.getServiceTable())) + .findFirst(); // 使用方式 long foundItemId; @@ -2962,7 +2830,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService { long finalFoundItemId = foundItemId; Optional paymentReconciliation = paymentReconciliationList.stream() - .filter(item -> item.getChargeItemIds().contains(String.valueOf(finalFoundItemId))).findFirst(); + .filter(item -> item.getChargeItemIds().contains(String.valueOf(finalFoundItemId))).findFirst(); long paymentId; if (paymentReconciliation.isPresent()) { @@ -2975,5 +2843,4 @@ public class PaymentRecServiceImpl implements IPaymentRecService { return detail; } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartPayServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartPayServiceImpl.java index 3474f8ea..6c8adbaa 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartPayServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartPayServiceImpl.java @@ -2,22 +2,14 @@ package com.openhis.web.paymentmanage.appservice.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -<<<<<<< HEAD -======= import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.constant.Constants; ->>>>>>> v1.3 import com.core.common.core.domain.R; import com.core.common.enums.TenantOptionDict; import com.core.common.exception.ServiceException; import com.core.common.utils.SecurityUtils; -<<<<<<< HEAD -import com.core.web.util.TenantOptionUtil; -import com.openhis.administration.domain.Practitioner; -import com.openhis.administration.service.IPractitionerService; -======= import com.core.common.utils.StringUtils; import com.core.web.util.TenantOptionUtil; import com.openhis.administration.domain.Practitioner; @@ -25,19 +17,15 @@ import com.openhis.administration.service.IPractitionerService; import com.openhis.common.constant.CommonConstants; import com.openhis.common.enums.PaymentStatus; import com.openhis.common.utils.HisQueryUtils; ->>>>>>> v1.3 import com.openhis.financial.domain.PaymentReconciliation; import com.openhis.financial.domain.ThreePartPayCallBack; import com.openhis.financial.service.IPaymentRecDetailService; import com.openhis.financial.service.IPaymentReconciliationService; import com.openhis.financial.service.ThreePartPayCallBackService; import com.openhis.web.paymentmanage.appservice.ThreePartPayService; -<<<<<<< HEAD -======= import com.openhis.web.paymentmanage.dto.PaymentVO; import com.openhis.web.paymentmanage.dto.ThreePartCallBackVo; import com.openhis.web.paymentmanage.mapper.PaymentMapper; ->>>>>>> v1.3 import com.openhis.yb.dto.BaseInfo; import com.openhis.yb.dto.BaseParam; import com.openhis.yb.dto.PaymentDetailDto; @@ -52,15 +40,6 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; -<<<<<<< HEAD -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.math.BigDecimal; -import java.util.HashMap; -import java.util.Map; -======= import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -75,43 +54,27 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.function.Consumer; ->>>>>>> v1.3 @Component @Slf4j public class ThreePartPayServiceImpl implements ThreePartPayService { -<<<<<<< HEAD -======= Logger logger = LoggerFactory.getLogger(ThreePartPayServiceImpl.class); ->>>>>>> v1.3 @Autowired private IPractitionerService practitionerService; @Autowired private IPaymentRecDetailService paymentRecDetailService; @Autowired -<<<<<<< HEAD -======= private PaymentMapper paymentMapper; @Autowired ->>>>>>> v1.3 private IPaymentReconciliationService paymentReconciliationService; @Autowired private ThreePartPayCallBackService threePartPayCallBackService; @Autowired private ThreePartSimpleFieldMappingService threePartSimpleFieldMappingService; - @Override -<<<<<<< HEAD - public R payFor(ThreePartPayDto threePartPayDto) { - String threePartUrl = TenantOptionUtil.getOptionContent(TenantOptionDict.THREE_PART_PAY_URL); - //String threePartUrl = "http://127.0.0.1:19994/?MSG=EXEC&yylx=02&posjh=&posygh=&jylx=00&je={je}&yjyrq=&yjyckh=&ypzh=&lrcjy=&cm={cm}&ysddh=&erpddh=&body="; - String threePartParam = TenantOptionUtil.getOptionContent(TenantOptionDict.THREE_PART_PARAM); - JSONObject jsonObject = JSON.parseObject(threePartParam); - -======= public R sign() { // A.获取配置信息 String threePartUrl = TenantOptionUtil.getOptionContent(TenantOptionDict.THREE_PART_SIGN_URL); @@ -132,7 +95,7 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //执行请求 String requestResult = executeRequest(requestMethod, threePartUrl, staticParam, paramMap); - if(StringUtils.isEmpty(requestResult)){ + if (StringUtils.isEmpty(requestResult)) { throw new ServiceException("三方支付签到失败!"); } @@ -161,7 +124,7 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //执行请求 String requestResult = executeRequest(requestMethod, threePartUrl, staticParam, paramMap); - if(StringUtils.isEmpty(requestResult)){ + if (StringUtils.isEmpty(requestResult)) { throw new ServiceException("三方支付签出失败!"); } @@ -180,7 +143,6 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { JSONObject jsonObject = JSON.parseObject(activeParam); //B.基础信息查询 ->>>>>>> v1.3 //订单号及订单信息 Long paymentId = threePartPayDto.getId(); PaymentReconciliation paymentReconciliation = paymentReconciliationService.getById(paymentId); @@ -188,21 +150,12 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //金额处理 BigDecimal amount = BigDecimal.ZERO; for (PaymentDetailDto paymentDetail : threePartPayDto.getPaymentDetails()) { -<<<<<<< HEAD - if(threePartPayDto.getIndex().equals(paymentDetail.getPayEnum())){ - amount = paymentDetail.getAmount(); - } - } - amount = amount.multiply(new BigDecimal("100")); - String amountResult = String.format("%010d", Integer.parseInt(amount.toString())); -======= //if(threePartPayDto.getIndex().equals(paymentDetail.getPayEnum())){ - amount = amount.add(paymentDetail.getAmount()); + amount = amount.add(paymentDetail.getAmount()); //} } amount = amount.multiply(new BigDecimal("100")); String amountResult = String.format("%010d", amount.intValue()); ->>>>>>> v1.3 //款员信息查询 Practitioner practitioner = practitionerService.getPractitionerByUserId(SecurityUtils.getLoginUser().getUserId()); @@ -210,31 +163,13 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //获取支付码 String txtCode = threePartPayDto.getTxtCode(); -<<<<<<< HEAD - //获取参数 - Map paramMap = this.getParamMap(jsonObject, practitioner, null, paymentReconciliation, amountResult, txtCode); - - //获取完整url - String url = renderTemplateSafe(threePartUrl, paramMap); - - String result = httpGet(url); - - String threePartMapping = threePartSimpleFieldMappingService.reverseMap("threePartMapping", result); - - threePartPayCallBackService.save(JSON.parseObject(threePartMapping,ThreePartPayCallBack.class)); - - return R.ok(); - } - -======= //C.根据不同的请求方式处理参数 - //获取动态参数 Map paramMap = this.getParamMap(jsonObject, practitioner, null, paymentReconciliation, amountResult, txtCode); //执行请求 String requestResult = executeRequest(requestMethod, threePartUrl, staticParam, paramMap); - if(StringUtils.isEmpty(requestResult)){ + if (StringUtils.isEmpty(requestResult)) { throw new ServiceException("三方支付失败!"); } @@ -244,18 +179,18 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { ThreePartPayCallBack threePartPayCallBack = JSON.parseObject(threePartMapping, ThreePartPayCallBack.class); //红旗临时处理,这个if后续可删除 - if(threePartPayDto.getId()==null){ + if (threePartPayDto.getId() == null) { threePartPayDto.setId(1l); } threePartPayCallBack.setPaymentId(threePartPayDto.getId()); threePartPayCallBackService.save(threePartPayCallBack); - if(threePartPayCallBack!=null&&threePartPayCallBack.getPayResult()!=null&&"00".equals(threePartPayCallBack.getPayResult())){ - return R.ok("成功支付"+new BigDecimal(threePartPayCallBack.getTxnAmt()).divide(new BigDecimal("100"),2, RoundingMode.HALF_UP)+"元"); + if (threePartPayCallBack != null && threePartPayCallBack.getPayResult() != null && "00".equals(threePartPayCallBack.getPayResult())) { + return R.ok("成功支付" + new BigDecimal(threePartPayCallBack.getTxnAmt()).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP) + "元"); } - return R.fail(threePartPayCallBack==null?"支付失败,详见日志文件":threePartPayCallBack.getErrMsg()); + return R.fail(threePartPayCallBack == null ? "支付失败,详见日志文件" : threePartPayCallBack.getErrMsg()); } @@ -286,7 +221,7 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //执行请求 String requestResult = executeRequest(requestMethod, threePartUrl, staticParam, paramMap); - if(StringUtils.isEmpty(requestResult)){ + if (StringUtils.isEmpty(requestResult)) { throw new ServiceException("三方平台http失败!"); } @@ -297,11 +232,11 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //ThreePartPayCallBack threePartPayCallBack1 = JSON.parseObject(threePartMapping, ThreePartPayCallBack.class); //threePartPayCallBackService.save(threePartPayCallBack1); - if(threePartPayCallBack1!=null&&threePartPayCallBack1.getPayResult()!=null&&"00".equals(threePartPayCallBack1.getPayResult())){ - return R.ok("成功支付"+new BigDecimal(threePartPayCallBack1.getTxnAmt()).divide(new BigDecimal("100"),2, RoundingMode.HALF_UP)+"元"); + if (threePartPayCallBack1 != null && threePartPayCallBack1.getPayResult() != null && "00".equals(threePartPayCallBack1.getPayResult())) { + return R.ok("成功支付" + new BigDecimal(threePartPayCallBack1.getTxnAmt()).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP) + "元"); } - return R.fail(threePartPayCallBack1==null?"查询失败,详见日志文件":threePartPayCallBack1.getErrMsg()); + return R.fail(threePartPayCallBack1 == null ? "查询失败,详见日志文件" : threePartPayCallBack1.getErrMsg()); } @@ -324,14 +259,13 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //款员信息查询 Practitioner practitioner = practitionerService.getPractitionerByUserId(SecurityUtils.getLoginUser().getUserId()); - //C.根据不同的请求方式处理参数 //获取动态参数 Map paramMap = this.getParamMap(jsonObject, practitioner, threePartPayCallBack, paymentReconciliation, null, null); //执行请求 String requestResult = executeRequest(requestMethod, threePartUrl, staticParam, paramMap); - if(StringUtils.isEmpty(requestResult)){ + if (StringUtils.isEmpty(requestResult)) { throw new ServiceException("三方平台http失败!"); } @@ -341,11 +275,11 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { ThreePartPayCallBack threePartPayCallBack1 = JSON.parseObject(threePartMapping, ThreePartPayCallBack.class); threePartPayCallBackService.save(threePartPayCallBack1); - if(threePartPayCallBack1!=null&&threePartPayCallBack1.getPayResult()!=null&&"00".equals(threePartPayCallBack1.getPayResult())){ - return R.ok("成功退费"+new BigDecimal(threePartPayCallBack1.getTxnAmt()).divide(new BigDecimal("100"),2, RoundingMode.HALF_UP)+"元"); + if (threePartPayCallBack1 != null && threePartPayCallBack1.getPayResult() != null && "00".equals(threePartPayCallBack1.getPayResult())) { + return R.ok("成功退费" + new BigDecimal(threePartPayCallBack1.getTxnAmt()).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP) + "元"); } - return R.fail(threePartPayCallBack1==null?"退费失败,详见日志文件":threePartPayCallBack1.getErrMsg()); + return R.fail(threePartPayCallBack1 == null ? "退费失败,详见日志文件" : threePartPayCallBack1.getErrMsg()); } @@ -368,14 +302,13 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //款员信息查询 Practitioner practitioner = practitionerService.getPractitionerByUserId(SecurityUtils.getLoginUser().getUserId()); - //C.根据不同的请求方式处理参数 //获取动态参数 Map paramMap = this.getParamMap(jsonObject, practitioner, threePartPayCallBack, paymentReconciliation, null, null); //执行请求 String requestResult = executeRequest(requestMethod, threePartUrl, staticParam, paramMap); - if(StringUtils.isEmpty(requestResult)){ + if (StringUtils.isEmpty(requestResult)) { throw new ServiceException("三方平台http失败!"); } @@ -387,7 +320,7 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { ThreePartPayCallBack threePartPayCallBack1 = JSON.parseObject(threePartMapping, ThreePartPayCallBack.class); threePartPayCallBackService.save(threePartPayCallBack1); - if("00".equals(threePartPayCallBack1.getPayResult())){ + if ("00".equals(threePartPayCallBack1.getPayResult())) { return R.ok(); } @@ -408,20 +341,18 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //B.基础信息查询 //PaymentReconciliation paymentReconciliation = paymentReconciliationService.getById(paymentId); - ThreePartPayCallBack threePartPayCallBack = threePartPayCallBackService.getById(id); //款员信息查询 Practitioner practitioner = practitionerService.getPractitionerByUserId(SecurityUtils.getLoginUser().getUserId()); - //C.根据不同的请求方式处理参数 //获取动态参数 Map paramMap = this.getParamMap(jsonObject, practitioner, threePartPayCallBack, null, null, null); //执行请求 String requestResult = executeRequest(requestMethod, threePartUrl, staticParam, paramMap); - if(StringUtils.isEmpty(requestResult)){ + if (StringUtils.isEmpty(requestResult)) { throw new ServiceException("三方平台http失败!"); } @@ -431,11 +362,11 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { //threePartPayCallBackService.save(JSON.parseObject(threePartMapping,ThreePartPayCallBack.class)); ThreePartPayCallBack threePartPayCallBack1 = JSON.parseObject(threePartMapping, ThreePartPayCallBack.class); - if(threePartPayCallBack1!=null&&threePartPayCallBack1.getPayResult()!=null&&"00".equals(threePartPayCallBack1.getPayResult())){ - return R.ok("成功退费:"+new BigDecimal(threePartPayCallBack1.getTxnAmt()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP)+"元"); + if (threePartPayCallBack1 != null && threePartPayCallBack1.getPayResult() != null && "00".equals(threePartPayCallBack1.getPayResult())) { + return R.ok("成功退费:" + new BigDecimal(threePartPayCallBack1.getTxnAmt()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP) + "元"); } - return R.ok(threePartPayCallBack1==null?"退费失败详见日志!":threePartPayCallBack1.getErrMsg()); + return R.ok(threePartPayCallBack1 == null ? "退费失败详见日志!" : threePartPayCallBack1.getErrMsg()); } @Override @@ -446,20 +377,20 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.PaymentNo)), request); - IPage ThreePartCallBackVoIPage = - paymentMapper.getThreePartCallBackVoPage(new Page<>(pageNo, pageSize), queryWrapper); + IPage ThreePartCallBackVoIPage + = paymentMapper.getThreePartCallBackVoPage(new Page<>(pageNo, pageSize), queryWrapper); - ThreePartCallBackVoIPage.getRecords().forEach(e->{ + ThreePartCallBackVoIPage.getRecords().forEach(e -> { e.setIdStr(e.getId().toString()); //e.setPaymentIdStr(e.getPaymentId()==null?null:e.getPaymentId().toString()); }); return R.ok(ThreePartCallBackVoIPage); } ->>>>>>> v1.3 /** * 拼接参数 + * * @param jsonObject 配置信息 * @param practitioner 款员信息 * @param threePartPayCallBack 原订单 @@ -467,92 +398,94 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { * @param txtCode 支付码 * @return */ - private Map getParamMap(JSONObject jsonObject,Practitioner practitioner, ThreePartPayCallBack threePartPayCallBack,PaymentReconciliation paymentReconciliation,String amountResult,String txtCode){ + private Map getParamMap(JSONObject jsonObject, Practitioner practitioner, ThreePartPayCallBack threePartPayCallBack, PaymentReconciliation paymentReconciliation, String amountResult, String txtCode) { Map paramMap = new HashMap<>(); //款员信息 - if(practitioner!=null){ + if (practitioner != null) { String posNoKey = jsonObject.getString("posNo");//pos机编码 - if(posNoKey!=null){ - paramMap.put(posNoKey,practitioner.getPosNo()); + if (posNoKey != null) { + paramMap.put(posNoKey, practitioner.getPosNo()); } String userIdKey = jsonObject.getString("userId"); - if(userIdKey!=null){ - paramMap.put(userIdKey,practitioner.getId().toString()); + if (userIdKey != null) { + paramMap.put(userIdKey, practitioner.getId().toString()); } String userNameKey = jsonObject.getString("userName"); - if(userNameKey!=null){ - paramMap.put(userNameKey,practitioner.getName()); + if (userNameKey != null) { + paramMap.put(userNameKey, practitioner.getName()); } } //原账单信息 - if(threePartPayCallBack!=null){ + if (threePartPayCallBack != null) { String bankOrderIdKey = jsonObject.getString("bankOrderId"); - if(bankOrderIdKey!=null){ - paramMap.put(bankOrderIdKey,threePartPayCallBack.getTradeNo());//银行订单号 + if (bankOrderIdKey != null) { + paramMap.put(bankOrderIdKey, threePartPayCallBack.getTradeNo());//银行订单号 } String payWayOrderIdKey = jsonObject.getString("payWayOrderId"); - if(payWayOrderIdKey!=null){ - paramMap.put(payWayOrderIdKey,threePartPayCallBack.getTransNo());//支付渠道订单号 + if (payWayOrderIdKey != null) { + paramMap.put(payWayOrderIdKey, threePartPayCallBack.getTransNo());//支付渠道订单号 } String tranTypeKey = jsonObject.getString("tranType"); - if(tranTypeKey!=null){ - paramMap.put(tranTypeKey,threePartPayCallBack.getTranType());//交易类型 + if (tranTypeKey != null) { + paramMap.put(tranTypeKey, threePartPayCallBack.getTranType());//交易类型 } String payTypeKey = jsonObject.getString("payType"); - if(payTypeKey!=null){ - paramMap.put(payTypeKey,threePartPayCallBack.getPayType());//支付方式 + if (payTypeKey != null) { + paramMap.put(payTypeKey, threePartPayCallBack.getPayType());//支付方式 } String traceNoKey = jsonObject.getString("traceNo"); - if(payWayOrderIdKey!=null){ - paramMap.put(traceNoKey,threePartPayCallBack.getTraceNo());//终端流水号 + if (payWayOrderIdKey != null) { + paramMap.put(traceNoKey, threePartPayCallBack.getTraceNo());//终端流水号 } String txnTimeKey = jsonObject.getString("txnTime"); - if(payWayOrderIdKey!=null){ - paramMap.put(txnTimeKey,threePartPayCallBack.getTxnTime());//交易时间 + if (payWayOrderIdKey != null) { + paramMap.put(txnTimeKey, threePartPayCallBack.getTxnTime());//交易时间 } String merTradeNoKey = jsonObject.getString("merTradeNo"); - if(payWayOrderIdKey!=null){ - paramMap.put(merTradeNoKey,threePartPayCallBack.getMerTradeNo());//商户系统订单号 + if (payWayOrderIdKey != null) { + paramMap.put(merTradeNoKey, threePartPayCallBack.getMerTradeNo());//商户系统订单号 } -<<<<<<< HEAD -======= String tradeNoKey = jsonObject.getString("tradeNo"); - if(tradeNoKey!=null){ - paramMap.put(tradeNoKey,threePartPayCallBack.getTradeNo());//商户系统订单号 + if (tradeNoKey != null) { + paramMap.put(tradeNoKey, threePartPayCallBack.getTradeNo());//商户系统订单号 } String txnAmtKey = jsonObject.getString("txnAmt"); - if(txnAmtKey!=null){ - paramMap.put(txnAmtKey,threePartPayCallBack.getTxnAmt());//金额 + if (txnAmtKey != null) { + paramMap.put(txnAmtKey, threePartPayCallBack.getTxnAmt());//金额 } ->>>>>>> v1.3 } - if(paymentReconciliation!=null){ + if (paymentReconciliation != null) { String paymentIdKey = jsonObject.getString("paymentId"); - if(paymentIdKey!=null){ - paramMap.put(paymentIdKey,paymentReconciliation.getId().toString());//his系统订单号 + if (paymentIdKey != null) { + paramMap.put(paymentIdKey, paymentReconciliation.getId().toString());//his系统订单号 } } String amountResultKey = jsonObject.getString("amountResult"); String txtCodeKey = jsonObject.getString("txtCode"); - if(amountResult!=null){ - paramMap.put(amountResultKey,amountResult);//金额 + if (amountResult != null) { + paramMap.put(amountResultKey, amountResult);//金额 } - if(txtCode!=null){ - paramMap.put(txtCodeKey,txtCode);//扫码 + if (txtCode != null) { + paramMap.put(txtCodeKey, txtCode);//扫码 } return paramMap; } + /** * 安全替换,避免空指针 */ private String renderTemplateSafe(String template, Map params) { - if (template == null) return ""; - if (params == null) params = new HashMap<>(); + if (template == null) { + return ""; + } + if (params == null) { + params = new HashMap<>(); + } String result = template; for (Map.Entry entry : params.entrySet()) { @@ -566,55 +499,53 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { } /** -<<<<<<< HEAD -======= * 执行请求 + * * @param method 请求类型 * @param threePartUrl 路径参数 * @param staticParam 静态参数 * @param map 可变参数 * @return */ - private String executeRequest(String method,String threePartUrl,String staticParam,Map map){ + private String executeRequest(String method, String threePartUrl, String staticParam, Map map) { String requestResult = ""; - if(CommonConstants.Common.REQUEST_MAPPING_METHOD_GET.equals(method)){ + if (CommonConstants.Common.REQUEST_MAPPING_METHOD_GET.equals(method)) { //获取完整url String url = renderTemplateSafe(threePartUrl, map); - System.out.println("三方支付请求入参:"+url); - logger.info("三方支付请求入参:"+url); + System.out.println("三方支付请求入参:" + url); + logger.info("三方支付请求入参:" + url); //发送请求 requestResult = httpGet(url); - }else if(CommonConstants.Common.REQUEST_MAPPING_METHOD_POST.equals(method)){ + } else if (CommonConstants.Common.REQUEST_MAPPING_METHOD_POST.equals(method)) { JSONObject data = new JSONObject(); for (Map.Entry stringStringEntry : map.entrySet()) { - data.put(stringStringEntry.getKey(),stringStringEntry.getValue()); + data.put(stringStringEntry.getKey(), stringStringEntry.getValue()); } - if(staticParam!=null&& !StringUtils.isEmpty(staticParam)){ + if (staticParam != null && !StringUtils.isEmpty(staticParam)) { JSONObject staticDta = JSON.parseObject(staticParam); data.putAll(staticDta); } - System.out.println("三方支付请求入参:"+data.toJSONString()); - logger.info("三方支付请求入参:"+data.toJSONString()); + System.out.println("三方支付请求入参:" + data.toJSONString()); + logger.info("三方支付请求入参:" + data.toJSONString()); - requestResult = httpPost(threePartUrl,data.toJSONString()); + requestResult = httpPost(threePartUrl, data.toJSONString()); } - System.out.println("三方支付请求出参:"+requestResult); - logger.info("三方支付请求出参:"+requestResult); + System.out.println("三方支付请求出参:" + requestResult); + logger.info("三方支付请求出参:" + requestResult); return requestResult; } /** ->>>>>>> v1.3 * 发送http请求(2025/05/02经测试,若以自带的工具类发送请求失败,故使用原peis系统中成功调用的写法重新封装) * * @param url 路径 @@ -632,10 +563,7 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { HttpGet httpGet = new HttpGet(url); // 执行http请求 response = httpClient.execute(httpGet); -<<<<<<< HEAD -======= - System.out.println("回复信息:"+JSON.toJSONString(response)); ->>>>>>> v1.3 + System.out.println("回复信息:" + JSON.toJSONString(response)); resultString = EntityUtils.toString(response.getEntity(), "utf-8"); } catch (Exception e) { e.printStackTrace(); @@ -649,8 +577,6 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { } return resultString; } -<<<<<<< HEAD -======= /** * 发送http请求(2025/05/02经测试,若以自带的工具类发送请求失败,故使用原peis系统中成功调用的写法重新封装) @@ -691,9 +617,6 @@ public class ThreePartPayServiceImpl implements ThreePartPayService { @Override public R payForNenu(ThreePartPayDto threePartPayDto) { - - return null; } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartSimpleFieldMappingService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartSimpleFieldMappingService.java index 2aa3eb28..d0bbc136 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartSimpleFieldMappingService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/appservice/impl/ThreePartSimpleFieldMappingService.java @@ -1,6 +1,5 @@ package com.openhis.web.paymentmanage.appservice.impl; - import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.openhis.web.paymentmanage.util.ReverseMappingProperties; @@ -16,17 +15,11 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; - @Service -<<<<<<< HEAD -@ConfigurationProperties(prefix = "threepart.mapping") -======= ->>>>>>> v1.3 @Data @Slf4j public class ThreePartSimpleFieldMappingService { - @Autowired private ReverseMappingProperties properties; @@ -38,11 +31,7 @@ public class ThreePartSimpleFieldMappingService { public String reverseMap(String businessType, String sourceJson) { try { // 1. 获取映射配置 -<<<<<<< HEAD - Map mappingConfig = properties.getMappingConfig(businessType); -======= Map mappingConfig = properties.getReverseMappings().get(businessType); ->>>>>>> v1.3 if (mappingConfig.isEmpty()) { log.warn("未找到业务类型[{}]的映射配置", businessType); return sourceJson; // 返回原JSON @@ -50,14 +39,12 @@ public class ThreePartSimpleFieldMappingService { // 2. 解析源JSON Map sourceMap; -<<<<<<< HEAD -======= // 修复BOM问题 if (sourceJson.startsWith("\uFEFF")) { sourceJson = sourceJson.substring(1); } ->>>>>>> v1.3 - sourceMap = objectMapper.readValue(sourceJson, new TypeReference>(){}); + sourceMap = objectMapper.readValue(sourceJson, new TypeReference>() { + }); // 3. 执行反向映射 Map resultMap = reverseMap(mappingConfig, sourceMap); @@ -83,7 +70,7 @@ public class ThreePartSimpleFieldMappingService { * 核心映射逻辑 */ private Map reverseMap(Map mappingConfig, - Map sourceMap) { + Map sourceMap) { Map resultMap = new HashMap<>(); for (Map.Entry entry : sourceMap.entrySet()) { @@ -111,7 +98,7 @@ public class ThreePartSimpleFieldMappingService { * 批量处理 */ public List> reverseMapBatch(String businessType, - List> sourceList) { + List> sourceList) { return sourceList.stream() .map(source -> reverseMap(businessType, source)) .collect(Collectors.toList()); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/PaymentReconciliationController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/PaymentReconciliationController.java index 8051cf86..95c7d7fc 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/PaymentReconciliationController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/PaymentReconciliationController.java @@ -85,7 +85,7 @@ public class PaymentReconciliationController { if (result.getCode() == 200) { PaymentReconciliation paymentRecon = null; if (PaymentReconciliation.class.isAssignableFrom(result.getData().getClass())) { - paymentRecon = (PaymentReconciliation)result.getData(); + paymentRecon = (PaymentReconciliation) result.getData(); } Map detail = iChargeBillService.getDetail(paymentRecon.getId()); if ("0".equals(TenantOptionUtil.getOptionContent(TenantOptionDict.INVOICE_SWITCH))) { @@ -115,13 +115,13 @@ public class PaymentReconciliationController { if (result.getCode() == 200) { PaymentReconciliation paymentRecon = null; if (PaymentReconciliation.class.isAssignableFrom(result.getData().getClass())) { - paymentRecon = (PaymentReconciliation)result.getData(); + paymentRecon = (PaymentReconciliation) result.getData(); } if ("0".equals(TenantOptionUtil.getOptionContent(TenantOptionDict.INVOICE_SWITCH))) { return result; } else { - R eleResult = - eleInvoiceService.invoiceWriteoff(paymentRecon.getRelationId(), cancelPaymentDto.getReason()); + R eleResult + = eleInvoiceService.invoiceWriteoff(paymentRecon.getRelationId(), cancelPaymentDto.getReason()); if (eleResult.getCode() != 200) { // 因取消付款成功前端需要关闭弹窗,此处信息仅用于提示所以返回ok return R.ok(null, " 取消付款成功,电子发票开具失败 :" + eleResult.getMsg()); @@ -143,10 +143,10 @@ public class PaymentReconciliationController { */ @GetMapping("/page") public R paymentPage(@RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "kinsEnum", defaultValue = "") Integer kinsEnum, - @RequestParam(value = "invoiceNo", defaultValue = "") String invoiceNo, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + @RequestParam(value = "kinsEnum", defaultValue = "") Integer kinsEnum, + @RequestParam(value = "invoiceNo", defaultValue = "") String invoiceNo, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { return R.ok(paymentReconciliationService.getPage(searchKey, kinsEnum, invoiceNo, pageNo, pageSize, request)); } @@ -179,14 +179,14 @@ public class PaymentReconciliationController { * @return 操做结果 */ @PostMapping("/reg-pay") - public R regPay(@Valid @RequestBody OutpatientRegistrationSettleParam outpatientRegistrationAddParam){ + public R regPay(@Valid @RequestBody OutpatientRegistrationSettleParam outpatientRegistrationAddParam) { R result = paymentReconciliationService.regPay(outpatientRegistrationAddParam, - outpatientRegistrationAddParam.getChrgBchno(), outpatientRegistrationAddParam.getPaymentDetails()); + outpatientRegistrationAddParam.getChrgBchno(), outpatientRegistrationAddParam.getPaymentDetails()); // 付款成功后,开具发票 if (result.getCode() == 200) { PaymentReconciliation paymentRecon = null; if (PaymentReconciliation.class.isAssignableFrom(result.getData().getClass())) { - paymentRecon = (PaymentReconciliation)result.getData(); + paymentRecon = (PaymentReconciliation) result.getData(); } Map detail = iChargeBillService.getDetail(paymentRecon.getId()); Long encounterId = paymentRecon.getEncounterId(); @@ -228,7 +228,7 @@ public class PaymentReconciliationController { if (r.getCode() == 200) { PaymentReconciliation paymentRecon = null; if (PaymentReconciliation.class.isAssignableFrom(r.getData().getClass())) { - paymentRecon = (PaymentReconciliation)r.getData(); + paymentRecon = (PaymentReconciliation) r.getData(); } Long encounterId = paymentRecon.getEncounterId(); R eleResult = eleInvoiceService.invoiceZYMake(paymentRecon.getId(), encounterId); @@ -255,10 +255,10 @@ public class PaymentReconciliationController { if (r.getCode() == 200) { PaymentReconciliation paymentRecon = null; if (PaymentReconciliation.class.isAssignableFrom(r.getData().getClass())) { - paymentRecon = (PaymentReconciliation)r.getData(); + paymentRecon = (PaymentReconciliation) r.getData(); } - R eleResult = - eleInvoiceService.invoiceWriteoff(paymentRecon.getRelationId(), cancelPaymentInpatientDto.getReason()); + R eleResult + = eleInvoiceService.invoiceWriteoff(paymentRecon.getRelationId(), cancelPaymentInpatientDto.getReason()); if (eleResult.getCode() != 200) { // 因取消付款成功前端需要关闭弹窗,此处信息仅用于提示所以返回ok return R.ok(null, " 取消付款成功,电子发票开具失败 :" + eleResult.getMsg()); @@ -277,8 +277,6 @@ public class PaymentReconciliationController { public R nenuBpcPay(@RequestBody NenuBpcPayDto nenuBpcPayDto) { return R.ok(paymentReconciliationService.nenuBpcPay(nenuBpcPayDto)); } -<<<<<<< HEAD -======= /** * 退号查询 @@ -287,8 +285,7 @@ public class PaymentReconciliationController { * @return 操作结果 */ @GetMapping("/pre-cancel-reg") - public R cancelPreReg(@RequestParam(name = "encounterId" ) Long encounterId) { + public R cancelPreReg(@RequestParam(name = "encounterId") Long encounterId) { return R.ok(paymentReconciliationService.cancelPreReg(encounterId)); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/ThreePartPayController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/ThreePartPayController.java index 8600e500..0de64722 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/ThreePartPayController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/controller/ThreePartPayController.java @@ -20,17 +20,9 @@ import com.openhis.yb.dto.ThreePartPayDto; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -<<<<<<< HEAD -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -======= import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; ->>>>>>> v1.3 import java.math.BigDecimal; import java.security.Security; import java.util.HashMap; @@ -53,96 +45,95 @@ public class ThreePartPayController { /** * 扫码付款 + * * @return */ -<<<<<<< HEAD -======= @PostMapping("/sign") - public R sign(){ + public R sign() { return threePartPayService.sign(); } /** * 扫码付款 + * * @return */ @PostMapping("/sign-out") - public R signOut(){ + public R signOut() { return threePartPayService.signOut(); } /** * 扫码付款 + * * @return */ ->>>>>>> v1.3 @PostMapping("/pay-for") - public R payFor(@RequestBody ThreePartPayDto threePartPayDto){ + public R payFor(@RequestBody ThreePartPayDto threePartPayDto) { return threePartPayService.payFor(threePartPayDto); } -<<<<<<< HEAD -======= /** * 扫码付款(师大) + * * @return */ @PostMapping("/pay-for-nenu") - public R payForNenu(@RequestBody ThreePartPayDto threePartPayDto){ + public R payForNenu(@RequestBody ThreePartPayDto threePartPayDto) { return threePartPayService.payForNenu(threePartPayDto); } - - /** * 扫码付款结果查询(预结算窗口) + * * @return */ @GetMapping("/pay-query") - public R payQuery(@RequestParam("paymentId") Long paymentId){ + public R payQuery(@RequestParam("paymentId") Long paymentId) { return threePartPayService.payQuery(paymentId); //return threePartPayService.returnQuery(threePartPayDto.getId()); } - /** * 当天退费 + * * @return */ @GetMapping("/return-bill") - public R returnBill(@RequestParam("paymentId") Long paymentId){ + public R returnBill(@RequestParam("paymentId") Long paymentId) { return threePartPayService.returnBill(paymentId); } /** * 隔天退费 + * * @return */ @GetMapping("/return-goods") - public R returnGoods(@RequestParam("paymentId") Long paymentId){ + public R returnGoods(@RequestParam("paymentId") Long paymentId) { return threePartPayService.returnGoods(paymentId); } /** * 退费结果查询 + * * @return */ @GetMapping("/return-query") - public R returnQuery(@RequestParam("id") Long id){ + public R returnQuery(@RequestParam("id") Long id) { return threePartPayService.returnQuery(id); } /** * 网银支付参数 + * * @return */ @GetMapping("/page") public R page(@RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request){ - return threePartPayService.getPage(searchKey,pageNo,pageSize,request); + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + return threePartPayService.getPage(searchKey, pageNo, pageSize, request); } ->>>>>>> v1.3 - } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/util/ReverseMappingProperties.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/util/ReverseMappingProperties.java index 883d605f..d4c8de16 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/util/ReverseMappingProperties.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/paymentmanage/util/ReverseMappingProperties.java @@ -8,11 +8,7 @@ import java.util.HashMap; import java.util.Map; @Configuration -<<<<<<< HEAD -@ConfigurationProperties(prefix = "threepaymapping") -======= @ConfigurationProperties(prefix = "mapping.reverse-mappings") ->>>>>>> v1.3 @Data public class ReverseMappingProperties { @@ -31,4 +27,4 @@ public class ReverseMappingProperties { public Map> getAllMappings() { return reverseMappings; } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/ISummaryDispenseMedicineAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/ISummaryDispenseMedicineAppService.java index 969d4c49..1133a46f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/ISummaryDispenseMedicineAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/ISummaryDispenseMedicineAppService.java @@ -2,16 +2,7 @@ package com.openhis.web.pharmacymanage.appservice; import java.util.List; -<<<<<<< HEAD -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import com.core.common.core.domain.R; -import com.openhis.web.inhospitalnursestation.dto.AdmissionPageParam; -import com.openhis.web.pharmacymanage.dto.*; -======= -import com.core.common.core.domain.R; ->>>>>>> v1.3 /** * 住院汇总发药 应用实现接口 @@ -24,98 +15,14 @@ public interface ISummaryDispenseMedicineAppService { /** * 汇总发药 * -<<<<<<< HEAD - * @return 初始化信息 - */ - R init(); - - /** - * 分页查询住院病人列表 - * - * @param admissionPageParam 查询条件 - * @param startTime 开始时间 - * @param endTime 结束时间 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - * @return 病人列表 - */ - R getEncounterInfoListPage(AdmissionPageParam admissionPageParam, String startTime, String endTime, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); - - - void makeExcelFile(MedicineSummarySearchParam searchParam, Integer pageNo, - Integer pageSize, String searchKey, - HttpServletRequest request, HttpServletResponse response); - - /** - * 住院汇总药品 - * - * @param searchParam 查询信息 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @return 药品汇总 - */ - R getSummaryMedicationInfo(MedicineSummarySearchParam searchParam, Integer pageNo, Integer pageSize); - - /** - * 住院汇总发药单 - * - * @param searchParam 查询信息 - * @param startTime 开始时间 - * @param endTime 结束时间 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - * @return 药品汇总 - */ - R getSummaryFromInfo(FromSummarySearchParam searchParam, String startTime, String endTime, String searchKey, - Integer pageNo, Integer pageSize, HttpServletRequest request); - - /** - * 住院药品汇总发药单详细 - * - * @param searchParam 查询条件 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - */ - R getOrderInfo(FromSearchParam searchParam, String searchKey, Integer pageNo, Integer pageSize, - HttpServletRequest request); - - /** - * 处方单核对发药 - * - * @param dispenseMedicineList 发药信息 - * @return 处理结果 - */ - R SummaryDispenseMedicine(List dispenseMedicineList); -======= * @param summaryNoList 汇总单列表 * @return 处理结果 */ R SummaryDispenseMedicine(List summaryNoList); ->>>>>>> v1.3 /** * 作废 * -<<<<<<< HEAD - * @param dispenseMedicineList 作废信息 - * @return 处理结果 - */ - R dispenseCancel(List dispenseMedicineList); - - /** - * 退药处理 - * - * @param dispenseMedicineList 退药清单 - * @return 处理结果 - */ - R medicineReturn(List dispenseMedicineList); -======= * @param summaryNoList 汇总单列表 * @return 处理结果 */ @@ -144,10 +51,4 @@ public interface ISummaryDispenseMedicineAppService { // */ // void takeExcelField(FromSearchParam searchParam, String searchKey, Integer pageNo, Integer pageSize, // HttpServletRequest request, HttpServletResponse response); ->>>>>>> v1.3 - } - - - - diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicalDeviceDispenseAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicalDeviceDispenseAppServiceImpl.java index 0cc10a66..3aca632a 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicalDeviceDispenseAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicalDeviceDispenseAppServiceImpl.java @@ -95,35 +95,35 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen DispenseInitDto initDto = new DispenseInitDto(); // 获取科室下拉选列表 - List organizationList = - organizationService.getList(OrganizationType.DEPARTMENT.getValue(), OrganizationClass.CLINIC.getValue()); + List organizationList + = organizationService.getList(OrganizationType.DEPARTMENT.getValue(), OrganizationClass.CLINIC.getValue()); List organizationOptions = organizationList.stream() - .map(organization -> new DispenseInitDto.DepartmentOption(organization.getId(), organization.getName())) - .collect(Collectors.toList()); + .map(organization -> new DispenseInitDto.DepartmentOption(organization.getId(), organization.getName())) + .collect(Collectors.toList()); // 获取配药人下拉选列表 - List preparerDoctorList = - medicalDeviceDispenseMapper.getPreparerDoctorList(PractitionerRoles.PHARMACIST.getCode()); + List preparerDoctorList + = medicalDeviceDispenseMapper.getPreparerDoctorList(PractitionerRoles.PHARMACIST.getCode()); List preparerDoctorOptions = preparerDoctorList.stream() - .map(practitioner -> new DispenseInitDto.PreparerDoctorOption(practitioner.getId(), practitioner.getName())) - .collect(Collectors.toList()); + .map(practitioner -> new DispenseInitDto.PreparerDoctorOption(practitioner.getId(), practitioner.getName())) + .collect(Collectors.toList()); // 未发药原因下拉选列表 - List notPerformedReasonOptions = - Stream.of(NotPerformedReasonEnum.values()) - .map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(), - notPerformedReason.getInfo())) - .collect(Collectors.toList()); + List notPerformedReasonOptions + = Stream.of(NotPerformedReasonEnum.values()) + .map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(), + notPerformedReason.getInfo())) + .collect(Collectors.toList()); // 发药状态 List dispenseStatusOptions = new ArrayList<>(); dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.IN_PROGRESS.getValue(), - DispenseStatus.IN_PROGRESS.getInfo())); + DispenseStatus.IN_PROGRESS.getInfo())); dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), - DispenseStatus.COMPLETED.getInfo())); + DispenseStatus.COMPLETED.getInfo())); initDto.setDepartmentOptions(organizationOptions).setNotPerformedReasonOptions(notPerformedReasonOptions) - .setDispenseStatusOptions(dispenseStatusOptions).setPreparerDoctorOptions(preparerDoctorOptions); + .setDispenseStatusOptions(dispenseStatusOptions).setPreparerDoctorOptions(preparerDoctorOptions); return R.ok(initDto); } @@ -139,28 +139,28 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen */ @Override public R getEncounterInfoListPage(EncounterInfoSearchParam encounterInfoSearchParam, String searchKey, - Integer pageNo, Integer pageSize, HttpServletRequest request) { + Integer pageNo, Integer pageSize, HttpServletRequest request) { // 发药状态初始化 Integer statusEnum = encounterInfoSearchParam.getStatusEnum(); encounterInfoSearchParam.setStatusEnum(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(encounterInfoSearchParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.IdCard, - CommonConstants.FieldName.PatientPyStr, CommonConstants.FieldName.PatientWbStr)), - request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(encounterInfoSearchParam, searchKey, + new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.IdCard, + CommonConstants.FieldName.PatientPyStr, CommonConstants.FieldName.PatientWbStr)), + request); // 查询就诊病人列表 - Page encounterInfoPage = - medicalDeviceDispenseMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper, - statusEnum, DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), - DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue()); + Page encounterInfoPage + = medicalDeviceDispenseMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper, + statusEnum, DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), + DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue()); encounterInfoPage.getRecords().forEach(encounterInfo -> { // 性别 encounterInfo.setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, encounterInfo.getGenderEnum())); + EnumUtils.getInfoByValue(AdministrativeGender.class, encounterInfo.getGenderEnum())); // 发药状态 encounterInfo - .setStatusEnum_enumText(EnumUtils.getInfoByValue(DispenseStatus.class, encounterInfo.getStatusEnum())); + .setStatusEnum_enumText(EnumUtils.getInfoByValue(DispenseStatus.class, encounterInfo.getStatusEnum())); if (encounterInfo.getBirthDate() != null) { // 计算年龄 encounterInfo.setAge(AgeCalculatorUtil.getAge(encounterInfo.getBirthDate())); @@ -179,22 +179,22 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen */ @Override public R getDeviceDispenseOrderList(ItemDispenseOrderDto itemDispenseOrderDto, Integer pageNo, - Integer pageSize) { + Integer pageSize) { // 发药状态初始化 Integer dispenseStatus = itemDispenseOrderDto.getStatusEnum(); itemDispenseOrderDto.setStatusEnum(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(itemDispenseOrderDto, null, null, null); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(itemDispenseOrderDto, null, null, null); // 处方单信息查询 - Page deviceDispenseOrderPage = - medicalDeviceDispenseMapper.selectDeviceDispenseOrderPage(new Page<>(pageNo, pageSize), queryWrapper, - DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), - DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue(), dispenseStatus); + Page deviceDispenseOrderPage + = medicalDeviceDispenseMapper.selectDeviceDispenseOrderPage(new Page<>(pageNo, pageSize), queryWrapper, + DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), + DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue(), dispenseStatus); deviceDispenseOrderPage.getRecords().forEach(deviceDispenseOrder -> { // 发药状态 deviceDispenseOrder.setStatusEnum_enumText( - EnumUtils.getInfoByValue(DispenseStatus.class, deviceDispenseOrder.getStatusEnum())); + EnumUtils.getInfoByValue(DispenseStatus.class, deviceDispenseOrder.getStatusEnum())); // 设置所在表名 deviceDispenseOrder.setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION); }); @@ -211,59 +211,17 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen public R deviceDispense(List dispenseDeviceList) { // 配药人检查 if (dispenseDeviceList.get(0).getPreparerId() == null - || dispenseDeviceList.get(0).getPreparerId().equals(SecurityUtils.getLoginUser().getPractitionerId())) { + || dispenseDeviceList.get(0).getPreparerId().equals(SecurityUtils.getLoginUser().getPractitionerId())) { return R.fail("请选择调配药师"); } // 获取发药单id列表 - List devDispenseIdList = - dispenseDeviceList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); -<<<<<<< HEAD - // 获取库存信息 - List inventoryList = returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, null, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - // 按每个药品分组 - Map> groupedByItemId = - inventoryList.stream().collect(Collectors.groupingBy(UnDispenseInventoryDto::getItemId)); - // 遍历每个分组校验库存状态 - for (Map.Entry> entry : groupedByItemId.entrySet()) { - List groupItems = entry.getValue(); - if (groupItems.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { - // 库存停供校验 - return R.fail(groupItems.get(0).getItemName() + "库存已停供"); - } - } - if (!inventoryList.isEmpty()) { - for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { - if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum())) { - InventoryItem inventoryItem = new InventoryItem(); - // 库存数量判定 - if (unDispenseInventoryDto.getDispenseUnit().equals(unDispenseInventoryDto.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity().subtract(unDispenseInventoryDto.getQuantity()); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity() - .subtract(unDispenseInventoryDto.getPartPercent().multiply(unDispenseInventoryDto.getQuantity())); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); -======= + List devDispenseIdList + = dispenseDeviceList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); // 获取耗材待发放库存信息 - List unDispenseInventoryList = - returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, null, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); + List unDispenseInventoryList + = returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, null, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); if (unDispenseInventoryList == null || unDispenseInventoryList.isEmpty()) { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } @@ -271,15 +229,15 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen // 库存待更新列表 List inventoryItemList = new ArrayList<>(); // 根据批号,发放项目,发放药房进行分组处理 - Map> unDispenseInventoryMap = - unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + Map> unDispenseInventoryMap + = unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLotNumber() + CommonConstants.Common.DASH + x.getLocationId())); if (!unDispenseInventoryMap.isEmpty()) { for (Map.Entry> entry : unDispenseInventoryMap.entrySet()) { List inventoryList = entry.getValue(); if (!inventoryList.isEmpty()) { if (inventoryList.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { + .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { // 停供库存校验 return R.fail(inventoryList.get(0).getItemName() + "库存已停供"); } @@ -292,17 +250,16 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { BigDecimal quantity = unDispenseInventoryDto.getQuantity(); if (!unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { + .equals(unDispenseInventoryDto.getInventoryUnitCode())) { // 转换为小单位进行累加 - quantity = - unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); + quantity + = unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); } minQuantity = minQuantity.add(quantity); if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum()) - && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { + && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { inventoryQuantity = unDispenseInventoryDto.getInventoryQuantity(); inventoryId = unDispenseInventoryDto.getInventoryId(); ->>>>>>> v1.3 } } if (minQuantity.compareTo(inventoryQuantity) > 0) { @@ -311,7 +268,7 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen } else { // 设置待更新的库存信息 inventoryItemList.add(new InventoryItem().setId(inventoryId) - .setQuantity(inventoryQuantity.subtract(minQuantity))); + .setQuantity(inventoryQuantity.subtract(minQuantity))); } } } @@ -319,14 +276,14 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen // 材料发放信息查询 List dispenseList = deviceDispenseService - .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); + .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); // 追溯码列表 List tracesNoManageList = new ArrayList<>(); TraceNoManage traceNoManage; List supplyItemDetailList = new ArrayList<>(); if (dispenseList != null) { if (dispenseList.stream().map(DeviceDispense::getStatusEnum) - .anyMatch(x -> !x.equals(DispenseStatus.PREPARATION.getValue()))) { + .anyMatch(x -> !x.equals(DispenseStatus.PREPARATION.getValue()))) { throw new ServiceException("耗材发放失败,请检查发耗材单状态"); } else { for (DeviceDispense deviceDispense : dispenseList) { @@ -344,13 +301,13 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen deviceDispense.setPreparerId(dispenseDeviceList.get(0).getPreparerId()); // 设置库存变更参数 supplyItemDetailList.add(new SupplyItemDetailDto().setItemId(deviceDispense.getDeviceDefId()) - .setLotNumber(deviceDispense.getLotNumber()) - .setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) - .setDispenseId(deviceDispense.getId())); + .setLotNumber(deviceDispense.getLotNumber()) + .setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setDispenseId(deviceDispense.getId())); if (deviceDispense.getTraceNo() == null) { // 根据数量设置追溯码 deviceDispense.setTraceNo(String.join(CommonConstants.Common.COMMA, Collections - .nCopies(deviceDispense.getQuantity().intValue(), CommonConstants.Common.DEV_TRACE_NO))); + .nCopies(deviceDispense.getQuantity().intValue(), CommonConstants.Common.DEV_TRACE_NO))); } else { // 使用逗号分割追溯码并转换为List String[] traceNoList = deviceDispense.getTraceNo().split(CommonConstants.Common.COMMA); @@ -358,22 +315,22 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen traceNoManage = new TraceNoManage(); // 追溯码处理 traceNoManage.setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) - // 项目id - .setItemId(deviceDispense.getDeviceDefId()) - // 仓库类型 - .setLocationTypeEnum(LocationForm.WAREHOUSE.getValue()) - // 仓库 - .setLocationId(deviceDispense.getLocationId()) - // 产品批号 - .setLotNumber(deviceDispense.getLotNumber()) - // 追溯码 - .setTraceNo(item) - // 追溯码状态 - .setStatusEnum(TraceNoStatus.OUT.getValue()) - // 追溯码单位 - .setUnitCode(deviceDispense.getUnitCode()) - // 操作类型 - .setOperationType(SupplyType.DISPENSE_MEDICATION.getValue()); + // 项目id + .setItemId(deviceDispense.getDeviceDefId()) + // 仓库类型 + .setLocationTypeEnum(LocationForm.WAREHOUSE.getValue()) + // 仓库 + .setLocationId(deviceDispense.getLocationId()) + // 产品批号 + .setLotNumber(deviceDispense.getLotNumber()) + // 追溯码 + .setTraceNo(item) + // 追溯码状态 + .setStatusEnum(TraceNoStatus.OUT.getValue()) + // 追溯码单位 + .setUnitCode(deviceDispense.getUnitCode()) + // 操作类型 + .setOperationType(SupplyType.DISPENSE_MEDICATION.getValue()); tracesNoManageList.add(traceNoManage); } } @@ -432,8 +389,8 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen @Override public R dispenseMedicalConsumables(List chargeItemIds) { // 查看所属医院 - String fixmedinsCode = - SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); + String fixmedinsCode + = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); if (!HospitalCodeEnum.CCU.getCode().equals(fixmedinsCode)) { return R.ok(); } @@ -443,59 +400,17 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen } // 获取发申请id列表 - List devRequestIdList = - chargeItemList.stream().map(ChargeItem::getServiceId).collect(Collectors.toList()); + List devRequestIdList + = chargeItemList.stream().map(ChargeItem::getServiceId).collect(Collectors.toList()); // 获取耗材发放id列表 List devDispenseIdList = deviceDispenseService - .list(new LambdaQueryWrapper().in(DeviceDispense::getDeviceReqId, devRequestIdList)) - .stream().map(DeviceDispense::getId).collect(Collectors.toList()); -<<<<<<< HEAD - // 获取库存信息 - List inventoryList = returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, null, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - // 按每个耗材分组 - Map> groupedByItemId = - inventoryList.stream().collect(Collectors.groupingBy(UnDispenseInventoryDto::getItemId)); - // 遍历每个分组校验库存状态 - for (Map.Entry> entry : groupedByItemId.entrySet()) { - List groupItems = entry.getValue(); - if (groupItems.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { - // 库存停供校验 - return R.fail(groupItems.get(0).getItemName() + "库存已停供"); - } - } - if (!inventoryList.isEmpty()) { - for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { - if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum())) { - InventoryItem inventoryItem = new InventoryItem(); - // 库存数量判定 - if (unDispenseInventoryDto.getDispenseUnit().equals(unDispenseInventoryDto.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity().subtract(unDispenseInventoryDto.getQuantity()); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity() - .subtract(unDispenseInventoryDto.getPartPercent().multiply(unDispenseInventoryDto.getQuantity())); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); -======= + .list(new LambdaQueryWrapper().in(DeviceDispense::getDeviceReqId, devRequestIdList)) + .stream().map(DeviceDispense::getId).collect(Collectors.toList()); // 获取耗材待发放库存信息 - List unDispenseInventoryList = - returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, null, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); + List unDispenseInventoryList + = returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, null, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); if (unDispenseInventoryList == null || unDispenseInventoryList.isEmpty()) { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } @@ -503,15 +418,15 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen // 库存待更新列表 List inventoryItemList = new ArrayList<>(); // 根据批号,发放项目,发放药房进行分组处理 - Map> unDispenseInventoryMap = - unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + Map> unDispenseInventoryMap + = unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLotNumber() + CommonConstants.Common.DASH + x.getLocationId())); if (!unDispenseInventoryMap.isEmpty()) { for (Map.Entry> entry : unDispenseInventoryMap.entrySet()) { List inventoryList = entry.getValue(); if (!inventoryList.isEmpty()) { if (inventoryList.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { + .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { // 停供库存校验 return R.fail(inventoryList.get(0).getItemName() + "库存已停供"); } @@ -524,17 +439,16 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { BigDecimal quantity = unDispenseInventoryDto.getQuantity(); if (!unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { + .equals(unDispenseInventoryDto.getInventoryUnitCode())) { // 转换为小单位进行累加 - quantity = - unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); + quantity + = unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); } minQuantity = minQuantity.add(quantity); if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum()) - && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { + && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { inventoryQuantity = unDispenseInventoryDto.getInventoryQuantity(); inventoryId = unDispenseInventoryDto.getInventoryId(); ->>>>>>> v1.3 } } if (minQuantity.compareTo(inventoryQuantity) > 0) { @@ -543,7 +457,7 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen } else { // 设置待更新的库存信息 inventoryItemList.add(new InventoryItem().setId(inventoryId) - .setQuantity(inventoryQuantity.subtract(minQuantity))); + .setQuantity(inventoryQuantity.subtract(minQuantity))); } } } @@ -551,11 +465,11 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen // 发耗材信息查询 List dispenseList = deviceDispenseService - .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); + .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); List supplyItemDetailList = new ArrayList<>(); if (dispenseList != null) { if (dispenseList.stream().map(DeviceDispense::getStatusEnum) - .anyMatch(x -> x.equals(DispenseStatus.COMPLETED.getValue()))) { + .anyMatch(x -> x.equals(DispenseStatus.COMPLETED.getValue()))) { throw new ServiceException("耗材已发放,请勿重复操作"); } else { for (DeviceDispense deviceDispense : dispenseList) { @@ -569,11 +483,11 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen deviceDispense.setPerformerId(CommonConstants.CCU.DisDeviceDoctor); // 根据数量设置追溯码 deviceDispense.setTraceNo(String.join(CommonConstants.Common.COMMA, Collections - .nCopies(deviceDispense.getQuantity().intValue(), CommonConstants.Common.DEV_TRACE_NO))); + .nCopies(deviceDispense.getQuantity().intValue(), CommonConstants.Common.DEV_TRACE_NO))); // 设置库存变更参数 supplyItemDetailList.add(new SupplyItemDetailDto().setItemId(deviceDispense.getDeviceDefId()) - .setLotNumber(deviceDispense.getLotNumber()) - .setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION)); + .setLotNumber(deviceDispense.getLotNumber()) + .setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION)); } // 药品发放更新 deviceDispenseService.updateBatchById(dispenseList); @@ -627,11 +541,11 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen @Override public R deviceCancel(List dispenseDeviceList) { // 获取发材料单id列表 - List devDispenseIdList = - dispenseDeviceList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); + List devDispenseIdList + = dispenseDeviceList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); // 材料发放信息查询 List dispenseList = deviceDispenseService - .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); + .list(new LambdaQueryWrapper().in(DeviceDispense::getId, devDispenseIdList)); if (dispenseList != null) { for (DeviceDispense medicationDispense : dispenseList) { // 材料发放状态 diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicationDetailsAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicationDetailsAppServiceImpl.java index 0f0f5df0..12833de6 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicationDetailsAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/MedicationDetailsAppServiceImpl.java @@ -1,10 +1,5 @@ package com.openhis.web.pharmacymanage.appservice.impl; -<<<<<<< HEAD -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.*; -======= import static com.openhis.common.constant.CommonConstants.ExcelOut.*; import static com.openhis.common.constant.CommonConstants.SheetName.SHEET_NAME_DRUG_DETAIL; @@ -13,18 +8,12 @@ import java.math.RoundingMode; import java.util.Arrays; import java.util.HashSet; import java.util.List; ->>>>>>> v1.3 import java.util.stream.Collectors; import java.util.stream.Stream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -<<<<<<< HEAD -import com.core.common.utils.poi.ExcelUtil; -import com.openhis.web.inventorymanage.dto.ReceiptPageDto; -======= ->>>>>>> v1.3 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,23 +21,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; import com.core.common.core.domain.entity.SysDictData; -<<<<<<< HEAD -======= import com.core.common.exception.NonCaptureException; import com.core.common.utils.StringUtils; import com.core.common.utils.poi.ExcelUtil; ->>>>>>> v1.3 import com.core.system.service.ISysDictTypeService; import com.openhis.administration.domain.Practitioner; import com.openhis.administration.service.IPractitionerService; import com.openhis.common.constant.CommonConstants; -<<<<<<< HEAD -import com.openhis.common.enums.DispenseStatus; -import com.openhis.common.enums.EncounterClass; -======= import com.openhis.common.enums.ConditionCode; import com.openhis.common.enums.DispenseStatus; ->>>>>>> v1.3 import com.openhis.common.enums.PublicationStatus; import com.openhis.common.enums.RequestStatus; import com.openhis.common.utils.HisQueryUtils; @@ -80,11 +61,6 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer /** * 获取页面初始化信息 */ - -<<<<<<< HEAD - -======= ->>>>>>> v1.3 @Override public R init() { @@ -95,13 +71,13 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer initDto.setPractitionerList(list); // 获取状态 List statusEnumOptions = Stream.of(PublicationStatus.values()) - .map(status -> new MedDetailsInitDto.statusEnumOption(status.getValue(), status.getInfo())) - .collect(Collectors.toList()); + .map(status -> new MedDetailsInitDto.statusEnumOption(status.getValue(), status.getInfo())) + .collect(Collectors.toList()); // 结算状态 initDto.setStatusSettlementOptions(statusEnumOptions) - // 出院状态 - .setStatusDischargeOptions(statusEnumOptions); + // 出院状态 + .setStatusDischargeOptions(statusEnumOptions); return R.ok(initDto); @@ -119,7 +95,7 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer */ @Override public R getAmbPractitionerDetailPage(MedDetailsSearchParam medDetailsSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageSize, String searchKey, HttpServletRequest request) { // 1:住院 2:门诊 Integer flg = medDetailsSearchParam.getFlag(); medDetailsSearchParam.setFlag(null); @@ -132,21 +108,13 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer medDetailsSearchParam.setInventoryScope(null); // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(medDetailsSearchParam, - searchKey, new HashSet<>(Arrays.asList("patient_name", "medication_name", "bus_no", "py_str")), request); + searchKey, new HashSet<>(Arrays.asList("patient_name", "medication_name", "bus_no", "py_str")), request); -<<<<<<< HEAD - Page medDetailsPage = - medicationDetailsMapper.selectAmbPractitionerDetailPage(new Page<>(pageNo, pageSize), queryWrapper, - EncounterClass.AMB.getValue(), DispenseStatus.COMPLETED.getValue(), RequestStatus.COMPLETED.getValue(), - DispenseStatus.REFUNDED.getValue(), 1, flg, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); -======= Page medDetailsPage = medicationDetailsMapper.selectAmbPractitionerDetailPage( - new Page<>(pageNo, pageSize), queryWrapper, DispenseStatus.COMPLETED.getValue(), - RequestStatus.COMPLETED.getValue(), DispenseStatus.REFUNDED.getValue(), statisticalType, flg, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - ConditionCode.LOT_NUMBER_COST.getCode()); ->>>>>>> v1.3 + new Page<>(pageNo, pageSize), queryWrapper, DispenseStatus.COMPLETED.getValue(), + RequestStatus.COMPLETED.getValue(), DispenseStatus.REFUNDED.getValue(), statisticalType, flg, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, + ConditionCode.LOT_NUMBER_COST.getCode()); return R.ok(medDetailsPage); @@ -165,28 +133,12 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer */ @Override public void makeExcelFile(MedDetailsSearchParam medDetailsSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletResponse response, HttpServletRequest request) { + String searchKey, HttpServletResponse response, HttpServletRequest request) { R result = this.getAmbPractitionerDetailPage(medDetailsSearchParam, 1, 10000, searchKey, request); if (result != null && result.getData() != null) { // 先获取Page对象,再获取其中的记录列表 - Page pageData = (Page)result.getData(); + Page pageData = (Page) result.getData(); List dataList = pageData.getRecords(); -<<<<<<< HEAD - - // 获取字典数据 - for (MedDetailedAccountPageDto medDetailedAccountPageDto : dataList) { - String unitCode = medDetailedAccountPageDto.getUnitCode(); - // 添加空值检查 - if (unitCode != null && sysDictTypeService != null) { - // 缓存字典数据,避免重复查询 - List unitCodelist = sysDictTypeService.selectDictDataByType("unit_code"); - if (unitCodelist != null) { - for (SysDictData dictData : unitCodelist) { - if (dictData != null && dictData.getDictValue() != null - && dictData.getDictValue().equals(unitCode)) { - medDetailedAccountPageDto.setUnitCode_dictText(dictData.getDictLabel()); - break; -======= // 判断项目类别 try { // 获取字典数据 @@ -195,120 +147,20 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer // 添加空值检查 if (unitCode != null && sysDictTypeService != null) { // 缓存字典数据,避免重复查询 - List unitCodelist = - sysDictTypeService.selectDictDataByType(CommonConstants.FieldName.UnitCode); + List unitCodelist + = sysDictTypeService.selectDictDataByType(CommonConstants.FieldName.UnitCode); if (unitCodelist != null) { for (SysDictData dictData : unitCodelist) { if (dictData != null && dictData.getDictValue() != null - && dictData.getDictValue().equals(unitCode)) { + && dictData.getDictValue().equals(unitCode)) { // 设置字典数据 medDetailedAccountPageDto.setUnitCode_dictText(dictData.getDictLabel()); break; } ->>>>>>> v1.3 } } } } -<<<<<<< HEAD - } - - // 将发药数量与单位拼接 - for (MedDetailedAccountPageDto medDetailedAccountPageDto : dataList) { - String unitCode_dictText = medDetailedAccountPageDto.getUnitCode_dictText(); - Integer dispenseQuantity = medDetailedAccountPageDto.getDispenseQuantity(); - // 将发药数量与单位拼接 - medDetailedAccountPageDto.setDispenseQuantitystr(dispenseQuantity + unitCode_dictText); - } - - // 将退药数量与单位拼接 - for (MedDetailedAccountPageDto medDetailedAccountPageDto : dataList) { - String unitCode_dictText = medDetailedAccountPageDto.getUnitCode_dictText(); - Integer refundQuantity = medDetailedAccountPageDto.getRefundQuantity(); - // 添加完整的空值检查和默认值处理 - String unitText = (unitCode_dictText != null) ? unitCode_dictText : ""; - if (refundQuantity == null) { - medDetailedAccountPageDto.setRefundQuantitystr("0.00" + unitCode_dictText); - } else if (refundQuantity == 0) { - medDetailedAccountPageDto.setRefundQuantitystr("0.00" + unitCode_dictText); - } else { - medDetailedAccountPageDto.setRefundQuantitystr(refundQuantity.toString() + unitCode_dictText); - } - } - - // 将退药金额 - for (MedDetailedAccountPageDto medDetailedAccountPageDto : dataList) { - BigDecimal refundPrice = medDetailedAccountPageDto.getRefundPrice(); - if (refundPrice == null) { - medDetailedAccountPageDto.setRefundPricestr("0.00" ); - } else if (refundPrice.signum() == 0) { - medDetailedAccountPageDto.setRefundPricestr("0.00" ); - } else { - refundPrice = refundPrice.setScale(6, RoundingMode.HALF_UP); - medDetailedAccountPageDto.setRefundPricestr(refundPrice.toString() ); - } - - } - - //发药金额 - for (MedDetailedAccountPageDto medDetailedAccountPageDto : dataList) { - BigDecimal dispensePrice = medDetailedAccountPageDto.getDispensePrice(); - if (dispensePrice == null) { - medDetailedAccountPageDto.setDispensePricestr("0.00" ); - } else if (dispensePrice.signum() == 0) { - medDetailedAccountPageDto.setDispensePricestr("0.00" ); - } else { - dispensePrice = dispensePrice.setScale(6, RoundingMode.HALF_UP); - medDetailedAccountPageDto.setDispensePricestr(dispensePrice.toString() ); - } - - } - // 添加项目类别 - for (MedDetailedAccountPageDto medDetailedAccountPageDto : dataList) { - String itemTable = medDetailedAccountPageDto.getItemTable(); - if (itemTable != null) { - if(itemTable.equals("med_medication_definition")){ - medDetailedAccountPageDto.setItemTable("药品"); - } - if(itemTable.equals("adm_device_definition")){ - medDetailedAccountPageDto.setItemTable("耗材"); - } - } - else{ - medDetailedAccountPageDto.setItemTable("未知类型"); - } - } - - //判断项目类别 - - try { - // 准备表头(key对应DTO的字段名) - //Map headers = new LinkedHashMap<>(); -// headers.put("practitionerName", "发药人"); -// headers.put("dispenseNo", "发药单号"); -// headers.put("medicationName", "药品项目"); -// headers.put("itemTable", "项目类别"); -// headers.put("busNo", "药品编码"); -// headers.put("ybNo", "医保编码"); -// headers.put("totalVolume", "规格"); -// headers.put("dispenseQuantitystr", "发药数量"); -// headers.put("dispensePricestr", "发药金额"); -// headers.put("refundQuantitystr", "退药数量"); -// headers.put("refundPricestr", "退药金额"); -// headers.put("lotNumber", "生产批号"); -// headers.put("manufacturerText", "厂家/产地"); -// headers.put("supplierName", "供应商"); -// headers.put("dispenseTime", "发药时间"); - // 导出到Excel -// ExcelFillerUtil.makeExcelFile(response, dataList, headers, "发药明细", null); - // 导出到Excel - ExcelUtil util = new ExcelUtil(MedDetailedAccountPageDto.class); - util.exportExcel(response,dataList,"发药明细"); - } catch (Exception e) { - e.printStackTrace(); - System.out.printf("导出Excel失败:" + e.getMessage()); - } -======= // 将发药数量与单位拼接 for (MedDetailedAccountPageDto medDetailedAccountPageDto : dataList) { @@ -408,7 +260,6 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer throw new NonCaptureException(StringUtils.format("导出excel失败"), e); } ->>>>>>> v1.3 } } @@ -424,7 +275,7 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer */ @Override public R getAmbMedicationDispenseDetailPage(MedDetailsSearchParam medDetailsSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageSize, String searchKey, HttpServletRequest request) { // 1:住院 2:门诊 Integer flg = medDetailsSearchParam.getFlag(); @@ -438,21 +289,13 @@ public class MedicationDetailsAppServiceImpl implements IMedicationDetailsAppSer medDetailsSearchParam.setInventoryScope(null); // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(medDetailsSearchParam, - searchKey, new HashSet<>(Arrays.asList("patient_name", "medication_name", "bus_no", "py_str")), request); + searchKey, new HashSet<>(Arrays.asList("patient_name", "medication_name", "bus_no", "py_str")), request); -<<<<<<< HEAD - Page medDetailsPage = - medicationDetailsMapper.selectAmbPractitionerDetailPage(new Page<>(pageNo, pageSize), queryWrapper, - EncounterClass.AMB.getValue(), DispenseStatus.COMPLETED.getValue(), RequestStatus.COMPLETED.getValue(), - DispenseStatus.REFUNDED.getValue(), 2, flg, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); -======= Page medDetailsPage = medicationDetailsMapper.selectAmbPractitionerDetailPage( - new Page<>(pageNo, pageSize), queryWrapper, DispenseStatus.COMPLETED.getValue(), - RequestStatus.COMPLETED.getValue(), DispenseStatus.REFUNDED.getValue(), statisticalType, flg, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, - ConditionCode.LOT_NUMBER_COST.getCode()); ->>>>>>> v1.3 + new Page<>(pageNo, pageSize), queryWrapper, DispenseStatus.COMPLETED.getValue(), + RequestStatus.COMPLETED.getValue(), DispenseStatus.REFUNDED.getValue(), statisticalType, flg, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, + ConditionCode.LOT_NUMBER_COST.getCode()); return R.ok(medDetailsPage); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/ReturnMedicineAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/ReturnMedicineAppServiceImpl.java index 4ffd43cb..9fe8d428 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/ReturnMedicineAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/ReturnMedicineAppServiceImpl.java @@ -8,10 +8,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -<<<<<<< HEAD -======= import org.apache.commons.lang3.tuple.Pair; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import com.alibaba.fastjson.JSONArray; @@ -135,18 +132,18 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { ReturnMedicineInitDto initDto = new ReturnMedicineInitDto(); // 获取科室下拉选列表 - List organizationList = - iOrganizationService.getList(OrganizationType.DEPARTMENT.getValue(), OrganizationClass.CLINIC.getValue()); + List organizationList + = iOrganizationService.getList(OrganizationType.DEPARTMENT.getValue(), OrganizationClass.CLINIC.getValue()); List organizationOptions = organizationList.stream().map( - organization -> new ReturnMedicineInitDto.DepartmentOption(organization.getId(), organization.getName())) - .collect(Collectors.toList()); + organization -> new ReturnMedicineInitDto.DepartmentOption(organization.getId(), organization.getName())) + .collect(Collectors.toList()); // 发药状态 List refundStatusOptions = new ArrayList<>(); refundStatusOptions.add(new ReturnMedicineInitDto.RefundStatusOption(DispenseStatus.PENDING_REFUND.getValue(), - DispenseStatus.PENDING_REFUND.getInfo())); + DispenseStatus.PENDING_REFUND.getInfo())); refundStatusOptions.add(new ReturnMedicineInitDto.RefundStatusOption(DispenseStatus.REFUNDED.getValue(), - DispenseStatus.REFUNDED.getInfo())); + DispenseStatus.REFUNDED.getInfo())); initDto.setDepartmentOptions(organizationOptions).setRefundStatusOptions(refundStatusOptions); return R.ok(initDto); } @@ -163,24 +160,24 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { */ @Override public R getReturnMedicinePatientPage(EncounterInfoDto encounterInfoDto, String searchKey, Integer pageNo, - Integer pageSize, HttpServletRequest request) { + Integer pageSize, HttpServletRequest request) { // 构建查询条件 QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(encounterInfoDto, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.IdCard, - CommonConstants.FieldName.PatientPyStr, CommonConstants.FieldName.PatientWbStr)), - request); + new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.IdCard, + CommonConstants.FieldName.PatientPyStr, CommonConstants.FieldName.PatientWbStr)), + request); // 查询退药患者分页列表 - Page encounterInfoPage = - returnMedicineMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper); + Page encounterInfoPage + = returnMedicineMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper); encounterInfoPage.getRecords().forEach(encounterInfo -> { // 性别 encounterInfo.setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, encounterInfo.getGenderEnum())); + EnumUtils.getInfoByValue(AdministrativeGender.class, encounterInfo.getGenderEnum())); // 年龄 encounterInfo.setAge(AgeCalculatorUtil.getAge(encounterInfo.getBirthDate())); // 退药状态 encounterInfo - .setRefundEnum_enumText(EnumUtils.getInfoByValue(RequestStatus.class, encounterInfo.getRefundEnum())); + .setRefundEnum_enumText(EnumUtils.getInfoByValue(RequestStatus.class, encounterInfo.getRefundEnum())); }); return R.ok(encounterInfoPage); } @@ -196,16 +193,16 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { public R getReturnMedicineInfo(Long encounterId, Integer refundStatus) { // 获取退药信息 List returnMedicineInfoList = returnMedicineMapper.selectReturnMedicineInfo(encounterId, - CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.MED_MEDICATION_REQUEST, - ItemType.MEDICINE.getValue(), ItemType.DEVICE.getValue(), refundStatus, - DispenseStatus.PENDING_REFUND.getValue(), DispenseStatus.REFUNDED.getValue()); + CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.MED_MEDICATION_REQUEST, + ItemType.MEDICINE.getValue(), ItemType.DEVICE.getValue(), refundStatus, + DispenseStatus.PENDING_REFUND.getValue(), DispenseStatus.REFUNDED.getValue()); returnMedicineInfoList.forEach(returnMedicineInfoDto -> { // 退药状态 returnMedicineInfoDto.setRefundEnum_enumText( - EnumUtils.getInfoByValue(DispenseStatus.class, returnMedicineInfoDto.getRefundEnum())); + EnumUtils.getInfoByValue(DispenseStatus.class, returnMedicineInfoDto.getRefundEnum())); // 退药请求状态 returnMedicineInfoDto.setReqStatus_enumText( - EnumUtils.getInfoByValue(RequestStatus.class, returnMedicineInfoDto.getReqStatus())); + EnumUtils.getInfoByValue(RequestStatus.class, returnMedicineInfoDto.getReqStatus())); }); return R.ok(returnMedicineInfoList); } @@ -230,10 +227,12 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { medicineReturnList.forEach(item -> { switch (item.getTableName()) { - case CommonConstants.TableName.MED_MEDICATION_REQUEST -> returnMedicineList - .add(new ReturnMedicineDto().setDispenseId(item.getDispenseId()).setRequestId(item.getRequestId())); - case CommonConstants.TableName.WOR_DEVICE_REQUEST -> returnDeviceList - .add(new ReturnMedicineDto().setDispenseId(item.getDispenseId()).setRequestId(item.getRequestId())); + case CommonConstants.TableName.MED_MEDICATION_REQUEST -> + returnMedicineList + .add(new ReturnMedicineDto().setDispenseId(item.getDispenseId()).setRequestId(item.getRequestId())); + case CommonConstants.TableName.WOR_DEVICE_REQUEST -> + returnDeviceList + .add(new ReturnMedicineDto().setDispenseId(item.getDispenseId()).setRequestId(item.getRequestId())); } }); // 进销存参数 @@ -244,11 +243,11 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { List medReturnIdList = new ArrayList<>(); if (!returnMedicineList.isEmpty()) { // 获取药品退药id列表 - medReturnIdList = - returnMedicineList.stream().map(ReturnMedicineDto::getDispenseId).collect(Collectors.toList()); + medReturnIdList + = returnMedicineList.stream().map(ReturnMedicineDto::getDispenseId).collect(Collectors.toList()); // 获取药品退药请求id列表 - List medRequestIdList = - returnMedicineList.stream().map(ReturnMedicineDto::getRequestId).collect(Collectors.toList()); + List medRequestIdList + = returnMedicineList.stream().map(ReturnMedicineDto::getRequestId).collect(Collectors.toList()); if (medReturnIdList.isEmpty()) { throw new ServiceException("请选择要退的药品"); } @@ -264,7 +263,7 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { } // 重复退药校验 if (refundMedList.stream().map(MedicationDispense::getStatusEnum) - .anyMatch(x -> x.equals(DispenseStatus.REFUNDED.getValue()))) { + .anyMatch(x -> x.equals(DispenseStatus.REFUNDED.getValue()))) { throw new ServiceException("药品已退药,请勿重复退药"); } @@ -290,7 +289,7 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { } } supplyItemDetailDto.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - .setItemId(medicationDispense.getMedicationId()).setLotNumber(medicationDispense.getLotNumber()); + .setItemId(medicationDispense.getMedicationId()).setLotNumber(medicationDispense.getLotNumber()); supplyItemDetailList.add(supplyItemDetailDto); // 追溯码表相关处理 @@ -301,24 +300,24 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { traceNoManage = new TraceNoManage(); // 追溯码处理 traceNoManage.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - // 项目id - .setItemId(medicationDispense.getMedicationId()) - // 仓库类型 - .setLocationTypeEnum(null) - // 仓库 - .setLocationId(medicationDispense.getLocationId()) - // 仓位 - .setLocationStoreId(null) - // 产品批号 - .setLotNumber(medicationDispense.getLotNumber()) - // 追溯码 - .setTraceNo(item) - // 追溯码状态 - .setStatusEnum(TraceNoStatus.IN.getValue()) - // 追溯码单位 - .setUnitCode(medicationDispense.getUnitCode()) - // 操作类型 - .setOperationType(SupplyType.RETURN_MEDICATION.getValue()); + // 项目id + .setItemId(medicationDispense.getMedicationId()) + // 仓库类型 + .setLocationTypeEnum(null) + // 仓库 + .setLocationId(medicationDispense.getLocationId()) + // 仓位 + .setLocationStoreId(null) + // 产品批号 + .setLotNumber(medicationDispense.getLotNumber()) + // 追溯码 + .setTraceNo(item) + // 追溯码状态 + .setStatusEnum(TraceNoStatus.IN.getValue()) + // 追溯码单位 + .setUnitCode(medicationDispense.getUnitCode()) + // 操作类型 + .setOperationType(SupplyType.RETURN_MEDICATION.getValue()); traceNoManageList.add(traceNoManage); } } @@ -334,11 +333,11 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { List devReturnIdList = new ArrayList<>(); if (!returnDeviceList.isEmpty()) { // 获取退耗材id列表 - devReturnIdList = - returnDeviceList.stream().map(ReturnMedicineDto::getDispenseId).collect(Collectors.toList()); + devReturnIdList + = returnDeviceList.stream().map(ReturnMedicineDto::getDispenseId).collect(Collectors.toList()); // 获取退耗材请求id列表 - List devRequestIdList = - returnDeviceList.stream().map(ReturnMedicineDto::getRequestId).collect(Collectors.toList()); + List devRequestIdList + = returnDeviceList.stream().map(ReturnMedicineDto::getRequestId).collect(Collectors.toList()); if (devReturnIdList.isEmpty()) { throw new ServiceException("请选择要退的耗材"); } @@ -352,7 +351,7 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { } // 重复退耗材校验 if (refundDevList.stream().map(DeviceDispense::getStatusEnum) - .anyMatch(x -> x.equals(DispenseStatus.REFUNDED.getValue()))) { + .anyMatch(x -> x.equals(DispenseStatus.REFUNDED.getValue()))) { throw new ServiceException("耗材已退,请勿重复操作"); } // 更新退耗材单状态 @@ -365,8 +364,8 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { deviceDispense.setStatusEnum(DispenseStatus.REFUNDED.getValue()); // 设置库存变更参数 supplyItemDetailList - .add(new SupplyItemDetailDto().setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) - .setItemId(deviceDispense.getDeviceDefId()).setLotNumber(deviceDispense.getLotNumber())); + .add(new SupplyItemDetailDto().setItemTable(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setItemId(deviceDispense.getDeviceDefId()).setLotNumber(deviceDispense.getLotNumber())); // // 使用逗号分割追溯码并转换为List // String[] traceNoList = deviceDispense.getTraceNo().split(CommonConstants.Common.COMMA); // for (String item : traceNoList) { @@ -402,34 +401,14 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { // 处理退库存 // 获取库存信息 -<<<<<<< HEAD - List inventoryList = - returnMedicineMapper.selectInventoryInfoList(devDispenseIdList, medDispenseIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - if (inventoryList != null && !inventoryList.isEmpty()) { - // 设置库存数量 - for (UnDispenseInventoryDto inventory : inventoryList) { - // 库存表项目设定 - InventoryItem inventoryItem = new InventoryItem(); - // id - inventoryItem.setId(inventory.getInventoryId()); - // 库存数量 - if (inventory.getDispenseUnit().equals(inventory.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+待退数量 - inventoryItem.setQuantity(inventory.getInventoryQuantity().add(inventory.getDispenseQuantity())); - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+退药数量(拆零比×待退数量) - inventoryItem.setQuantity(inventory.getInventoryQuantity() - .add(inventory.getPartPercent().multiply(inventory.getDispenseQuantity()))); -======= - List unDispenseInventoryList = - returnMedicineMapper.selectInventoryInfoList(devReturnIdList, medReturnIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); + List unDispenseInventoryList + = returnMedicineMapper.selectInventoryInfoList(devReturnIdList, medReturnIdList, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); // 库存待更新列表 List inventoryItemList = new ArrayList<>(); // 根据批号,发放项目,发放药房进行分组处理 - Map> unDispenseInventoryMap = - unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + Map> unDispenseInventoryMap + = unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLotNumber() + CommonConstants.Common.DASH + x.getLocationId())); if (!unDispenseInventoryMap.isEmpty()) { for (Map.Entry> entry : unDispenseInventoryMap.entrySet()) { @@ -441,18 +420,17 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { BigDecimal quantity = unDispenseInventoryDto.getQuantity(); if (!unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { + .equals(unDispenseInventoryDto.getInventoryUnitCode())) { // 转换为小单位进行累加 - quantity = - unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); + quantity + = unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); } minQuantity = minQuantity.add(quantity); } // 理论上不出bug的情况下以项目id,批号,仓库进行分组处理库存一定唯一所以get(0) // 设置待更新的库存信息 inventoryItemList.add(new InventoryItem().setId(inventoryList.get(0).getInventoryId()) - .setQuantity(inventoryList.get(0).getInventoryQuantity().add(minQuantity))); ->>>>>>> v1.3 + .setQuantity(inventoryList.get(0).getInventoryQuantity().add(minQuantity))); } } // 库存更新 @@ -473,34 +451,35 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { if (!returnMedicineList.isEmpty()) { // 设置进销存参数 medicationDefinitions = medicationDefinitionService.listByIds(supplyItemDetailList.stream() - .filter(x -> x.getItemTable().equals(CommonConstants.TableName.MED_MEDICATION_DEFINITION)) - .map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); + .filter(x -> x.getItemTable().equals(CommonConstants.TableName.MED_MEDICATION_DEFINITION)) + .map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); } if (!returnDeviceList.isEmpty()) { deviceDefinitions = deviceDefinitionService.listByIds(supplyItemDetailList.stream() - .filter(x -> x.getItemTable().equals(CommonConstants.TableName.ADM_DEVICE_DEFINITION)) - .map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); + .filter(x -> x.getItemTable().equals(CommonConstants.TableName.ADM_DEVICE_DEFINITION)) + .map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); } // 创建映射表,添加空集合保护 - Map medicationMap = - medicationDefinitions != null ? medicationDefinitions.stream().filter(Objects::nonNull) - .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())) : new HashMap<>(); + Map medicationMap + = medicationDefinitions != null ? medicationDefinitions.stream().filter(Objects::nonNull) + .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())) : new HashMap<>(); - Map deviceMap = - deviceDefinitions != null ? deviceDefinitions.stream().filter(Objects::nonNull) - .collect(Collectors.toMap(DeviceDefinition::getId, Function.identity())) : new HashMap<>(); + Map deviceMap + = deviceDefinitions != null ? deviceDefinitions.stream().filter(Objects::nonNull) + .collect(Collectors.toMap(DeviceDefinition::getId, Function.identity())) : new HashMap<>(); // 设置库存变更参数,添加完整判空 for (SupplyItemDetailDto supplyItemDetailDto : supplyItemDetailList) { - if (supplyItemDetailDto == null) + if (supplyItemDetailDto == null) { continue; + } if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(supplyItemDetailDto.getItemTable())) { if (supplyItemDetailDto.getItemId() != null) { MedicationDefinition med = medicationMap.get(supplyItemDetailDto.getItemId()); if (med != null) { supplyItemDetailDto.setItemBusNo(med.getBusNo()).setPartPercent(med.getPartPercent()) - .setRxFlag(med.getRxFlag()).setYbNo(med.getYbNo()); + .setRxFlag(med.getRxFlag()).setYbNo(med.getYbNo()); } } } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(supplyItemDetailDto.getItemTable())) { @@ -508,14 +487,14 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { DeviceDefinition dev = deviceMap.get(supplyItemDetailDto.getItemId()); if (dev != null) { supplyItemDetailDto.setItemBusNo(dev.getBusNo()).setPartPercent(dev.getPartPercent()) - .setRxFlag(dev.getRxFlag()).setYbNo(dev.getYbNo()); + .setRxFlag(dev.getRxFlag()).setYbNo(dev.getYbNo()); } } } } uploadFailedNoList = this.ybReturnIntegrated(medReturnIdList, null); uploadFailedNoList = receiptApprovalAppService.ybInventoryIntegrated(supplyItemDetailList, - YbInvChgType.OTHER_OUT, DateUtils.getNowDate(), true); + YbInvChgType.OTHER_OUT, DateUtils.getNowDate(), true); if (uploadFailedNoList != null) { returnMsg = "3506商品销售退货上传错误,错误项目编码" + uploadFailedNoList; } else { @@ -523,7 +502,7 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { } } // 返回退药成功信息 - return R.ok(returnMsg, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"退药"})); + return R.ok(returnMsg, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[]{"退药"})); } /** @@ -539,8 +518,8 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { if (!dispenseMedIdList.isEmpty() || !dispenseDevIdList.isEmpty()) { // 查询退药项目相关信息 List dispenseInventoryList = returnMedicineMapper.selectReturnItemDetail( - dispenseDevIdList, dispenseMedIdList, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); + dispenseDevIdList, dispenseMedIdList, CommonConstants.TableName.MED_MEDICATION_DEFINITION, + CommonConstants.TableName.ADM_DEVICE_DEFINITION); for (DispenseInventoryDto dispenseInventoryDto : dispenseInventoryList) { if (dispenseInventoryDto.getYbNo() == null) { continue; @@ -550,7 +529,7 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { Contract contract = medical3506Pair.getRight(); if (contract != null) { if (CommonConstants.BusinessName.DEFAULT_CONTRACT_NO - .equals(medical3506Pair.getRight().getBusNo())) { + .equals(medical3506Pair.getRight().getBusNo())) { contract = null; } } @@ -569,14 +548,14 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(dispenseInventoryDto.getItemTable())) { // 查询费用结算信息 chargeItem = iChargeItemService.getOne(new LambdaQueryWrapper() - .eq(ChargeItem::getServiceTable, CommonConstants.TableName.MED_MEDICATION_REQUEST) - .eq(ChargeItem::getServiceId, dispenseInventoryDto.getRefundId()) - .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.MED_MEDICATION_REQUEST) + .eq(ChargeItem::getServiceId, dispenseInventoryDto.getRefundId()) + .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(dispenseInventoryDto.getItemTable())) { chargeItem = iChargeItemService.getOne(new LambdaQueryWrapper() - .eq(ChargeItem::getServiceTable, CommonConstants.TableName.WOR_DEVICE_REQUEST) - .eq(ChargeItem::getServiceId, dispenseInventoryDto.getRefundId()) - .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.WOR_DEVICE_REQUEST) + .eq(ChargeItem::getServiceId, dispenseInventoryDto.getRefundId()) + .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); } if (chargeItem == null) { throw new ServiceException("未查询到收费项"); @@ -587,27 +566,27 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { throw new ServiceException("未查找到就诊诊断信息"); } // 查询付款信息 - PaymentReconciliation paymentReconciliation = - iPaymentReconciliationService.getOne(new LambdaQueryWrapper() - .eq(PaymentReconciliation::getEncounterId, chargeItem.getEncounterId()) - .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) - .eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue()) - .eq(PaymentReconciliation::getPatientId, chargeItem.getPatientId()) - .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue())); + PaymentReconciliation paymentReconciliation + = iPaymentReconciliationService.getOne(new LambdaQueryWrapper() + .eq(PaymentReconciliation::getEncounterId, chargeItem.getEncounterId()) + .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) + .eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue()) + .eq(PaymentReconciliation::getPatientId, chargeItem.getPatientId()) + .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue())); if (paymentReconciliation == null) { throw new ServiceException("未查询到收费"); } // 查询账户信息 Account account = accountService - .getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, chargeItem.getEncounterId()) - .eq(Account::getEncounterFlag, Whether.YES.getValue())); + .getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, chargeItem.getEncounterId()) + .eq(Account::getEncounterFlag, Whether.YES.getValue())); if (account == null) { throw new ServiceException("未查询到账户"); } // 查询合同实体 - Contract contract = - iContractService.getOne(new LambdaQueryWrapper().eq(Contract::getBusNo, account.getContractNo())); + Contract contract + = iContractService.getOne(new LambdaQueryWrapper().eq(Contract::getBusNo, account.getContractNo())); if (contract == null) { throw new ServiceException("未查询到合同信息"); } @@ -622,12 +601,12 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { } // 查询就诊id if (contract.getCategoryEnum().equals(Category.SELF.getValue()) - || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { + || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { medical3506Param.setMdtrtSn(dispenseInventoryDto.getEncounterNo()); } else { ClinicSettle clinicSettle = clinicSettleService.getOne(new LambdaQueryWrapper() - .in(ClinicSettle::getSetlId, List.of(paymentReconciliation.getYbSettleIds())) - .eq(ClinicSettle::getMedType, encounterDiagnosis.getMedTypeCode()).last(" LIMIT 1")); + .in(ClinicSettle::getSetlId, List.of(paymentReconciliation.getYbSettleIds())) + .eq(ClinicSettle::getMedType, encounterDiagnosis.getMedTypeCode()).last(" LIMIT 1")); if (clinicSettle != null) { medical3506Param.setMdtrtSn(clinicSettle.getMdtrtId()); } else { @@ -643,9 +622,9 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { JSONArray medicalTraceNo = new JSONArray(); // 获取追溯码信息 if (dispenseInventoryDto.getTraceNo() != null) { - List traceNoList = - Arrays.stream(dispenseInventoryDto.getTraceNo().split(CommonConstants.Common.COMMA)).map(String::trim) - .filter(s -> !s.isEmpty()).toList(); + List traceNoList + = Arrays.stream(dispenseInventoryDto.getTraceNo().split(CommonConstants.Common.COMMA)).map(String::trim) + .filter(s -> !s.isEmpty()).toList(); for (String traceNo : traceNoList) { Map traceNoMap = new HashMap<>(); traceNoMap.put("drug_trac_codg", traceNo); @@ -653,17 +632,17 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { } } medical3506Param.setMedListCodg(dispenseInventoryDto.getYbNo()) - .setFixmedinsBchno(dispenseInventoryDto.getRefundId().toString()) - .setFixmedinsHilistId(dispenseInventoryDto.getItemNo()) - .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - .setPsnCertType(mdtrtCertType.getValue()).setManuLotnum(dispenseInventoryDto.getLotNumber()) - .setManuDate(dispenseInventoryDto.getProductionDate()) - .setSelRetnCnt(new BigDecimal(dispenseInventoryDto.getDispenseQuantity().toString())) - .setSelRetnTime(dispenseInventoryDto.getDispenseTime()).setExpyEnd(dispenseInventoryDto.getExpirationDate()) - .setDrugtracinfo(medicalTraceNo).setCertno(dispenseInventoryDto.getIdCard()); + .setFixmedinsBchno(dispenseInventoryDto.getRefundId().toString()) + .setFixmedinsHilistId(dispenseInventoryDto.getItemNo()) + .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setPsnCertType(mdtrtCertType.getValue()).setManuLotnum(dispenseInventoryDto.getLotNumber()) + .setManuDate(dispenseInventoryDto.getProductionDate()) + .setSelRetnCnt(new BigDecimal(dispenseInventoryDto.getDispenseQuantity().toString())) + .setSelRetnTime(dispenseInventoryDto.getDispenseTime()).setExpyEnd(dispenseInventoryDto.getExpirationDate()) + .setDrugtracinfo(medicalTraceNo).setCertno(dispenseInventoryDto.getIdCard()); // 查看所属医院 - String fixmedinsCode = - SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); + String fixmedinsCode + = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); if (dispenseInventoryDto.getPreparerName() == null && HospitalCodeEnum.CCU.getCode().equals(fixmedinsCode)) { medical3506Param.setSelRetnOpterName(CommonConstants.CCU.DisDeviceDoctorName); } else { @@ -686,22 +665,18 @@ public class ReturnMedicineAppServiceImpl implements IReturnMedicineAppService { } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(dispenseInventoryDto.getItemTable())) { medical3506Param.setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION); } -<<<<<<< HEAD - return medical3506Param; -======= return Pair.of(medical3506Param, contract); ->>>>>>> v1.3 } private MedicalInventory3511Param getMedical3511Param(DispenseInventoryDto dispenseInventoryDto) { MedicalInventory3511Param medicalInventory3511Param = new MedicalInventory3511Param(); - String fixmedinsCode = - SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); + String fixmedinsCode + = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); // TODO medicalInventory3511Param.setFixmedinsCode(fixmedinsCode).setMedinsListCodg(dispenseInventoryDto.getYbNo()) - .setFixmedinsBchno(dispenseInventoryDto.getLotNumber()).setBegndate(dispenseInventoryDto.getDispenseTime()) - .setEnddate(dispenseInventoryDto.getDispenseTime()); + .setFixmedinsBchno(dispenseInventoryDto.getLotNumber()).setBegndate(dispenseInventoryDto.getDispenseTime()) + .setEnddate(dispenseInventoryDto.getDispenseTime()); return medicalInventory3511Param; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java index 973868b8..9ebb5987 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java @@ -1,47 +1,14 @@ package com.openhis.web.pharmacymanage.appservice.impl; import java.math.BigDecimal; -<<<<<<< HEAD -import java.math.RoundingMode; -import java.time.LocalDate; -import java.util.*; -======= import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; ->>>>>>> v1.3 import java.util.function.Function; import java.util.stream.Collectors; import javax.annotation.Resource; -<<<<<<< HEAD -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpServletResponse; - -import com.core.common.core.domain.entity.SysDictData; -import com.core.common.utils.poi.ExcelUtil; -import com.core.system.mapper.SysDictDataMapper; -import com.core.system.service.ISysDictTypeService; -import com.openhis.web.reportmanage.utils.ExcelFillerUtil; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.core.common.core.domain.R; -import com.core.common.exception.ServiceException; -import com.core.common.utils.*; -import com.openhis.administration.domain.Organization; -import com.openhis.administration.domain.TraceNoManage; -import com.openhis.administration.service.ILocationService; -import com.openhis.administration.service.IOrganizationService; -import com.openhis.administration.service.IPractitionerService; -======= import org.springframework.stereotype.Service; @@ -52,44 +19,20 @@ import com.core.common.utils.DateUtils; import com.core.common.utils.MessageUtils; import com.core.common.utils.SecurityUtils; import com.openhis.administration.domain.TraceNoManage; ->>>>>>> v1.3 import com.openhis.administration.service.ITraceNoManageService; import com.openhis.common.constant.CommonConstants; import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.enums.*; import com.openhis.common.enums.ybenums.YbInvChgType; -<<<<<<< HEAD -import com.openhis.common.utils.EnumUtils; -import com.openhis.common.utils.HisQueryUtils; -======= ->>>>>>> v1.3 import com.openhis.medication.domain.MedicationDefinition; import com.openhis.medication.domain.MedicationDispense; import com.openhis.medication.service.IMedicationDefinitionService; import com.openhis.medication.service.IMedicationDispenseService; -<<<<<<< HEAD -import com.openhis.medication.service.impl.MedicationRequestServiceImpl; -import com.openhis.web.basedatamanage.appservice.IPractitionerAppService; -import com.openhis.web.basedatamanage.dto.PractitionerOrgAndLocationDto; -import com.openhis.web.basedatamanage.dto.UserAndPractitionerDto; -import com.openhis.web.inhospitalnursestation.appservice.IMedicineSummaryAppService; -import com.openhis.web.inhospitalnursestation.dto.AdmissionPageParam; -import com.openhis.web.inhospitalnursestation.dto.AdmissionPatientPageDto; -import com.openhis.web.inhospitalnursestation.mapper.AdviceProcessAppMapper; -import com.openhis.web.inventorymanage.appservice.impl.ReceiptApprovalAppServiceImpl; -import com.openhis.web.inventorymanage.dto.SupplyItemDetailDto; -import com.openhis.web.pharmacymanage.appservice.ISummaryDispenseMedicineAppService; -import com.openhis.web.pharmacymanage.dto.*; -import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper; -import com.openhis.web.pharmacymanage.mapper.SummaryDispenseMedicineMapper; -import com.openhis.web.pharmacymanage.mapper.WesternMedicineDispenseMapper; -======= import com.openhis.web.inventorymanage.appservice.impl.ReceiptApprovalAppServiceImpl; import com.openhis.web.inventorymanage.dto.SupplyItemDetailDto; import com.openhis.web.pharmacymanage.appservice.ISummaryDispenseMedicineAppService; import com.openhis.web.pharmacymanage.dto.UnDispenseInventoryDto; import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper; ->>>>>>> v1.3 import com.openhis.workflow.domain.InventoryItem; import com.openhis.workflow.domain.SupplyDelivery; import com.openhis.workflow.domain.SupplyRequest; @@ -107,37 +50,11 @@ import com.openhis.workflow.service.ISupplyRequestService; public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMedicineAppService { @Resource -<<<<<<< HEAD - private IPractitionerAppService practitionerAppService; - - @Resource - private IMedicationDispenseService medicationDispenseService; - - @Resource - private IDeviceDispenseService deviceDispenseService; - - @Resource - private IInventoryItemService iInventoryItemService; - - @Resource - private SummaryDispenseMedicineMapper inpatientMedicineDispenseMapper; - - @Resource - private ReturnMedicineMapper returnMedicineMapper; - - @Autowired - private ILocationService locationService; - - @Resource - private IPractitionerService practitionerService; - -======= private IMedicationDispenseService medicationDispenseService; @Resource private ReturnMedicineMapper returnMedicineMapper; ->>>>>>> v1.3 @Resource private ISupplyRequestService supplyRequestService; @@ -146,14 +63,6 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe @Resource private ITraceNoManageService traceNoManageService; -<<<<<<< HEAD - - @Resource - private WesternMedicineDispenseAppServiceImpl westernMedicineDispenseAppServiceImpl; - - @Resource - private IMedicineSummaryAppService inpatientMedicineCollectionAppService; -======= @Resource private IInventoryItemService inventoryItemService; @@ -166,7 +75,6 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe @Resource private WesternMedicineDispenseAppServiceImpl westernMedicineDispenseAppService; ->>>>>>> v1.3 @Resource private WesternMedicineDispenseMapper westernMedicineDispenseMapper; @@ -204,426 +112,6 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe /** * 汇总发药 * -<<<<<<< HEAD - * @return 初始化信息 - */ - @Override - public R init() { - - DispenseInitDto initDto = new DispenseInitDto(); - - // 获取科室下拉选列表 - List organizationList = - organizationService.getList(OrganizationType.DEPARTMENT.getValue(), OrganizationClass.CLINIC.getValue()); - List organizationOptions = organizationList.stream() - .map(organization -> new DispenseInitDto.DepartmentOption(organization.getId(), organization.getName())) - .collect(Collectors.toList()); - - initDto.setDepartmentOptions(organizationOptions); - return R.ok(initDto); - } - - @Override - public R getEncounterInfoListPage(AdmissionPageParam admissionPageParam, String startTime, String endTime, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { - // 构建查询条件 - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(admissionPageParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientWbStr, CommonConstants.FieldName.PatientPyStr, - CommonConstants.FieldName.PatientName, CommonConstants.FieldName.BusNo)), - request); - // 入院患者分页列表 - Page admissionPatientPage = - adviceProcessAppMapper.selectInpatientPage(new Page<>(pageNo, pageSize), queryWrapper, - EncounterClass.IMP.getValue(), EncounterZyStatus.TO_BE_REGISTERED.getValue(), - EncounterZyStatus.REGISTERED.getValue(), EncounterActivityStatus.ACTIVE.getValue(), - LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue()); - admissionPatientPage.getRecords().forEach(e -> { - // 性别枚举 - e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); - // 病情 - e.setPriorityEnum_enumText(EnumUtils.getInfoByValue(PriorityLevel.class, e.getPriorityEnum())); - // 计算年龄 - if (e.getBirthDate() != null) { - e.setAge(AgeCalculatorUtil.getAge(e.getBirthDate())); - } - // 住院状态 - e.setEncounterStatus_enumText(EnumUtils.getInfoByValue(EncounterZyStatus.class, e.getEncounterStatus())); - }); - return R.ok(admissionPatientPage); - } - - /** - * 住院汇总药品 - * - * @param searchParam 查询信息 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @return 药品汇总 - */ - @Override - public R getSummaryMedicationInfo(MedicineSummarySearchParam searchParam, Integer pageNo, Integer pageSize) { - ItemDispenseOrderDto itemDispenseOrderDto = new ItemDispenseOrderDto(); - itemDispenseOrderDto.setEncounterId(searchParam.getEncounterId()); - // 发药状态初始化 - Integer dispenseStatus = itemDispenseOrderDto.getStatusEnum(); - itemDispenseOrderDto.setStatusEnum(null); - // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(itemDispenseOrderDto, null, null, null); - // 处方单信息查询 - Page medicineDispenseOrderPage = - westernMedicineDispenseMapper.selectMedicineDispenseOrderPage(new Page<>(pageNo, pageSize), queryWrapper, - DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), - DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue(), dispenseStatus); - medicineDispenseOrderPage.getRecords().forEach(medicineDispenseOrder -> { - // 发药状态 - medicineDispenseOrder.setStatusEnum_enumText( - EnumUtils.getInfoByValue(DispenseStatus.class, medicineDispenseOrder.getStatusEnum())); - // 设置所在表名 - medicineDispenseOrder.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION); - }); - return R.ok(medicineDispenseOrderPage); - } - - - /** - * 导出住院发药信息到Excel - * - * @param searchParam 查询参数 - * @param searchKey 搜索关键字 - * @param pageNo 页码 - * @param pageSize 每页大小 - * @param request HTTP请求对象 - * @param response HTTP响应对象 - */ - @Override - public void makeExcelFile(MedicineSummarySearchParam searchParam, Integer pageNo, - Integer pageSize, String searchKey, - HttpServletRequest request, HttpServletResponse response) { - - // 获取发药数据 - R result = this.getSummaryMedicationInfo(searchParam,1, 10000); - - if (result != null && result.getCode() == 200 && result.getData() != null) { - // 获取Page对象中的记录列表 - Page pageData = (Page) result.getData(); - List dataList = pageData.getRecords(); - try { - //获取药品类型 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - String itemType = itemDispenseOrderDto.getItemType(); - if (itemType != null) { - List itemTypeList = sysDictTypeService.selectDictDataByType("med_category_code"); - if (itemTypeList != null) { - for (SysDictData dictData : itemTypeList) { - if (dictData != null && dictData.getDictValue() != null - && dictData.getDictValue().equals(itemType)) { - itemDispenseOrderDto.setItemType_dictText(dictData.getDictLabel()); - break; - } - - } - } - } - } - - - //用药频次 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - String rateCode = itemDispenseOrderDto.getRateCode(); - if (rateCode != null) { - List rateCodeList = sysDictTypeService.selectDictDataByType("rate_code"); - if (rateCodeList != null) { - for (SysDictData dictData : rateCodeList) { - if (dictData != null && dictData.getDictValue() != null - && dictData.getDictValue().equals(rateCode)) { - itemDispenseOrderDto.setRateCode_dictText(dictData.getDictLabel()); - break; - } - - } - } - } - } - - - //用法 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - String methodCode = itemDispenseOrderDto.getMethodCode(); - if (methodCode != null) { - List methodCodeList = sysDictTypeService.selectDictDataByType("method_code"); - if (methodCodeList != null) { - for (SysDictData dictData : methodCodeList) { - if (dictData != null && dictData.getDictValue() != null - && dictData.getDictValue().equals(methodCode)) { - itemDispenseOrderDto.setMethodCode_dictText(dictData.getDictLabel()); - break; - } - - } - } - } - } - - - // 计量单位 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - //获取计量单位翻译前的值 - String doseUnitCode = itemDispenseOrderDto.getDoseUnitCode(); - if (doseUnitCode != null) { - //从系统字典服务中查询计量单位的值 - List doseUnitCodeList = sysDictTypeService.selectDictDataByType("unit_code"); - if (doseUnitCodeList != null) { - for (SysDictData dictData : doseUnitCodeList) { - if (dictData != null && dictData.getDictValue() != null - && dictData.getDictValue().equals(doseUnitCode)) { - itemDispenseOrderDto.setDoseUnitCode_dictText(dictData.getDictLabel()); - break; - } - } - } - } - } - - - // 获取单位翻译值 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - //获取单位翻译前的值 - String unitCode = itemDispenseOrderDto.getUnitCode(); - if (unitCode != null) { - //从系统字典服务中查询单位的值 - List unitCodeList = sysDictTypeService.selectDictDataByType("unit_code"); - if (unitCodeList != null) { - for (SysDictData dictData : unitCodeList) { - if (dictData != null && dictData.getDictValue() != null - && dictData.getDictValue().equals(unitCode)) { - itemDispenseOrderDto.setUnitCode_dictText(dictData.getDictLabel()); - break; - } - } - } - } - } - - - // 金额保留两位小数 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - //获取金额的值 - BigDecimal totalPrice = itemDispenseOrderDto.getTotalPrice(); - //把金额值转换成double - double doubleValue = totalPrice.doubleValue(); - double value = Math.round(doubleValue * 100.0) / 100.0; - itemDispenseOrderDto.setTotalPrice(BigDecimal.valueOf(value)); - } - - // 单价保留两位小数 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - //获取单价的值 - BigDecimal unitPrice = itemDispenseOrderDto.getUnitPrice(); - //把单价值转换成double - double valueLis = unitPrice.doubleValue(); - double valuePis = Math.round(valueLis * 100.0) / 100.0; - itemDispenseOrderDto.setUnitPrice(BigDecimal.valueOf(valuePis)); - } - - //单次剂量保留两位小数 - for (ItemDispenseOrderDto itemDispenseOrderDto : dataList) { - //获取单次剂量的值 - BigDecimal dose = itemDispenseOrderDto.getDose(); - //把单次剂量转换成double - double valuePas = dose.doubleValue(); - double valueRas = Math.round(valuePas * 100.0) / 100.0; - itemDispenseOrderDto.setDose(BigDecimal.valueOf(valueRas)); - } - - ExcelUtil util = new ExcelUtil(ItemDispenseOrderDto.class); - util.exportExcel(response, dataList, "住院发药单"); - } catch (Exception e) { - e.printStackTrace(); - System.out.printf("导出住院发药Excel失败:%s", e.getMessage()); - } - } - } - - - /** - * 住院汇总发药单 - * - * @param searchParam 查询信息 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - * @return 药品汇总 - */ - @Override - public R getSummaryFromInfo(FromSummarySearchParam searchParam, String startTime, String endTime, - String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request) { - // 构建查询条件 - QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(searchParam, searchKey, - new HashSet<>(List.of(CommonConstants.FieldName.ApplicantName, CommonConstants.FieldName.BusNo)), request); - - // 查询医嘱详细信息 - Page prescriptionItemInfoPageDto = - inpatientMedicineDispenseMapper.selectMedicationSummaryInfo(new Page<>(pageNo, pageSize), queryWrapper); - - List medicineSummaryDtoList = prescriptionItemInfoPageDto.getRecords(); - - List unitList; - // 个别项目设定 - for (MedicineSummaryDto prescriptionInfoDto : medicineSummaryDtoList) { - // 状态 - prescriptionInfoDto.setStatusEnum_enumText( - EnumUtils.getInfoByValue(DispenseStatus.class, prescriptionInfoDto.getStatusEnum())); - // 追溯码单位列表 - unitList = new ArrayList<>(); - unitList.add(new MedicineSummaryDto.Option(prescriptionInfoDto.getMaxUnitCode(), - prescriptionInfoDto.getMaxUnitCode_dictText())); - unitList.add(new MedicineSummaryDto.Option(prescriptionInfoDto.getMinUnitCode(), - prescriptionInfoDto.getMinUnitCode_dictText())); - - prescriptionInfoDto.setUnitList(unitList); - } - - // 获取当前用户id - Long userId = SecurityUtils.getUserId(); - UserAndPractitionerDto userAndPractitionerDto = new UserAndPractitionerDto(); - userAndPractitionerDto.setUserId(userId); - IPage userPractitionerPage = - practitionerAppService.getUserPractitionerPage(userAndPractitionerDto, "", 1, 1); - // 查询该用户管理的药房 - List locationIdList = userPractitionerPage.getRecords().get(0).getManageMedicationLocationDtoList() - .stream().map(PractitionerOrgAndLocationDto::getLocationId).toList(); - - List fromSummaryDtoList = new ArrayList<>(); - for (MedicineSummaryDto medicineSummaryDto : medicineSummaryDtoList) { - - FromSummaryDto fromSummaryDto = new FromSummaryDto(); - BeanUtils.copyProperties(medicineSummaryDto, fromSummaryDto); - - if (!locationIdList.isEmpty() && locationIdList.contains(fromSummaryDto.getSourceLocationId())) - fromSummaryDtoList.add(fromSummaryDto); - } - - return R.ok(fromSummaryDtoList); - } - - /** - * 住院药品汇总发药单详细 - * - * @param searchParam 查询条件 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - */ - @Override - public R getOrderInfo(FromSearchParam searchParam, String searchKey, Integer pageNo, Integer pageSize, - HttpServletRequest request) { - - // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(searchParam, searchKey, null, request); - - // 查询医嘱详细信息 - Page prescriptionItemInfoPageDto = - inpatientMedicineDispenseMapper.selectOrderInfo(new Page<>(pageNo, pageSize), queryWrapper); - - List unitList; - // 个别项目设定 - for (MedicineSummaryDto prescriptionInfoDto : prescriptionItemInfoPageDto.getRecords()) { - // 状态 - prescriptionInfoDto.setStatusEnum_enumText( - EnumUtils.getInfoByValue(DispenseStatus.class, prescriptionInfoDto.getStatusEnum())); - // 追溯码单位列表 - unitList = new ArrayList<>(); - unitList.add(new MedicineSummaryDto.Option(prescriptionInfoDto.getMaxUnitCode(), - prescriptionInfoDto.getMaxUnitCode_dictText())); - unitList.add(new MedicineSummaryDto.Option(prescriptionInfoDto.getMinUnitCode(), - prescriptionInfoDto.getMinUnitCode_dictText())); - - prescriptionInfoDto.setUnitList(unitList); - } - return R.ok(prescriptionItemInfoPageDto); - } - - /** - * 处方单核对发药 - * - * @param dispenseMedicineList 发药信息 - * @return 处理结果 - */ - @Override - public R SummaryDispenseMedicine(List dispenseMedicineList) { - // 汇总状态更新标志 - boolean summaryFlag = false; - List inventoryItemList = new ArrayList<>(); - - // 获取发药单id列表 - List medDispenseIdList = - dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); - - if (medDispenseIdList.stream().allMatch(Objects::isNull)) { - List busNoList = - dispenseMedicineList.stream().map(DispenseItemDto::getBusNo).collect(Collectors.toList()); - medDispenseIdList = medicationDispenseService.getMedDispenseBySummaryNo(busNoList).stream() - .map(MedicationDispense::getId).toList(); - summaryFlag = true; - } - - // 获取库存信息 - List inventoryList = - returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - - // 按每个药品分组 - Map> groupedByItemId = - inventoryList.stream().collect(Collectors.groupingBy(UnDispenseInventoryDto::getItemId)); - // 遍历每个分组校验库存状态 - for (Map.Entry> entry : groupedByItemId.entrySet()) { - List groupItems = entry.getValue(); - if (groupItems.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { - // 库存停供校验 - return R.fail(groupItems.get(0).getItemName() + "库存已停供"); - } - } - if (!inventoryList.isEmpty()) { - for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { - if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum())) { - InventoryItem inventoryItem = new InventoryItem(); - // 库存数量判定 - if (unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity() - .subtract(unDispenseInventoryDto.getQuantity()); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity().subtract( - unDispenseInventoryDto.getPartPercent().multiply(unDispenseInventoryDto.getQuantity())); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } - inventoryItemList.add(inventoryItem); - } - } - } - // 药品发药信息查询 - List dispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); -======= * @param summaryNoList 汇总单列表 * @return 处理结果 */ @@ -638,12 +126,12 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe if (medDispenseList == null || medDispenseList.isEmpty()) { return R.fail("未查询到发药单明细,请刷新后重试"); } - List medDispenseIdList = - medDispenseList.stream().map(MedicationDispense::getId).collect(Collectors.toList()); + List medDispenseIdList + = medDispenseList.stream().map(MedicationDispense::getId).collect(Collectors.toList()); // 获取药品待发放库存信息 - List unDispenseInventoryList = - returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); + List unDispenseInventoryList + = returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); if (unDispenseInventoryList == null || unDispenseInventoryList.isEmpty()) { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } @@ -651,15 +139,15 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe // 库存待更新列表 List inventoryItemList = new ArrayList<>(); // 根据批号,发放项目,发放药房进行分组处理 - Map> unDispenseInventoryMap = - unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + Map> unDispenseInventoryMap + = unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLotNumber() + CommonConstants.Common.DASH + x.getLocationId())); if (!unDispenseInventoryMap.isEmpty()) { for (Map.Entry> entry : unDispenseInventoryMap.entrySet()) { List inventoryList = entry.getValue(); if (!inventoryList.isEmpty()) { if (inventoryList.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { + .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { // 停供库存校验 return R.fail(inventoryList.get(0).getItemName() + "库存已停供"); } @@ -672,14 +160,14 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { BigDecimal quantity = unDispenseInventoryDto.getQuantity(); if (!unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { + .equals(unDispenseInventoryDto.getInventoryUnitCode())) { // 转换为小单位进行累加 - quantity = - unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); + quantity + = unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); } minQuantity = minQuantity.add(quantity); if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum()) - && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { + && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { inventoryQuantity = unDispenseInventoryDto.getInventoryQuantity(); inventoryId = unDispenseInventoryDto.getInventoryId(); } @@ -690,45 +178,39 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe } else { // 设置待更新的库存信息 inventoryItemList.add(new InventoryItem().setId(inventoryId) - .setQuantity(inventoryQuantity.subtract(minQuantity))); + .setQuantity(inventoryQuantity.subtract(minQuantity))); } } } } Date now = DateUtils.getNowDate(); ->>>>>>> v1.3 // 追溯码列表 List tracesNoManageList = new ArrayList<>(); TraceNoManage traceNoManage; List supplyItemDetailList = new ArrayList<>(); -<<<<<<< HEAD - if (dispenseList != null) { - // if (dispenseList.stream().map(MedicationDispense::getStatusEnum) - // .anyMatch(x -> !x.equals(DispenseStatus.PREPARED.getValue()))) { - // throw new ServiceException("发药失败,请检查发药单状态"); - // } else { - for (MedicationDispense medicationDispense : dispenseList) { - // 药品发放状态 - medicationDispense.setStatusEnum(DispenseStatus.COMPLETED.getValue()); - // 状态变更时间 - medicationDispense.setStatusChangedTime(DateUtils.getNowDate()); - // 发药数量 - medicationDispense.setDispenseQuantity(medicationDispense.getQuantity()); - // 发药时间 - medicationDispense.setDispenseTime(DateUtils.getNowDate()); - // 发药人 - medicationDispense.setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()); - // 设置库存变更参数 - supplyItemDetailList.add(new SupplyItemDetailDto().setItemId(medicationDispense.getMedicationId()) + // 更新发药明细状态 + for (MedicationDispense medicationDispense : medDispenseList) { + // 药品发放状态 + medicationDispense.setStatusEnum(DispenseStatus.COMPLETED.getValue()); + // 状态变更时间 + medicationDispense.setStatusChangedTime(now); + // 发药数量 + medicationDispense.setDispenseQuantity(medicationDispense.getQuantity()); + // 发药时间 + medicationDispense.setDispenseTime(now); + // 发药人 + medicationDispense.setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()); + // 设置库存变更参数 + supplyItemDetailList.add(new SupplyItemDetailDto().setItemId(medicationDispense.getMedicationId()) .setLotNumber(medicationDispense.getLotNumber()) .setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION)); - // 使用逗号分割追溯码并转换为List - if (medicationDispense.getTraceNo() != null) { - String[] traceNoList = medicationDispense.getTraceNo().split(CommonConstants.Common.COMMA); - for (String item : traceNoList) { - traceNoManage = new TraceNoManage(); - // 追溯码处理 - traceNoManage.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + // 使用逗号分割追溯码并转换为List + if (medicationDispense.getTraceNo() != null) { + String[] traceNoList = medicationDispense.getTraceNo().split(CommonConstants.Common.COMMA); + for (String item : traceNoList) { + traceNoManage = new TraceNoManage(); + // 追溯码处理 + traceNoManage.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) // 项目id .setItemId(medicationDispense.getMedicationId()) // 仓库类型 @@ -745,76 +227,6 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe .setUnitCode(medicationDispense.getUnitCode()) // 操作类型 .setOperationType(SupplyType.DISPENSE_MEDICATION.getValue()); - tracesNoManageList.add(traceNoManage); - } - } - } - // 药品发放更新 - medicationDispenseService.updateBatchById(dispenseList); - // 汇总发放更新 - if (summaryFlag) { - List requestId = supplyRequestService.getSupplyByBusNo(dispenseMedicineList.get(0).getBusNo()) - .stream().map(SupplyRequest::getId).collect(Collectors.toList()); - List supplyDeliveryList = supplyDeliveryService.selectByRequestIdList(requestId); - for (SupplyDelivery supplyDelivery : supplyDeliveryList) { - // 药品发放状态 - supplyDelivery.setStatusEnum(DispenseStatus.COMPLETED.getValue()); - // 发药时间 - supplyDelivery.setOccurrenceTime(DateUtils.getNowDate()); - // 发药人 - supplyDelivery.setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()); - } - supplyDeliveryService.updateBatchById(supplyDeliveryList); - List supplyRequestList = supplyRequestService.selectByIdList(requestId); - for (SupplyRequest supplyRequest : supplyRequestList) { - supplyRequest.setStatusEnum(DispenseStatus.COMPLETED.getValue()); - } - supplyRequestService.updateBatchById(supplyRequestList); - } - // } - } else { - return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); - } -======= - // 更新发药明细状态 - for (MedicationDispense medicationDispense : medDispenseList) { - // 药品发放状态 - medicationDispense.setStatusEnum(DispenseStatus.COMPLETED.getValue()); - // 状态变更时间 - medicationDispense.setStatusChangedTime(now); - // 发药数量 - medicationDispense.setDispenseQuantity(medicationDispense.getQuantity()); - // 发药时间 - medicationDispense.setDispenseTime(now); - // 发药人 - medicationDispense.setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()); - // 设置库存变更参数 - supplyItemDetailList.add(new SupplyItemDetailDto().setItemId(medicationDispense.getMedicationId()) - .setLotNumber(medicationDispense.getLotNumber()) - .setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION)); - // 使用逗号分割追溯码并转换为List - if (medicationDispense.getTraceNo() != null) { - String[] traceNoList = medicationDispense.getTraceNo().split(CommonConstants.Common.COMMA); - for (String item : traceNoList) { - traceNoManage = new TraceNoManage(); - // 追溯码处理 - traceNoManage.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - // 项目id - .setItemId(medicationDispense.getMedicationId()) - // 仓库类型 - .setLocationTypeEnum(LocationForm.PHARMACY.getValue()) - // 仓库 - .setLocationId(medicationDispense.getLocationId()) - // 产品批号 - .setLotNumber(medicationDispense.getLotNumber()) - // 追溯码 - .setTraceNo(item) - // 追溯码状态 - .setStatusEnum(TraceNoStatus.OUT.getValue()) - // 追溯码单位 - .setUnitCode(medicationDispense.getUnitCode()) - // 操作类型 - .setOperationType(SupplyType.DISPENSE_MEDICATION.getValue()); tracesNoManageList.add(traceNoManage); } } @@ -848,14 +260,13 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe for (SupplyRequest supplyRequest : supplyRequestList) { // 审核状态:已通过 supplyRequest.setStatusEnum(SupplyStatus.AGREE.getValue()) - // 审核人 - .setApproverId(SecurityUtils.getLoginUser().getPractitionerId()) - // 审核时间 - .setApprovalTime(now); + // 审核人 + .setApproverId(SecurityUtils.getLoginUser().getPractitionerId()) + // 审核时间 + .setApprovalTime(now); } supplyRequestService.updateBatchById(supplyRequestList); ->>>>>>> v1.3 // 库存更新 inventoryItemService.updateBatchById(inventoryItemList); // 追溯码管理表数据追加 @@ -869,27 +280,23 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe if (Whether.YES.getCode().equals(ybSwitch)) { // 设置进销存参数 List medicationDefinitions = medicationDefinitionService.listByIds( - supplyItemDetailList.stream().map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); + supplyItemDetailList.stream().map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); // 用itemId分组 Map medicationMap = medicationDefinitions.stream() - .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())); + .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())); // 设置库存变更参数 for (SupplyItemDetailDto dto : supplyItemDetailList) { if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(dto.getItemTable())) { MedicationDefinition med = medicationMap.get(dto.getItemId()); if (med != null) { dto.setItemBusNo(med.getBusNo()).setPartPercent(med.getPartPercent()).setRxFlag(med.getRxFlag()) - .setYbNo(med.getYbNo()); + .setYbNo(med.getYbNo()); } } } uploadFailedNoList = westernMedicineDispenseAppService.ybMedicineIntegrated(medDispenseIdList, null); uploadFailedNoList = receiptApprovalAppService.ybInventoryIntegrated(supplyItemDetailList, -<<<<<<< HEAD - YbInvChgType.OTHER_OUT, DateUtils.getNowDate()); -======= - YbInvChgType.OTHER_OUT, DateUtils.getNowDate(), true); ->>>>>>> v1.3 + YbInvChgType.OTHER_OUT, DateUtils.getNowDate(), true); if (uploadFailedNoList != null) { returnMsg = "3505商品销售上传错误,错误项目编码" + uploadFailedNoList; } else { @@ -902,27 +309,6 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe /** * 作废 * -<<<<<<< HEAD - * @param dispenseMedicineList 作废信息 - * @return 处理结果 - */ - @Override - public R dispenseCancel(List dispenseMedicineList) { - // 汇总状态更新标志 - boolean summaryFlag = false; - // 获取发药单id列表 - List medDispenseIdList = - dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); - - if (medDispenseIdList.isEmpty()) { - List busNoList = - dispenseMedicineList.stream().map(DispenseItemDto::getBusNo).collect(Collectors.toList()); - medDispenseIdList = medicationDispenseService.getMedDispenseBySummaryNo(busNoList).stream() - .map(MedicationDispense::getId).toList(); - summaryFlag = true; - } - -======= * @param summaryNoList 汇总单列表 * @return 处理结果 */ @@ -934,37 +320,26 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe // 根据汇总单号查所有发放id List medDispenseIdList = medicationDispenseService.getMedDispenseBySummaryNo(summaryNoList).stream() - .map(MedicationDispense::getId).toList(); + .map(MedicationDispense::getId).toList(); ->>>>>>> v1.3 // 药品发药信息查询 List dispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); + .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); if (dispenseList != null) { for (MedicationDispense medicationDispense : dispenseList) { // 药品发放状态 medicationDispense.setStatusEnum(DispenseStatus.DECLINED.getValue()); // 未发药原因 -<<<<<<< HEAD - medicationDispense.setNotPerformedReasonEnum(dispenseMedicineList.get(0).getNotPerformedReasonEnum()); -======= // medicationDispense.setNotPerformedReasonEnum(dispenseMedicineList.get(0).getNotPerformedReasonEnum()); ->>>>>>> v1.3 // 状态变更时间 medicationDispense.setStatusChangedTime(DateUtils.getNowDate()); } // 药品发放更新 medicationDispenseService.updateBatchById(dispenseList); // 汇总发放更新 -<<<<<<< HEAD - if (summaryFlag) { - List requestId = supplyRequestService.getSupplyByBusNo(dispenseMedicineList.get(0).getBusNo()) - .stream().map(SupplyRequest::getId).collect(Collectors.toList()); -======= for (String summaryNo : summaryNoList) { List requestId = supplyRequestService.getSupplyByBusNo(summaryNo).stream() - .map(SupplyRequest::getId).collect(Collectors.toList()); ->>>>>>> v1.3 + .map(SupplyRequest::getId).collect(Collectors.toList()); List supplyDeliveryList = supplyDeliveryService.selectByRequestIdList(requestId); for (SupplyDelivery supplyDelivery : supplyDeliveryList) { // 药品发放状态 @@ -977,223 +352,4 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe } return R.ok(MessageUtils.createMessage(PromptMsgConstant.Common.M00004, null)); } -<<<<<<< HEAD - - /** - * 退药处理 - * - * @param dispenseMedicineList 退药清单 - * @return 处理结果 - */ - @Override - public R medicineReturn(List dispenseMedicineList) { - if (dispenseMedicineList == null || dispenseMedicineList.isEmpty()) { - return R.ok(); - } - - // 汇总状态更新标志 - boolean summaryFlag = false; - // 获取发药单id列表 - List medDispenseIdList = - dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); - - if (medDispenseIdList.stream().allMatch(Objects::isNull)) { - List busNoList = - dispenseMedicineList.stream().map(DispenseItemDto::getBusNo).collect(Collectors.toList()); - medDispenseIdList = medicationDispenseService.getMedDispenseBySummaryNo(busNoList).stream() - .map(MedicationDispense::getId).toList(); - summaryFlag = true; - } - - // 退药请求列表 - List returnMedicineList = new ArrayList<>(); - // 追溯码列表 - List traceNoManageList = new ArrayList<>(); - TraceNoManage traceNoManage; - - medDispenseIdList.forEach(dispenseId -> { - MedicationDispense medicationDispense = medicationDispenseService.getById(dispenseId); - returnMedicineList - .add(new ReturnMedicineDto().setDispenseId(dispenseId).setRequestId(medicationDispense.getMedReqId())); - }); - - // 获取药品退药请求id列表 - List medRequestIdList = - returnMedicineList.stream().map(ReturnMedicineDto::getRequestId).collect(Collectors.toList()); - - if (!medRequestIdList.isEmpty()) { - // 药品已退药信息查询 - List refundList = medicationDispenseService.list( - new LambdaQueryWrapper().in(MedicationDispense::getMedReqId, medRequestIdList)); - if (refundList != null) { - if (refundList.stream().map(MedicationDispense::getStatusEnum) - .anyMatch(x -> x.equals(DispenseStatus.REFUNDED.getValue()))) { - throw new ServiceException("药品已退药,请勿重复退药"); - } - } - } - - // 退药单列表 - List medicationRefundList = new ArrayList<>(); - List supplyItemDetailList = new ArrayList<>(); - if (!medDispenseIdList.isEmpty()) { - // 药品已发放信息查询 - List medicationDispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); - // 根据发药单对应生成退药单 - for (MedicationDispense medicationDispense : medicationDispenseList) { - // 退药的药品请求id - for (ReturnMedicineDto returnMedicineDto : returnMedicineList) { - if (returnMedicineDto.getDispenseId().equals(medicationDispense.getId())) { - medicationDispense.setMedReqId(returnMedicineDto.getRequestId()); - } - } - // 药品发放编码 - medicationDispense.setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_DIS_NO.getPrefix(), 4)); - // 退药状态 - medicationDispense.setStatusEnum(DispenseStatus.REFUNDED.getValue()); - // 状态变更时间 - medicationDispense.setStatusChangedTime(DateUtils.getNowDate()); - // 退药时间 - medicationDispense.setDispenseTime(DateUtils.getNowDate()); - // 退药人 - medicationDispense.setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()); - medicationDispense.setId(null); - medicationRefundList.add(medicationDispense); - // 设置库存变更参数 - supplyItemDetailList.add(new SupplyItemDetailDto() - .setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - .setItemId(medicationDispense.getMedicationId()).setLotNumber(medicationDispense.getLotNumber())); - if (medicationDispense.getTraceNo() != null) { - // 使用逗号分割追溯码并转换为List - String[] traceNoList = medicationDispense.getTraceNo().split(CommonConstants.Common.COMMA); - for (String item : traceNoList) { - traceNoManage = new TraceNoManage(); - // 追溯码处理 - traceNoManage.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - // 项目id - .setItemId(medicationDispense.getMedicationId()) - // 仓库类型 - .setLocationTypeEnum(null) - // 仓库 - .setLocationId(medicationDispense.getLocationId()) - // 仓位 - .setLocationStoreId(null) - // 产品批号 - .setLotNumber(medicationDispense.getLotNumber()) - // 追溯码 - .setTraceNo(item) - // 追溯码状态 - .setStatusEnum(TraceNoStatus.IN.getValue()) - // 追溯码单位 - .setUnitCode(medicationDispense.getUnitCode()) - // 操作类型 - .setOperationType(SupplyType.RETURN_MEDICATION.getValue()); - traceNoManageList.add(traceNoManage); - } - } - } - medicationDispenseService.saveBatch(medicationRefundList); - // 药品退药请求状态变更(待退药→已完成) - medicationRequestService.updateCompletedStatusBatch(medRequestIdList, null, null); - // 汇总退药更新 - if (summaryFlag) { - List requestId = supplyRequestService.getSupplyByBusNo(dispenseMedicineList.get(0).getBusNo()) - .stream().map(SupplyRequest::getId).collect(Collectors.toList()); - List supplyDeliveryList = supplyDeliveryService.selectByRequestIdList(requestId); - for (SupplyDelivery supplyDelivery : supplyDeliveryList) { - // 药品发放状态 - supplyDelivery.setStatusEnum(DispenseStatus.REFUNDED.getValue()); - // 发药时间 - supplyDelivery.setOccurrenceTime(DateUtils.getNowDate()); - // 发药人 - supplyDelivery.setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()); - } - supplyDeliveryService.updateBatchById(supplyDeliveryList); - List supplyRequestList = supplyRequestService.selectByIdList(requestId); - for (SupplyRequest supplyRequest : supplyRequestList) { - supplyRequest.setStatusEnum(DispenseStatus.REFUNDED.getValue()); - } - supplyRequestService.updateBatchById(supplyRequestList); - } - } - - List inventoryItemList = new ArrayList<>(); - // 获取库存信息 - List inventoryList = - returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - - if (inventoryList != null && !inventoryList.isEmpty()) { - // 设置库存数量 - for (UnDispenseInventoryDto inventory : inventoryList) { - // 库存表项目设定 - InventoryItem inventoryItem = new InventoryItem(); - // id - inventoryItem.setId(inventory.getInventoryId()); - // 库存数量 - if (inventory.getDispenseUnit().equals(inventory.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+待退数量 - inventoryItem.setQuantity(inventory.getInventoryQuantity().add(inventory.getDispenseQuantity())); - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)+退药数量(拆零比×待退数量) - inventoryItem.setQuantity(inventory.getInventoryQuantity() - .add(inventory.getPartPercent().multiply(inventory.getDispenseQuantity()))); - } - inventoryItemList.add(inventoryItem); - } - // 库存更新 - iInventoryItemService.updateBatchById(inventoryItemList); - // 追溯码管理表数据追加 - traceNoManageService.saveBatch(traceNoManageList); - } - - // 返回信息 - String returnMsg = null; - List uploadFailedNoList; - // 调用医保商品销售退货接口 - String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关 - if (Whether.YES.getCode().equals(ybSwitch)) { - List medicationDefinitions = new ArrayList<>(); - if (!medicationRefundList.isEmpty()) { - // 设置进销存参数 - medicationDefinitions = medicationDefinitionService.listByIds(supplyItemDetailList.stream() - .filter(x -> x.getItemTable().equals(CommonConstants.TableName.MED_MEDICATION_DEFINITION)) - .map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); - } - - // 创建映射表,添加空集合保护 - Map medicationMap = - medicationDefinitions != null ? medicationDefinitions.stream().filter(Objects::nonNull) - .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())) : new HashMap<>(); - - // 设置库存变更参数,添加完整判空 - for (SupplyItemDetailDto dto : supplyItemDetailList) { - if (dto == null) - continue; - if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(dto.getItemTable())) { - if (dto.getItemId() != null) { - MedicationDefinition med = medicationMap.get(dto.getItemId()); - if (med != null) { - dto.setItemBusNo(med.getBusNo()).setPartPercent(med.getPartPercent()) - .setRxFlag(med.getRxFlag()).setYbNo(med.getYbNo()); - } - } - } - } - uploadFailedNoList = returnMedicineAppService.ybReturnIntegrated(medDispenseIdList, null); - uploadFailedNoList = receiptApprovalAppService.ybInventoryIntegrated(supplyItemDetailList, - YbInvChgType.OTHER_OUT, DateUtils.getNowDate()); - if (uploadFailedNoList != null) { - returnMsg = "3506商品销售退货上传错误,错误项目编码" + uploadFailedNoList; - } else { - returnMsg = "3506商品销售退货上传成功"; - } - } - // 返回退药成功信息 - return R.ok(returnMsg, MessageUtils.createMessage(PromptMsgConstant.Common.M00004, new Object[] {"退药"})); - } - -======= ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java index 68733be4..6fb2b11f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/WesternMedicineDispenseAppServiceImpl.java @@ -129,42 +129,42 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi DispenseInitDto initDto = new DispenseInitDto(); // 获取科室下拉选列表 - List organizationList = - organizationService.getList(OrganizationType.DEPARTMENT.getValue(), OrganizationClass.CLINIC.getValue()); + List organizationList + = organizationService.getList(OrganizationType.DEPARTMENT.getValue(), OrganizationClass.CLINIC.getValue()); List organizationOptions = organizationList.stream() - .map(organization -> new DispenseInitDto.DepartmentOption(organization.getId(), organization.getName())) - .collect(Collectors.toList()); + .map(organization -> new DispenseInitDto.DepartmentOption(organization.getId(), organization.getName())) + .collect(Collectors.toList()); // 获取配药人下拉选列表 - List preparerDoctorList = - westernMedicineDispenseMapper.getPreparerDoctorList(PractitionerRoles.PHARMACIST.getCode()); + List preparerDoctorList + = westernMedicineDispenseMapper.getPreparerDoctorList(PractitionerRoles.PHARMACIST.getCode()); List preparerDoctorOptions = preparerDoctorList.stream() - .map(practitioner -> new DispenseInitDto.PreparerDoctorOption(practitioner.getId(), practitioner.getName())) - .collect(Collectors.toList()); + .map(practitioner -> new DispenseInitDto.PreparerDoctorOption(practitioner.getId(), practitioner.getName())) + .collect(Collectors.toList()); // 未发药原因下拉选列表 - List notPerformedReasonOptions = - Stream.of(NotPerformedReasonEnum.values()) - .map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(), - notPerformedReason.getInfo())) - .collect(Collectors.toList()); + List notPerformedReasonOptions + = Stream.of(NotPerformedReasonEnum.values()) + .map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(), + notPerformedReason.getInfo())) + .collect(Collectors.toList()); // 患者类型 List encounterClassOptions = Stream.of(EncounterClass.values()) - .map(encounterClass -> new DispenseInitDto.EncounterClassOption(encounterClass.getValue(), + .map(encounterClass -> new DispenseInitDto.EncounterClassOption(encounterClass.getValue(), encounterClass.getInfo())) - .toList(); + .toList(); // 发药状态 List dispenseStatusOptions = new ArrayList<>(); dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.IN_PROGRESS.getValue(), - DispenseStatus.IN_PROGRESS.getInfo())); + DispenseStatus.IN_PROGRESS.getInfo())); dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), - DispenseStatus.COMPLETED.getInfo())); + DispenseStatus.COMPLETED.getInfo())); initDto.setDepartmentOptions(organizationOptions).setNotPerformedReasonOptions(notPerformedReasonOptions) - .setDispenseStatusOptions(dispenseStatusOptions).setPreparerDoctorOptions(preparerDoctorOptions) - .setEncounterClassOptions(encounterClassOptions); + .setDispenseStatusOptions(dispenseStatusOptions).setPreparerDoctorOptions(preparerDoctorOptions) + .setEncounterClassOptions(encounterClassOptions); return R.ok(initDto); } @@ -180,28 +180,28 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi */ @Override public R getEncounterInfoListPage(EncounterInfoSearchParam encounterInfoSearchParam, String searchKey, - Integer pageNo, Integer pageSize, HttpServletRequest request) { + Integer pageNo, Integer pageSize, HttpServletRequest request) { // 发药状态初始化 Integer statusEnum = encounterInfoSearchParam.getStatusEnum(); encounterInfoSearchParam.setStatusEnum(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(encounterInfoSearchParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.IdCard, - CommonConstants.FieldName.PatientPyStr, CommonConstants.FieldName.PatientWbStr)), - request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(encounterInfoSearchParam, searchKey, + new HashSet<>(Arrays.asList(CommonConstants.FieldName.PatientName, CommonConstants.FieldName.IdCard, + CommonConstants.FieldName.PatientPyStr, CommonConstants.FieldName.PatientWbStr)), + request); // 查询就诊病人列表 - Page encounterInfoPage = - westernMedicineDispenseMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper, - statusEnum, DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), - DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue()); + Page encounterInfoPage + = westernMedicineDispenseMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper, + statusEnum, DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), + DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue()); encounterInfoPage.getRecords().forEach(encounterInfo -> { // 性别 encounterInfo.setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, encounterInfo.getGenderEnum())); + EnumUtils.getInfoByValue(AdministrativeGender.class, encounterInfo.getGenderEnum())); // 发药状态 encounterInfo - .setStatusEnum_enumText(EnumUtils.getInfoByValue(DispenseStatus.class, encounterInfo.getStatusEnum())); + .setStatusEnum_enumText(EnumUtils.getInfoByValue(DispenseStatus.class, encounterInfo.getStatusEnum())); if (encounterInfo.getBirthDate() != null) { // 计算年龄 encounterInfo.setAge(AgeCalculatorUtil.getAge(encounterInfo.getBirthDate())); @@ -220,23 +220,23 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi */ @Override public R getMedicineDispenseOrderList(ItemDispenseOrderDto itemDispenseOrderDto, Integer pageNo, - Integer pageSize) { + Integer pageSize) { // 发药状态初始化 Integer dispenseStatus = itemDispenseOrderDto.getStatusEnum(); itemDispenseOrderDto.setStatusEnum(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(itemDispenseOrderDto, null, null, null); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(itemDispenseOrderDto, null, null, null); // 处方单信息查询 - Page medicineDispenseOrderPage = - westernMedicineDispenseMapper.selectMedicineDispenseOrderPage(new Page<>(pageNo, pageSize), queryWrapper, - DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), - DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue(), dispenseStatus, - PublicationStatus.ACTIVE.getValue()); + Page medicineDispenseOrderPage + = westernMedicineDispenseMapper.selectMedicineDispenseOrderPage(new Page<>(pageNo, pageSize), queryWrapper, + DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(), + DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue(), dispenseStatus, + PublicationStatus.ACTIVE.getValue()); medicineDispenseOrderPage.getRecords().forEach(medicineDispenseOrder -> { // 发药状态 medicineDispenseOrder.setStatusEnum_enumText( - EnumUtils.getInfoByValue(DispenseStatus.class, medicineDispenseOrder.getStatusEnum())); + EnumUtils.getInfoByValue(DispenseStatus.class, medicineDispenseOrder.getStatusEnum())); // 设置所在表名 medicineDispenseOrder.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION); }); @@ -252,12 +252,12 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi @Override public R medicinePrepare(List dispenseMedicineList) { // 追溯码集合 - List traceNoList = - dispenseMedicineList.stream().map(DispenseItemDto::getTraceNo).collect(Collectors.toList()); + List traceNoList + = dispenseMedicineList.stream().map(DispenseItemDto::getTraceNo).collect(Collectors.toList()); // 非输液药品的已出库追溯码 List outTraceNoList = westernMedicineDispenseMapper.getOutTraceNo(TraceNoStatus.OUT.getValue(), - Whether.YES.getValue(), SplitPropertyCode.OUTPATIENT_MIN_UNIT_CEIL.getValue(), - SplitPropertyCode.OUTPATIENT_MIN_UNIT_TOTAL_CEIL.getValue(), SupplyType.DISPENSE_MEDICATION.getValue()); + Whether.YES.getValue(), SplitPropertyCode.OUTPATIENT_MIN_UNIT_CEIL.getValue(), + SplitPropertyCode.OUTPATIENT_MIN_UNIT_TOTAL_CEIL.getValue(), SupplyType.DISPENSE_MEDICATION.getValue()); // 取交集 if (!traceNoList.isEmpty() && !outTraceNoList.isEmpty()) { List list = traceNoList.stream().filter(outTraceNoList::contains).collect(Collectors.toList()); @@ -267,65 +267,19 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi } // 配药人检查 if (dispenseMedicineList.get(0).getPreparerId() == null - || dispenseMedicineList.get(0).getPreparerId().equals(SecurityUtils.getLoginUser().getPractitionerId())) { + || dispenseMedicineList.get(0).getPreparerId().equals(SecurityUtils.getLoginUser().getPractitionerId())) { return R.fail("请选择调配药师"); } // 获取发药单id列表 - List medDispenseIdList = - dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); -<<<<<<< HEAD - // 获取库存信息 - List inventoryList = - returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - // 按每个药品分组 - Map> groupedByItemId = - inventoryList.stream().collect(Collectors.groupingBy(UnDispenseInventoryDto::getItemId)); - // 遍历每个分组校验库存状态 - for (Map.Entry> entry : groupedByItemId.entrySet()) { - List groupItems = entry.getValue(); - if (groupItems.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { - // 库存停供校验 - return R.fail(groupItems.get(0).getItemName() + "库存已停供"); - } - } - if (!inventoryList.isEmpty()) { - for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { - if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum())) { - // 库存数量判定 - if (unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity() - .subtract(unDispenseInventoryDto.getQuantity()); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity().subtract( - unDispenseInventoryDto.getPartPercent().multiply(unDispenseInventoryDto.getQuantity())); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } - } - } - } - } -======= ->>>>>>> v1.3 + List medDispenseIdList + = dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); // 药品发药信息查询 List dispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); + .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); if (dispenseList != null) { if (dispenseList.stream().map(MedicationDispense::getStatusEnum) - .anyMatch(x -> !x.equals(DispenseStatus.PREPARATION.getValue()))) { + .anyMatch(x -> !x.equals(DispenseStatus.PREPARATION.getValue()))) { throw new ServiceException("配药失败,请检查发药单状态"); } else { for (MedicationDispense medicationDispense : dispenseList) { @@ -350,10 +304,10 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi } // 查询对应的药品医嘱 List medicationRequests = medicationRequestService.listByIds( - dispenseList.stream().map(MedicationDispense::getMedReqId).distinct().collect(Collectors.toList())); + dispenseList.stream().map(MedicationDispense::getMedReqId).distinct().collect(Collectors.toList())); // 根据请求id做map - Map> dispenseMap = - dispenseList.stream().collect(Collectors.groupingBy(MedicationDispense::getMedReqId)); + Map> dispenseMap + = dispenseList.stream().collect(Collectors.groupingBy(MedicationDispense::getMedReqId)); for (MedicationRequest medicationRequest : medicationRequests) { List medicationDispenseList = dispenseMap.get(medicationRequest.getId()); BigDecimal dispenseQuantity = BigDecimal.ZERO; @@ -387,79 +341,33 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi @Override public R medicineDispense(List dispenseMedicineList) { // 获取发药单id列表 - List medDispenseIdList = - dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); -<<<<<<< HEAD - - // 获取药品发放库存信息 - List inventoryList = - returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); - // 按每个药品分组 - Map> groupedByItemId = - inventoryList.stream().collect(Collectors.groupingBy(UnDispenseInventoryDto::getItemId)); - // 遍历每个分组校验库存状态 - for (Map.Entry> entry : groupedByItemId.entrySet()) { - List groupItems = entry.getValue(); - if (groupItems.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { - // 库存停供校验 - return R.fail(groupItems.get(0).getItemName() + "库存已停供"); - } - } - if (!inventoryList.isEmpty()) { - for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { - if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum())) { - InventoryItem inventoryItem = new InventoryItem(); - // 库存数量判定 - if (unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-请求数量 - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity() - .subtract(unDispenseInventoryDto.getQuantity()); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); - } - } else { - // 当前库存数量(拆零单位)=当前库存数量(拆零单位)-拆零数量(拆零比×请求数量) - BigDecimal quantity = unDispenseInventoryDto.getInventoryQuantity().subtract( - unDispenseInventoryDto.getPartPercent().multiply(unDispenseInventoryDto.getQuantity())); - // 库存数量判定 - if (quantity.compareTo(BigDecimal.ZERO) < 0) { - // 库存数量不足 - return R.fail(unDispenseInventoryDto.getItemName() + "当前库存数量不足"); - } else { - inventoryItem.setId(unDispenseInventoryDto.getInventoryId()).setQuantity(quantity); -======= + List medDispenseIdList + = dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); // 获取药品待发放库存信息 - List unDispenseInventoryList = - returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, - CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); + List unDispenseInventoryList + = returnMedicineMapper.selectInventoryInfoList(null, medDispenseIdList, + CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION); if (unDispenseInventoryList == null || unDispenseInventoryList.isEmpty()) { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00007, null)); } // 发药单状态校验 if (unDispenseInventoryList.stream().map(UnDispenseInventoryDto::getDispenseStatus) - .anyMatch(x -> !x.equals(DispenseStatus.PREPARED.getValue()))) { + .anyMatch(x -> !x.equals(DispenseStatus.PREPARED.getValue()))) { throw new ServiceException("发药失败,请检查发药单状态"); } // 库存待更新列表 List inventoryItemList = new ArrayList<>(); // 根据批号,发放项目,发放药房进行分组处理 - Map> unDispenseInventoryMap = - unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + Map> unDispenseInventoryMap + = unDispenseInventoryList.stream().collect(Collectors.groupingBy(x -> x.getItemId() + CommonConstants.Common.DASH + x.getLotNumber() + CommonConstants.Common.DASH + x.getLocationId())); if (!unDispenseInventoryMap.isEmpty()) { for (Map.Entry> entry : unDispenseInventoryMap.entrySet()) { List inventoryList = entry.getValue(); if (!inventoryList.isEmpty()) { if (inventoryList.stream().map(UnDispenseInventoryDto::getInventoryStatusEnum) - .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { + .allMatch(x -> x.equals(PublicationStatus.RETIRED.getValue()))) { // 停供库存校验 return R.fail(inventoryList.get(0).getItemName() + "库存已停供"); } @@ -472,17 +380,16 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi for (UnDispenseInventoryDto unDispenseInventoryDto : inventoryList) { BigDecimal quantity = unDispenseInventoryDto.getQuantity(); if (!unDispenseInventoryDto.getDispenseUnit() - .equals(unDispenseInventoryDto.getInventoryUnitCode())) { + .equals(unDispenseInventoryDto.getInventoryUnitCode())) { // 转换为小单位进行累加 - quantity = - unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); + quantity + = unDispenseInventoryDto.getQuantity().multiply(unDispenseInventoryDto.getPartPercent()); } minQuantity = minQuantity.add(quantity); if (PublicationStatus.ACTIVE.getValue().equals(unDispenseInventoryDto.getInventoryStatusEnum()) - && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { + && unDispenseInventoryDto.getInventoryQuantity().compareTo(BigDecimal.ZERO) > 0) { inventoryQuantity = unDispenseInventoryDto.getInventoryQuantity(); inventoryId = unDispenseInventoryDto.getInventoryId(); ->>>>>>> v1.3 } } if (minQuantity.compareTo(inventoryQuantity) > 0) { @@ -491,7 +398,7 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi } else { // 设置待更新的库存信息 inventoryItemList.add(new InventoryItem().setId(inventoryId) - .setQuantity(inventoryQuantity.subtract(minQuantity))); + .setQuantity(inventoryQuantity.subtract(minQuantity))); } } } @@ -527,9 +434,9 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi // 设置库存变更参数 supplyItemDetailList.add(new SupplyItemDetailDto().setItemId(unDispenseInventoryDto.getItemId()) - .setLotNumber(unDispenseInventoryDto.getLotNumber()) - .setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - .setRequestId(unDispenseInventoryDto.getRequestId())); + .setLotNumber(unDispenseInventoryDto.getLotNumber()) + .setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setRequestId(unDispenseInventoryDto.getRequestId())); // 处理追溯码相关 // 使用逗号分割追溯码并转换为List @@ -539,22 +446,22 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi traceNoManage = new TraceNoManage(); // 追溯码处理 traceNoManage.setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION) - // 项目id - .setItemId(unDispenseInventoryDto.getItemId()) - // 仓库类型 - .setLocationTypeEnum(LocationForm.PHARMACY.getValue()) - // 仓库 - .setLocationId(unDispenseInventoryDto.getLocationId()) - // 产品批号 - .setLotNumber(unDispenseInventoryDto.getLotNumber()) - // 追溯码 - .setTraceNo(item) - // 追溯码状态 - .setStatusEnum(TraceNoStatus.OUT.getValue()) - // 追溯码单位 - .setUnitCode(unDispenseInventoryDto.getDispenseUnit()) - // 操作类型 - .setOperationType(SupplyType.DISPENSE_MEDICATION.getValue()); + // 项目id + .setItemId(unDispenseInventoryDto.getItemId()) + // 仓库类型 + .setLocationTypeEnum(LocationForm.PHARMACY.getValue()) + // 仓库 + .setLocationId(unDispenseInventoryDto.getLocationId()) + // 产品批号 + .setLotNumber(unDispenseInventoryDto.getLotNumber()) + // 追溯码 + .setTraceNo(item) + // 追溯码状态 + .setStatusEnum(TraceNoStatus.OUT.getValue()) + // 追溯码单位 + .setUnitCode(unDispenseInventoryDto.getDispenseUnit()) + // 操作类型 + .setOperationType(SupplyType.DISPENSE_MEDICATION.getValue()); tracesNoManageList.add(traceNoManage); } } @@ -575,23 +482,23 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi if (Whether.YES.getCode().equals(ybSwitch)) { // 设置进销存参数 List medicationDefinitions = medicationDefinitionService.listByIds( - supplyItemDetailList.stream().map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); + supplyItemDetailList.stream().map(SupplyItemDetailDto::getItemId).collect(Collectors.toList())); // 用itemId分组 Map medicationMap = medicationDefinitions.stream() - .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())); + .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())); // 设置库存变更参数 for (SupplyItemDetailDto dto : supplyItemDetailList) { if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(dto.getItemTable())) { MedicationDefinition med = medicationMap.get(dto.getItemId()); if (med != null) { dto.setItemBusNo(med.getBusNo()).setPartPercent(med.getPartPercent()).setRxFlag(med.getRxFlag()) - .setYbNo(med.getYbNo()); + .setYbNo(med.getYbNo()); } } } uploadFailedNoList = this.ybMedicineIntegrated(medDispenseIdList, null); uploadFailedNoList = receiptApprovalAppService.ybInventoryIntegrated(supplyItemDetailList, - YbInvChgType.OTHER_OUT, DateUtils.getNowDate(), true); + YbInvChgType.OTHER_OUT, DateUtils.getNowDate(), true); if (uploadFailedNoList != null) { returnMsg = "3505商品销售上传错误,错误项目编码" + uploadFailedNoList; } else { @@ -610,11 +517,11 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi @Override public R medicineCancel(List dispenseMedicineList) { // 获取发药单id列表 - List medDispenseIdList = - dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); + List medDispenseIdList + = dispenseMedicineList.stream().map(DispenseItemDto::getDispenseId).collect(Collectors.toList()); // 药品发药信息查询 List dispenseList = medicationDispenseService - .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); + .list(new LambdaQueryWrapper().in(MedicationDispense::getId, medDispenseIdList)); if (dispenseList != null) { for (MedicationDispense medicationDispense : dispenseList) { // 药品发放状态 @@ -640,15 +547,15 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi * @return 上传失败的编号集合 */ public List ybMedicineIntegrated(@Nullable List medDispenseIdList, - @Nullable List devDispenseIdList) { + @Nullable List devDispenseIdList) { List uploadFailedNoList = new ArrayList<>(); R result; if ((medDispenseIdList != null && !medDispenseIdList.isEmpty()) - || (devDispenseIdList != null && !devDispenseIdList.isEmpty())) { + || (devDispenseIdList != null && !devDispenseIdList.isEmpty())) { // 查询发药项目相关信息 List dispenseInventoryList = returnMedicineMapper.selectReturnItemDetail( - devDispenseIdList, medDispenseIdList, CommonConstants.TableName.MED_MEDICATION_DEFINITION, - CommonConstants.TableName.ADM_DEVICE_DEFINITION); + devDispenseIdList, medDispenseIdList, CommonConstants.TableName.MED_MEDICATION_DEFINITION, + CommonConstants.TableName.ADM_DEVICE_DEFINITION); for (DispenseInventoryDto dispenseInventoryDto : dispenseInventoryList) { if (dispenseInventoryDto.getYbNo() == null) { continue; @@ -658,7 +565,7 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi Contract contract = medical3505Pair.getRight(); if (contract != null) { if (CommonConstants.BusinessName.DEFAULT_CONTRACT_NO - .equals(medical3505Pair.getRight().getBusNo())) { + .equals(medical3505Pair.getRight().getBusNo())) { contract = null; } } @@ -677,14 +584,14 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(dispenseInventoryDto.getItemTable())) { // 查询费用结算信息 chargeItem = chargeItemService.getOne(new LambdaQueryWrapper() - .eq(ChargeItem::getServiceTable, CommonConstants.TableName.MED_MEDICATION_REQUEST) - .eq(ChargeItem::getServiceId, dispenseInventoryDto.getReqId()) - .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.MED_MEDICATION_REQUEST) + .eq(ChargeItem::getServiceId, dispenseInventoryDto.getReqId()) + .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(dispenseInventoryDto.getItemTable())) { chargeItem = chargeItemService.getOne(new LambdaQueryWrapper() - .eq(ChargeItem::getServiceTable, CommonConstants.TableName.WOR_DEVICE_REQUEST) - .eq(ChargeItem::getServiceId, dispenseInventoryDto.getReqId()) - .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.WOR_DEVICE_REQUEST) + .eq(ChargeItem::getServiceId, dispenseInventoryDto.getReqId()) + .eq(ChargeItem::getTenantId, SecurityUtils.getLoginUser().getTenantId())); } if (chargeItem == null) { @@ -696,29 +603,29 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi throw new ServiceException("未查找到就诊诊断信息"); } // 查询付款信息 - List paymentReconciliationList = - paymentReconciliationService.list(new LambdaQueryWrapper() - .eq(PaymentReconciliation::getEncounterId, dispenseInventoryDto.getEncounterId()) - .eq(PaymentReconciliation::getTenantId, SecurityUtils.getLoginUser().getTenantId()) - .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) - .eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue()) - .eq(PaymentReconciliation::getPatientId, dispenseInventoryDto.getPatientId()) - .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue()) - .orderByDesc(PaymentReconciliation::getBillDate)); + List paymentReconciliationList + = paymentReconciliationService.list(new LambdaQueryWrapper() + .eq(PaymentReconciliation::getEncounterId, dispenseInventoryDto.getEncounterId()) + .eq(PaymentReconciliation::getTenantId, SecurityUtils.getLoginUser().getTenantId()) + .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) + .eq(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue()) + .eq(PaymentReconciliation::getPatientId, dispenseInventoryDto.getPatientId()) + .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue()) + .orderByDesc(PaymentReconciliation::getBillDate)); if (paymentReconciliationList == null || paymentReconciliationList.isEmpty()) { throw new ServiceException("未查找到收费信息"); } PaymentReconciliation paymentReconciliation = paymentReconciliationList.get(0); // 查询账户信息 Account account = accountService - .getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, dispenseInventoryDto.getEncounterId()) - .eq(Account::getEncounterFlag, Whether.YES.getValue())); + .getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, dispenseInventoryDto.getEncounterId()) + .eq(Account::getEncounterFlag, Whether.YES.getValue())); if (account == null) { throw new ServiceException("未查找到账户信息"); } // 查询合同实体 - Contract contract = - contractService.getOne(new LambdaQueryWrapper().eq(Contract::getBusNo, account.getContractNo())); + Contract contract + = contractService.getOne(new LambdaQueryWrapper().eq(Contract::getBusNo, account.getContractNo())); if (contract == null) { throw new ServiceException("未查找到合同信息"); } @@ -733,13 +640,13 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi } // 查询就诊id if (contract.getCategoryEnum().equals(Category.SELF.getValue()) - || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { + || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { medical3505Param.setMdtrtSn(dispenseInventoryDto.getEncounterNo()).setMdtrtSetlType("2"); } else { // todo:虽然是医保挂号,但是用什么结算的暂时未知先不做修改 ClinicSettle clinicSettle = clinicSettleService.getOne(new LambdaQueryWrapper() - .in(ClinicSettle::getSetlId, List.of(paymentReconciliation.getYbSettleIds())) - .eq(ClinicSettle::getMedType, encounterDiagnosis.getMedTypeCode()).last(" LIMIT 1")); + .in(ClinicSettle::getSetlId, List.of(paymentReconciliation.getYbSettleIds())) + .eq(ClinicSettle::getMedType, encounterDiagnosis.getMedTypeCode()).last(" LIMIT 1")); if (clinicSettle != null) { medical3505Param.setMdtrtSn(clinicSettle.getMdtrtId()).setMdtrtSetlType("1"); } else { @@ -755,9 +662,9 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi JSONArray medicalTraceNo = new JSONArray(); // 获取追溯码信息 if (dispenseInventoryDto.getTraceNo() != null) { - List traceNoList = - Arrays.stream(dispenseInventoryDto.getTraceNo().split(CommonConstants.Common.COMMA)).map(String::trim) - .filter(s -> !s.isEmpty()).toList(); + List traceNoList + = Arrays.stream(dispenseInventoryDto.getTraceNo().split(CommonConstants.Common.COMMA)).map(String::trim) + .filter(s -> !s.isEmpty()).toList(); for (String traceNo : traceNoList) { Map traceNoMap = new HashMap<>(); traceNoMap.put("drug_trac_codg", traceNo); @@ -765,25 +672,25 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi } } medical3505Param.setMedListCodg(dispenseInventoryDto.getYbNo()) - .setFixmedinsBchno(dispenseInventoryDto.getReqId().toString()) - .setFixmedinsHilistId(dispenseInventoryDto.getItemNo()) - .setPrscDrName(dispenseInventoryDto.getPractitionerName()) - .setPharName(dispenseInventoryDto.getDispenseName()) - .setPharPracCertNo(dispenseInventoryDto.getPharPracCertNo()).setPsnCertType(mdtrtCertType.getValue()) - .setManuLotnum(dispenseInventoryDto.getLotNumber()).setManuDate(dispenseInventoryDto.getProductionDate()) - .setRtalDocno(dispenseInventoryDto.getDispenseNo()) - .setSelRetnCnt(new BigDecimal(dispenseInventoryDto.getDispenseQuantity().toString())) - .setSelRetnTime(dispenseInventoryDto.getDispenseTime()).setExpyEnd(dispenseInventoryDto.getExpirationDate()) - .setStooutNo(dispenseInventoryDto.getDispenseNo()).setDrugtracinfo(medicalTraceNo) - .setCertno(dispenseInventoryDto.getIdCard()).setPsnName(dispenseInventoryDto.getPatientName()); + .setFixmedinsBchno(dispenseInventoryDto.getReqId().toString()) + .setFixmedinsHilistId(dispenseInventoryDto.getItemNo()) + .setPrscDrName(dispenseInventoryDto.getPractitionerName()) + .setPharName(dispenseInventoryDto.getDispenseName()) + .setPharPracCertNo(dispenseInventoryDto.getPharPracCertNo()).setPsnCertType(mdtrtCertType.getValue()) + .setManuLotnum(dispenseInventoryDto.getLotNumber()).setManuDate(dispenseInventoryDto.getProductionDate()) + .setRtalDocno(dispenseInventoryDto.getDispenseNo()) + .setSelRetnCnt(new BigDecimal(dispenseInventoryDto.getDispenseQuantity().toString())) + .setSelRetnTime(dispenseInventoryDto.getDispenseTime()).setExpyEnd(dispenseInventoryDto.getExpirationDate()) + .setStooutNo(dispenseInventoryDto.getDispenseNo()).setDrugtracinfo(medicalTraceNo) + .setCertno(dispenseInventoryDto.getIdCard()).setPsnName(dispenseInventoryDto.getPatientName()); if (dispenseInventoryDto.getInventoryUnitCode().equals(dispenseInventoryDto.getDispenseUnitCode())) { medical3505Param.setTrdnFlag(Whether.YES.getCode()); } else { medical3505Param.setTrdnFlag(Whether.NO.getCode()); } // 查看所属医院 - String fixmedinsCode = - SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); + String fixmedinsCode + = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE); if (dispenseInventoryDto.getPreparerName() == null && HospitalCodeEnum.CCU.getCode().equals(fixmedinsCode)) { medical3505Param.setSelRetnOpterName(CommonConstants.CCU.DisDeviceDoctorName); } else { diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/MedicationDetailsController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/MedicationDetailsController.java index f4bc8dfb..4b8e871f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/MedicationDetailsController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/MedicationDetailsController.java @@ -55,11 +55,11 @@ public class MedicationDetailsController { */ @GetMapping(value = "/amb-practitioner-detail") public R getAmbPractitionerDetailPage(MedDetailsSearchParam medDetailsSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return medicationDetailsAppService.getAmbPractitionerDetailPage(medDetailsSearchParam, pageNo, pageSize, - searchKey, request); + searchKey, request); } /** @@ -74,11 +74,11 @@ public class MedicationDetailsController { */ @GetMapping(value = "/amb-medication-detail") public R getAmbMedicationDispenseDetailPage(MedDetailsSearchParam medDetailsSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return medicationDetailsAppService.getAmbMedicationDispenseDetailPage(medDetailsSearchParam, pageNo, pageSize, - searchKey, request); + searchKey, request); } // /** @@ -118,10 +118,6 @@ public class MedicationDetailsController { // return medicationDetailsAppService.getMedRunningAccountPage(medDetailsSearchParam, pageNo, pageSize, searchKey, // request); // } -<<<<<<< HEAD -======= - - /** * 发药明细导出 * @@ -132,13 +128,12 @@ public class MedicationDetailsController { * @param response 请求数据 * @param request 请求数据 */ ->>>>>>> v1.3 @GetMapping(value = "/excel-out") public void exportExcel(MedDetailsSearchParam medDetailsSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, - HttpServletRequest request, HttpServletResponse response) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, + HttpServletRequest request, HttpServletResponse response) { medicationDetailsAppService.makeExcelFile(medDetailsSearchParam, pageNo, pageSize, searchKey, response, request); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/SummaryDispenseMedicineController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/SummaryDispenseMedicineController.java index 76c50ecd..52c04c87 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/SummaryDispenseMedicineController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/controller/SummaryDispenseMedicineController.java @@ -3,21 +3,11 @@ package com.openhis.web.pharmacymanage.controller; import java.util.List; import javax.annotation.Resource; -<<<<<<< HEAD -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - - -import com.openhis.web.inhospitalnursestation.dto.AdmissionPageParam; -import com.openhis.web.pharmacymanage.dto.*; -import org.springframework.web.bind.annotation.*; -======= import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; ->>>>>>> v1.3 import com.core.common.core.domain.R; import com.openhis.web.pharmacymanage.appservice.ISummaryDispenseMedicineAppService; @@ -25,7 +15,6 @@ import com.openhis.web.pharmacymanage.appservice.ISummaryDispenseMedicineAppServ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; - /** * 住院汇总发药 * @@ -42,98 +31,6 @@ public class SummaryDispenseMedicineController { public ISummaryDispenseMedicineAppService medicineSummaryDispenseService; /** -<<<<<<< HEAD - * 获取页面初始化信息 - * - * @return 初始化信息 - */ - @GetMapping(value = "/init") - public R medicineDispenseInit() { - return medicineSummaryDispenseService.init(); - } - - /** - * 分页查询住院病人列表 - * - * @param admissionPageParam 查询条件 - * @param startTime 开始时间 - * @param endTime 结束时间 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - * @return 病人列表 - */ - @GetMapping("/encounter-list") - public R getEncounterInfoList(AdmissionPageParam admissionPageParam, String startTime, String endTime, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { - return medicineSummaryDispenseService.getEncounterInfoListPage(admissionPageParam, startTime, endTime, pageNo, - pageSize, searchKey, request); - } - - /** - * 住院汇总药品 - * - * @param searchParam 查询信息 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @return 药品汇总 - */ - @GetMapping("/medication_summary-list") - public R getSummaryMedicationInfo(MedicineSummarySearchParam searchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { - return medicineSummaryDispenseService.getSummaryMedicationInfo(searchParam, pageNo, pageSize); - } - - /** - * 住院汇总发药单 - * - * @param searchParam 查询条件 - * @param startTime 开始时间 - * @param endTime 结束时间 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - * @return 汇总单汇总 - */ - @GetMapping("/from_summary-list") - public R getSummaryFromInfo(FromSummarySearchParam searchParam, String startTime, String endTime, - String searchKey, @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { - return medicineSummaryDispenseService.getSummaryFromInfo(searchParam, startTime, endTime, searchKey, pageNo, - pageSize, request); - } - - /** - * 住院药品汇总发药单详细 - * - * @param searchParam 查询条件 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - */ - @GetMapping("/from-list") - public R getFromInfo(FromSearchParam searchParam, String searchKey, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { - return medicineSummaryDispenseService.getOrderInfo(searchParam, searchKey, pageNo, pageSize, request); - } - - /** - * 药品发药 - * - * @param dispenseMedicineList 发药信息 - * @return 处理结果 - */ - @PutMapping("/summary-dispense-medicine") - public R SummaryDispenseMedicine(@RequestBody List dispenseMedicineList) { - return medicineSummaryDispenseService.SummaryDispenseMedicine(dispenseMedicineList); -======= * 汇总发药 * * @param summaryNoList 汇总单列表 @@ -142,66 +39,11 @@ public class SummaryDispenseMedicineController { @PutMapping("/summary-dispense-medicine") public R SummaryDispenseMedicine(@RequestBody List summaryNoList) { return medicineSummaryDispenseService.SummaryDispenseMedicine(summaryNoList); ->>>>>>> v1.3 } /** * 作废 * -<<<<<<< HEAD - * @param dispenseMedicineList 作废信息 - * @return 处理结果 - */ - @PutMapping("/dispense-cancel") - public R dispenseCancel(@RequestBody List dispenseMedicineList) { - return medicineSummaryDispenseService.dispenseCancel(dispenseMedicineList); - } - - /** - * 退药处理 - * - * @param dispenseMedicineList 退药清单 - * @return 处理结果 - */ - @PutMapping("/medicine-return") - public R medicineReturn(@RequestBody List dispenseMedicineList) { - return medicineSummaryDispenseService.medicineReturn(dispenseMedicineList); - } - - /** - * 住院发药 - * - * @param searchParam 查询条件 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - */ - - @GetMapping(value = "/excel-out") - public void excelOut(MedicineSummarySearchParam searchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10000") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, - HttpServletRequest request,HttpServletResponse response) { - medicineSummaryDispenseService.makeExcelFile(searchParam, pageNo, pageSize, searchKey, request, response); - - } - /** - * 住院药品汇总 - * - * @param searchParam 查询条件 - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param request 请求数据 - */ - - - - - -======= * @param summaryNoList 汇总单列表 * @return 处理结果 */ @@ -245,5 +87,4 @@ public class SummaryDispenseMedicineController { // HttpServletResponse response) { // medicineSummaryDispenseService.takeExcelField(searchParam, searchKey, pageNo, pageSize, request, response); // } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseItemDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseItemDto.java index ea177c7c..c119d333 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseItemDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseItemDto.java @@ -21,29 +21,40 @@ import java.math.BigDecimal; @Accessors(chain = true) public class DispenseItemDto { - /** 配药人 */ + /** + * 配药人 + */ @JsonSerialize(using = ToStringSerializer.class) private Long preparerId; - /** 发放ID */ + /** + * 发放ID + */ @JsonSerialize(using = ToStringSerializer.class) private Long dispenseId; -<<<<<<< HEAD -======= - /** 发药数量 */ + /** + * 发药数量 + */ private BigDecimal quantity; - /** 批号 */ + /** + * 批号 + */ private String lotNumber; ->>>>>>> v1.3 - /** 单据号 */ + /** + * 单据号 + */ private String busNo; - /** 追溯码 */ + /** + * 追溯码 + */ private String traceNo; - /** 未发原因 */ + /** + * 未发原因 + */ private Integer notPerformedReasonEnum; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java index dc6bcf7d..9b55ddeb 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/ItemDispenseOrderDto.java @@ -59,31 +59,19 @@ public class ItemDispenseOrderDto { /** * 发放药房 */ -<<<<<<< HEAD - @Excel(name = "发放药房",sort = 3) -======= @Excel(name = "发放药房", sort = 3) ->>>>>>> v1.3 private String locationName; /** * 批次号 */ -<<<<<<< HEAD - @Excel(name = "批次号",sort = 4) -======= @Excel(name = "批次号", sort = 4) ->>>>>>> v1.3 private String lotNumber; /** * 科室 */ -<<<<<<< HEAD - @Excel(name = "科室",sort = 5) -======= @Excel(name = "科室", sort = 5) ->>>>>>> v1.3 private String departmentName; /** @@ -95,21 +83,13 @@ public class ItemDispenseOrderDto { /** * 开单医生 */ -<<<<<<< HEAD - @Excel(name = "开单医生",sort = 6) -======= @Excel(name = "开单医生", sort = 6) ->>>>>>> v1.3 private String doctorName; /** * 发药医生 */ -<<<<<<< HEAD - @Excel(name = "发药医生",sort = 7) -======= @Excel(name = "发药医生", sort = 7) ->>>>>>> v1.3 private String dispenseDoctorName; /** @@ -117,54 +97,32 @@ public class ItemDispenseOrderDto { */ @Dict(dictCode = "med_category_code") private String itemType; -<<<<<<< HEAD - @Excel(name = "项目类型",sort = 8) -======= @Excel(name = "项目类型", sort = 8) ->>>>>>> v1.3 private String itemType_dictText; - - /** * 发药状态 */ private Integer statusEnum; -<<<<<<< HEAD - @Excel(name = "发药状态",sort = 9) -======= @Excel(name = "发药状态", sort = 9) ->>>>>>> v1.3 private String statusEnum_enumText; /** * 诊断名称 */ -<<<<<<< HEAD - @Excel(name = "诊断名称",sort = 10) -======= @Excel(name = "诊断名称", sort = 10) ->>>>>>> v1.3 private String conditionName; /** * 处方号 */ -<<<<<<< HEAD - @Excel(name = "处方号",sort = 11) -======= @Excel(name = "处方号", sort = 11) ->>>>>>> v1.3 private String prescriptionNo; /** * 项目名称 */ -<<<<<<< HEAD - @Excel(name = "项目名称",sort = 1,width = 30) -======= @Excel(name = "项目名称", sort = 1, width = 30) ->>>>>>> v1.3 private String itemName; /** @@ -175,21 +133,13 @@ public class ItemDispenseOrderDto { /** * 规格 */ -<<<<<<< HEAD - @Excel(name = "规格",sort = 2,width = 30) -======= @Excel(name = "规格", sort = 2, width = 30) ->>>>>>> v1.3 private String totalVolume; /** * 单次剂量 */ -<<<<<<< HEAD - @Excel(name = "单次剂量",sort = 12) -======= @Excel(name = "单次剂量", sort = 12) ->>>>>>> v1.3 private BigDecimal dose; /** @@ -202,11 +152,7 @@ public class ItemDispenseOrderDto { */ @Dict(dictCode = "rate_code") private String rateCode; -<<<<<<< HEAD - @Excel(name = "用药频次",sort = 13) -======= @Excel(name = "用药频次", sort = 13) ->>>>>>> v1.3 private String rateCode_dictText; /** @@ -214,60 +160,35 @@ public class ItemDispenseOrderDto { */ @Dict(dictCode = "method_code") private String methodCode; -<<<<<<< HEAD - @Excel(name = "用法",sort = 14) -======= @Excel(name = "用法", sort = 14) ->>>>>>> v1.3 private String methodCode_dictText; - - /** * 剂量单位 */ @Dict(dictCode = "unit_code") private String doseUnitCode; -<<<<<<< HEAD - @Excel(name = "剂量单位",sort = 15) -======= @Excel(name = "剂量单位", sort = 15) ->>>>>>> v1.3 private String doseUnitCode_dictText; - - /** * 单位 */ @Dict(dictCode = "unit_code") private String unitCode; -<<<<<<< HEAD - @Excel(name = "单位",sort = 16) -======= @Excel(name = "单位", sort = 16) ->>>>>>> v1.3 private String unitCode_dictText; - /** * 单次发药数 */ -<<<<<<< HEAD - @Excel(name = "单次发药数",sort = 17) -======= @Excel(name = "单次发药数", sort = 17) ->>>>>>> v1.3 private Integer dispensePerQuantity; /** * 每次发药供应天数 */ -<<<<<<< HEAD - @Excel(name = "每次发药供应天数",sort = 18) -======= @Excel(name = "每次发药供应天数", sort = 18) ->>>>>>> v1.3 private Integer dispensePerDuration; /** @@ -278,32 +199,19 @@ public class ItemDispenseOrderDto { /** * 数量 */ -<<<<<<< HEAD - @Excel(name = "数量",sort = 19) - private Integer quantity; -======= @Excel(name = "数量", sort = 19) private BigDecimal quantity; ->>>>>>> v1.3 /** * 单价 */ -<<<<<<< HEAD - @Excel(name = "单价",sort = 20) -======= @Excel(name = "单价", sort = 20) ->>>>>>> v1.3 private BigDecimal unitPrice; /** * 金额 */ -<<<<<<< HEAD - @Excel(name = "金额",sort = 21) -======= @Excel(name = "金额", sort = 21) ->>>>>>> v1.3 private BigDecimal totalPrice; /** * 组合号 @@ -315,66 +223,46 @@ public class ItemDispenseOrderDto { * 就诊NO */ @JsonSerialize(using = ToStringSerializer.class) -<<<<<<< HEAD - @Excel(name = "就诊NO",sort = 24) -======= @Excel(name = "就诊NO", sort = 24) ->>>>>>> v1.3 private String encounterBusNo; - /** 开具日期 */ + /** + * 开具日期 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") -<<<<<<< HEAD - @Excel(name = "开具日期",sort = 25, dateFormat = "yyyy-MM-dd HH:mm:ss",width = 25) - private Date reqAuthoredTime; - - /** 皮试标志 */ - @Excel(name = "皮试标志",sort = 26) - private Integer skinTestFlag; - - /** 中药标识 */ - @Excel(name = "中药标识",sort = 27) - private Integer tcmFlag; - - /** 所在表 */ - @Excel(name = "所在表",sort = 28,width = 30) -======= @Excel(name = "开具日期", sort = 25, dateFormat = "yyyy-MM-dd HH:mm:ss", width = 25) private Date reqAuthoredTime; - /** 接收皮试标志 */ + /** + * 接收皮试标志 + */ @Excel(name = "皮试标志", sort = 26) private String skinTestFlagDesc; private Integer skinTestFlag; - /** 接收中药标识 */ + /** + * 接收中药标识 + */ @Excel(name = "中药标识", sort = 27) private String tcmFlagDesc; private Integer tcmFlag; - /** 所在表 */ + /** + * 所在表 + */ @Excel(name = "所在表", sort = 28, width = 30) ->>>>>>> v1.3 private String itemTable; /** * 生产厂家 */ -<<<<<<< HEAD - @Excel(name = "生产厂家",sort = 22,width = 35) -======= @Excel(name = "生产厂家", sort = 22, width = 35) ->>>>>>> v1.3 private String manufacturerText; /** * 追溯码 */ -<<<<<<< HEAD - @Excel(name = "追溯码",sort = 23) -======= @Excel(name = "追溯码", sort = 23) ->>>>>>> v1.3 private String traceNo; /** @@ -384,12 +272,14 @@ public class ItemDispenseOrderDto { private String medTypeCode; private String medTypeCode_dictText; - - /** 输液标志 */ + /** + * 输液标志 + */ private Integer injectFlag; - - /** 拆分属性 */ + /** + * 拆分属性 + */ private Integer partAttributeEnum; /** diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailedAccountPageDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailedAccountPageDto.java index de026f0d..4f276ce0 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailedAccountPageDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailedAccountPageDto.java @@ -1,11 +1,5 @@ package com.openhis.web.pharmacymanage.dto; -<<<<<<< HEAD -import java.math.BigDecimal; -import java.util.Date; - -======= ->>>>>>> v1.3 import com.core.common.annotation.Excel; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -22,13 +16,10 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class MedDetailedAccountPageDto { -<<<<<<< HEAD - /** 门诊号 */ -======= + /** * 门诊号 */ ->>>>>>> v1.3 private String outpatientNo; /** @@ -41,37 +32,6 @@ public class MedDetailedAccountPageDto { */ private String patientName; -<<<<<<< HEAD - /** 项目类别 */ - private String pinYin; - - /** 接收发药数量 */ - @Excel(name = "发药数量") - private String dispenseQuantitystr; - - /** 接收发药金额 */ - @Excel(name = "发药金额") - private String dispensePricestr; - - /** 接收退药数量 */ - @Excel(name = "退药数量") - private String refundQuantitystr; - - /** 接收退药金额 */ - @Excel(name = "退药金额") - private String refundPricestr; - - /** 发药人 */ - @JsonSerialize(using = ToStringSerializer.class) - private String practitionerId; - - /** 发药人名称 */ - @Excel(name = "发药人") - private String practitionerName; - - /** 药品项目 */ - @Excel(name = "药品项目") -======= /** * 接收发药数量 */ @@ -117,7 +77,6 @@ public class MedDetailedAccountPageDto { * 药品项目 */ @Excel(name = "药品项目", sort = 3) ->>>>>>> v1.3 private String medicationName; /** @@ -125,22 +84,6 @@ public class MedDetailedAccountPageDto { */ private String pyStr; -<<<<<<< HEAD - /** 项目编码 */ - @Excel(name = "药品编码") - private String busNo; - - /** 发药编码 */ - @Excel(name = "发药单号") - private String dispenseNo; - - /** 医保编码 */ - @Excel(name = "医保编码") - private String ybNo; - - /** 规格 */ - @Excel(name = "规格") -======= /** * 项目编码 */ @@ -163,7 +106,6 @@ public class MedDetailedAccountPageDto { * 规格 */ @Excel(name = "规格", sort = 7, width = 30) ->>>>>>> v1.3 private String totalVolume; /** @@ -189,18 +131,6 @@ public class MedDetailedAccountPageDto { * 成本金额 */ -<<<<<<< HEAD - /** 批号 */ - @Excel(name = "生产批号") - private String lotNumber; - - /** 厂商 */ - @Excel(name = "厂家/产地") - private String manufacturerText; - - /** 供应商 */ - @Excel(name = "供应商") -======= private BigDecimal costPrice; /** @@ -219,7 +149,6 @@ public class MedDetailedAccountPageDto { * 供应商 */ @Excel(name = "供应商", sort = 15, width = 35) ->>>>>>> v1.3 private String supplierName; /** @@ -236,14 +165,6 @@ public class MedDetailedAccountPageDto { private String refundUnitCode; private String refundUnitCode_dictText; -<<<<<<< HEAD - /** 发药时间 */ - @Excel(name = "发药时间", dateFormat="yyyy-MM-dd HH:mm:ss") - private Date dispenseTime; - - /** 项目所在表 */ -// @Excel(name = "项目类别") -======= /** * 发药时间 */ @@ -254,6 +175,5 @@ public class MedDetailedAccountPageDto { * 项目所在表 */ @Excel(name = "项目类别", sort = 4) ->>>>>>> v1.3 private String itemTable; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailsSearchParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailsSearchParam.java index 8c86c34a..f05955f7 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailsSearchParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedDetailsSearchParam.java @@ -15,36 +15,53 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class MedDetailsSearchParam { - /** 发药时间 */ + /** + * 发药时间 + */ private Date dispenseTime; - /** 药房 */ + /** + * 药房 + */ private Long locationId; - /** 患者姓名 */ + /** + * 患者姓名 + */ private String patientName; - /** 发药人 */ + /** + * 发药人 + */ private Long practitionerId; - /** 药品名称 */ + /** + * 药品名称 + */ private String medicationName; - /** 药品项目(药品编码) */ + /** + * 药品项目(药品编码) + */ private String busNo; - /** 出院状态 */ + /** + * 出院状态 + */ private Integer dischargeStatus; - /** 门诊住院flg */ + /** + * 门诊住院flg + */ private Integer flag; - /** 项目所在表 */ + /** + * 项目所在表 + */ private String itemTable; -<<<<<<< HEAD -======= - /** 统计类型 */ + /** + * 统计类型 + */ private Integer inventoryScope; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedicineSummaryDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedicineSummaryDto.java index 33e8087a..28a00eb1 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedicineSummaryDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/MedicineSummaryDto.java @@ -5,10 +5,6 @@ package com.openhis.web.pharmacymanage.dto; import java.math.BigDecimal; import java.util.Date; -<<<<<<< HEAD -import java.util.List; -======= ->>>>>>> v1.3 import com.core.common.annotation.Excel; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -27,17 +23,22 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class MedicineSummaryDto { + /** * 单据号 */ @Excel(name = "单据号", sort = 8, width = 35) private String busNo; - /** 供应请求id */ + /** + * 供应请求id + */ @JsonSerialize(using = ToStringSerializer.class) private Long requestId; - /** 供应发放id */ + /** + * 供应发放id + */ @JsonSerialize(using = ToStringSerializer.class) private Long deliveryId; @@ -51,7 +52,9 @@ public class MedicineSummaryDto { @Excel(name = "项目名", sort = 2, width = 40) private String itemName; - /** 项目id */ + /** + * 项目id + */ @JsonSerialize(using = ToStringSerializer.class) private Long itemId; @@ -91,33 +94,45 @@ public class MedicineSummaryDto { private String unitCode; private String unitCode_dictText; - /** 常规单位 */ + /** + * 常规单位 + */ @Dict(dictCode = "unit_code") private String maxUnitCode; private String maxUnitCode_dictText; - /** 最小单位 */ + /** + * 最小单位 + */ @Dict(dictCode = "unit_code") private String minUnitCode; private String minUnitCode_dictText; - /** 发放地点 */ + /** + * 发放地点 + */ @JsonSerialize(using = ToStringSerializer.class) private Long sourceLocationId; @Excel(name = "发放地点", sort = 6) private String sourceLocationName; - /** 申请科室 */ + /** + * 申请科室 + */ @JsonSerialize(using = ToStringSerializer.class) private Long orgId; private String orgName; - /** 领药人 */ + /** + * 领药人 + */ @JsonSerialize(using = ToStringSerializer.class) private Long applicantId; private String applicantName; - /** 申请时间 */ + /** + * 申请时间 + */ private Date applyTime; /** @@ -126,6 +141,8 @@ public class MedicineSummaryDto { private Integer statusEnum; private String statusEnum_enumText; - /** 患者信息 */ + /** + * 患者信息 + */ private String patientInfo; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/MedicationDetailsMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/MedicationDetailsMapper.java index eb855ff8..f41b389f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/MedicationDetailsMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/MedicationDetailsMapper.java @@ -22,31 +22,19 @@ public interface MedicationDetailsMapper { * @param queryWrapper 查询条件 * @param completed 发药状态:已发药 * @param refunded 发药状态:已退药 -<<<<<<< HEAD - * @param dispenseEnum 统计类型 - * @param medMedicationDefinition 药品 - * @param admDeviceDefinition 耗材 -======= * @param statisticalType 统计类型 * @param flg 1:住院 2:门诊 * @param medMedicationDefinition 药品 * @param admDeviceDefinition 耗材 * @param costEnum 命中条件枚举:产品批号进价 ->>>>>>> v1.3 * @return 门诊人员发药明细表 */ Page selectAmbPractitionerDetailPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("completed") Integer completed, @Param("agree") Integer agree, @Param("refunded") Integer refunded, -<<<<<<< HEAD - @Param("dispenseEnum") Integer dispenseEnum, @Param("flg") Integer flg, - @Param("medMedicationDefinition") String medMedicationDefinition, - @Param("admDeviceDefinition") String admDeviceDefinition); -======= - @Param("statisticalType") Integer statisticalType, @Param("flg") Integer flg, - @Param("medMedicationDefinition") String medMedicationDefinition, - @Param("admDeviceDefinition") String admDeviceDefinition, @Param("costEnum") String costEnum); ->>>>>>> v1.3 + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("completed") Integer completed, @Param("agree") Integer agree, @Param("refunded") Integer refunded, + @Param("statisticalType") Integer statisticalType, @Param("flg") Integer flg, + @Param("medMedicationDefinition") String medMedicationDefinition, + @Param("admDeviceDefinition") String admDeviceDefinition, @Param("costEnum") String costEnum); // /** // * 门诊发药明细流水账 @@ -62,5 +50,4 @@ public interface MedicationDetailsMapper { // @Param("page") Page page, // @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("amb") Integer amb, // @Param("completed") Integer completed, @Param("refunded") Integer refunded) - } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/ReturnMedicineMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/ReturnMedicineMapper.java index a3d95fa8..cb9c5757 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/ReturnMedicineMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/ReturnMedicineMapper.java @@ -27,11 +27,7 @@ public interface ReturnMedicineMapper { * @return 退药患者分页列表 */ Page selectEncounterInfoListPage(@Param("page") Page page, -<<<<<<< HEAD - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("amb") Integer amb); -======= - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); ->>>>>>> v1.3 + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); /** * 申请退药清单查询 @@ -47,10 +43,10 @@ public interface ReturnMedicineMapper { * @return 申请退药清单 */ List selectReturnMedicineInfo(@Param("encounterId") Long encounterId, - @Param("worDeviceRequest") String worDeviceRequest, @Param("medMedicationRequest") String medMedicationRequest, - @Param("medicine") Integer medicine, @Param("device") Integer device, - @Param("refundStatus") Integer refundStatus, @Param("pendingRefund") Integer pendingRefund, - @Param("refunded") Integer refunded); + @Param("worDeviceRequest") String worDeviceRequest, @Param("medMedicationRequest") String medMedicationRequest, + @Param("medicine") Integer medicine, @Param("device") Integer device, + @Param("refundStatus") Integer refundStatus, @Param("pendingRefund") Integer pendingRefund, + @Param("refunded") Integer refunded); /** * 库存信息查询 @@ -62,13 +58,13 @@ public interface ReturnMedicineMapper { * @return 待发药信息 */ List selectInventoryInfoList(@Param("devDispenseIdList") List devDispenseIdList, - @Param("medDispenseIdList") List medDispenseIdList, - @Param("medMedicationDefinition") String medMedicationDefinition, - @Param("admDeviceDefinition") String admDeviceDefinition); + @Param("medDispenseIdList") List medDispenseIdList, + @Param("medMedicationDefinition") String medMedicationDefinition, + @Param("admDeviceDefinition") String admDeviceDefinition); /** * 退药详细信息查询 - * + * * @param devDispenseIdList 耗材发放ID列表 * @param medDispenseIdList 药品发放ID列表 * @param medMedicationDefinition 药品定义表 @@ -76,7 +72,7 @@ public interface ReturnMedicineMapper { * @return 退药信息 */ List selectReturnItemDetail(@Param("devDispenseIdList") List devDispenseIdList, - @Param("medDispenseIdList") List medDispenseIdList, - @Param("medMedicationDefinition") String medMedicationDefinition, - @Param("admDeviceDefinition") String admDeviceDefinition); + @Param("medDispenseIdList") List medDispenseIdList, + @Param("medMedicationDefinition") String medMedicationDefinition, + @Param("admDeviceDefinition") String admDeviceDefinition); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/SummaryDispenseMedicineMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/SummaryDispenseMedicineMapper.java index 7f409b19..3f94fb61 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/SummaryDispenseMedicineMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/mapper/SummaryDispenseMedicineMapper.java @@ -3,37 +3,8 @@ */ package com.openhis.web.pharmacymanage.mapper; -<<<<<<< HEAD -import com.openhis.web.pharmacymanage.dto.FromSearchParam; -import org.apache.ibatis.annotations.Param; -======= ->>>>>>> v1.3 import org.springframework.stereotype.Repository; @Repository -<<<<<<< HEAD public interface SummaryDispenseMedicineMapper { - - /** - * 汇总药品信息列表查询 - * - * @param page 分页 - * @param queryWrapper 查询条件 - * @return 汇总药品信息 - */ - Page selectMedicationSummaryInfo(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); - - /** - * 汇总药品信息列表查询 - * - * @param page 分页 - * @param queryWrapper 查询条件 - * @return 汇总药品信息 - */ - Page selectOrderInfo(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } -======= -public interface SummaryDispenseMedicineMapper {} ->>>>>>> v1.3 diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java index 1be084d5..65ac5cec 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java @@ -80,58 +80,44 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { * 查询住院患者信息 * * @param regPatientMainInfoDto 住院患者信息 dto - * @param searchKey 模糊查询关键字 - * @param pageNo 当前页 - * @param pageSize 每页多少条 - * @param request 请求 + * @param searchKey 模糊查询关键字 + * @param pageNo 当前页 + * @param pageSize 每页多少条 + * @param request 请求 * @return 住院患者信息 */ @Override public IPage getRegPatientMainInfo(RegPatientMainInfoDto regPatientMainInfoDto, -<<<<<<< HEAD - Integer status, String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request) { + String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request) { // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(regPatientMainInfoDto, searchKey, - new HashSet<>(Arrays.asList("bus_no", "patient_name", "inHospital_org_name", "house_name")), request); - - IPage regPatientMainInfo = adviceManageAppMapper.getRegPatientMainInfo( - new Page<>(pageNo, pageSize), SecurityUtils.getLoginUser().getPractitionerId(), - LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue(), - EncounterActivityStatus.ACTIVE.getValue(), EncounterClass.IMP.getValue(), status, Whether.YES.getValue(), - AccountType.PERSONAL_CASH_ACCOUNT.getCode(), queryWrapper); -======= - String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request) { - // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(regPatientMainInfoDto, searchKey, - new HashSet<>(Arrays.asList("bus_no", "patient_name", "in_hospital_org_name", "house_name")), request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(regPatientMainInfoDto, searchKey, + new HashSet<>(Arrays.asList("bus_no", "patient_name", "in_hospital_org_name", "house_name")), request); // 当前登录所属的科室 Long currentUserOrganizationId = SecurityUtils.getLoginUser().getOrgId(); // 住院医生站-只查询当前登录的科室相关的患者 queryWrapper.eq(currentUserOrganizationId != null, CommonConstants.FieldName.InHospitalOrgId, - currentUserOrganizationId); + currentUserOrganizationId); IPage regPatientMainInfo = adviceManageAppMapper.getRegPatientMainInfo( - new Page<>(pageNo, pageSize), SecurityUtils.getLoginUser().getPractitionerId(), - LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue(), - EncounterActivityStatus.ACTIVE.getValue(), EncounterClass.IMP.getValue(), Whether.YES.getValue(), - AccountType.PERSONAL_CASH_ACCOUNT.getCode(), EncounterZyStatus.TO_BE_REGISTERED.getValue(), - EncounterZyStatus.ALREADY_SETTLED.getValue(),EncounterZyStatus.REGISTERED.getValue(), queryWrapper); + new Page<>(pageNo, pageSize), SecurityUtils.getLoginUser().getPractitionerId(), + LocationForm.WARD.getValue(), LocationForm.HOUSE.getValue(), LocationForm.BED.getValue(), + EncounterActivityStatus.ACTIVE.getValue(), EncounterClass.IMP.getValue(), Whether.YES.getValue(), + AccountType.PERSONAL_CASH_ACCOUNT.getCode(), EncounterZyStatus.TO_BE_REGISTERED.getValue(), + EncounterZyStatus.ALREADY_SETTLED.getValue(), EncounterZyStatus.REGISTERED.getValue(), queryWrapper); // 就诊ID集合 - List encounterIds = - regPatientMainInfo.getRecords().stream().map(RegPatientMainInfoDto::getEncounterId).toList(); + List encounterIds + = regPatientMainInfo.getRecords().stream().map(RegPatientMainInfoDto::getEncounterId).toList(); // 查询条件 QueryWrapper wrapper = new QueryWrapper<>(); wrapper.in(!encounterIds.isEmpty(), CommonConstants.FieldName.EncounterId, encounterIds); // 费用列表 List list = adviceManageAppMapper.getAmount(AccountType.PERSONAL_CASH_ACCOUNT.getCode(), - ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), - ChargeItemStatus.REFUNDED.getValue(), wrapper); + ChargeItemStatus.BILLABLE.getValue(), ChargeItemStatus.BILLED.getValue(), + ChargeItemStatus.REFUNDED.getValue(), wrapper); // 转换为Map,key = encounter_id - Map dtoMap = - list.stream().collect(Collectors.toMap(EncounterAccountDto::getEncounterId, e -> e)); ->>>>>>> v1.3 + Map dtoMap + = list.stream().collect(Collectors.toMap(EncounterAccountDto::getEncounterId, e -> e)); regPatientMainInfo.getRecords().forEach(e -> { // 设置费用详情 if (dtoMap.containsKey(e.getEncounterId())) { @@ -159,7 +145,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { * 住院保存医嘱 * * @param regAdviceSaveParam 住院医嘱表单信息 - * @param adviceOpType 医嘱操作类型 + * @param adviceOpType 医嘱操作类型 * @return 结果 */ @Override @@ -183,22 +169,15 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { List regAdviceSaveList = regAdviceSaveParam.getRegAdviceSaveList(); // 药品 List medicineList = regAdviceSaveList.stream() -<<<<<<< HEAD .filter(e -> ItemType.MEDICINE.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); - // 耗材 - // List deviceList = regAdviceSaveList.stream() - // .filter(e -> ItemType.DEVICE.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); -======= - .filter(e -> ItemType.MEDICINE.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); ->>>>>>> v1.3 // 诊疗活动 List activityList = regAdviceSaveList.stream() .filter(e -> ItemType.ACTIVITY.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); // 保存时,校验临时医嘱库存 if (AdviceOpType.SAVE_ADVICE.getCode().equals(adviceOpType)) { - List medUpdateList = - medicineList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); + List medUpdateList + = medicineList.stream().filter(e -> e.getRequestId() != null).collect(Collectors.toList()); // 编辑时,释放本身占用的库存发放 for (RegAdviceSaveDto adviceSaveDto : medUpdateList) { iMedicationDispenseService.deleteMedicationDispense(adviceSaveDto.getRequestId()); @@ -206,8 +185,8 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { List tempCheckList = regAdviceSaveList.stream() .filter(e -> TherapyTimeType.TEMPORARY.getValue().equals(e.getTherapyEnum()) - && !DbOpType.DELETE.getCode().equals(e.getDbOpType()) - && !ItemType.ACTIVITY.getValue().equals(e.getAdviceType())) + && !DbOpType.DELETE.getCode().equals(e.getDbOpType()) + && !ItemType.ACTIVITY.getValue().equals(e.getAdviceType())) .collect(Collectors.toList()); List needCheckList = new ArrayList<>(tempCheckList); // 校验库存 @@ -222,8 +201,8 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { /** * 处理药品请求 */ - List medRequestIdList = - this.handMedication(medicineList, startTime, authoredTime, curDate, adviceOpType, organizationId, signCode); + List medRequestIdList + = this.handMedication(medicineList, startTime, authoredTime, curDate, adviceOpType, organizationId, signCode); /** * 处理诊疗项目请求 @@ -244,24 +223,15 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { .in(ChargeItem::getServiceId, requestIds)); } -<<<<<<< HEAD - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"住院医嘱"})); -======= return R.ok(medRequestIdList, - MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"住院医嘱"})); ->>>>>>> v1.3 + MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"住院医嘱"})); } /** * 处理药品 */ -<<<<<<< HEAD - private void handMedication(List medicineList, Date startTime, Date authoredTime, Date curDate, - String adviceOpType, Long organizationId, String signCode) { -======= private List handMedication(List medicineList, Date startTime, Date authoredTime, - Date curDate, String adviceOpType, Long organizationId, String signCode) { ->>>>>>> v1.3 + Date curDate, String adviceOpType, Long organizationId, String signCode) { // 当前登录账号的科室id Long orgId = SecurityUtils.getLoginUser().getOrgId(); // 保存操作 @@ -294,8 +264,8 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { MedicationRequest longMedicationRequest; // 新增 + 修改 (长期医嘱) List longInsertOrUpdateList = medicineList.stream().filter(e -> TherapyTimeType.LONG_TERM - .getValue().equals(e.getTherapyEnum()) - && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) + .getValue().equals(e.getTherapyEnum()) + && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) .collect(Collectors.toList()); for (RegAdviceSaveDto regAdviceSaveDto : longInsertOrUpdateList) { @@ -314,11 +284,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { if (is_save) { longMedicationRequest.setEffectiveDoseStart(startTime); // 医嘱开始时间 longMedicationRequest -<<<<<<< HEAD .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_RES_NO.getPrefix(), 4)); -======= - .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_RES_NO.getPrefix(), 4)); ->>>>>>> v1.3 longMedicationRequest.setGenerateSourceEnum(GenerateSource.DOCTOR_PRESCRIPTION.getValue()); // 生成来源 longMedicationRequest.setQuantity(regAdviceSaveDto.getQuantity()); // 请求数量 longMedicationRequest.setExecuteNum(regAdviceSaveDto.getExecuteNum()); // 执行次数 @@ -363,8 +329,8 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { ChargeItem chargeItem; // 新增 + 修改 (临时医嘱) List tempInsertOrUpdateList = medicineList.stream().filter(e -> TherapyTimeType.TEMPORARY - .getValue().equals(e.getTherapyEnum()) - && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) + .getValue().equals(e.getTherapyEnum()) + && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) .collect(Collectors.toList()); for (RegAdviceSaveDto regAdviceSaveDto : tempInsertOrUpdateList) { boolean firstTimeSave = false;// 第一次保存 @@ -382,11 +348,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { if (is_save) { tempMedicationRequest.setEffectiveDoseStart(startTime); // 医嘱开始时间 tempMedicationRequest -<<<<<<< HEAD .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_RES_NO.getPrefix(), 4)); -======= - .setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.MEDICATION_RES_NO.getPrefix(), 4)); ->>>>>>> v1.3 tempMedicationRequest.setGenerateSourceEnum(GenerateSource.DOCTOR_PRESCRIPTION.getValue()); // 生成来源 tempMedicationRequest.setQuantity(regAdviceSaveDto.getQuantity()); // 请求数量 tempMedicationRequest.setExecuteNum(regAdviceSaveDto.getExecuteNum()); // 执行次数 @@ -414,13 +376,6 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { tempMedicationRequest.setInfusionFlag(regAdviceSaveDto.getInjectFlag()); // 输液标志 tempMedicationRequest.setSortNumber(regAdviceSaveDto.getSortNumber()); // 排序号 } -<<<<<<< HEAD - iMedicationRequestService.saveOrUpdate(tempMedicationRequest); - if (is_save) { - // 处理药品发放 - Long dispenseId = iMedicationDispenseService.handleMedicationDispense(tempMedicationRequest, - regAdviceSaveDto.getDbOpType()); -======= if (tempMedicationRequest.getId() == null) { firstTimeSave = true; } @@ -432,8 +387,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { if (is_save) { // 处理药品发放 Long dispenseId = iMedicationDispenseService.handleMedicationDispense(tempMedicationRequest, - regAdviceSaveDto.getDbOpType()); ->>>>>>> v1.3 + regAdviceSaveDto.getDbOpType()); // 保存药品费用项 chargeItem = new ChargeItem(); @@ -474,7 +428,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { * 处理诊疗 */ private void handService(List activityList, Date startTime, Date authoredTime, Date curDate, - String adviceOpType, Long organizationId, String signCode) { + String adviceOpType, Long organizationId, String signCode) { // 当前登录账号的科室id Long orgId = SecurityUtils.getLoginUser().getOrgId(); // 保存操作 @@ -496,8 +450,8 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { ServiceRequest longServiceRequest; // 新增 + 修改 (长期医嘱) List longInsertOrUpdateList = activityList.stream().filter(e -> TherapyTimeType.LONG_TERM - .getValue().equals(e.getTherapyEnum()) - && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) + .getValue().equals(e.getTherapyEnum()) + && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) .collect(Collectors.toList()); for (RegAdviceSaveDto regAdviceSaveDto : longInsertOrUpdateList) { longServiceRequest = new ServiceRequest(); @@ -543,9 +497,8 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { ChargeItem chargeItem; // 新增 + 修改 (临时医嘱) List tempInsertOrUpdateList = activityList.stream().filter(e -> TherapyTimeType.TEMPORARY - - .getValue().equals(e.getTherapyEnum()) - && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) + .getValue().equals(e.getTherapyEnum()) + && (DbOpType.INSERT.getCode().equals(e.getDbOpType()) || DbOpType.UPDATE.getCode().equals(e.getDbOpType()))) .collect(Collectors.toList()); for (RegAdviceSaveDto regAdviceSaveDto : tempInsertOrUpdateList) { tempServiceRequest = new ServiceRequest(); @@ -615,8 +568,8 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { // 第一次保存时,处理诊疗套餐的子项信息 if (regAdviceSaveDto.getRequestId() == null) { - ActivityDefinition activityDefinition = - iActivityDefinitionService.getById(regAdviceSaveDto.getAdviceDefinitionId()); + ActivityDefinition activityDefinition + = iActivityDefinitionService.getById(regAdviceSaveDto.getAdviceDefinitionId()); String childrenJson = activityDefinition.getChildrenJson(); if (childrenJson != null) { // 诊疗子项参数类 @@ -648,15 +601,9 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 住院医嘱请求数据 List regRequestBaseInfo = adviceManageAppMapper.getRegRequestBaseInfo(encounterId, null, -<<<<<<< HEAD CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.NO.getCode(), GenerateSource.DOCTOR_PRESCRIPTION.getValue()); -======= - CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, - CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.NO.getCode(), - GenerateSource.DOCTOR_PRESCRIPTION.getValue()); ->>>>>>> v1.3 // 根据 requestId 过滤重复医嘱信息 List distinctList = regRequestBaseInfo.stream() .collect(Collectors.toMap(RegRequestBaseDto::getRequestId, dto -> dto, (existing, replacement) -> existing // 如果key冲突,保留已存在的(第一条) @@ -686,7 +633,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { * 查询历史住院医嘱请求数据 * * @param encounterId 就诊id - * @param patientId 病人id + * @param patientId 病人id * @return 历史住院医嘱请求数据 */ @Override @@ -695,15 +642,9 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 住院医嘱请求数据 List regRequestBaseInfo = adviceManageAppMapper.getRegRequestBaseInfo(encounterId, patientId, -<<<<<<< HEAD CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.YES.getCode(), GenerateSource.DOCTOR_PRESCRIPTION.getValue()); -======= - CommonConstants.TableName.MED_MEDICATION_REQUEST, CommonConstants.TableName.WOR_DEVICE_REQUEST, - CommonConstants.TableName.WOR_SERVICE_REQUEST, practitionerId, Whether.YES.getCode(), - GenerateSource.DOCTOR_PRESCRIPTION.getValue()); ->>>>>>> v1.3 for (RegRequestBaseDto regRequestBaseDto : regRequestBaseInfo) { // 请求状态 regRequestBaseDto.setStatusEnum_enumText( @@ -735,13 +676,13 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { // 药品 List medicineList = paramList.stream() .filter(e -> ItemType.MEDICINE.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); - List medicineRequestIds = - medicineList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); + List medicineRequestIds + = medicineList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); // 诊疗 List activityList = paramList.stream() .filter(e -> ItemType.ACTIVITY.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); - List activityRequestIds = - activityList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); + List activityRequestIds + = activityList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); // 查询已完成的药品请求 List medicineCompleteList = new ArrayList<>(); if (!medicineRequestIds.isEmpty()) { @@ -793,13 +734,13 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { // 药品 List medicineList = paramList.stream() .filter(e -> ItemType.MEDICINE.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); - List medicineRequestIds = - medicineList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); + List medicineRequestIds + = medicineList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); // 诊疗 List activityList = paramList.stream() .filter(e -> ItemType.ACTIVITY.getValue().equals(e.getAdviceType())).collect(Collectors.toList()); - List activityRequestIds = - activityList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); + List activityRequestIds + = activityList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); if (!medicineRequestIds.isEmpty()) { iMedicationRequestService.update(new LambdaUpdateWrapper() .in(MedicationRequest::getId, medicineRequestIds).set(MedicationRequest::getEffectiveDoseEnd, date) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/SpecialAdviceAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/SpecialAdviceAppServiceImpl.java index 21aff6a5..c23dc155 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/SpecialAdviceAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/SpecialAdviceAppServiceImpl.java @@ -67,13 +67,13 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { public NursingOrdersDto getNursingOrdersInfos() { NursingOrdersDto nursingOrdersDto = new NursingOrdersDto(); // 类型为护理医嘱的编码集合 - List categoryCodeList = - Arrays.stream(NursingOrdersClass.values()).map(NursingOrdersClass::getCode).collect(Collectors.toList()); - List nursingOrdersInfos = - specialAdviceAppMapper.getNursingOrdersInfos(categoryCodeList); + List categoryCodeList + = Arrays.stream(NursingOrdersClass.values()).map(NursingOrdersClass::getCode).collect(Collectors.toList()); + List nursingOrdersInfos + = specialAdviceAppMapper.getNursingOrdersInfos(categoryCodeList); // 按categoryCode进行分组 - Map> groupedByCategory = - nursingOrdersInfos.stream().collect(Collectors.groupingBy(NursingOrdersDetailDto::getCategoryCode)); + Map> groupedByCategory + = nursingOrdersInfos.stream().collect(Collectors.groupingBy(NursingOrdersDetailDto::getCategoryCode)); // 根据不同的categoryCode赋值给对应的List for (Map.Entry> entry : groupedByCategory.entrySet()) { String categoryCode = entry.getKey(); @@ -133,8 +133,8 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { // 就诊诊断id Long encounterDiagnosisId = nursingOrdersSaveDto.getEncounterDiagnosisId(); // 护理医嘱详情保存集合 - List nursingOrdersSaveDetailDtoList = - nursingOrdersSaveDto.getNursingOrdersSaveDetailDtoList(); + List nursingOrdersSaveDetailDtoList + = nursingOrdersSaveDto.getNursingOrdersSaveDetailDtoList(); // 声明长期医嘱诊疗请求 ServiceRequest longServiceRequest; // 已经存在的有效医嘱 @@ -149,11 +149,11 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { // 查询已经存在的有效医嘱 LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery.eq(ServiceRequest::getEncounterId, encounterId) - .eq(ServiceRequest::getCategoryEnum, categoryEnum) - .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() + .eq(ServiceRequest::getCategoryEnum, categoryEnum) + .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() .eq(ServiceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()).or() .eq(ServiceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue())) - .orderByDesc(ServiceRequest::getCreateTime).last("LIMIT 1"); + .orderByDesc(ServiceRequest::getCreateTime).last("LIMIT 1"); alreadyExistsLongServiceRequest = iServiceRequestService.getOne(lambdaQuery); longServiceRequest = new ServiceRequest(); @@ -164,7 +164,7 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { adviceBaseDto.setAdviceDefinitionId(definitionId); // 医嘱定义id // 对应的诊疗医嘱信息 activityAdviceBaseDto = iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, null, null, - null, null, 1, 1, Whether.NO.getValue(), List.of(3), null).getRecords().get(0); + null, null, 1, 1, Whether.NO.getValue(), List.of(3), null).getRecords().get(0); // 逻辑1---------------------直接新增 longServiceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态 longServiceRequest.setOccurrenceStartTime(startTime); // 医嘱开始时间 @@ -191,9 +191,9 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { if (definitionId == null) { // 逻辑2---------------------停掉原有的 iServiceRequestService.update(new LambdaUpdateWrapper() - .eq(ServiceRequest::getId, alreadyExistsLongServiceRequest.getId()) - .set(ServiceRequest::getOccurrenceEndTime, curDate) - .set(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue())); + .eq(ServiceRequest::getId, alreadyExistsLongServiceRequest.getId()) + .set(ServiceRequest::getOccurrenceEndTime, curDate) + .set(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue())); continue; } @@ -203,16 +203,16 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { } // 逻辑4---------------------先停掉原有的,再新增 iServiceRequestService.update(new LambdaUpdateWrapper() - .eq(ServiceRequest::getId, alreadyExistsLongServiceRequest.getId()) - .set(ServiceRequest::getOccurrenceEndTime, curDate) - .set(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue())); + .eq(ServiceRequest::getId, alreadyExistsLongServiceRequest.getId()) + .set(ServiceRequest::getOccurrenceEndTime, curDate) + .set(ServiceRequest::getStatusEnum, RequestStatus.STOPPED.getValue())); adviceBaseDto = new AdviceBaseDto(); adviceBaseDto.setAdviceDefinitionId(definitionId); // 医嘱定义id // 对应的诊疗医嘱信息 activityAdviceBaseDto = iDoctorStationAdviceAppService - .getAdviceBaseInfo(adviceBaseDto, null, null, null, null, 1, 1, Whether.NO.getValue(), List.of(3), null) - .getRecords().get(0); + .getAdviceBaseInfo(adviceBaseDto, null, null, null, null, 1, 1, Whether.NO.getValue(), List.of(3), null) + .getRecords().get(0); longServiceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态 longServiceRequest.setOccurrenceStartTime(startTime); // 医嘱开始时间 @@ -234,7 +234,7 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"护理医嘱"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"护理医嘱"})); } /** @@ -247,16 +247,16 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { public NursingOrdersEncounterDto getEncounterNursingOrdersInfos(Long encounterId) { NursingOrdersEncounterDto nursingOrdersEncounterDto = new NursingOrdersEncounterDto(); // 类型为护理医嘱的枚举集合 - List categoryEnumList = - Arrays.stream(NursingOrdersClass.values()).map(NursingOrdersClass::getValue).collect(Collectors.toList()); + List categoryEnumList + = Arrays.stream(NursingOrdersClass.values()).map(NursingOrdersClass::getValue).collect(Collectors.toList()); // 查询查询就诊护理医嘱 ; 为了排除可能存在的数据问题,每个categoryEnum按创建时间取最新的一条 - List encounterNursingOrdersInfos = - specialAdviceAppMapper.getEncounterNursingOrdersInfos(encounterId, RequestStatus.DRAFT.getValue(), - RequestStatus.ACTIVE.getValue(), RequestStatus.COMPLETED.getValue(), categoryEnumList); + List encounterNursingOrdersInfos + = specialAdviceAppMapper.getEncounterNursingOrdersInfos(encounterId, RequestStatus.DRAFT.getValue(), + RequestStatus.ACTIVE.getValue(), RequestStatus.COMPLETED.getValue(), categoryEnumList); if (!encounterNursingOrdersInfos.isEmpty()) { // 按categoryEnum进行分组 Map> groupedByCategory = encounterNursingOrdersInfos.stream() - .collect(Collectors.groupingBy(NursingOrdersEncounterDetailDto::getCategoryEnum)); + .collect(Collectors.groupingBy(NursingOrdersEncounterDetailDto::getCategoryEnum)); // 根据不同的categoryCode赋值给对应的List for (Map.Entry> entry : groupedByCategory.entrySet()) { Integer categoryEnum = entry.getKey(); @@ -320,18 +320,18 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { // 转科的医嘱定义id Long transferOrganizationDefinitionId = iActivityDefinitionService - .getAppointActivityDefinitionId(CommonConstants.BusinessName.TRANSFER_ORGANIZATION); + .getAppointActivityDefinitionId(CommonConstants.BusinessName.TRANSFER_ORGANIZATION); if (transferOrganizationDefinitionId == null) { return R.fail("请先在诊疗目录维护转科医嘱"); } // 出院的医嘱定义id - Long leaveHospitalDefinitionId = - iActivityDefinitionService.getAppointActivityDefinitionId(CommonConstants.BusinessName.LEAVE_HOSPITAL); + Long leaveHospitalDefinitionId + = iActivityDefinitionService.getAppointActivityDefinitionId(CommonConstants.BusinessName.LEAVE_HOSPITAL); if (leaveHospitalDefinitionId != null) { LambdaQueryWrapper leaveLambdaQuery = new LambdaQueryWrapper<>(); leaveLambdaQuery.eq(ServiceRequest::getEncounterId, encounterId) - .eq(ServiceRequest::getActivityId, leaveHospitalDefinitionId) - .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() + .eq(ServiceRequest::getActivityId, leaveHospitalDefinitionId) + .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() .eq(ServiceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()).or()); if (!iServiceRequestService.list(leaveLambdaQuery).isEmpty()) { return R.fail("已经开立出院医嘱,请勿开立转科医嘱"); @@ -341,8 +341,8 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { // 校验重复开立 LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery.eq(ServiceRequest::getEncounterId, encounterId) - .eq(ServiceRequest::getActivityId, transferOrganizationDefinitionId) - .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() + .eq(ServiceRequest::getActivityId, transferOrganizationDefinitionId) + .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() .eq(ServiceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()).or()); if (!iServiceRequestService.list(lambdaQuery).isEmpty()) { return R.fail("请勿重复开立转科医嘱"); @@ -351,8 +351,8 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { adviceBaseDto.setAdviceDefinitionId(transferOrganizationDefinitionId); // 医嘱定义id // 转科的医嘱信息 AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService - .getAdviceBaseInfo(adviceBaseDto, null, null, null, null, 1, 1, Whether.NO.getValue(), List.of(3), null) - .getRecords().get(0); + .getAdviceBaseInfo(adviceBaseDto, null, null, null, null, 1, 1, Whether.NO.getValue(), List.of(3), null) + .getRecords().get(0); // 保存转科医嘱请求 ServiceRequest serviceRequest = new ServiceRequest(); serviceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态 @@ -385,7 +385,7 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { orderProcess.setTargetLocationId(transferOrganizationParam.getTargetLocationId()); // 目标病区 iOrderProcessService.save(orderProcess); - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"转科医嘱"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"转科医嘱"})); } /** @@ -415,8 +415,8 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { Long encounterDiagnosisId = leaveHospitalParam.getEncounterDiagnosisId(); // 出院的医嘱定义id - Long transferOrganizationDefinitionId = - iActivityDefinitionService.getAppointActivityDefinitionId(CommonConstants.BusinessName.LEAVE_HOSPITAL); + Long transferOrganizationDefinitionId + = iActivityDefinitionService.getAppointActivityDefinitionId(CommonConstants.BusinessName.LEAVE_HOSPITAL); if (transferOrganizationDefinitionId == null) { return R.fail("请先在诊疗目录维护出院医嘱"); } @@ -424,8 +424,8 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { // 校验重复开立 LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery.eq(ServiceRequest::getEncounterId, encounterId) - .eq(ServiceRequest::getActivityId, transferOrganizationDefinitionId) - .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() + .eq(ServiceRequest::getActivityId, transferOrganizationDefinitionId) + .and(wrapper -> wrapper.eq(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()).or() .eq(ServiceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()).or()); if (!iServiceRequestService.list(lambdaQuery).isEmpty()) { return R.fail("请勿重复开立出院医嘱"); @@ -433,12 +433,8 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { // 出院的医嘱信息 AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService.getAdviceBaseInfo(null, null, null, -<<<<<<< HEAD - List.of(transferOrganizationDefinitionId), null, 1, 1, Whether.NO.getValue(), List.of(3)).getRecords() -======= - List.of(transferOrganizationDefinitionId), null, 1, 1, Whether.NO.getValue(), List.of(3), null).getRecords() ->>>>>>> v1.3 - .get(0); + List.of(transferOrganizationDefinitionId), null, 1, 1, Whether.NO.getValue(), List.of(3), null).getRecords() + .get(0); // 保存出院医嘱请求 ServiceRequest serviceRequest = new ServiceRequest(); serviceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态 @@ -466,14 +462,11 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService { orderProcess.setRequestId(serviceRequest.getId()); // 请求id orderProcess.setRequestTableName(CommonConstants.TableName.WOR_SERVICE_REQUEST); // 请求表名 orderProcess.setOutWayCode(leaveHospitalParam.getOutWayCode()); // 出院方式 -<<<<<<< HEAD -======= orderProcess.setTargetLocationId(leaveHospitalParam.getOriginalOrganizationId()); // 原科室 orderProcess.setOriginalLocationId(leaveHospitalParam.getOriginalLocationId()); // 原病区 ->>>>>>> v1.3 iOrderProcessService.save(orderProcess); - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"出院医嘱"})); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[]{"出院医嘱"})); } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/LeaveHospitalParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/LeaveHospitalParam.java index 8fc6c224..af1dc963 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/LeaveHospitalParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/dto/LeaveHospitalParam.java @@ -18,11 +18,15 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class LeaveHospitalParam { - /** 就诊id */ + /** + * 就诊id + */ @JsonSerialize(using = ToStringSerializer.class) private Long encounterId; - /** 患者 */ + /** + * 患者 + */ @JsonSerialize(using = ToStringSerializer.class) private Long patientId; @@ -51,8 +55,6 @@ public class LeaveHospitalParam { private String outWayCode; /** -<<<<<<< HEAD -======= * 原科室 */ @JsonSerialize(using = ToStringSerializer.class) @@ -65,7 +67,6 @@ public class LeaveHospitalParam { private Long originalLocationId; /** ->>>>>>> v1.3 * 理由 */ private String reasonText; diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/IReportAppService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/IReportAppService.java index c2b6f178..184b6b34 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/IReportAppService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/IReportAppService.java @@ -3,11 +3,6 @@ */ package com.openhis.web.reportmanage.appservice; -<<<<<<< HEAD -import javax.servlet.http.HttpServletRequest; - -import com.core.common.core.domain.R; -======= import java.time.LocalDateTime; import javax.servlet.http.HttpServletRequest; @@ -16,7 +11,6 @@ import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; import com.openhis.web.reportmanage.dto.*; ->>>>>>> v1.3 /** * 报表 appService @@ -26,13 +20,8 @@ import com.openhis.web.reportmanage.dto.*; */ public interface IReportAppService { -<<<<<<< HEAD - /**例子 - * 药剂科报表_常规报表:出库明细表 -======= /** * 例子 药剂科报表_常规报表:出库明细表 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -45,23 +34,16 @@ public interface IReportAppService { /** * 药剂科报表:患者明细主表 * -<<<<<<< HEAD -======= * @param patientMasterDetailsSearchParam 患者明细主表查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 * @param request 请求数据 * @return 患者明细主表 */ -<<<<<<< HEAD - R getPatientMasterDetailPage(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); -======= Page getPatientMasterDetailPage( - ReportPatientMasterDetailsSearchParam patientMasterDetailsSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request); ->>>>>>> v1.3 + ReportPatientMasterDetailsSearchParam patientMasterDetailsSearchParam, Integer pageNo, Integer pageSize, + String searchKey, HttpServletRequest request); /** * 药剂科报表:线下采购占比 @@ -83,32 +65,21 @@ public interface IReportAppService { * @param request 请求数据 * @return 药品使用情况报表 */ -<<<<<<< HEAD - R getMedicationUsagePage(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); -======= R getMedicationUsagePage(Integer pageNo, Integer pageSize, String searchKey, LocalDateTime startTime, - LocalDateTime endTime, HttpServletRequest request); ->>>>>>> v1.3 + LocalDateTime endTime, HttpServletRequest request); /** * 药剂科报表:患者明细 * -<<<<<<< HEAD -======= * @param patientDetailsSearchParam 患者明细查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 * @param request 请求数据 * @return 患者明细报表 */ -<<<<<<< HEAD - R getPatientDetailsPage(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); -======= Page getPatientDetailsPage(ReportPatientDetailsSearchParam patientDetailsSearchParam, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); ->>>>>>> v1.3 + Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); /** * 药剂科报表_常规报表:药品费用增长率 @@ -135,37 +106,19 @@ public interface IReportAppService { /** * 药剂科报表:基本情况 * -<<<<<<< HEAD - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param searchKey 模糊查询关键字 - * @param request 请求数据 - * @return 基本情况报表 - */ - R getBasicInformationDetails(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); -======= * @param param 查询参数 * @return 基本情况报表 */ R getBasicInformationDetails(ReportDetailsSearchParam param); ->>>>>>> v1.3 /** * 药剂科报表:药品出库情况 * * @param pageNo 当前页码 * @param pageSize 查询条数 -<<<<<<< HEAD - * @param searchKey 模糊查询关键字 - * @param request 请求数据 - * @return 药品出库情况报表 - */ - R getMedicationStockOutDetails(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); -======= * @return 药品出库情况报表 */ R getMedicationStockOutDetails(ReportDetailsSearchParam param, Integer pageNo, Integer pageSize); ->>>>>>> v1.3 /** * 药剂科报表:产品使用情况 @@ -189,9 +142,6 @@ public interface IReportAppService { */ R getNonWinQtyRatio(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request); -<<<<<<< HEAD - -======= /** * 药剂科报表:药品入库情况 * @@ -254,7 +204,7 @@ public interface IReportAppService { * @return 费用明细 */ R getPhysicianWorkloadPage(ReportPhysicianWorkloadSearchParam physicianWorkloadReportSearchParam, Integer pageNo, - Integer pageSize, String searchKey, HttpServletRequest request); + Integer pageSize, String searchKey, HttpServletRequest request); /** * 年度药品总收入导出 @@ -263,5 +213,4 @@ public interface IReportAppService { * @param response 响应数据 */ void makeExcelFile(ReportDetailsSearchParam param, HttpServletResponse response, String code); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ChargeReportAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ChargeReportAppServiceImpl.java index fe7ffeda..9fc04f7f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ChargeReportAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ChargeReportAppServiceImpl.java @@ -33,32 +33,6 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; -<<<<<<< HEAD -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.core.common.core.domain.R; -import com.core.common.utils.AgeCalculatorUtil; -import com.openhis.administration.domain.Practitioner; -import com.openhis.administration.service.IPractitionerService; -import com.openhis.common.constant.CommonConstants; -import com.openhis.common.constant.PromptMsgConstant; -import com.openhis.common.enums.*; -import com.openhis.common.utils.EnumUtils; -import com.openhis.common.utils.HisQueryUtils; -import com.openhis.web.reportmanage.appservice.IChargeReportAppService; -import com.openhis.web.reportmanage.dto.ChargeReportInitDto; -import com.openhis.web.reportmanage.dto.ChargeReportPageDto; -import com.openhis.web.reportmanage.dto.ChargeReportSearchParam; -import com.openhis.web.reportmanage.mapper.ChargeReportMapper; - -======= ->>>>>>> v1.3 /** * 费用明细报表 impl * @@ -85,7 +59,7 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { // 统计类型 List statisticsTypeOptions = Stream.of(StatisticsType.values()) .map(statisticsType -> new ChargeReportInitDto.commonStatusOption(statisticsType.getValue(), - statisticsType.getInfo())) + statisticsType.getInfo())) .collect(Collectors.toList()); // 查询制单人列表 List applicantList = practitionerService.getList(); @@ -93,15 +67,11 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { // 项目类型 List clinicalTypeOptions = Stream.of(ChargeItemContext.values()) .map(ChargeItemContext -> new ChargeReportInitDto.commonStatusOption(ChargeItemContext.getValue(), - ChargeItemContext.getInfo())) + ChargeItemContext.getInfo())) .collect(Collectors.toList()); initDto.setStatisticsTypeOptions(statisticsTypeOptions).setIssuerOptions(applicantList) -<<<<<<< HEAD - .setPayeeOptions(applicantList).setClinicalTypeOptions(clinicalTypeOptions); -======= .setPayeeOptions(applicantList).setClinicalTypeOptions(clinicalTypeOptions); ->>>>>>> v1.3 return R.ok(initDto); } @@ -109,15 +79,15 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { * 费用明细列表 * * @param chargeReportSearchParam 费用明细查询条件 - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param searchKey 模糊查询关键字 - * @param request 请求数据 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @param searchKey 模糊查询关键字 + * @param request 请求数据 * @return 费用明细 */ @Override public R getPage(ChargeReportSearchParam chargeReportSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request) { + String searchKey, HttpServletRequest request) { // 保存统计类型 String statisticsType = chargeReportSearchParam.getStatisticsType(); chargeReportSearchParam.setStatisticsType(null); @@ -129,13 +99,13 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { List deviceCategoryCode = null; if (chargeReportSearchParam.getClinicalType() != null && !chargeReportSearchParam.getClinicalType().trim().isEmpty()) { - clinicalType = - Arrays.stream((chargeReportSearchParam.getClinicalType()).split(",")).map(Integer::valueOf).toList(); + clinicalType + = Arrays.stream((chargeReportSearchParam.getClinicalType()).split(",")).map(Integer::valueOf).toList(); } if (chargeReportSearchParam.getMedicationCategoryCode() != null && !chargeReportSearchParam.getMedicationCategoryCode().trim().isEmpty()) { - medicationCategoryCode = - Arrays.stream((chargeReportSearchParam.getMedicationCategoryCode()).split(",")).toList(); + medicationCategoryCode + = Arrays.stream((chargeReportSearchParam.getMedicationCategoryCode()).split(",")).toList(); } if (chargeReportSearchParam.getDeviceCategoryCode() != null && !chargeReportSearchParam.getDeviceCategoryCode().trim().isEmpty()) { @@ -143,8 +113,8 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { } if (chargeReportSearchParam.getActivityCategoryCode() != null && !chargeReportSearchParam.getActivityCategoryCode().trim().isEmpty()) { - activityCategoryCode = - Arrays.stream((chargeReportSearchParam.getActivityCategoryCode()).split(",")).toList(); + activityCategoryCode + = Arrays.stream((chargeReportSearchParam.getActivityCategoryCode()).split(",")).toList(); } // 避开QueryWrapper chargeReportSearchParam.setClinicalType(null); @@ -152,22 +122,12 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { chargeReportSearchParam.setDeviceCategoryCode(null); chargeReportSearchParam.setActivityCategoryCode(null); // 构建查询条件 - QueryWrapper queryWrapper = -<<<<<<< HEAD - HisQueryUtils.buildQueryWrapper(chargeReportSearchParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.YbCode, CommonConstants.FieldName.BusNo, - CommonConstants.FieldName.Name, CommonConstants.FieldName.ClinicalName, - CommonConstants.FieldName.ClinicalNo)), - request); - queryWrapper.orderByDesc(CommonConstants.FieldName.BusNo).orderByAsc(CommonConstants.FieldName.ChargeId) - .orderByAsc(CommonConstants.FieldName.ChargeTime); -======= - HisQueryUtils.buildQueryWrapper(chargeReportSearchParam, searchKey, + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(chargeReportSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.YbCode, CommonConstants.FieldName.BusNo, CommonConstants.FieldName.Name, CommonConstants.FieldName.ClinicalName, CommonConstants.FieldName.ClinicalNo)), request); ->>>>>>> v1.3 // 最终返回结果 Page chargeReportList; @@ -175,17 +135,6 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { if (Objects.equals(statisticsType, StatisticsType.OUTPATIENT_REVENUE.getCode())) { // 门诊整体收入明细 chargeReportList = chargeReportMapper.selectRevenueReportPage(new Page<>(pageNo, pageSize), queryWrapper, -<<<<<<< HEAD - PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue(), - ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), - ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 2); - } else if (Objects.equals(statisticsType, StatisticsType.OUTPATIENT_YB_REVENUE.getCode())) { - // 门诊医保收入明细 - chargeReportList = chargeReportMapper.selectRevenueReportPage(new Page<>(pageNo, pageSize), queryWrapper, - PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue(), - ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), - ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 1); -======= PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue(), ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 2, clinicalType, @@ -197,22 +146,10 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 1, clinicalType, activityCategoryCode, deviceCategoryCode, medicationCategoryCode); ->>>>>>> v1.3 } else if (Objects.equals(statisticsType, StatisticsType.OUTPATIENT_SELF_REVENUE.getCode())) { // 门诊自费收入明细 chargeReportList = chargeReportMapper.selectRevenueReportPage(new Page<>(pageNo, pageSize), queryWrapper, -<<<<<<< HEAD - PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue(), - ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), - ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 0); - } else if (Objects.equals(statisticsType, StatisticsType.OUTPATIENT_REFUND.getCode())) { - // 门诊退费明细 - chargeReportList = chargeReportMapper.selectRevenueReportPage(new Page<>(pageNo, pageSize), queryWrapper, - PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue(), - ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), - ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 3); -======= PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue(), ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 0, clinicalType, @@ -224,7 +161,6 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { ChargeItemContext.MEDICATION.getValue(), ChargeItemContext.DEVICE.getValue(), ChargeItemContext.ACTIVITY.getValue(), ChargeItemContext.REGISTER.getValue(), 3, clinicalType, activityCategoryCode, deviceCategoryCode, medicationCategoryCode); ->>>>>>> v1.3 } else { return R.fail(PromptMsgConstant.Report.M00002); @@ -244,17 +180,10 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { List content = chargeReportList.getRecords(); // 按 busNo 分组,并合计 totalPrice Map subtotalAmount = content.stream() -<<<<<<< HEAD - // 过滤掉 busNo 为 null 的元素,否则会报错但实际上不会出现这个情况 element cannot be mapped to a null key - .filter(dto -> dto.getBusNo() != null) - .collect(Collectors.groupingBy(ChargeReportPageDto::getBusNo, Collectors.reducing(BigDecimal.ZERO, - dto -> dto.getTotalPrice() != null ? dto.getTotalPrice() : BigDecimal.ZERO, BigDecimal::add))); -======= // 过滤掉 busNo 为 null 的元素,否则会报错但实际上不会出现这个情况 element cannot be mapped to a null key .filter(dto -> dto.getBusNo() != null) .collect(Collectors.groupingBy(ChargeReportPageDto::getBusNo, Collectors.reducing(BigDecimal.ZERO, dto -> dto.getTotalPrice() != null ? dto.getTotalPrice() : BigDecimal.ZERO, BigDecimal::add))); ->>>>>>> v1.3 // 更新每条数据的 Price 字段 for (ChargeReportPageDto dto : content) { @@ -270,13 +199,13 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { * 门诊收费报表导出 * * @param chargeReportSearchParam 查询条件 - * @param searchKey 模糊查询关键字 - * @param response 请求数据 - * @param request 请求数据 + * @param searchKey 模糊查询关键字 + * @param response 请求数据 + * @param request 请求数据 */ @Override public void makeExcelFile(ChargeReportSearchParam chargeReportSearchParam, String searchKey, - HttpServletResponse response, HttpServletRequest request) { + HttpServletResponse response, HttpServletRequest request) { // 获取导出表名 String statisticsType = chargeReportSearchParam.getStatisticsType(); String sheetName = StatisticsType.getByValue(Integer.valueOf(statisticsType)).getInfo(); @@ -298,12 +227,12 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { * 费用明细列表 为了导出格式,将同一门诊号数据封装在同一list * * @param chargeReportSearchParam 费用明细查询条件 - * @param searchKey 模糊查询关键字 - * @param request 请求数据 + * @param searchKey 模糊查询关键字 + * @param request 请求数据 * @return 费用明细 */ public R> getPage(ChargeReportSearchParam chargeReportSearchParam, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { // 保存统计类型 String statisticsType = chargeReportSearchParam.getStatisticsType(); chargeReportSearchParam.setStatisticsType(null); @@ -315,13 +244,13 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { List deviceCategoryCode = null; if (chargeReportSearchParam.getClinicalType() != null && !chargeReportSearchParam.getClinicalType().trim().isEmpty()) { - clinicalType = - Arrays.stream((chargeReportSearchParam.getClinicalType()).split(",")).map(Integer::valueOf).toList(); + clinicalType + = Arrays.stream((chargeReportSearchParam.getClinicalType()).split(",")).map(Integer::valueOf).toList(); } if (chargeReportSearchParam.getMedicationCategoryCode() != null && !chargeReportSearchParam.getMedicationCategoryCode().trim().isEmpty()) { - medicationCategoryCode = - Arrays.stream((chargeReportSearchParam.getMedicationCategoryCode()).split(",")).toList(); + medicationCategoryCode + = Arrays.stream((chargeReportSearchParam.getMedicationCategoryCode()).split(",")).toList(); } if (chargeReportSearchParam.getDeviceCategoryCode() != null && !chargeReportSearchParam.getDeviceCategoryCode().trim().isEmpty()) { @@ -329,8 +258,8 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { } if (chargeReportSearchParam.getActivityCategoryCode() != null && !chargeReportSearchParam.getActivityCategoryCode().trim().isEmpty()) { - activityCategoryCode = - Arrays.stream((chargeReportSearchParam.getActivityCategoryCode()).split(",")).toList(); + activityCategoryCode + = Arrays.stream((chargeReportSearchParam.getActivityCategoryCode()).split(",")).toList(); } // 避开QueryWrapper chargeReportSearchParam.setClinicalType(null); @@ -338,8 +267,8 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { chargeReportSearchParam.setDeviceCategoryCode(null); chargeReportSearchParam.setActivityCategoryCode(null); // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(chargeReportSearchParam, searchKey, + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(chargeReportSearchParam, searchKey, new HashSet<>(Arrays.asList(CommonConstants.FieldName.YbCode, CommonConstants.FieldName.BusNo, CommonConstants.FieldName.Name, CommonConstants.FieldName.ClinicalName, CommonConstants.FieldName.ClinicalNo)), @@ -435,6 +364,7 @@ public class ChargeReportAppServiceImpl implements IChargeReportAppService { Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); return R.ok(chargeReportMapper.selectOrgWorkload(startTime, endTime, CommonConstants.TableName.MED_MEDICATION_DEFINITION, CommonConstants.TableName.ADM_DEVICE_DEFINITION, PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUND_ALL.getValue(), ConditionCode.LOT_NUMBER_COST.getValue().toString(), tenantId)); } + /** * 医生工作量统计 * diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ReportAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ReportAppServiceImpl.java index 36f8fa24..22a55c26 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ReportAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/appservice/impl/ReportAppServiceImpl.java @@ -3,14 +3,6 @@ */ package com.openhis.web.reportmanage.appservice.impl; -<<<<<<< HEAD -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Service; - -import com.core.common.core.domain.R; -import com.openhis.web.reportmanage.appservice.IReportAppService; -======= import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; @@ -46,7 +38,6 @@ import com.openhis.financial.service.IPaymentRecStaticService; import com.openhis.web.reportmanage.appservice.IReportAppService; import com.openhis.web.reportmanage.dto.*; import com.openhis.web.reportmanage.mapper.ReportMapper; ->>>>>>> v1.3 /** * 报表 impl @@ -57,10 +48,6 @@ import com.openhis.web.reportmanage.mapper.ReportMapper; @Service public class ReportAppServiceImpl implements IReportAppService { -<<<<<<< HEAD - /**例子 - * 药剂科报表_常规报表:出库明细表 -======= @Autowired ReportMapper reportMapper; @Resource @@ -68,7 +55,6 @@ public class ReportAppServiceImpl implements IReportAppService { /** * 例子 药剂科报表_常规报表:出库明细表 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -84,10 +70,7 @@ public class ReportAppServiceImpl implements IReportAppService { /** * 药剂科报表:患者明细主表 * -<<<<<<< HEAD -======= * @param patientMasterDetailsSearchParam 患者明细主表查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 @@ -95,23 +78,18 @@ public class ReportAppServiceImpl implements IReportAppService { * @return 患者明细主表 */ @Override -<<<<<<< HEAD - public R getPatientMasterDetailPage(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { - return null; -======= public Page getPatientMasterDetailPage( - ReportPatientMasterDetailsSearchParam patientMasterDetailsSearchParam, Integer pageNo, Integer pageSize, - String searchKey, HttpServletRequest request) { + ReportPatientMasterDetailsSearchParam patientMasterDetailsSearchParam, Integer pageNo, Integer pageSize, + String searchKey, HttpServletRequest request) { // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(patientMasterDetailsSearchParam, searchKey, - new HashSet<>(Arrays.asList("encounter_bus_no", "patient_name")), request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(patientMasterDetailsSearchParam, searchKey, + new HashSet<>(Arrays.asList("encounter_bus_no", "patient_name")), request); // 查询挂号明细分页列表 Page patientMasterDetailsPage = reportMapper - .selectPatientMasterDetailPage(new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.IMP.getValue()); + .selectPatientMasterDetailPage(new Page<>(pageNo, pageSize), queryWrapper, EncounterClass.IMP.getValue()); return patientMasterDetailsPage; ->>>>>>> v1.3 } /** @@ -125,13 +103,10 @@ public class ReportAppServiceImpl implements IReportAppService { */ @Override public R getOfflinePurchaseRatioPage(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { return null; } -<<<<<<< HEAD -======= ->>>>>>> v1.3 /** * 药剂科报表:药品使用情况 * @@ -142,33 +117,24 @@ public class ReportAppServiceImpl implements IReportAppService { * @return 药品使用情况报表 */ @Override -<<<<<<< HEAD - public R getMedicationUsagePage(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { - return null; -======= public R getMedicationUsagePage(Integer pageNo, Integer pageSize, String searchKey, LocalDateTime startTime, - LocalDateTime endTime, HttpServletRequest request) { + LocalDateTime endTime, HttpServletRequest request) { LoginUser loginUser = SecurityUtils.getLoginUser(); Long hospitalId = loginUser.getHospitalId(); String orgName = loginUser.getUser().getOrgName(); Page medicationUsagePage = reportMapper.selectMedicationUsagePage( - new Page<>(pageNo, pageSize), searchKey, DispenseStatus.COMPLETED.getValue(), startTime, endTime); + new Page<>(pageNo, pageSize), searchKey, DispenseStatus.COMPLETED.getValue(), startTime, endTime); medicationUsagePage.getRecords().forEach(item -> { item.setOrgId(String.valueOf(hospitalId)); item.setOrgName(orgName); }); return R.ok(medicationUsagePage); ->>>>>>> v1.3 } /** * 药剂科报表:患者明细 * -<<<<<<< HEAD -======= * @param patientDetailsSearchParam 患者明细查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 @@ -176,25 +142,19 @@ public class ReportAppServiceImpl implements IReportAppService { * @return 患者明细报表 */ @Override -<<<<<<< HEAD - public R getPatientDetailsPage(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { - return null; -======= public Page getPatientDetailsPage( - ReportPatientDetailsSearchParam patientDetailsSearchParam, Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { + ReportPatientDetailsSearchParam patientDetailsSearchParam, Integer pageNo, Integer pageSize, String searchKey, + HttpServletRequest request) { // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(patientDetailsSearchParam, searchKey, - new HashSet<>(Arrays.asList("encounter_bus_no", "med_name", "manufacturer_text")), request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(patientDetailsSearchParam, searchKey, + new HashSet<>(Arrays.asList("encounter_bus_no", "med_name", "manufacturer_text")), request); // 查询挂号明细分页列表 Page patientDetailsPage = reportMapper.selectPatientDetailsPage( - new Page<>(pageNo, pageSize), queryWrapper, CommonConstants.TableName.MED_MEDICATION_REQUEST); + new Page<>(pageNo, pageSize), queryWrapper, CommonConstants.TableName.MED_MEDICATION_REQUEST); return patientDetailsPage; ->>>>>>> v1.3 } /** @@ -207,12 +167,8 @@ public class ReportAppServiceImpl implements IReportAppService { * @return 药品费用增长率 */ @Override -<<<<<<< HEAD - public R getDrugExpensesGrowthRate(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { -======= public R getDrugExpensesGrowthRate(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { ->>>>>>> v1.3 + HttpServletRequest request) { return null; } @@ -226,31 +182,14 @@ public class ReportAppServiceImpl implements IReportAppService { * @return 30天回款率 */ @Override -<<<<<<< HEAD - public R getThirtyDayCollectionRate(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { -======= public R getThirtyDayCollectionRate(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { ->>>>>>> v1.3 + HttpServletRequest request) { return null; } /** -<<<<<<< HEAD - * 药剂科报表:基本情况 - * - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param searchKey 模糊查询关键字 - * @param request 请求数据 - * @return 基本情况报表 - */ - @Override - public R getBasicInformationDetails(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { - return null; -======= * 获取医疗机构代码、组织机构名称 - * + * * @return 医疗机构代码[0]、组织机构名称[1] */ private String[] getOrgInfo() { @@ -260,7 +199,7 @@ public class ReportAppServiceImpl implements IReportAppService { String fixmedinsCode = optionJson.getString(CommonConstants.Option.FIXMEDINS_CODE); // 组织机构名称 String fixmedinsName = optionJson.getString(CommonConstants.Option.FIXMEDINS_NAME); - return new String[] {fixmedinsCode, fixmedinsName}; + return new String[]{fixmedinsCode, fixmedinsName}; } /** @@ -284,7 +223,7 @@ public class ReportAppServiceImpl implements IReportAppService { } // 年度总收入 BigDecimal totalAmount = paymentRecStatics.stream().map(PaymentRecStatic::getAmount) - .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, RoundingMode.HALF_UP); + .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, RoundingMode.HALF_UP); ReportBasicInformationDetailsDto dto = new ReportBasicInformationDetailsDto(); // 设置医疗机构代码、组织机构名称 String[] orgInfo = getOrgInfo(); @@ -295,7 +234,6 @@ public class ReportAppServiceImpl implements IReportAppService { return R.ok(List.of(dto)); } return R.ok(); ->>>>>>> v1.3 } /** @@ -303,20 +241,11 @@ public class ReportAppServiceImpl implements IReportAppService { * * @param pageNo 当前页码 * @param pageSize 查询条数 -<<<<<<< HEAD - * @param searchKey 模糊查询关键字 - * @param request 请求数据 - * @return 药品出库情况报表 - */ - @Override - public R getMedicationStockOutDetails(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { - return null; -======= * @return 药品出库情况报表 */ @Override public R> getMedicationStockOutDetails(ReportDetailsSearchParam param, - Integer pageNo, Integer pageSize) { + Integer pageNo, Integer pageSize) { // 源仓库ID Long sourceLocationId = param.getSourceLocationId(); // 目的仓库ID @@ -326,13 +255,13 @@ public class ReportAppServiceImpl implements IReportAppService { // 结束时间 String occurrenceTimeETime = param.getOccurrenceTimeETime(); if (sourceLocationId == null || purposeLocationId == null || occurrenceTimeSTime == null - || occurrenceTimeETime == null) { + || occurrenceTimeETime == null) { return R.fail("请构建完整的查询条件"); } Page detailsPage = reportMapper.selectMedicationInboundDetailsPage( - new Page<>(pageNo, pageSize), SupplyType.PRODUCT_TRANSFER.getValue(), - SupplyType.PRODUCT_BATCH_TRANSFER.getValue(), sourceLocationId, purposeLocationId, - LocalDate.parse(occurrenceTimeSTime), LocalDate.parse(occurrenceTimeETime).plusDays(1)); + new Page<>(pageNo, pageSize), SupplyType.PRODUCT_TRANSFER.getValue(), + SupplyType.PRODUCT_BATCH_TRANSFER.getValue(), sourceLocationId, purposeLocationId, + LocalDate.parse(occurrenceTimeSTime), LocalDate.parse(occurrenceTimeETime).plusDays(1)); String[] orgInfo = getOrgInfo(); List records = detailsPage.getRecords(); // 设置医疗机构代码、组织机构名称 @@ -343,7 +272,6 @@ public class ReportAppServiceImpl implements IReportAppService { }); } return R.ok(detailsPage); ->>>>>>> v1.3 } /** @@ -374,9 +302,6 @@ public class ReportAppServiceImpl implements IReportAppService { return null; } -<<<<<<< HEAD - -======= /** * 药剂科报表:药品入库情况 * @@ -388,7 +313,7 @@ public class ReportAppServiceImpl implements IReportAppService { */ @Override public R getMedicationInboundDetails(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { return null; } @@ -403,7 +328,7 @@ public class ReportAppServiceImpl implements IReportAppService { */ @Override public R getMedicationSaleDetails(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { return null; } @@ -432,7 +357,7 @@ public class ReportAppServiceImpl implements IReportAppService { */ @Override public R getOutpatientDepartmentMetrics(Integer pageNo, Integer pageSize, String searchKey, - HttpServletRequest request) { + HttpServletRequest request) { return null; } @@ -459,7 +384,7 @@ public class ReportAppServiceImpl implements IReportAppService { */ @Override public R getPhysicianWorkloadPage(ReportPhysicianWorkloadSearchParam physicianWorkloadReportSearchParam, - Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { + Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request) { // 最终返回结果 Page physicianWorkloadReportList; @@ -493,8 +418,8 @@ public class ReportAppServiceImpl implements IReportAppService { List dtoList = details.getData().getRecords(); if (!dtoList.isEmpty()) { try { - NewExcelUtil util = - new NewExcelUtil<>(ReportMedicationInboundDetailsDto.class); + NewExcelUtil util + = new NewExcelUtil<>(ReportMedicationInboundDetailsDto.class); util.exportExcel(response, dtoList, CommonConstants.SheetName.DRUG_TRANSFER_DETAILS); } catch (Exception e) { throw new RuntimeException(e); @@ -510,16 +435,15 @@ public class ReportAppServiceImpl implements IReportAppService { */ private void reportBasicInformationDetailsExcelOut(ReportDetailsSearchParam param, HttpServletResponse response) { R details = this.getBasicInformationDetails(param); - List dtoList = (List)details.getData(); + List dtoList = (List) details.getData(); if (dtoList != null && !dtoList.isEmpty()) { try { - NewExcelUtil util = - new NewExcelUtil<>(ReportBasicInformationDetailsDto.class); + NewExcelUtil util + = new NewExcelUtil<>(ReportBasicInformationDetailsDto.class); util.exportExcel(response, dtoList, CommonConstants.SheetName.ANNUAL_TOTAL_DRUG_REVENUE); } catch (Exception e) { throw new RuntimeException(e); } } } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/controller/ReportController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/controller/ReportController.java index 0d121f3b..5f11ddc5 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/controller/ReportController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/controller/ReportController.java @@ -3,18 +3,6 @@ */ package com.openhis.web.reportmanage.controller; -<<<<<<< HEAD -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import com.core.common.core.domain.R; -import com.openhis.web.reportmanage.appservice.IReportAppService; -======= import java.time.LocalDateTime; import javax.servlet.http.HttpServletRequest; @@ -30,7 +18,6 @@ import com.openhis.web.reportmanage.dto.ReportDetailsSearchParam; import com.openhis.web.reportmanage.dto.ReportPatientDetailsSearchParam; import com.openhis.web.reportmanage.dto.ReportPatientMasterDetailsSearchParam; import com.openhis.web.reportmanage.dto.ReportPhysicianWorkloadSearchParam; ->>>>>>> v1.3 import lombok.extern.slf4j.Slf4j; @@ -48,14 +35,8 @@ public class ReportController { @Autowired private IReportAppService reportAppService; -<<<<<<< HEAD - - /**例子,Dto例子参考:ReportStockOutDetailDto - * 药剂科报表_常规报表:出库明细表 -======= /** * 例子,Dto例子参考:ReportStockOutDetailDto 药剂科报表_常规报表:出库明细表 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -65,16 +46,8 @@ public class ReportController { */ @GetMapping(value = "/stock-out-detail-page") public R getStockOutDetailPage(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { -<<<<<<< HEAD - return reportAppService.getStockOutDetailPage(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportPatientMasterDetailDto - * 药剂科报表:患者明细主表 - * -======= + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getStockOutDetailPage(pageNo, pageSize, searchKey, request); } @@ -82,7 +55,6 @@ public class ReportController { * Dto参考:ReportPatientMasterDetailDto 药剂科报表:患者明细主表 * * @param patientMasterDetailsSearchParam 患者明细主表查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 @@ -90,27 +62,16 @@ public class ReportController { * @return 患者明细主报表 */ @GetMapping(value = "/patient-master-detail") -<<<<<<< HEAD - public R getPatientMasterDetailPage(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { - return reportAppService.getPatientMasterDetailPage(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportOfflinePurchaseRatioDto - * 药剂科报表:线下采购占比 -======= public R getPatientMasterDetailPage(ReportPatientMasterDetailsSearchParam patientMasterDetailsSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return R.ok(reportAppService.getPatientMasterDetailPage(patientMasterDetailsSearchParam, pageNo, pageSize, - searchKey, request)); + searchKey, request)); } /** * Dto参考:ReportOfflinePurchaseRatioDto 药剂科报表:线下采购占比 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -120,21 +81,13 @@ public class ReportController { */ @GetMapping(value = "/offline-purchase-ratio") public R getOfflinePurchaseRatioPage(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { -<<<<<<< HEAD - return reportAppService.getOfflinePurchaseRatioPage(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportMedicationUsageDto - * 药剂科报表:药品使用情况 -======= + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getOfflinePurchaseRatioPage(pageNo, pageSize, searchKey, request); } /** * Dto参考:ReportMedicationUsageDto 药剂科报表:药品使用情况 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -144,22 +97,13 @@ public class ReportController { */ @GetMapping(value = "/medication-usage") public R getMedicationUsagePage(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, -<<<<<<< HEAD - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { - return reportAppService.getMedicationUsagePage(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportPatientDetailsDto - * 药剂科报表:患者明细 - * -======= - @RequestParam(name = "searchKey", required = false) String searchKey, - @RequestParam(name = "startTime", - required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime, - @RequestParam(name = "endTime", - required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endTime, - HttpServletRequest request) { + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, + @RequestParam(name = "startTime", + required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime, + @RequestParam(name = "endTime", + required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endTime, + HttpServletRequest request) { return reportAppService.getMedicationUsagePage(pageNo, pageSize, searchKey, startTime, endTime, request); } @@ -167,7 +111,6 @@ public class ReportController { * Dto参考:ReportPatientDetailsDto 药剂科报表:患者明细 * * @param patientDetailsSearchParam 患者明细查询条件 ->>>>>>> v1.3 * @param pageNo 当前页码 * @param pageSize 查询条数 * @param searchKey 模糊查询关键字 @@ -175,27 +118,16 @@ public class ReportController { * @return 患者明细报表 */ @GetMapping(value = "/patient-details") -<<<<<<< HEAD - public R getPatientDetailsPage(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { - return reportAppService.getPatientDetailsPage(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportDrugCostGrowthDto - * 药剂科报表:药品费用增长率 -======= public R getPatientDetailsPage(ReportPatientDetailsSearchParam patientDetailsSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return R.ok( - reportAppService.getPatientDetailsPage(patientDetailsSearchParam, pageNo, pageSize, searchKey, request)); + reportAppService.getPatientDetailsPage(patientDetailsSearchParam, pageNo, pageSize, searchKey, request)); } /** * Dto参考:ReportDrugCostGrowthDto 药剂科报表:药品费用增长率 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -205,21 +137,13 @@ public class ReportController { */ @GetMapping(value = "/drug-expenses-growth-rate") public R getDrugExpensesGrowthRate(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { -<<<<<<< HEAD - return reportAppService.getDrugExpensesGrowthRate(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportThirtyDayCollectionRateDto - * 药剂科报表:30天回款率 -======= + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getDrugExpensesGrowthRate(pageNo, pageSize, searchKey, request); } /** * Dto参考:ReportThirtyDayCollectionRateDto 药剂科报表:30天回款率 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -229,47 +153,8 @@ public class ReportController { */ @GetMapping(value = "/thirty-day-collection-rate") public R getThirtyDayCollectionRate(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { -<<<<<<< HEAD - return reportAppService.getThirtyDayCollectionRate(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportBasicInformationDetailsDto - * 药剂科报表:基本情况报表 - * - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param searchKey 模糊查询关键字 - * @param request 请求数据 - * @return 基本情况报表 - */ - @GetMapping(value = "/basic-information-details") - public R getBasicInformationDetails(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { - return reportAppService.getBasicInformationDetails(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportMedicationStockOutDetailsDto - * 药剂科报表:药品出库情况 - * - * @param pageNo 当前页码 - * @param pageSize 查询条数 - * @param searchKey 模糊查询关键字 - * @param request 请求数据 - * @return 药品出库情况报表 - */ - @GetMapping(value = "/medication-stock-out-details") - public R getMedicationStockOutDetails(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { - return reportAppService.getMedicationStockOutDetails(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportProductUsageDto - * 药剂科报表:产品使用情况 -======= + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getThirtyDayCollectionRate(pageNo, pageSize, searchKey, request); } @@ -304,14 +189,13 @@ public class ReportController { */ @GetMapping(value = "/medication-stock-out-details") public R getMedicationStockOutDetails(ReportDetailsSearchParam param, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { return reportAppService.getMedicationStockOutDetails(param, pageNo, pageSize); } /** * Dto参考:ReportProductUsageDto 药剂科报表:产品使用情况 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -321,21 +205,13 @@ public class ReportController { */ @GetMapping(value = "/product-usage-details") public R getProductUsageDetails(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { -<<<<<<< HEAD - return reportAppService.getProductUsageDetails(pageNo,pageSize,searchKey,request); - } - - /**Dto参考:ReportNonWinQtyRatioDto - * 药剂科报表:非中选产品采购量占比 -======= + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getProductUsageDetails(pageNo, pageSize, searchKey, request); } /** * Dto参考:ReportNonWinQtyRatioDto 药剂科报表:非中选产品采购量占比 ->>>>>>> v1.3 * * @param pageNo 当前页码 * @param pageSize 查询条数 @@ -345,11 +221,8 @@ public class ReportController { */ @GetMapping(value = "/non-win-qty-ratio") public R getNonWinQtyRatio(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { -<<<<<<< HEAD - return reportAppService.getNonWinQtyRatio(pageNo,pageSize,searchKey,request); -======= + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getNonWinQtyRatio(pageNo, pageSize, searchKey, request); } @@ -364,8 +237,8 @@ public class ReportController { */ @GetMapping(value = "/medication-inbound-details") public R getMedicationInboundDetails(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getMedicationInboundDetails(pageNo, pageSize, searchKey, request); } @@ -380,8 +253,8 @@ public class ReportController { */ @GetMapping(value = "/medication-sale-details") public R getMedicationSaleDetails(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getMedicationSaleDetails(pageNo, pageSize, searchKey, request); } @@ -396,8 +269,8 @@ public class ReportController { */ @GetMapping(value = "/disease-details") public R getDiseaseDetails(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getDiseaseDetails(pageNo, pageSize, searchKey, request); } @@ -413,8 +286,8 @@ public class ReportController { */ @GetMapping(value = "/outpatient-department-metrics") public R getOutpatientDepartmentMetrics(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) { return reportAppService.getOutpatientDepartmentMetrics(pageNo, pageSize, searchKey, request); } @@ -441,12 +314,11 @@ public class ReportController { */ @GetMapping(value = "/report-physician-workload-page") public R getPhysicianWorkloadPage(ReportPhysicianWorkloadSearchParam physicianWorkloadReportSearchParam, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "searchKey", required = false) String searchKey, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "searchKey", required = false) String searchKey, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { return reportAppService.getPhysicianWorkloadPage(physicianWorkloadReportSearchParam, pageNo, pageSize, - searchKey, request); ->>>>>>> v1.3 + searchKey, request); } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportBasicInformationDetailsDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportBasicInformationDetailsDto.java index 10ec5f2a..3f7a8a74 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportBasicInformationDetailsDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportBasicInformationDetailsDto.java @@ -3,22 +3,14 @@ */ package com.openhis.web.reportmanage.dto; -<<<<<<< HEAD -======= import java.math.BigDecimal; import com.core.common.annotation.Excel; ->>>>>>> v1.3 import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.experimental.Accessors; -<<<<<<< HEAD -import java.math.BigDecimal; - -======= ->>>>>>> v1.3 /** * 基本情况 dto * @@ -29,41 +21,48 @@ import java.math.BigDecimal; @Accessors(chain = true) public class ReportBasicInformationDetailsDto { - /** 序号 */ + /** + * 序号 + */ private String no; - /** 数据上报日期 */ + /** + * 数据上报日期 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") private String dataReportingDate; - /** 省级行政区划代码 */ + /** + * 省级行政区划代码 + */ private String provinceCodes; - /** 组织机构代码 */ + /** + * 组织机构代码 + */ private String organizationCode; - /** 医疗机构代码 */ -<<<<<<< HEAD - private String medicalCode; - - /** 组织机构名称 */ - private String organizationName; - - /** 年度药品总收入(元) */ -======= + /** + * 医疗机构代码 + */ @Excel(name = "医疗机构代码", sort = 1) private String medicalCode; - /** 组织机构名称 */ + /** + * 组织机构名称 + */ @Excel(name = "组织机构名称", sort = 2) private String organizationName; - /** 年度药品总收入(元) */ + /** + * 年度药品总收入(元) + */ @Excel(name = "年度药品总收入(元)", sort = 3, scale = 2) ->>>>>>> v1.3 private BigDecimal yearMedicineTotalRevenue; - /** 实有床位数 */ + /** + * 实有床位数 + */ private BigDecimal actualBedsNo; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportMedicationUsageDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportMedicationUsageDto.java index 4e5d60ce..a1f3963f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportMedicationUsageDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportMedicationUsageDto.java @@ -5,11 +5,8 @@ package com.openhis.web.reportmanage.dto; import java.math.BigDecimal; -<<<<<<< HEAD -======= import com.openhis.common.annotation.Dict; ->>>>>>> v1.3 import lombok.Data; import lombok.experimental.Accessors; @@ -23,39 +20,56 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class ReportMedicationUsageDto { - /** 医疗机构代码 */ + /** + * 医疗机构代码 + */ private String orgId; - /** 组织机构名称 */ + /** + * 组织机构名称 + */ private String orgName; - /** 国家药品编码(YPID) */ + /** + * 国家药品编码(YPID) + */ private String nationalDrugCode; - /** 院内药品唯一码 */ + /** + * 院内药品唯一码 + */ private String busNo; - /** 省级药品集中采购平台药品编码 */ + /** + * 省级药品集中采购平台药品编码 + */ private String provincialDrugCode; - /** 产品名称 */ + /** + * 产品名称 + */ private String itemName; - /** 销售总金额(元) */ + /** + * 销售总金额(元) + */ private BigDecimal totalSalesPrice; - /** 销售数量(最小销售包装单位) */ + /** + * 销售数量(最小销售包装单位) + */ private BigDecimal packageSalesQuantity; - /** 销售数量(最小制剂单位) */ + /** + * 销售数量(最小制剂单位) + */ private BigDecimal dosageSalesQuantity; -<<<<<<< HEAD -======= - /** 单位 */ + /** + * 单位 + */ @Dict(dictCode = "unit_code") private Integer unitCode; private String unitCode_dictText; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportPatientDetailsDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportPatientDetailsDto.java index 327bf715..c30f6d95 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportPatientDetailsDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/reportmanage/dto/ReportPatientDetailsDto.java @@ -20,55 +20,77 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class ReportPatientDetailsDto { - /** 门诊住院号 */ + /** + * 门诊住院号 + */ private String encounterBusNo; - /** 药品通用名 */ + /** + * 药品通用名 + */ private String medName; - /** 药品医保编码 */ + /** + * 药品医保编码 + */ private String medYbNo; - /** 药品类别 */ + /** + * 药品类别 + */ @Dict(dictCode = "med_category_code") private String categoryCode; private String categoryCode_dictText; - /** 剂型 */ + /** + * 剂型 + */ @Dict(dictCode = "dose_form_code") private String doseFormCode; private String doseFormCode_dictText; - /** 规格 */ + /** + * 规格 + */ private String totalVolume; - /** 包装 */ -<<<<<<< HEAD - private String packageUnit; -======= + /** + * 包装 + */ @Dict(dictCode = "unit_code") private String packageUnit; private String packageUnit_dictText; ->>>>>>> v1.3 - /** 计价单位 */ + /** + * 计价单位 + */ @Dict(dictCode = "unit_code") private String unitCode; private String unitCode_dictText; - /** 是否中选产品 */ + /** + * 是否中选产品 + */ private String isSelected; - /** 生产企业 */ + /** + * 生产企业 + */ private String manufacturerText; - /** 单价(元) */ + /** + * 单价(元) + */ private BigDecimal price; - /** 使用数量(片袋支) */ + /** + * 使用数量(片袋支) + */ private BigDecimal quantity; - /** 使用总金额(元) */ + /** + * 使用总金额(元) + */ private BigDecimal totalPrice; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/ybmanage/controller/YbController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/ybmanage/controller/YbController.java index 11664748..da424e08 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/ybmanage/controller/YbController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/ybmanage/controller/YbController.java @@ -18,23 +18,7 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -<<<<<<< HEAD -import com.core.common.annotation.Anonymous; -import com.openhis.web.ybmanage.dto.*; -import com.openhis.yb.domain.InpatientDischarge; -import com.openhis.yb.domain.InpatientReg; -import com.openhis.yb.dto.Catalogue1312Output; -import com.openhis.yb.dto.Clinic2208UnSetlInfoOutput; -import com.openhis.yb.dto.Financial3203AWebParam; -import com.openhis.yb.dto.Info1101Output; -import com.openhis.yb.dto.PatientInfoDto; -import com.openhis.yb.dto.Result; -import com.openhis.yb.dto.Settlement3201WebParam; -import com.openhis.yb.dto.Settlement3202WebParam; -import com.openhis.yb.dto.Settlement3209AWebParam; -======= import org.springframework.beans.BeanUtils; ->>>>>>> v1.3 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; @@ -58,10 +42,7 @@ import com.openhis.clinical.service.IConditionDefinitionService; import com.openhis.common.constant.CommonConstants; import com.openhis.financial.domain.Contract; import com.openhis.financial.service.IContractService; -<<<<<<< HEAD -======= import com.openhis.web.ybmanage.dto.*; ->>>>>>> v1.3 import com.openhis.web.ybmanage.service.IYbService; import com.openhis.yb.domain.FinancialApplyRecord; import com.openhis.yb.domain.InfoPerson; @@ -184,8 +165,8 @@ public class YbController { if (patient == null) { throw new ServiceException("未获取到患者信息"); } - InfoPerson perinfo = - iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), SecurityUtils.getLoginUser().getTenantId()); + InfoPerson perinfo + = iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), SecurityUtils.getLoginUser().getTenantId()); if (perinfo == null) { throw new ServiceException("未连接医保获取患者信息"); } @@ -211,8 +192,8 @@ public class YbController { List conditionDefinitions = null; if (!currentRangeResults.isEmpty()) { conditionDefinitions = iConditionDefinitionService.list( - new LambdaUpdateWrapper().in(ConditionDefinition::getYbNo, currentRangeResults - .stream().map(Info5301SpecialConditionResult::getOpspDiseCode).collect(Collectors.toList()))); + new LambdaUpdateWrapper().in(ConditionDefinition::getYbNo, currentRangeResults + .stream().map(Info5301SpecialConditionResult::getOpspDiseCode).collect(Collectors.toList()))); } return R.ok(conditionDefinitions); } @@ -269,8 +250,8 @@ public class YbController { Result result = ybHttpUtils.reconcileGeneralLedger(financial3201Param); if (result.getCode().equals(CommonConstant.SC_OK_200)) { // System.out.println(JSON.parseObject(JSON.toJSONString(result.getResult()))); - Financial3201Output financial3201Output = - JSON.parseObject(JSON.toJSONString(result.getResult()), Financial3201Output.class); + Financial3201Output financial3201Output + = JSON.parseObject(JSON.toJSONString(result.getResult()), Financial3201Output.class); ybDao.saveReconcileGeneralLedger(financial3201Output, financial3201Param); if ("0".equals(financial3201Output.getStmtRslt())) { return R.ok("OK"); @@ -303,20 +284,20 @@ public class YbController { Financial3201Param financial3201Param = new Financial3201Param(); financial3201Param.setInsutype(financialHand3203WebParam.getInsutype()) - .setClrType(financialHand3203WebParam.getClrType()).setSetlOptins(financialHand3203WebParam.getClrOptins()) - .setStmtBegndate(financialHand3203WebParam.getBegndate()) - .setStmtEnddate(financialHand3203WebParam.getEnddate()) - .setMedfeeSumamt(financialHand3203WebParam.getMedfeeSumamt().doubleValue()) - .setFundPaySumamt(financialHand3203WebParam.getFundAppySum().doubleValue()) - .setAcctPay(financialHand3203WebParam.getAcctPay().doubleValue()) - .setFixmedinsSetlCnt(Integer.parseInt(financialHand3203WebParam.getSetlCnt())) - .setInsuplcAdmdvs(SecurityUtils.getLoginUser().getOptionJson().getString("admvs")); + .setClrType(financialHand3203WebParam.getClrType()).setSetlOptins(financialHand3203WebParam.getClrOptins()) + .setStmtBegndate(financialHand3203WebParam.getBegndate()) + .setStmtEnddate(financialHand3203WebParam.getEnddate()) + .setMedfeeSumamt(financialHand3203WebParam.getMedfeeSumamt().doubleValue()) + .setFundPaySumamt(financialHand3203WebParam.getFundAppySum().doubleValue()) + .setAcctPay(financialHand3203WebParam.getAcctPay().doubleValue()) + .setFixmedinsSetlCnt(Integer.parseInt(financialHand3203WebParam.getSetlCnt())) + .setInsuplcAdmdvs(SecurityUtils.getLoginUser().getOptionJson().getString("admvs")); Result result = ybHttpUtils.reconcileGeneralLedger(financial3201Param); if (result.getCode().equals(CommonConstant.SC_OK_200)) { // System.out.println(JSON.parseObject(JSON.toJSONString(result.getResult()))); - Financial3201Output financial3201Output = - JSON.parseObject(JSON.toJSONString(result.getResult()), Financial3201Output.class); + Financial3201Output financial3201Output + = JSON.parseObject(JSON.toJSONString(result.getResult()), Financial3201Output.class); ybDao.saveReconcileGeneralLedger(financial3201Output, financial3201Param); if ("0".equals(financial3201Output.getStmtRslt())) { return R.ok("OK"); @@ -339,7 +320,6 @@ public class YbController { // FinancialSettlement3202Param financial3202Param = // ybDao.getFinancialSettlement3202Param(settlement3202WebParam); // FinancialSettlement3202Result resultInfo = ybHttpUtils.reconcileGeneralLedgerDetail(financial3202Param); - return R.ok(financial3202FileParams); } @@ -351,9 +331,9 @@ public class YbController { */ @PostMapping("/reconcile-detail-txt") public void reconcileGeneralLedgerDetailTxt(@RequestBody Financial3202WebParam financial3202WebParam, - HttpServletResponse response) throws IOException { - List financial3202FileParams = - ybDao.paymentCompareYbSettle(financial3202WebParam.getSettlementIdList()); + HttpServletResponse response) throws IOException { + List financial3202FileParams + = ybDao.paymentCompareYbSettle(financial3202WebParam.getSettlementIdList()); // String filePath = SecurityUtils.getLoginUser().getOptionJson().getString("filePath")+new // Date().getTime()+".txt"; // String filePath = "C:\\Users\\bjbUser\\Desktop\\"+new Date().getTime()+".txt"; @@ -374,11 +354,10 @@ public class YbController { response.setContentType("application/octet-stream"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", - "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8").replace("+", "%20") + "\""); + "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8").replace("+", "%20") + "\""); // 3. 直接通过输出流写入数据(避免创建临时文件) - try (OutputStream os = response.getOutputStream(); - BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8))) { + try (OutputStream os = response.getOutputStream(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8))) { for (Financial3202FileParam item : financial3202FileParams) { writer.write(item.getTxt()); // 写入每行数据 @@ -417,14 +396,14 @@ public class YbController { /** * 触发3202接口 - * + * * @param settlementIdList 3202查询数据 * @return * @throws IOException */ @PostMapping("/reconcile-general") public R reconcileGeneral(List settlementIdList, String filePath, String fileQuryNo, String setlOptins, - String clrType) { + String clrType) { // todo:这里需要考虑3302接口的参数是后台合计还是由前台传入,因为这个参数还要和txt文件对应(既需要txt中的数据还需要db表中的一些数据), // String filePath = SecurityUtils.getLoginUser().getOptionJson().getString("filePath")+new // Date().getTime()+".txt"; @@ -441,7 +420,7 @@ public class YbController { BigDecimal fundPaySumamt = new BigDecimal(fields[4]); BigDecimal acctPay = new BigDecimal(fields[5]); Financial3202FileParam person = new Financial3202FileParam(fields[0], fields[1], fields[2], - medfeeSumamt, fundPaySumamt, acctPay, fields[6]); + medfeeSumamt, fundPaySumamt, acctPay, fields[6]); financial3202FileParamList.add(person); } } @@ -463,16 +442,16 @@ public class YbController { fundPaySumamt = fundPaySumamt.add(financial3202FileParam.getFundPaySumamt()); } - FinancialSettlement3202Param financialSettlement3202Param = - ybDao.getFinancialSettlement3202Param(settlementIdList, medfeeSumamt, fundPaySumamt); + FinancialSettlement3202Param financialSettlement3202Param + = ybDao.getFinancialSettlement3202Param(settlementIdList, medfeeSumamt, fundPaySumamt); if (financialSettlement3202Param == null) { throw new ServiceException("未生成3202参数"); } financialSettlement3202Param.setClrType(clrType).setFileQuryNo(fileQuryNo) - .setRefdSetlFlag(financial3202FileParamList.get(0).getRefdSetlFlag()).setSetlOptins(setlOptins); + .setRefdSetlFlag(financial3202FileParamList.get(0).getRefdSetlFlag()).setSetlOptins(setlOptins); - FinancialSettlement3202Result financialSettlement3202Result = - ybHttpUtils.reconcileGeneralLedgerDetail(financialSettlement3202Param); + FinancialSettlement3202Result financialSettlement3202Result + = ybHttpUtils.reconcileGeneralLedgerDetail(financialSettlement3202Param); if (financialSettlement3202Result == null) { throw new ServiceException("未收到3202参数"); } @@ -489,8 +468,8 @@ public class YbController { @PostMapping("/three-part-search-err") public R threePartSearch(Settlement3209AWebParam settlement3209AWebParam) { - FinancialSettlement3209AParam financialSettlement3209AParam = - ybDao.getFinancialSettlement3209AParam(settlement3209AWebParam); + FinancialSettlement3209AParam financialSettlement3209AParam + = ybDao.getFinancialSettlement3209AParam(settlement3209AWebParam); List list = ybHttpUtils.threePartSearch(financialSettlement3209AParam); return R.ok(); @@ -511,7 +490,7 @@ public class YbController { if (result != null) { if (result.getCode() == 200) { ybDao.save3203AFinancialClearingApplycation(financial3203AParam, - String.valueOf(result.getResult())); + String.valueOf(result.getResult())); return R.ok(result); } } @@ -536,16 +515,16 @@ public class YbController { List financial3202FileParams = ybDao.paymentCompareYbSettle(settlement3202WebParam); Financial3203AParam financial3203AParam = ybDao.getFinancial3203AParam(financial3202FileParams, - String.valueOf(financialClearing3203AWebParam.getStmtBegnDate()), - String.valueOf(financialClearing3203AWebParam.getStmtEndDate()), - financialClearing3203AWebParam.getClrType(), financialClearing3203AWebParam.getSetlOptins()); + String.valueOf(financialClearing3203AWebParam.getStmtBegnDate()), + String.valueOf(financialClearing3203AWebParam.getStmtEndDate()), + financialClearing3203AWebParam.getClrType(), financialClearing3203AWebParam.getSetlOptins()); String s = ybHttpUtils.applyFinancialClearing(financial3203AParam); if (!StringUtils.isEmpty(s)) { Result result = JSON.parseObject(s, Result.class); if (result != null) { if (result.getCode() == 200) { ybDao.save3203AFinancialClearingApplycation(financial3203AParam, - String.valueOf(result.getResult())); + String.valueOf(result.getResult())); return R.ok(result); } } @@ -573,15 +552,15 @@ public class YbController { financial3203AParam.setClrOptins(financialHand3203AWebParam.getClrOptins()); ybDao.getFinancial3203AParamForTime(financial3203AParam, - String.valueOf(financialHand3203AWebParam.getBegndate()), - String.valueOf(financialHand3203AWebParam.getEnddate())); + String.valueOf(financialHand3203AWebParam.getBegndate()), + String.valueOf(financialHand3203AWebParam.getEnddate())); String s = ybHttpUtils.applyFinancialClearing(financial3203AParam); if (!StringUtils.isEmpty(s)) { Result result = JSON.parseObject(s, Result.class); if (result != null) { if (result.getCode() == 200) { ybDao.save3203AFinancialClearingApplycation(financial3203AParam, - String.valueOf(result.getResult())); + String.valueOf(result.getResult())); return R.ok(result); } } @@ -597,8 +576,8 @@ public class YbController { */ @GetMapping("/apply-financial-clearing-list") public R getApplyFinancialClearingList(@RequestParam(value = "searchKey", defaultValue = "") String searchKey, - @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { return R.ok(ybDao.getFinancial3203APage(searchKey, pageNo, pageSize, request)); } @@ -609,7 +588,7 @@ public class YbController { * @return 结果 */ @GetMapping("/apply-un-clearing") - public R cancelFinancialClearing(@RequestParam(value = "clrAppyEvtId")String clrAppyEvtId, @RequestParam(value = "clrOptins")String clrOptins) { + public R cancelFinancialClearing(@RequestParam(value = "clrAppyEvtId") String clrAppyEvtId, @RequestParam(value = "clrOptins") String clrOptins) { Financial3204Param financial3204Param = new Financial3204Param(); FinancialApplyRecord financialApplyRecord = ybDao.getFinancial3204ParamByClrAppyEvtId(clrAppyEvtId); financial3204Param.setClrOptins(clrOptins).setClrAppyEvtId(financialApplyRecord.getOutResult()); @@ -645,8 +624,8 @@ public class YbController { @PostMapping("/upload-inventory-count") public R uploadInventoryCount(Long id) { - MedicalInventory3501Param medicalInventory3501Param = - ybDao.getMedicalInventory3501Param(id, SecurityUtils.getLoginUser().getTenantId()); + MedicalInventory3501Param medicalInventory3501Param + = ybDao.getMedicalInventory3501Param(id, SecurityUtils.getLoginUser().getTenantId()); Result resultInfo = ybHttpUtils.uploadInventoryCount(medicalInventory3501Param); if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { ybDao.saveInventoryCheckRecord(medicalInventory3501Param, resultInfo.getMessage()); @@ -666,8 +645,8 @@ public class YbController { @PostMapping("/upload-inventory") public R updateInventoryCount(Long id, String invChgType) { - MedicalInventory3502Param medicalInventory3502Param = - ybDao.getMedicalInventory3502Param(id, invChgType, SecurityUtils.getLoginUser().getTenantId()); + MedicalInventory3502Param medicalInventory3502Param + = ybDao.getMedicalInventory3502Param(id, invChgType, SecurityUtils.getLoginUser().getTenantId()); Result resultInfo = ybHttpUtils.updateInventoryCount(medicalInventory3502Param); if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { ybDao.saveInventoryChangeRecord(medicalInventory3502Param, resultInfo.getMessage()); @@ -703,8 +682,8 @@ public class YbController { @PostMapping("/procurement-cancel") public R cancelProcurement(Long id) { - MedicalPurchase3504Param medicalPurchase3504Param = - ybDao.getMedicalPurchase3504Param(id, SecurityUtils.getLoginUser().getTenantId()); + MedicalPurchase3504Param medicalPurchase3504Param + = ybDao.getMedicalPurchase3504Param(id, SecurityUtils.getLoginUser().getTenantId()); Result resultInfo = ybHttpUtils.cancelProcurement(medicalPurchase3504Param); if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { ybDao.saveInventoryPurchaseReturnRecord(medicalPurchase3504Param, resultInfo.getMessage()); @@ -733,7 +712,6 @@ public class YbController { // ybDao.saveInventorySaleRecord(medical3505Param, medical3505Result.getMsgRslt()); // return R.fail(); // } - // /** // * 【3506】商品销售退货 // * @@ -754,7 +732,6 @@ public class YbController { // ybDao.saveInventorySaleReturnRecord(medical3506Param, medical3505Result.getMsgRslt()); // return R.fail(); // } - /** * 【3507】商品信息删除 * @@ -781,7 +758,7 @@ public class YbController { public R getClrOptins(String pageNum, String pageSize, String fixmedinsCode) { Clearing3206AParam clearing3206AParam = new Clearing3206AParam(); clearing3206AParam.setPageNum(Integer.parseInt(pageNum)).setPageSize(Integer.parseInt(pageSize)) - .setFixmedinsCode(fixmedinsCode); + .setFixmedinsCode(fixmedinsCode); Result resultBody = ybHttpUtils.getClrOptins(clearing3206AParam); if (resultBody.getCode().equals(CommonConstant.SC_OK_200)) { // ybDao.saveInventoryDelRecord(medical3507Param); @@ -804,7 +781,7 @@ public class YbController { Catalogue1312QueryParam catalogue1312QueryParam = new Catalogue1312QueryParam(); catalogue1312QueryParam.setHilistCode(hilistCode); catalogue1312QueryParam.setInsuplcAdmdvs( - SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.INSUPLC_ADMDVS)); + SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.INSUPLC_ADMDVS)); // 直接解析(默认 ISO 格式) LocalDate localDate = LocalDate.parse(dateStr); // 转换为 Date @@ -832,8 +809,8 @@ public class YbController { // 存储所有查询结果 List allResults = new ArrayList<>(); - String str = - "XC09CAT039A001010300800, XR05XXA175E001010100760, XR03DAA113B002020103257, XC01DAX072A001010500202, XM01ABS120E007010178232, XA10BKD256A001010179096, XA11DAW036A001010103059, XA03FAX226B002010103973, XC08CAA187A001010101678, XM01AEB173X002010100734, ZA12BAF0349010200941, ZA06CBF0034010403496, XC10AXY310B002010178217, XC10ABF021E001010180487, XJ01MAN076A001010204747, XN02BAL023B001060104288, XN02BBQ128A001010103304, XC07AGA031A001010378991, ZA04AAN0111010100169, ZB01BAS0537030100490, XR07AXY034B001010103783, XJ01FAA051E001010201651, XB05XAL211B002050402180, XR06AXL226A001010100784, XJ01XDA231B002020302180, XG03FBC051A001020178890, XR06ADY136B002010101962, XB02BXF031B002010103216, XC08CAZ067A001010702697, XC07ABM062A010020183802, XJ05APL052N001030102120, XM04AAF670A001010401729, ZA04BAK0055010302943, XS01KAB146G010010109920, XC10AAR069A001040104641, ZA12BAS0986010100961, XR05CBA101E005030500066, XJ01MAZ074A001011303307, XB05XAL208B002020203204, XB01AXA223B002010105791, XC01CAJ097B002020100137, XJ01DDT088B001010102918, ZG01BAX0326010105184, XA05BAF632B002010179084, XJ01FAL262A006010801478, XJ01FFK071B002040101017, ZA12BAF0349010100941, ZD02AAF0202010105046, XG03DAH056B002010100874, XB03AED181E001010304032, XA03BAX232B002010104494, XA03FAJ085B002020103257, XB03BAW037B002020203216, ZA06CAF0030020105478, XA10ADM080B002010107103, XA10AEG025B002020181708, ZG01AAS0084010103814, XA11HAW041B002010103257, XC08CAZ067A001010203447, XN01BBA064B002010178765, ZA06CAF0030020205478, XC09DXS255A001030378679, XC02CXY168B002010200239, ZA02BAQ0408010103151, XD10AFH016F001010103223, ZA13BAD0263010103391, ZA12DAQ0082010102767, XC10ABB079A001010101499, ZA02AAH0434010100941, XC01CAS071B002010401984, XA02BCA211E005010104192, ZA04BAP0062010101193, XJ01CAA040E001030402699, XM01ABA196A012010103198, XA10BFA025A001020100002, XA06AGK111S003010101954, ZA12BAG0375010102537, ZA10DAA0094010103357, XJ01DCT162A001010204658, XA11DAW036B002010103257, XR05XXF134A001010103453, XA02ADL183A005010300340, XC01CAS071B002010203204, XB05XAT018B002010202954, XJ01MAM134B002010105759, XB05BBP072B002170102180, XG03DBD084A001010178890, XC09DXS255A001030178679, XC02CXY168A001020179598, XJ01MAM134B002010102763, XC01CAQ120B002010201984, XA07FAD090E001010201161, XA10ABM079B002020107103, XA07AXX082A017010101162, ZG01BAY0711010501752, ZF03AAL0102010100169, XA10BAE021A001010104658, XM01AEB173E003010303370, XB05BBP072B002090102180, XJ01XDR005E001010103464, XR06AXL226A001010200841, XN07XXB025E001010304021, XB03AAF375A017010103454, XA11GAW043A001010100222, XR05CBA198A001010209703, ZA04BAK0055010102748, ZA02AAH0434010300941, XA12AXT201A001010101421, XC09CAE003A001010404647, XA05BAS149E001010200941, XA11GAW043B002020103216, ZA17AAZ0155010102018, ZG01BAY0716040405629, XS01AEZ074G010020109920, XC10AAA067A001020105847, ZG03AAS0381020101385, XS01KAB146G010020209920, XR07ABN040B002010100137, XC09CAT039A001010105805, XA07FAR055A001010203744, XA05BAF632A001010200106, ZA04BAX0048020105337, XJ06BBP063B002010102055, XA10BJS279B002020183568, XB03BBY050A001010300011, XJ06BBP063B001010109588, XJ05APL052B002020104127, XR05CBA198B002010201871, ZG02BAZ0126010102021, XJ01FAA051B001020302770, ZA09FAJ0473010105300, XR05FBF273A001010103304, XA03BAA068B002010103257, ZA12AAQ0060030100941, XC01AAQ133B002010301708, XM09AXF299B001010102557, XN02BED158A001010201162, XA03ADY181B002010201708, XB05BBP072B002040203063, ZZ01AAJ0464010105109, XG03DAH056E001010104735, XA10BDE082A001010304520, XA10ADD335B002020307103, XR05CBA198A001010109703, XB05BBP072B002170502180, XA02BCA211B001020104127, XB05XAL211B002070602180, XJ05ABA075A001010100503, XN07XXD130E002010102774, XS02AAZ074Q010010100547, XJ01MAM122A001010206988, XR03ACS048L028010101740, XC01BBL054B002020203204, XD06BBA075F002020104982, XA10AEG025B002040181708, ZA04BAY0496010102019, XA05BAH112B014020104139, XR03BAB165L023020100545, XH02ABD234B002020203257, XA06ADR050X001010101150, ZA14AAJ0168020105394, XH03AAZ057A001030279462, XB01ACA056A012020279489, XN05BAD088B002010100978, XC01DAX072B002020102902, XJ05AHA218E001010102770, XR06ADY136B002010201962, XS01AAH016G004020104127, XB05BBM115B001010204098, XR05FBF273A001010200228, XA03BAX232B002020103216, ZA04BAL0021020101749, XJ01DDT081B001010200513, XD07CBF231F002010100474, XC09AAY074A001020101747, XJ01MAM122A001010101003, XA05BAH112B001040101066, XN02BBF168B002010103257, ZA09CAL0264030100169, XD01ACM085F002020102529, XA12AAP077B002020402662, ZA09HAC0221010279263, XA07BCM081P001010203714, XG03FBC051A001010178890, ZA02AAH0441010502125, ZG01BAY0713010301752, ZA04BAF0468010103658, ZA09ABR0036010100166, XN07CAF072E001010102529, XP01ABJ070A001010101984, XB05XAL211B002020402180, XC03CAF056B002010203257, XR03ACT022L008010201429, XB03BAJ038A001010205337, XC08CAX211A010010100681, XA10ADJ247B002010107103, ZA05BAW0113010103287, XJ01DDT073E001010602703, XH02ABJ061B001010200933, XA11HAW041B002010203216, ZA02BAF0104010104670, XJ01MAZ083B002040202662, XB01ACL190A001020178814, XR07ABN040B002010304152, XC10AAA067A001010105847, XB05BBP072B002091102180, ZF03AAK0002030105506, XR07ABL271B002020100137, ZB01CAM0031040101954"; + String str + = "XC09CAT039A001010300800, XR05XXA175E001010100760, XR03DAA113B002020103257, XC01DAX072A001010500202, XM01ABS120E007010178232, XA10BKD256A001010179096, XA11DAW036A001010103059, XA03FAX226B002010103973, XC08CAA187A001010101678, XM01AEB173X002010100734, ZA12BAF0349010200941, ZA06CBF0034010403496, XC10AXY310B002010178217, XC10ABF021E001010180487, XJ01MAN076A001010204747, XN02BAL023B001060104288, XN02BBQ128A001010103304, XC07AGA031A001010378991, ZA04AAN0111010100169, ZB01BAS0537030100490, XR07AXY034B001010103783, XJ01FAA051E001010201651, XB05XAL211B002050402180, XR06AXL226A001010100784, XJ01XDA231B002020302180, XG03FBC051A001020178890, XR06ADY136B002010101962, XB02BXF031B002010103216, XC08CAZ067A001010702697, XC07ABM062A010020183802, XJ05APL052N001030102120, XM04AAF670A001010401729, ZA04BAK0055010302943, XS01KAB146G010010109920, XC10AAR069A001040104641, ZA12BAS0986010100961, XR05CBA101E005030500066, XJ01MAZ074A001011303307, XB05XAL208B002020203204, XB01AXA223B002010105791, XC01CAJ097B002020100137, XJ01DDT088B001010102918, ZG01BAX0326010105184, XA05BAF632B002010179084, XJ01FAL262A006010801478, XJ01FFK071B002040101017, ZA12BAF0349010100941, ZD02AAF0202010105046, XG03DAH056B002010100874, XB03AED181E001010304032, XA03BAX232B002010104494, XA03FAJ085B002020103257, XB03BAW037B002020203216, ZA06CAF0030020105478, XA10ADM080B002010107103, XA10AEG025B002020181708, ZG01AAS0084010103814, XA11HAW041B002010103257, XC08CAZ067A001010203447, XN01BBA064B002010178765, ZA06CAF0030020205478, XC09DXS255A001030378679, XC02CXY168B002010200239, ZA02BAQ0408010103151, XD10AFH016F001010103223, ZA13BAD0263010103391, ZA12DAQ0082010102767, XC10ABB079A001010101499, ZA02AAH0434010100941, XC01CAS071B002010401984, XA02BCA211E005010104192, ZA04BAP0062010101193, XJ01CAA040E001030402699, XM01ABA196A012010103198, XA10BFA025A001020100002, XA06AGK111S003010101954, ZA12BAG0375010102537, ZA10DAA0094010103357, XJ01DCT162A001010204658, XA11DAW036B002010103257, XR05XXF134A001010103453, XA02ADL183A005010300340, XC01CAS071B002010203204, XB05XAT018B002010202954, XJ01MAM134B002010105759, XB05BBP072B002170102180, XG03DBD084A001010178890, XC09DXS255A001030178679, XC02CXY168A001020179598, XJ01MAM134B002010102763, XC01CAQ120B002010201984, XA07FAD090E001010201161, XA10ABM079B002020107103, XA07AXX082A017010101162, ZG01BAY0711010501752, ZF03AAL0102010100169, XA10BAE021A001010104658, XM01AEB173E003010303370, XB05BBP072B002090102180, XJ01XDR005E001010103464, XR06AXL226A001010200841, XN07XXB025E001010304021, XB03AAF375A017010103454, XA11GAW043A001010100222, XR05CBA198A001010209703, ZA04BAK0055010102748, ZA02AAH0434010300941, XA12AXT201A001010101421, XC09CAE003A001010404647, XA05BAS149E001010200941, XA11GAW043B002020103216, ZA17AAZ0155010102018, ZG01BAY0716040405629, XS01AEZ074G010020109920, XC10AAA067A001020105847, ZG03AAS0381020101385, XS01KAB146G010020209920, XR07ABN040B002010100137, XC09CAT039A001010105805, XA07FAR055A001010203744, XA05BAF632A001010200106, ZA04BAX0048020105337, XJ06BBP063B002010102055, XA10BJS279B002020183568, XB03BBY050A001010300011, XJ06BBP063B001010109588, XJ05APL052B002020104127, XR05CBA198B002010201871, ZG02BAZ0126010102021, XJ01FAA051B001020302770, ZA09FAJ0473010105300, XR05FBF273A001010103304, XA03BAA068B002010103257, ZA12AAQ0060030100941, XC01AAQ133B002010301708, XM09AXF299B001010102557, XN02BED158A001010201162, XA03ADY181B002010201708, XB05BBP072B002040203063, ZZ01AAJ0464010105109, XG03DAH056E001010104735, XA10BDE082A001010304520, XA10ADD335B002020307103, XR05CBA198A001010109703, XB05BBP072B002170502180, XA02BCA211B001020104127, XB05XAL211B002070602180, XJ05ABA075A001010100503, XN07XXD130E002010102774, XS02AAZ074Q010010100547, XJ01MAM122A001010206988, XR03ACS048L028010101740, XC01BBL054B002020203204, XD06BBA075F002020104982, XA10AEG025B002040181708, ZA04BAY0496010102019, XA05BAH112B014020104139, XR03BAB165L023020100545, XH02ABD234B002020203257, XA06ADR050X001010101150, ZA14AAJ0168020105394, XH03AAZ057A001030279462, XB01ACA056A012020279489, XN05BAD088B002010100978, XC01DAX072B002020102902, XJ05AHA218E001010102770, XR06ADY136B002010201962, XS01AAH016G004020104127, XB05BBM115B001010204098, XR05FBF273A001010200228, XA03BAX232B002020103216, ZA04BAL0021020101749, XJ01DDT081B001010200513, XD07CBF231F002010100474, XC09AAY074A001020101747, XJ01MAM122A001010101003, XA05BAH112B001040101066, XN02BBF168B002010103257, ZA09CAL0264030100169, XD01ACM085F002020102529, XA12AAP077B002020402662, ZA09HAC0221010279263, XA07BCM081P001010203714, XG03FBC051A001010178890, ZA02AAH0441010502125, ZG01BAY0713010301752, ZA04BAF0468010103658, ZA09ABR0036010100166, XN07CAF072E001010102529, XP01ABJ070A001010101984, XB05XAL211B002020402180, XC03CAF056B002010203257, XR03ACT022L008010201429, XB03BAJ038A001010205337, XC08CAX211A010010100681, XA10ADJ247B002010107103, ZA05BAW0113010103287, XJ01DDT073E001010602703, XH02ABJ061B001010200933, XA11HAW041B002010203216, ZA02BAF0104010104670, XJ01MAZ083B002040202662, XB01ACL190A001020178814, XR07ABN040B002010304152, XC10AAA067A001010105847, XB05BBP072B002091102180, ZF03AAK0002030105506, XR07ABL271B002020100137, ZB01CAM0031040101954"; String[] split = str.split(","); // 循环查询每个医保目录编码 for (String s : split) { @@ -849,13 +826,13 @@ public class YbController { List outputList = ybHttpUtils.queryYbCatalogue(catalogue1312QueryParam); if (outputList != null && !outputList.isEmpty()) { List list = outputList.stream().filter(Objects::nonNull) - .filter(x -> x.getMemo() != null).filter(x -> !"null".equals(x.getMemo())) - .filter(x -> !"历史数据迁移".equals(x.getMemo())).filter(x -> !"目录变更".equals(x.getMemo())) - .filter(x -> !"0".equals(x.getMemo())).filter(x -> !" ".equals(x.getMemo())) - .collect(Collectors.toMap(Catalogue1312Output::getHilistCode, // 以 hilistCode 作为 key - Function.identity(), // 保留原对象 - (existing, replacement) -> existing // 如果重复,保留第一个 - )).values().stream().toList(); + .filter(x -> x.getMemo() != null).filter(x -> !"null".equals(x.getMemo())) + .filter(x -> !"历史数据迁移".equals(x.getMemo())).filter(x -> !"目录变更".equals(x.getMemo())) + .filter(x -> !"0".equals(x.getMemo())).filter(x -> !" ".equals(x.getMemo())) + .collect(Collectors.toMap(Catalogue1312Output::getHilistCode, // 以 hilistCode 作为 key + Function.identity(), // 保留原对象 + (existing, replacement) -> existing // 如果重复,保留第一个 + )).values().stream().toList(); allResults.addAll(list); } } @@ -870,7 +847,7 @@ public class YbController { */ @GetMapping("/pre-mid-analysis") public R yb3101PreMidAnalysis(@RequestParam("encounterId") Long encounterId, - @RequestParam("trigScen") String trigScen) { + @RequestParam("trigScen") String trigScen) { return ybService.yb3101PreMidAnalysis(encounterId, trigScen); } @@ -884,8 +861,8 @@ public class YbController { */ @GetMapping("/pre-mid-feedback") public R yb3103PreMidFeedback(@RequestParam("warnRsltId") String warnRsltId, - @RequestParam("dspoWay") String dspoWay, - @RequestParam(value = "dspoWayRea", required = false) String dspoWayRea) { + @RequestParam("dspoWay") String dspoWay, + @RequestParam(value = "dspoWayRea", required = false) String dspoWayRea) { return ybService.yb3103PreMidFeedback(warnRsltId, dspoWay, dspoWayRea); } @@ -908,13 +885,13 @@ public class YbController { */ @PostMapping("/special-disease-drug-record-search") public R - yb5205SpecialDiseaseDrugRecordSearch(@RequestBody Yb5205SpecialDiseaseWebParam yb5205SpecialDiseaseWebParam) { - Yb5205InputSpecialDisease yb5205InputSpecialDisease = - ybDao.yb5205SpecialDiseaseDrugRecordSearch(yb5205SpecialDiseaseWebParam.getPatientId(), - yb5205SpecialDiseaseWebParam.getBegntime(), yb5205SpecialDiseaseWebParam.getEndtime()); + yb5205SpecialDiseaseDrugRecordSearch(@RequestBody Yb5205SpecialDiseaseWebParam yb5205SpecialDiseaseWebParam) { + Yb5205InputSpecialDisease yb5205InputSpecialDisease + = ybDao.yb5205SpecialDiseaseDrugRecordSearch(yb5205SpecialDiseaseWebParam.getPatientId(), + yb5205SpecialDiseaseWebParam.getBegntime(), yb5205SpecialDiseaseWebParam.getEndtime()); - List yb5205OutputSpecialDiseases = - ybHttpUtils.yb5205SpecialDiseaseDrugRecordSearch(yb5205InputSpecialDisease); + List yb5205OutputSpecialDiseases + = ybHttpUtils.yb5205SpecialDiseaseDrugRecordSearch(yb5205InputSpecialDisease); if (yb5205OutputSpecialDiseases == null) { return R.fail("获取失败"); @@ -936,31 +913,19 @@ public class YbController { @GetMapping("/yb-return-settle") @Anonymous public R ybReturnSettle(@RequestParam("psnNo") String psnNo, @RequestParam("mdtrtId") String mdtrtId, - @RequestParam("settleId") String settleId, @RequestParam("insuplcAdmdvs") String insuplcAdmdvs, -<<<<<<< HEAD - @RequestParam("contractNo") String contractNo){ - - Clinic2208UnSetlInfoParam clinicSetl = new Clinic2208UnSetlInfoParam(); - clinicSetl.setPsnNo(psnNo).setMdtrtId(mdtrtId).setSetlId(settleId) - .setInsuplcAdmdvs(insuplcAdmdvs); - - Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoOutput = ybHttpUtils.unSettle(clinicSetl, iContractService.getContract(contractNo)); -======= - @RequestParam("contractNo") String contractNo) { + @RequestParam("settleId") String settleId, @RequestParam("insuplcAdmdvs") String insuplcAdmdvs, + @RequestParam("contractNo") String contractNo) { Clinic2208UnSetlInfoParam clinicSetl = new Clinic2208UnSetlInfoParam(); clinicSetl.setPsnNo(psnNo).setMdtrtId(mdtrtId).setSetlId(settleId).setInsuplcAdmdvs(insuplcAdmdvs); - Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoOutput = - ybHttpUtils.unSettle(clinicSetl, iContractService.getContract(contractNo)); ->>>>>>> v1.3 + Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoOutput + = ybHttpUtils.unSettle(clinicSetl, iContractService.getContract(contractNo)); return R.ok(clinic2208UnSetlInfoOutput); } /** -<<<<<<< HEAD -======= * 【2601】冲正 * * @param psnNo 医保人员编号 @@ -972,8 +937,8 @@ public class YbController { @GetMapping("/yb-to-reverse") @Anonymous public R ybToReverse(@RequestParam("psnNo") String psnNo, @RequestParam("oinfno") String oinfno, - @RequestParam("omsgid") String omsgid, @RequestParam("contractNo") String contractNo, - @RequestParam("InsuplcAdmdvs") String InsuplcAdmdvs) { + @RequestParam("omsgid") String omsgid, @RequestParam("contractNo") String contractNo, + @RequestParam("InsuplcAdmdvs") String InsuplcAdmdvs) { Yb2601InputParam toReverse = new Yb2601InputParam(); toReverse.setPsnNo(psnNo); @@ -989,92 +954,57 @@ public class YbController { @GetMapping("/yb-2204-up") @Anonymous public R yb2204(@RequestParam("psnNo") String psnNo, @RequestParam("oinfno") String oinfno, - @RequestParam("omsgid") String omsgid, @RequestParam("contractNo") String contractNo, - @RequestParam("InsuplcAdmdvs") String InsuplcAdmdvs) { + @RequestParam("omsgid") String omsgid, @RequestParam("contractNo") String contractNo, + @RequestParam("InsuplcAdmdvs") String InsuplcAdmdvs) { Clinic2204OrderParam clinic2204OrderResult = new Clinic2204OrderParam(); - String s1 = - "{\"feedetl_sn\":\"530389\",\"mdtrt_id\":\"220000202511101029490122280385\",\"psn_no\":\"22000011000014958451\",\"chrg_bchno\":\"SF2511100007050575\",\"dise_codg\":\"M51.202\",\"rx_circ_flag\":\"0\",\"fee_ocur_time\":\"2025-11-10 10:28:20\",\"med_list_codg\":\"014500000060000\",\"medins_list_codg\":\"yp3218\",\"det_item_fee_sumamt\":\"225\",\"cnt\":\"3.0\",\"pric\":\"75.0\",\"sin_dos_dscr\":\"\",\"used_frqu_dscr\":\"\",\"prd_days\":\"1\",\"medc_way_dscr\":\"\",\"bilg_dept_codg\":\"A21\",\"bilg_dept_name\":\"康复医学科\",\"bilg_dr_codg\":\"D220104007959\",\"bilg_dr_name\":\"齐艳英\",\"acord_dept_codg\":\"A21\",\"acord_dept_name\":\"康复医学科\",\"orders_dr_code\":\"D220104007959\",\"orders_dr_name\":\"齐艳英\",\"hosp_appr_flag\":\"1\",\"tcmdrug_used_way\":\"1\",\"etip_flag\":\"0\",\"etip_hosp_code\":\"\",\"dscg_tkdrug_flag\":\"0\",\"matn_fee_flag\":\"0\"}"; - String s2 = - "{\"feedetl_sn\":\"530390\",\"mdtrt_id\":\"220000202511101029490122280385\",\"psn_no\":\"22000011000014958451\",\"chrg_bchno\":\"SF2511100007050575\",\"dise_codg\":\"M51.202\",\"rx_circ_flag\":\"0\",\"fee_ocur_time\":\"2025-11-10 10:28:20\",\"med_list_codg\":\"014400000050100\",\"medins_list_codg\":\"yp3201\",\"det_item_fee_sumamt\":\"210\",\"cnt\":\"6.0\",\"pric\":\"35.0\",\"sin_dos_dscr\":\"\",\"used_frqu_dscr\":\"\",\"prd_days\":\"1\",\"medc_way_dscr\":\"\",\"bilg_dept_codg\":\"A21\",\"bilg_dept_name\":\"康复医学科\",\"bilg_dr_codg\":\"D220104007959\",\"bilg_dr_name\":\"齐艳英\",\"acord_dept_codg\":\"A21\",\"acord_dept_name\":\"康复医学科\",\"orders_dr_code\":\"D220104007959\",\"orders_dr_name\":\"齐艳英\",\"hosp_appr_flag\":\"1\",\"tcmdrug_used_way\":\"1\",\"etip_flag\":\"0\",\"etip_hosp_code\":\"\",\"dscg_tkdrug_flag\":\"0\",\"matn_fee_flag\":\"0\"}"; + String s1 + = "{\"feedetl_sn\":\"530389\",\"mdtrt_id\":\"220000202511101029490122280385\",\"psn_no\":\"22000011000014958451\",\"chrg_bchno\":\"SF2511100007050575\",\"dise_codg\":\"M51.202\",\"rx_circ_flag\":\"0\",\"fee_ocur_time\":\"2025-11-10 10:28:20\",\"med_list_codg\":\"014500000060000\",\"medins_list_codg\":\"yp3218\",\"det_item_fee_sumamt\":\"225\",\"cnt\":\"3.0\",\"pric\":\"75.0\",\"sin_dos_dscr\":\"\",\"used_frqu_dscr\":\"\",\"prd_days\":\"1\",\"medc_way_dscr\":\"\",\"bilg_dept_codg\":\"A21\",\"bilg_dept_name\":\"康复医学科\",\"bilg_dr_codg\":\"D220104007959\",\"bilg_dr_name\":\"齐艳英\",\"acord_dept_codg\":\"A21\",\"acord_dept_name\":\"康复医学科\",\"orders_dr_code\":\"D220104007959\",\"orders_dr_name\":\"齐艳英\",\"hosp_appr_flag\":\"1\",\"tcmdrug_used_way\":\"1\",\"etip_flag\":\"0\",\"etip_hosp_code\":\"\",\"dscg_tkdrug_flag\":\"0\",\"matn_fee_flag\":\"0\"}"; + String s2 + = "{\"feedetl_sn\":\"530390\",\"mdtrt_id\":\"220000202511101029490122280385\",\"psn_no\":\"22000011000014958451\",\"chrg_bchno\":\"SF2511100007050575\",\"dise_codg\":\"M51.202\",\"rx_circ_flag\":\"0\",\"fee_ocur_time\":\"2025-11-10 10:28:20\",\"med_list_codg\":\"014400000050100\",\"medins_list_codg\":\"yp3201\",\"det_item_fee_sumamt\":\"210\",\"cnt\":\"6.0\",\"pric\":\"35.0\",\"sin_dos_dscr\":\"\",\"used_frqu_dscr\":\"\",\"prd_days\":\"1\",\"medc_way_dscr\":\"\",\"bilg_dept_codg\":\"A21\",\"bilg_dept_name\":\"康复医学科\",\"bilg_dr_codg\":\"D220104007959\",\"bilg_dr_name\":\"齐艳英\",\"acord_dept_codg\":\"A21\",\"acord_dept_name\":\"康复医学科\",\"orders_dr_code\":\"D220104007959\",\"orders_dr_name\":\"齐艳英\",\"hosp_appr_flag\":\"1\",\"tcmdrug_used_way\":\"1\",\"etip_flag\":\"0\",\"etip_hosp_code\":\"\",\"dscg_tkdrug_flag\":\"0\",\"matn_fee_flag\":\"0\"}"; Clinic2204FeeDetailParam feeDetailResult1 = JSON.parseObject(s1, Clinic2204FeeDetailParam.class); Clinic2204FeeDetailParam feeDetailResult2 = JSON.parseObject(s2, Clinic2204FeeDetailParam.class); clinic2204OrderResult.setFeedetail(Arrays.asList(feeDetailResult1, feeDetailResult2)); - Clinic2204OrderResult clinic2204OrderResult1 = - ybHttpUtils.upload2204Record(clinic2204OrderResult, iContractService.getContract(contractNo)); + Clinic2204OrderResult clinic2204OrderResult1 + = ybHttpUtils.upload2204Record(clinic2204OrderResult, iContractService.getContract(contractNo)); return R.ok(clinic2204OrderResult1); } /** ->>>>>>> v1.3 * 【目录下载】 * * @param address 接口 * @return 结果 */ @GetMapping("/query-catalog") -<<<<<<< HEAD - public R queryCatalog(@RequestParam("address") String address, @RequestParam("v") String version) { - - CatalogFileInput catalogFileInput = new CatalogFileInput(); - catalogFileInput.setAddress(address); - catalogFileInput.setVer(version); - - FileResult fileResult = ybHttpUtils.queryCatalog(catalogFileInput); - - fileResult = ybHttpUtils.downLoadFile(fileResult); - - if (fileResult == null) { - return R.fail("获取失败"); - } - - return R.ok(fileResult); - } - - /** - * 【2401】入院办理 - * @return - */ - @PostMapping("/inpatient-reg") - public R inpatientReg(Yb2401InpatientRegParamDto yb2401InpatientRegParamDto){ - - Yb2401InputInpatientMdtrtInfo yb2401InputInpatientMdtrtInfo = ybDao.getYb2401InputInpatientMdtrtInfo(yb2401InpatientRegParamDto.getEncounterId()); -======= public R queryCatalog(@RequestParam("address") String address, - @RequestParam(name = "v", defaultValue = "0") String version) { + @RequestParam(name = "v", defaultValue = "0") String version) { return ybService.queryCatalog(address, version); } /** * 【2401】入院办理(弃用) - * + * * @return */ @PostMapping("/inpatient-reg") public R inpatientReg(Yb2401InpatientRegParamDto yb2401InpatientRegParamDto) { - Yb2401InputInpatientMdtrtInfo yb2401InputInpatientMdtrtInfo = - ybDao.getYb2401InputInpatientMdtrtInfo(yb2401InpatientRegParamDto.getEncounterId()); ->>>>>>> v1.3 + Yb2401InputInpatientMdtrtInfo yb2401InputInpatientMdtrtInfo + = ybDao.getYb2401InputInpatientMdtrtInfo(yb2401InpatientRegParamDto.getEncounterId()); yb2401InputInpatientMdtrtInfo.setMdtrtCertType(yb2401InpatientRegParamDto.getYbMdtrtCertType()); yb2401InputInpatientMdtrtInfo.setMdtrtCertNo(yb2401InpatientRegParamDto.getBusiCardInfo()); -<<<<<<< HEAD - InpatientReg inpatientReg = ybHttpUtils.inpatientReg(yb2401InputInpatientMdtrtInfo); - - if(inpatientReg!=null){ -======= InpatientReg inpatientReg = ybHttpUtils.inpatientReg(null, null); if (inpatientReg != null) { ->>>>>>> v1.3 inpatientReg.setInputParam(JSON.toJSONString(yb2401InputInpatientMdtrtInfo)); ybDao.save2401InpatientReg(inpatientReg); @@ -1086,23 +1016,7 @@ public class YbController { /** * 【2402】入院办理 -<<<<<<< HEAD - * @return - */ - @PostMapping("/inpatient-dis-charge") - public R inpatientCheckOut(Long encounterId){ - - Contract contract = new Contract(); - Yb2402InputParam yb2402InputInpatientDscgInfo = ybDao.getYb2402InputInpatientDscgInfo(encounterId,contract); - - InpatientDischarge inpatientReg = ybHttpUtils.inpatientCheckOut(contract,yb2402InputInpatientDscgInfo); - - if(inpatientReg!=null){ - - inpatientReg.setInputParam(JSON.toJSONString(yb2402InputInpatientDscgInfo)); - ybDao.save2402InpatientDscg(inpatientReg); -======= - * + * * @return */ @PostMapping("/inpatient-dis-charge") @@ -1124,7 +1038,6 @@ public class YbController { ybDao.save2402InpatientDscg(inpatientDischarge); // inpatientReg.setInputParam(JSON.toJSONString(yb2402InputInpatientDscgInfo)); // ybDao.save2402InpatientDscg(inpatientReg); ->>>>>>> v1.3 return R.ok("医保出院办理成功!"); } @@ -1133,17 +1046,7 @@ public class YbController { /** * 【2403】入院办理 -<<<<<<< HEAD - * @return - */ - @PostMapping("/update-inpatient-info") - public R updateInpatientInfo(Long encounterId){ - - Yb2403InputParam yb2403InputParam = ybDao.getYb2403InputParam(encounterId); - - ybHttpUtils.updateInpatientInfo(yb2403InputParam); -======= - * + * * @return */ @PostMapping("/update-inpatient-info") @@ -1152,7 +1055,6 @@ public class YbController { Yb2403InputParam yb2403InputParam = ybDao.getYb2403InputParam(encounterId); ybHttpUtils.updateInpatientInfo(yb2403InputParam, null); ->>>>>>> v1.3 ybDao.save2403InputInpatient(yb2403InputParam); diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/constant/CommonConstants.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/constant/CommonConstants.java index 275fa16c..36df4ff0 100644 --- a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/constant/CommonConstants.java +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/constant/CommonConstants.java @@ -4,7 +4,7 @@ import java.math.BigDecimal; /** * 常量 - * + * * @author system */ public class CommonConstants { @@ -13,6 +13,7 @@ public class CommonConstants { * 共同常量 */ public interface Common { + /** * 租户ID字段名称 */ @@ -301,14 +302,11 @@ public class CommonConstants { * 项目分类 */ String MedCategoryCode = "med_category_code"; -<<<<<<< HEAD -======= /** * 耗材分类 */ String DevCategoryCode = "dev_category_code"; ->>>>>>> v1.3 /** * 门诊号 @@ -350,11 +348,7 @@ public class CommonConstants { String ChargeTime = "charge_time"; /** -<<<<<<< HEAD - * 审批时间 -======= * 申请人 ->>>>>>> v1.3 */ String ApplicantName = "applicant_name"; @@ -374,14 +368,11 @@ public class CommonConstants { String ItemId = "item_id"; /** -<<<<<<< HEAD -======= * 项目编号 */ String ItemNo = "item_no"; /** ->>>>>>> v1.3 * 项目所在表 */ String ItemTable = "item_table"; @@ -400,18 +391,12 @@ public class CommonConstants { * 校对人Id */ String PerformerCheckId = "performer_check_id"; -<<<<<<< HEAD -======= - ->>>>>>> v1.3 /** * 单位 */ String UnitCode = "unit_code"; /** -<<<<<<< HEAD -======= * 用法 */ String MethodCode = "method_code"; @@ -422,7 +407,6 @@ public class CommonConstants { String RateCode = "rate_code"; /** ->>>>>>> v1.3 * 住院开始时间 */ String StartTime = "start_time"; @@ -446,8 +430,6 @@ public class CommonConstants { * 过期天数 */ String RemainingDays = "remaining_days"; -<<<<<<< HEAD -======= /** * 追溯码 @@ -468,7 +450,6 @@ public class CommonConstants { * 入科科室ID */ String InHospitalOrgId = "in_hospital_org_id"; ->>>>>>> v1.3 } /** @@ -542,6 +523,7 @@ public class CommonConstants { * 字典名常量 */ public interface DictName { + /** * 药品分类 */ @@ -561,6 +543,7 @@ public class CommonConstants { * sql条件常量 */ public interface SqlCondition { + /** * 关于库存的表名str */ @@ -630,6 +613,7 @@ public class CommonConstants { * excel导出常量 */ public interface ExcelOut { + // "0"的 String CONSTANTZERO = "0"; // 0.00 @@ -655,6 +639,7 @@ public class CommonConstants { * excel导出的sheet名称 */ public interface SheetName { + /** * 发药明细 */ @@ -733,6 +718,7 @@ public class CommonConstants { * 导出时需要隐藏的列 */ public interface CellName { + /** * 源仓库 */ @@ -748,6 +734,7 @@ public class CommonConstants { * 工具方法常量 */ public interface UtilMethodConstant { + /** * 是否四舍五入(与余数作比较)的临界值 例:0.86 -> 0.85 0.88 -> 0.90 */ @@ -758,6 +745,7 @@ public class CommonConstants { * 数字常量 */ public interface NumConstant { + /** * 数字 1 */ @@ -769,6 +757,7 @@ public class CommonConstants { * 发药明细-统计类型 */ public interface StatisticalType { + /** * 住院耗材记账领用明细 */ diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java index 37dbc85e..127e552a 100644 --- a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java @@ -18,132 +18,106 @@ public enum AssignSeqEnum { * 患者编号 */ PATIENT_NUM("1", "患者编号", "PN"), - /** * 采购单据号 */ PURCHASE_NUM("2", "采购单据号", "PUR"), - /** * 就诊编号 */ ENCOUNTER_NUM("3", "就诊编号", "EN"), - /** * 药品请求编码 */ MEDICATION_RES_NO("5", "药品请求编码", "MR"), - /** * 耗材请求编码 */ DEVICE_RES_NO("6", "耗材请求编码", "DR"), - /** * 服务项目请求编码 */ SERVICE_RES_NO("7", "服务项目请求编码", "SR"), - /** * 费用项目编码 */ CHARGE_ITEM_NO("8", "费用项目编码", "CI"), - /** * 药品项目编码 */ MEDICATION_NUM("9", "药品项目编码", "MD"), - /** * 器材项目编码 */ DEVICE_NUM("10", "项目编码", "DD"), - /** * 支付编码 */ PAYMENT_NO("11", "支付编码", "SF"), - /** * 诊疗项目编码 */ ACTIVITY_DEFINITION_NUM("11", "诊疗编码", "AC"), - /** * 诊断定义编码 */ CONDITION_DEFINITION_NUM("11", "诊断编码", "CD"), - /** * 科室业务编码 */ ORGANIZATION_BUS_NO("14", "科室业务编码", "ORG"), - /** * 位置业务编码 */ LOCATION_BUS_NO("15", "科室业务编码", "LOC"), - /** * 厂商/产地单据号 */ SUPPLIER_BUS_NO("16", "供应商编号", "SUP"), - /** * 盘点单据号 */ STOCKTAKING_NUM("17", "盘点单据号", "STO"), - /** * 报损单单据号 */ LOSS_BUS_NO("18", "报损单编号", "LOS"), - /** * 采购退货单据号 */ RETURN_BUS_NO("17", "退货编号", "RET"), - /** * 领用出库单据号 */ REQUISITION_NUM("19", "领用出库单据号", "REQ"), - /** * 退货出库单据号 */ RETURN_ISSUE_NUM("20", "退货出库单据号", "RIS"), - /** * 处方号-通用药物 */ PRESCRIPTION_COMMON_NO("21", "处方号-通用药物", "PCN"), - /** * 处方号-麻醉药品 */ PRESCRIPTION_NARCOTIC_NO("22", "处方号-麻醉药品", "PNN"), - /** * 处方号-毒性药品 */ PRESCRIPTION_TOXIC_NO("23", "处方号", "PTN"), - /** * 处方号-一类精神药 */ PRESCRIPTION_A_PSYCHOTROPIC_NO("24", "处方号", "PAN"), - /** * 处方号-二类精神药 */ PRESCRIPTION_B_PSYCHOTROPIC_NO("25", "处方号", "PBN"), - /** * 住院编号 */ ADMISSION_NUM("26", "住院号", "ZY"), - /** * 调拨单据号 */ @@ -152,77 +126,62 @@ public enum AssignSeqEnum { * 发票单据号 */ INVOICE_NUM("28", "发票单据号", "INV"), - /** * 药品发放编码 */ MEDICATION_DIS_NO("29", "药品发放编码", "MS"), - /** * 耗材发放编码 */ DEVICE_DIS_NO("30", "耗材发放编码", "DS"), - /** * 医院内部处方编号 */ ELEP_MEDICATION_NO("31", "医院内部处方编号", "ER"), - /** * 医保收费批号 */ YB_CLINIC_ORDER("32", "医保订单编号", "YBORD"), - /** * 医保收费批号 */ YB_CLINIC_FEE("34", "费用明细流水号", "F"), - /** * 自费收费批号 */ SF_CLINIC_ORDER("33", "自费订单编号", "SFORD"), - /** * 处方号-中草药 */ PRESCRIPTION_CHINESE_HERBAL_MEDICINE("34", "处方号-中草药", "PCM"), - /** * 身体部位编码 */ BODY_STRUCTURE_NO("35", "身体部位编码", "BS"), - /** * 订货单单号 */ PHARMACY_WAREHOUSE_PURCHASE("36", "药库订货单", "PWP"), - /** * 药房请领单单号 */ PURCHASE_REQUISITION("37", "药房请领单", "PRE"), - /** * 药房入库单单号 */ PURCHASE_STOCKIN("38", "药房入库单", "PST"), - /** * 药房退库单单号 */ PURCHASE_RETURN("39", "药房退库单", "PET"), - /** * 发药单单号 */ DISPENSING_ORDER("40", "发药单", "DIO"), - /** * 药房损益单单号 */ PURCHASE_PRPFITLOSS("41", "药房损益单", "PPR"), - /** * 药房盘点单单号 */ @@ -231,145 +190,114 @@ public enum AssignSeqEnum { * 药房调入单单号 */ PURCHASE_TRANSFERIN("43", "药房调入单", "PTI"), - /** * 药房调出单单号 */ PURCHASE_TRANSFEROUT("44", "药房调出单", "PTU"), - /** * 医嘱签发编码 */ ADVICE_SIGN("45", "医嘱签发编码", "ASI"), - /** * 物资订货单 */ MATERIAL_PURCHASE("46", "物资订货单", "MPU"), - /** * 物资进货单 */ MATERIAL_STOCKIN("47", "物资进货单", "MSI"), - /** * 物资退货单 */ MATERIAL_RETURN("48", "物资退货单", "MRE"), - /** * 物资出库单 */ MATERIAL_STOCKOUT("49", "物资出库单", "MSO"), - /** * 物资退库单 */ MATERIAL_PRODUCT_RETURN("50", "物资退库单", "MPR"), - /** * 物资损益单 */ MATERIAL_PRPFITLOSS("51", "物资损益单", "MPP"), - /** * 物资盘点单 */ MATERIAL_STOCKTAKING("52", "物资盘点单", "MST"), - /** * 物资调入单 */ MATERIAL_TRANSFERIN("53", "物资调入单", "MTI"), - /** * 物资调出单 */ MATERIAL_TRANSFEROUT("54", "物资调出单", "MTO"), - /** * 科室请领单单号 */ DEPARTMENT_REQUISITION("55", "科室请领单", "DRE"), - /** * 科室入库单单号 */ DEPARTMENT_STOCKIN("56", "科室入库单", "DST"), - /** * 科室退库单单号 */ DEPARTMENT_RETURN("57", "科室退库单", "DET"), - /** * 科室损益单单号 */ DEPARTMENT_PRPFITLOSS("58", "科室损益单", "DPR"), - /** * 科室盘点单单号 */ DEPARTMENT_STOCKTAKING("59", "科室盘点单", "DTO"), - /** * 科室调入单单号 */ DEPARTMENT_TRANSFERIN("60", "科室调入单", "DTI"), - /** * 科室调出单单号 */ DEPARTMENT_TRANSFEROUT("61", "科室调出单", "DTU"), - /** * 诊疗处方号 */ ACTIVITY_PSYCHOTROPIC_NO("62", "诊疗处方号", "PAR"), - /** * b 病历文书 */ PURCHASE_DOCUMENT("63", "病历文书", "DOC"), - /** * 调价单 */ CHANGE_PRICE_BUZ("64", "调整零售价", "CPB"), - /** * 药品汇总单号 */ MEDICINE_SUMMARY_NO("65", "药品汇总单号", "MSY"), - /** * 公费医疗自付比例调整申请编号 */ GF_RATIO_APPLICATION("66", "公费医疗自付比例调整申请编号", "GRA"), - /** * 参与者编码 */ PRACTITIONER_NO("67", "参与者编码", "PER"), - /** * 号源编码 */ HEALTHCARE_SERVICE_NO("68", "号源编码", "HS"), - /** * 耗材汇总单号 */ -<<<<<<< HEAD - DEVICE_SUMMARY_NO("69", "耗材汇总单号", "DSN"); -======= DEVICE_SUMMARY_NO("69", "耗材汇总单号", "DSN"), - /** * 自动备份单据号 */ AUTO_BACKUP_NO("70", "自动备份单据号", "ABU"); ->>>>>>> v1.3 private final String code; private final String info; @@ -380,4 +308,4 @@ public enum AssignSeqEnum { this.info = info; this.prefix = prefix; } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java index 03730fee..24f62e16 100644 --- a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java @@ -20,15 +20,10 @@ public enum SupplyCategory implements HisEnumInterface { * 库存供应 */ STOCK_SUPPLY(1, "1", "库存供应"), - /** * 非库存供应 */ -<<<<<<< HEAD - NON_STOCK(2, "2", "非库存供应"), -======= NON_STOCK(2, "2", "非库存供应"); ->>>>>>> v1.3 // /** // * 普通 @@ -65,17 +60,6 @@ public enum SupplyCategory implements HisEnumInterface { // /** // * 院内出库 // */ -<<<<<<< HEAD - IN_HOSPITAL_OUTBOUND(11, "11","0.院内出库"), - // /** - // * 院外出库 - // */ - OUT_OF_HOSPITAL_OUTBOUND(12, "12","1.院外出库"), - // /** - // * 其他出库 - // */ - OTHER_OUTBOUND(13, "13","2.其他出库"); -======= // IN_HOSPITAL_OUTBOUND(11, "11","0.院内出库"), // /** // * 院外出库 @@ -85,7 +69,6 @@ public enum SupplyCategory implements HisEnumInterface { // * 其他出库 // */ // OTHER_OUTBOUND(13, "13","2.其他出库"), ->>>>>>> v1.3 // /** // * 普通损益 // */ @@ -154,7 +137,6 @@ public enum SupplyCategory implements HisEnumInterface { // * 调价分类 挂号 // */ // REQUEST_CATEGORY_CHANGE_PRICE_HEALTH(27, "27","挂号调价单"); - private Integer value; private String code; private String info; diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/ybenums/YbPayment.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/ybenums/YbPayment.java index 3f03b6c1..9193d0d5 100644 --- a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/ybenums/YbPayment.java +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/ybenums/YbPayment.java @@ -18,28 +18,18 @@ import lombok.Getter; @AllArgsConstructor public enum YbPayment { -<<<<<<< HEAD - YB_FUND_PAY(100000, 1, null, "基金支付总额"), - - SELF_PAY(200000, 1, null, "个人负担总金额"), - -======= /** * 医保报销的费用总额,医保支付时存在,等于各种补贴报销的总和 */ YB_FUND_PAY(100000, 1, null, "基金支付总额"), - /** * 个人支付,医保定义的名词,实际使用时医保和自费都用,医保时就是结算接口返回的字段,自费时等于全部费用项总和 */ SELF_PAY(200000, 1, null, "个人负担总金额"), - /** * 医保定义名词,其他(如医院负担金额);实际使用时与下面某一枚举重复使用 OTH_PAY 重复,使用该枚举,不使用OTH_PAY */ ->>>>>>> v1.3 OTHER_PAY(300000, 1, null, "其他(如医院负担金额)"), - /** * 基本医保统筹基金支出 */ @@ -168,9 +158,6 @@ public enum YbPayment { * 医院负担金额 */ HOSP_PART_AMT(300011, 2, OTHER_PAY, "医院负担金额"), -<<<<<<< HEAD -======= - // 医保结算返回值记录枚举 FULAMT_OWNPAY_AMT(1, 2, null, "全自费金额"), // PSN_PART_AMT(2,2,null,"个人负担总金额"), @@ -180,33 +167,20 @@ public enum YbPayment { ACT_PAY_DEDC(6, 2, null, "实际支付起付线"), POOL_PROP_SELFPAY(7, 2, null, "基本医疗保险统筹基金支付比例"), BALC(8, 2, null, "余额"), - HIFMI_PAY(9,2, null, "居民大病保险资金支出"), - HIFP_PAY(10,2, null, "居民大病保险资金支出"),//重复,误用 - CVLSERV_PAY(11,2, null, "公务员医疗补助资金支出"),//重复,误用 - HIFES_PAY(12,2, null, "企业补充医疗保险基金支出"), - HIFOB_PAY(13,2, null, "职工大额医疗费用补助基金支出"), - MAF_PAY(14,2, null, "医疗救助基金支出"), - OTH_PAY(15,2, null, "其他支出"),//重复,误用 - ACCT_MULAID_PAY(16,2, null, "个人账户共济支付金额"), ->>>>>>> v1.3 - + HIFMI_PAY(9, 2, null, "居民大病保险资金支出"), + HIFP_PAY(10, 2, null, "居民大病保险资金支出"),//重复,误用 + CVLSERV_PAY(11, 2, null, "公务员医疗补助资金支出"),//重复,误用 + HIFES_PAY(12, 2, null, "企业补充医疗保险基金支出"), + HIFOB_PAY(13, 2, null, "职工大额医疗费用补助基金支出"), + MAF_PAY(14, 2, null, "医疗救助基金支出"), + OTH_PAY(15, 2, null, "其他支出"),//重复,误用 + ACCT_MULAID_PAY(16, 2, null, "个人账户共济支付金额"), // 医保结算返回值记录枚举 FULAMT_OWNPAY_AMT(1, 2, null, "全自费金额"), // PSN_PART_AMT(2,2,null,"个人负担总金额"), OVERLMT_SELFPAY(3, 2, null, "超限价自费费用"), PRESELFPAY_AMT(4, 2, null, "先行自付金额"), INSCP_SCP_AMT(5, 2, null, "符合政策范围金额"), ACT_PAY_DEDC(6, 2, null, "实际支付起付线"), POOL_PROP_SELFPAY(7, 2, null, "基本医疗保险统筹基金支付比例"), BALC(8, 2, null, "余额"), - // 基金类型,下述仅作记录 -<<<<<<< HEAD - BIRTH_FUND(510100, 2, YB_FUND_PAY, "生育基金"), RETIREE_MEDICAL(340100, 2, YB_FUND_PAY, "离休人员医疗保障基金"), - URBAN_BASIC_MEDICAL(390100, 2, YB_FUND_PAY, "城乡居民基本医疗保险基金"), - URBAN_SERIOUS_ILLNESS(390200, 2, YB_FUND_PAY, "城乡居民大病医疗保险基金"), MEDICAL_ASSISTANCE(610100, 2, YB_FUND_PAY, "医疗救助基金"), - GOVERNMENT_SUBSIDY(640100, 2, YB_FUND_PAY, "政府兜底基金"), ACCIDENT_INSURANCE(390400, 2, YB_FUND_PAY, "意外伤害基金"), - CARE_INSURANCE(620100, 2, YB_FUND_PAY, "照护保险基金"), FINANCIAL_FUND(360100, 2, YB_FUND_PAY, "财政基金"), - HOSPITAL_ADVANCE(999900, 2, YB_FUND_PAY, "医院垫付"), SUPPLEMENTARY_INSURANCE(390300, 2, YB_FUND_PAY, "城乡居民大病补充保险基金"), - BASIC_MEDICAL_INSURANCE_FOR_URBAN_EMPLOYEES(310201, 2, YB_FUND_PAY, "城镇职工基本医疗保险个人账户基金"), - E_WALLET(999981, 2, YB_FUND_PAY, "电子钱包"), HEALTHCARE_PREPAYMENT(360300, 2, YB_FUND_PAY, "保健预支基金"), -======= BIRTH_FUND(510100, 2, YB_FUND_PAY, "生育基金"), RETIREE_MEDICAL(340100, 2, YB_FUND_PAY, "离休人员医疗保障基金"), URBAN_BASIC_MEDICAL(390100, 2, YB_FUND_PAY, "城乡居民基本医疗保险基金"), @@ -221,8 +195,6 @@ public enum YbPayment { BASIC_MEDICAL_INSURANCE_FOR_URBAN_EMPLOYEES(310201, 2, YB_FUND_PAY, "城镇职工基本医疗保险个人账户基金"), E_WALLET(999981, 2, YB_FUND_PAY, "电子钱包"), HEALTHCARE_PREPAYMENT(360300, 2, YB_FUND_PAY, "保健预支基金"), ->>>>>>> v1.3 - // 师大中银支付 BPC_PAY(500000, 2, SELF_PAY, "BPC支付"), // 师大专属 diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java index 44882ca1..36dac472 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java @@ -24,11 +24,15 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = false) public class ChargeItem extends HisBaseEntity { - /** ID */ + /** + * ID + */ @TableId(type = IdType.ASSIGN_ID) private Long id; - /** 状态 */ + /** + * 状态 + */ private Integer statusEnum; /** @@ -36,100 +40,164 @@ public class ChargeItem extends HisBaseEntity { */ private Integer generateSourceEnum; - /** 层级 */ + /** + * 层级 + */ private String busNo; - /** 处方号 */ + /** + * 处方号 + */ private String prescriptionNo; - /** 患者ID */ + /** + * 患者ID + */ private Long patientId; - /** 类别 */ + /** + * 类别 + */ private Integer contextEnum; - /** 就诊ID */ + /** + * 就诊ID + */ private Long encounterId; - /** 发生时间 */ + /** + * 发生时间 + */ private Date occurrenceTime; - /** 执行人Id */ + /** + * 执行人Id + */ private Long performerId; - /** 执行科室 */ + /** + * 执行科室 + */ private Long performingOrgId; - /** 开立科室 */ + /** + * 开立科室 + */ private Long requestingOrgId; - /** 成本科室 */ + /** + * 成本科室 + */ private Long costOrgId; - /** 数量 */ + /** + * 数量 + */ private BigDecimal quantityValue; - /** 单位 */ + /** + * 单位 + */ private String quantityUnit; - /** 单价 */ + /** + * 单价 + */ private BigDecimal unitPrice; - /** 总价 */ + /** + * 总价 + */ private BigDecimal totalPrice; - /** 费用定价ID */ + /** + * 费用定价ID + */ private Long definitionId; - /** 定价子表主键 */ + /** + * 定价子表主键 + */ private Long defDetailId; - /** 原价 */ + /** + * 原价 + */ private BigDecimal baseAmount; - /** 折后价格 */ + /** + * 折后价格 + */ private BigDecimal discountAmount; - /** 附加价格 */ + /** + * 附加价格 + */ private BigDecimal surchargeAmount; - /** 改价原因 */ + /** + * 改价原因 + */ private String overrideReasonCode; - /** 改价原因文本 */ + /** + * 改价原因文本 + */ private String overrideReasonText; - /** 开立人ID */ + /** + * 开立人ID + */ private Long entererId; - /** 开立时间 */ + /** + * 开立时间 + */ private Date enteredDate; - /** 医疗服务所在表 */ + /** + * 医疗服务所在表 + */ private String serviceTable; - /** 医疗服务ID */ + /** + * 医疗服务ID + */ private Long serviceId; - /** 产品所在表 */ + /** + * 产品所在表 + */ private String productTable; - /** 产品ID */ + /** + * 产品ID + */ private Long productId; - /** 索赔结果 */ + /** + * 索赔结果 + */ private Integer claimStateEnum; - /** 打印次数 */ + /** + * 打印次数 + */ private Integer printCount; - /** 关联账户ID */ + /** + * 关联账户ID + */ private Long accountId; - /** 机构 */ + /** + * 机构 + */ private Long orgId; - /** 退费ID */ + /** + * 退费ID + */ private Long refundId; /** @@ -152,16 +220,20 @@ public class ChargeItem extends HisBaseEntity { */ private Integer tcmFlag; - /** 执行id */ + /** + * 执行id + */ private Long procedureId; - /** 发放所在表 */ + /** + * 发放所在表 + */ private String dispenseTable; - /** 发放ID */ + /** + * 发放ID + */ private Long dispenseId; -<<<<<<< HEAD -======= /** * 系统优惠价格 @@ -173,6 +245,4 @@ public class ChargeItem extends HisBaseEntity { */ private BigDecimal manualAdjustedPrice; - ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/mapper/LocationMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/mapper/LocationMapper.java index 87ba8553..8446abf3 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/mapper/LocationMapper.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/mapper/LocationMapper.java @@ -18,46 +18,34 @@ import com.openhis.administration.dto.PatientBedInfoDto; */ @Repository public interface LocationMapper extends BaseMapper { + /** * Desc: 根据区域id数组查询 区域表 -<<<<<<< HEAD -======= - * ->>>>>>> v1.3 + * * @param locationIds * @Author raymond * @Date 07:46 2025/10/28 * @return java.util.List - **/ + * + */ List searchLocationDataByIds(@Param("locationIds") List locationIds); -<<<<<<< HEAD - /** - * Desc: 根据病区bus_no 查询病床 - * @param busNo - * @param formEnum - * @Author raymond - * @Date 14:01 2025/10/28 - * @return java.util.List - **/ - List searchLocationDataByBusNo(@Param("busNo") String busNo, @Param("formEnum") Integer formEnum, @Param("statusEnum") Integer statusEnum); -======= ->>>>>>> v1.3 /** * Desc: 根据病区bus_no 查询病床 - * + * * @param busNo * @param formEnum * @Author raymond * @Date 14:01 2025/10/28 * @return java.util.List - **/ + * + */ List searchLocationDataByBusNo(@Param("busNo") String busNo, @Param("formEnum") Integer formEnum, - @Param("statusEnum") Integer statusEnum); + @Param("statusEnum") Integer statusEnum); /** * 判断是否存在相同名字 - * + * * @param name 名字 * @param busNo 病区号/病房号/病床号 * @param locId 病区ID/病房ID/病床ID @@ -65,5 +53,5 @@ public interface LocationMapper extends BaseMapper { * @return true/false */ boolean isExistName(@Param("name") String name, @Param("busNo") String busNo, @Param("locId") Long locId, - @Param("delFlag") String delFlag); -} \ No newline at end of file + @Param("delFlag") String delFlag); +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/IInvoiceService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/IInvoiceService.java index a6f94dba..b0b7d941 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/IInvoiceService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/IInvoiceService.java @@ -13,6 +13,7 @@ import com.openhis.administration.domain.Supplier; * @date 2025-02-20 */ public interface IInvoiceService extends IService { + /** * 新增发票 * @@ -20,18 +21,6 @@ public interface IInvoiceService extends IService { * @return */ Long addInvoice(Invoice invoice); -<<<<<<< HEAD - - /** - * 分页查询发票列表(带用户角色权限过滤) - * - * @param page 分页参数 - * @param isAdmin 是否管理员 - * @param userId 当前用户ID - * @return 发票列表 - */ - IPage selectInvoicePage(Page page, boolean isAdmin, Long userId); -======= /** * 根据付款单ID查询发票 @@ -40,5 +29,4 @@ public interface IInvoiceService extends IService { * @return */ Invoice getByPaymentId(Long id); ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/ILocationService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/ILocationService.java index e3fb7194..c2f9658c 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/ILocationService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/ILocationService.java @@ -7,10 +7,6 @@ import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.administration.domain.Location; import com.openhis.administration.dto.LocationDataDto; -<<<<<<< HEAD -import org.apache.ibatis.annotations.Param; -======= ->>>>>>> v1.3 /** * 位置管理Service接口 @@ -74,7 +70,7 @@ public interface ILocationService extends IService { /** * 新增位置信息 - * + * * @param location 位置信息 * @return 是否成功 */ @@ -108,19 +104,15 @@ public interface ILocationService extends IService { /** * Desc: 根据区域id数组查询 区域表 -<<<<<<< HEAD -======= - * ->>>>>>> v1.3 + * * @param locationIds * @Author raymond * @Date 07:46 2025/10/28 * @return java.util.List - **/ + * + */ List searchLocationDataByIds(@Param("locationIds") List locationIds); -<<<<<<< HEAD -======= /** * 获取所有位置信息 * @@ -130,12 +122,11 @@ public interface ILocationService extends IService { /** * 判断是否存在相同名字 - * + * * @param name 名字 * @param busNo 病区号/病房号/病床号 * @param locId 病区ID/病房ID/病床ID * @return true/false */ boolean isExistName(String name, String busNo, Long locId); ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefDetailServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefDetailServiceImpl.java index 7d2faa7a..801fcf93 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefDetailServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefDetailServiceImpl.java @@ -10,11 +10,7 @@ import com.openhis.administration.domain.ChargeItemDefDetail; import com.openhis.administration.mapper.ChargeItemDefDetailAppMapper; import com.openhis.administration.service.IChargeItemDefDetailService; import com.openhis.common.enums.ConditionCode; -<<<<<<< HEAD -import com.openhis.common.enums.DelFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 /** * 费用定价管理子Service业务层处理 @@ -24,7 +20,7 @@ import com.core.common.enums.DelFlag; */ @Service public class ChargeItemDefDetailServiceImpl extends ServiceImpl - implements IChargeItemDefDetailService { + implements IChargeItemDefDetailService { /** * 更新项目定价 @@ -82,7 +78,7 @@ public class ChargeItemDefDetailServiceImpl extends ServiceImpl searchChargeItemDefDetailByIds(Long chargeItemId, String code, String lotNumber) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(ChargeItemDefDetail::getDefinitionId, chargeItemId).eq(ChargeItemDefDetail::getConditionCode, code); + .eq(ChargeItemDefDetail::getDefinitionId, chargeItemId).eq(ChargeItemDefDetail::getConditionCode, code); if (lotNumber != null) { queryWrapper.eq(ChargeItemDefDetail::getConditionValue, lotNumber); } @@ -103,8 +99,8 @@ public class ChargeItemDefDetailServiceImpl extends ServiceImpl getLotNumberPriceByDefIds(List chargeItemDefIdList) { return baseMapper.selectList( - new LambdaQueryWrapper().in(ChargeItemDefDetail::getDefinitionId, chargeItemDefIdList) - .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.LOT_NUMBER_PRICE.getCode()) - .eq(ChargeItemDefDetail::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaQueryWrapper().in(ChargeItemDefDetail::getDefinitionId, chargeItemDefIdList) + .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.LOT_NUMBER_PRICE.getCode()) + .eq(ChargeItemDefDetail::getDeleteFlag, DelFlag.NO.getCode())); } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java index 56fe31e1..50a6aa3b 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java @@ -32,7 +32,7 @@ import com.openhis.common.enums.Whether; */ @Service public class ChargeItemDefinitionServiceImpl extends ServiceImpl - implements IChargeItemDefinitionService { + implements IChargeItemDefinitionService { @Autowired private IChargeItemDefDetailService chargeItemDefDetailService; @@ -47,7 +47,7 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, - Integer pageSize) { + Integer pageSize) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ChargeItemDefinition::getDeleteFlag, DelFlag.NO.getCode()); @@ -100,7 +100,7 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl chargeItemDefDetailList = new ArrayList<>(); // 购入价子表(购入价不一定存在) if (purchasePrice != null) { - ChargeItemDefDetail defDetailPurchase = - new ChargeItemDefDetail().setDefinitionId(chargeItemDefinition.getId()) - .setConditionCode(ConditionCode.PURCHASE.getCode()).setAmount(purchasePrice); + ChargeItemDefDetail defDetailPurchase + = new ChargeItemDefDetail().setDefinitionId(chargeItemDefinition.getId()) + .setConditionCode(ConditionCode.PURCHASE.getCode()).setAmount(purchasePrice); chargeItemDefDetailList.add(defDetailPurchase); } // 零售价子表 ChargeItemDefDetail defDetailRetail = new ChargeItemDefDetail().setDefinitionId(chargeItemDefinition.getId()) - .setConditionCode(ConditionCode.UNIT.getCode()).setConditionValue(unitCode).setAmount(retailPrice); + .setConditionCode(ConditionCode.UNIT.getCode()).setConditionValue(unitCode).setAmount(retailPrice); chargeItemDefDetailList.add(defDetailRetail); // 最高零售价子表 - ChargeItemDefDetail defDetailMaximumRetail = - new ChargeItemDefDetail().setDefinitionId(chargeItemDefinition.getId()) - .setConditionCode(ConditionCode.LIMIT.getCode()).setAmount(maximumRetailPrice); + ChargeItemDefDetail defDetailMaximumRetail + = new ChargeItemDefDetail().setDefinitionId(chargeItemDefinition.getId()) + .setConditionCode(ConditionCode.LIMIT.getCode()).setAmount(maximumRetailPrice); chargeItemDefDetailList.add(defDetailMaximumRetail); chargeItemDefDetailService.saveBatch(chargeItemDefDetailList); } @@ -158,16 +158,16 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl searchChargeItemDefinitionByMedIds(List itemIds) { return baseMapper.selectList( - new LambdaQueryWrapper().in(ChargeItemDefinition::getInstanceId, itemIds)); + new LambdaQueryWrapper().in(ChargeItemDefinition::getInstanceId, itemIds)); } @Override public ChargeItemDefinition getChargeItemDefinitionEntity(Long instanceId, String instanceTable, - Integer statusEnum) { + Integer statusEnum) { return baseMapper.selectOne( - new LambdaQueryWrapper().eq(ChargeItemDefinition::getInstanceId, instanceId) - .eq(ChargeItemDefinition::getInstanceTable, instanceTable) - .eq(ChargeItemDefinition::getStatusEnum, statusEnum)); + new LambdaQueryWrapper().eq(ChargeItemDefinition::getInstanceId, instanceId) + .eq(ChargeItemDefinition::getInstanceTable, instanceTable) + .eq(ChargeItemDefinition::getStatusEnum, statusEnum)); } @Override @@ -177,11 +177,7 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl>>>>>> v1.3 } @Override @@ -189,4 +185,4 @@ public class ChargeItemDefinitionServiceImpl extends ServiceImpl>>>>>> v1.3 import com.core.common.utils.SecurityUtils; import com.core.common.utils.StringUtils; import com.openhis.administration.domain.ChargeItem; import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.dto.ChargeItemBaseInfoDto; import com.openhis.administration.dto.ChargeItemDefInfo; -<<<<<<< HEAD -======= import com.openhis.administration.dto.CostDetailDto; import com.openhis.administration.dto.CostDetailSearchParam; ->>>>>>> v1.3 import com.openhis.administration.mapper.ChargeItemDefinitionMapper; import com.openhis.administration.mapper.ChargeItemMapper; import com.openhis.administration.service.IChargeItemService; @@ -87,12 +80,12 @@ public class ChargeItemServiceImpl extends ServiceImpl().eq(ChargeItem::getEncounterId, encounterId) - .in(ChargeItem::getStatusEnum, ChargeItemStatus.DRAFT.getValue(), - ChargeItemStatus.PLANNED.getValue(), ChargeItemStatus.BILLABLE.getValue()) - .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); + int update + = baseMapper.update(new ChargeItem().setAccountId(accountId), + new LambdaUpdateWrapper().eq(ChargeItem::getEncounterId, encounterId) + .in(ChargeItem::getStatusEnum, ChargeItemStatus.DRAFT.getValue(), + ChargeItemStatus.PLANNED.getValue(), ChargeItemStatus.BILLABLE.getValue()) + .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); return update > 0; } @@ -115,8 +108,8 @@ public class ChargeItemServiceImpl extends ServiceImpl chargeItemIdList) { baseMapper.update(new ChargeItem().setStatusEnum(ChargeItemStatus.REFUNDING.getValue()), - new LambdaUpdateWrapper().in(ChargeItem::getId, chargeItemIdList).eq(ChargeItem::getDeleteFlag, - DelFlag.NO.getCode())); + new LambdaUpdateWrapper().in(ChargeItem::getId, chargeItemIdList).eq(ChargeItem::getDeleteFlag, + DelFlag.NO.getCode())); } /** @@ -128,21 +121,21 @@ public class ChargeItemServiceImpl extends ServiceImpl chargeItemIdList, Integer value) { baseMapper.update( - new ChargeItem().setStatusEnum(value).setPerformerId(SecurityUtils.getLoginUser().getPractitionerId()), - new LambdaUpdateWrapper().in(ChargeItem::getId, chargeItemIdList).eq(ChargeItem::getDeleteFlag, - DelFlag.NO.getCode())); + new ChargeItem().setStatusEnum(value).setPerformerId(SecurityUtils.getLoginUser().getPractitionerId()), + new LambdaUpdateWrapper().in(ChargeItem::getId, chargeItemIdList).eq(ChargeItem::getDeleteFlag, + DelFlag.NO.getCode())); } /** * 根据表名和id删除费用项 - * + * * @param tableName 表名 * @param serviceId id */ @Override public void deleteByServiceTableAndId(String tableName, Long serviceId) { baseMapper.delete(new LambdaQueryWrapper().eq(ChargeItem::getServiceTable, tableName) - .eq(ChargeItem::getServiceId, serviceId)); + .eq(ChargeItem::getServiceId, serviceId)); } /** @@ -153,13 +146,13 @@ public class ChargeItemServiceImpl extends ServiceImpl getRegenerateCharge(Long encounterId) { - List chargeItemList = - baseMapper.selectList(new LambdaUpdateWrapper().eq(ChargeItem::getEncounterId, encounterId) - .eq(ChargeItem::getStatusEnum, ChargeItemStatus.PLANNED.getValue()).isNotNull(ChargeItem::getRefundId)); + List chargeItemList + = baseMapper.selectList(new LambdaUpdateWrapper().eq(ChargeItem::getEncounterId, encounterId) + .eq(ChargeItem::getStatusEnum, ChargeItemStatus.PLANNED.getValue()).isNotNull(ChargeItem::getRefundId)); List chargeItemIdList = new ArrayList<>(); if (chargeItemList != null) { - chargeItemIdList = - chargeItemList.stream().map(item -> item.getId().toString()).collect(Collectors.toList()); + chargeItemIdList + = chargeItemList.stream().map(item -> item.getId().toString()).collect(Collectors.toList()); } return chargeItemIdList; } @@ -173,7 +166,7 @@ public class ChargeItemServiceImpl extends ServiceImpl getChargeItemInfoByReqId(List requestIdList) { return baseMapper.selectList(new LambdaQueryWrapper().in(ChargeItem::getServiceId, requestIdList) - .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); + .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -212,16 +205,16 @@ public class ChargeItemServiceImpl extends ServiceImpl childrenList = - JSON.parseArray(chargeItemDefInfoById.getChildrenJson(), ChargeItem.class); + List childrenList + = JSON.parseArray(chargeItemDefInfoById.getChildrenJson(), ChargeItem.class); for (ChargeItem chargeItem : childrenList) { - ChargeItemDefinition chargeItemDefinition = - chargeItemDefinitionMapper.selectById(chargeItem.getDefinitionId()); + ChargeItemDefinition chargeItemDefinition + = chargeItemDefinitionMapper.selectById(chargeItem.getDefinitionId()); if (chargeItemDefinition == null) { throw new ServiceException("未查询到定价信息!提示信息:" + chargeItemDefInfoById.getChargeName() + "子项信息--" - + chargeItem.getDefinitionId()); + + chargeItem.getDefinitionId()); } chargeItemDefInfo = new ChargeItemDefInfo(); @@ -248,7 +241,7 @@ public class ChargeItemServiceImpl extends ServiceImpl getChargeItemByProcedureId(List procedureIdList) { return baseMapper.selectList(new LambdaQueryWrapper() - .in(ChargeItem::getProcedureId, procedureIdList).eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); + .in(ChargeItem::getProcedureId, procedureIdList).eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -260,21 +253,21 @@ public class ChargeItemServiceImpl extends ServiceImpl procedureIdList) { for (Long procedureId : procedureIdList) { baseMapper.update(new ChargeItem().setStatusEnum(ChargeItemStatus.PLANNED.getValue()), - new LambdaUpdateWrapper().eq(ChargeItem::getProcedureId, procedureId) - .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaUpdateWrapper().eq(ChargeItem::getProcedureId, procedureId) + .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); } } @Override public List getChargeItemByEncounterId(Long id) { return baseMapper.selectList(new LambdaUpdateWrapper().eq(ChargeItem::getEncounterId, id) - .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); + .eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); } @Override public List getChargeItemByEncounterId(Long id, String tableName, List serviceId) { return baseMapper.selectList(new LambdaUpdateWrapper().eq(ChargeItem::getEncounterId, id) - .in(ChargeItem::getEncounterId, serviceId).eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); + .in(ChargeItem::getEncounterId, serviceId).eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -292,22 +285,22 @@ public class ChargeItemServiceImpl extends ServiceImpl getCostDetails(QueryWrapper queryWrapper, Integer billable, - Integer billed, Integer refunded, Integer active, Integer bed, String admittingDoctor, - String personalCashAccount) { + Integer billed, Integer refunded, Integer active, Integer bed, String admittingDoctor, + String personalCashAccount) { // 查询费用明细 List costDetails = baseMapper.getCostDetails(queryWrapper, billable, billed, refunded, active, - bed, admittingDoctor, personalCashAccount); + bed, admittingDoctor, personalCashAccount); // 翻译字段 costDetails.forEach(costDetail -> { // 医保类型 if (costDetail.getChrgitmLv() != null) { costDetail - .setChrgitmLv_enumText(EnumUtils.getInfoByValue(InsuranceLevel.class, costDetail.getChrgitmLv())); + .setChrgitmLv_enumText(EnumUtils.getInfoByValue(InsuranceLevel.class, costDetail.getChrgitmLv())); } // 性别枚举 if (costDetail.getGenderEnum() != null) { costDetail.setGenderEnum_enumText( - EnumUtils.getInfoByValue(AdministrativeGender.class, costDetail.getGenderEnum())); + EnumUtils.getInfoByValue(AdministrativeGender.class, costDetail.getGenderEnum())); } // 计算年龄 if (costDetail.getBirthDate() != null) { @@ -316,7 +309,7 @@ public class ChargeItemServiceImpl extends ServiceImpl>>>>>> v1.3 import com.core.common.utils.SecurityUtils; import com.openhis.administration.domain.Invoice; import com.openhis.administration.domain.Supplier; @@ -29,56 +23,33 @@ import java.util.List; */ @Service public class InvoiceServiceImpl extends ServiceImpl implements IInvoiceService { + /** * 新增发票 - * + * * @param invoice 发票实体 * @return */ @Override - public Long addInvoice(Invoice invoice){ - // 根据编码判断发票是否存在 - List invoices = - baseMapper.selectList(new LambdaQueryWrapper().eq(Invoice::getBusNo, invoice.getBusNo())); - if (invoices.size() > 0) { - return null; - } - // 新增发票 - int insert = baseMapper.insert(invoice); - if (insert != 1) { - return null; - } - - return invoice.getId(); - } - -<<<<<<< HEAD - /** - * 分页查询发票列表(带用户角色权限过滤) - * - * @param page 分页参数 - * @param isAdmin 是否管理员 - * @param userId 当前用户ID - * @return 发票列表 - */ - @Override - public IPage selectInvoicePage(Page page, boolean isAdmin, Long userId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - - // 如果不是管理员,只查询当前用户创建的发票 - if (!isAdmin) { - queryWrapper.eq(Invoice::getInvoicingStaffId, userId); + public Long addInvoice(Invoice invoice) { + // 根据编码判断发票是否存在 + List invoices + = baseMapper.selectList(new LambdaQueryWrapper().eq(Invoice::getBusNo, invoice.getBusNo())); + if (invoices.size() > 0) { + return null; } - - // 按创建时间降序排序 - queryWrapper.orderByDesc(Invoice::getCreateTime); - - return baseMapper.selectPage(page, queryWrapper); -======= + // 新增发票 + int insert = baseMapper.insert(invoice); + if (insert != 1) { + return null; + } + + return invoice.getId(); + } + @Override public Invoice getByPaymentId(Long id) { return baseMapper.selectOne(new LambdaQueryWrapper().eq(Invoice::getReconciliationId, id) .eq(Invoice::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/LocationServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/LocationServiceImpl.java index b7bb29cf..bd1b8180 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/LocationServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/LocationServiceImpl.java @@ -2,12 +2,8 @@ package com.openhis.administration.service.impl; import java.util.List; -<<<<<<< HEAD -import com.openhis.administration.dto.LocationDataDto; -======= import javax.annotation.Resource; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -31,6 +27,7 @@ import javax.annotation.Resource; */ @Service public class LocationServiceImpl extends ServiceImpl implements ILocationService { + @Resource private LocationMapper locationMapper; @@ -42,7 +39,7 @@ public class LocationServiceImpl extends ServiceImpl i @Override public List getPharmacyList() { return baseMapper - .selectList(new LambdaQueryWrapper().eq(Location::getFormEnum, LocationForm.PHARMACY.getValue())); + .selectList(new LambdaQueryWrapper().eq(Location::getFormEnum, LocationForm.PHARMACY.getValue())); } /** @@ -53,7 +50,7 @@ public class LocationServiceImpl extends ServiceImpl i @Override public List getCabinetList() { return baseMapper - .selectList(new LambdaQueryWrapper().eq(Location::getFormEnum, LocationForm.CABINET.getValue())); + .selectList(new LambdaQueryWrapper().eq(Location::getFormEnum, LocationForm.CABINET.getValue())); } /** @@ -64,7 +61,7 @@ public class LocationServiceImpl extends ServiceImpl i @Override public List getWarehouseList() { return baseMapper.selectList( - new LambdaQueryWrapper().eq(Location::getFormEnum, LocationForm.WAREHOUSE.getValue())); + new LambdaQueryWrapper().eq(Location::getFormEnum, LocationForm.WAREHOUSE.getValue())); } /** @@ -75,7 +72,7 @@ public class LocationServiceImpl extends ServiceImpl i @Override public List getPharmacyCabinetList() { return baseMapper.selectList(new LambdaQueryWrapper().in(Location::getFormEnum, - LocationForm.CABINET.getValue(), LocationForm.PHARMACY.getValue(), LocationForm.WAREHOUSE.getValue())); + LocationForm.CABINET.getValue(), LocationForm.PHARMACY.getValue(), LocationForm.WAREHOUSE.getValue())); } /** @@ -100,8 +97,8 @@ public class LocationServiceImpl extends ServiceImpl i public List getWardList(Long id) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.select(Location::getId, Location::getName) - .eq(Location::getStatusEnum, LocationStatus.ACTIVE.getValue()) - .eq(Location::getFormEnum, LocationForm.WARD.getValue()); + .eq(Location::getStatusEnum, LocationStatus.ACTIVE.getValue()) + .eq(Location::getFormEnum, LocationForm.WARD.getValue()); if (id != null) { queryWrapper.eq(Location::getOrganizationId, id); } @@ -151,7 +148,7 @@ public class LocationServiceImpl extends ServiceImpl i @Override public boolean updateLocation(Location location) { return baseMapper.update(location, - new LambdaUpdateWrapper().eq(Location::getId, location.getId())) > 0; + new LambdaUpdateWrapper().eq(Location::getId, location.getId())) > 0; } /** @@ -173,8 +170,8 @@ public class LocationServiceImpl extends ServiceImpl i // 创建查询条件 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.select(Location::getId, Location::getName, Location::getFormEnum, Location::getBusNo) - .in(Location::getId, ids).eq(Location::getDeleteFlag, DelFlag.NO.getCode()) - .in(Location::getStatusEnum, status); + .in(Location::getId, ids).eq(Location::getDeleteFlag, DelFlag.NO.getCode()) + .in(Location::getStatusEnum, status); return baseMapper.selectList(queryWrapper); } @@ -198,8 +195,6 @@ public class LocationServiceImpl extends ServiceImpl i return this.locationMapper.searchLocationDataByIds(locationIds); } -<<<<<<< HEAD -======= /** * 获取所有位置信息 * @@ -212,7 +207,7 @@ public class LocationServiceImpl extends ServiceImpl i /** * 判断是否存在相同名字 - * + * * @param name 名字 * @param busNo 病区号/病房号/病床号 * @param locId 病区ID/病房ID/病床ID @@ -223,5 +218,4 @@ public class LocationServiceImpl extends ServiceImpl i return locationMapper.isExistName(name, busNo, locId, DelFlag.NO.getCode()); } ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java index 1d5208a4..2b2c2630 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationServiceImpl.java @@ -2,14 +2,8 @@ package com.openhis.administration.service.impl; import java.util.List; -<<<<<<< HEAD -import com.openhis.administration.domain.Practitioner; -import com.openhis.administration.dto.OrgDataDto; -import com.openhis.common.enums.DelFlag; -======= import javax.annotation.Resource; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -32,13 +26,11 @@ import javax.annotation.Resource; */ @Service public class OrganizationServiceImpl extends ServiceImpl - implements IOrganizationService { + implements IOrganizationService { + @Resource private OrganizationMapper organizationMapper; -<<<<<<< HEAD -======= ->>>>>>> v1.3 /** * 机构启用 * @@ -48,7 +40,7 @@ public class OrganizationServiceImpl extends ServiceImpl().eq(Organization::getId, orgId)); + new LambdaUpdateWrapper().eq(Organization::getId, orgId)); return updateCount > 0; } @@ -61,7 +53,7 @@ public class OrganizationServiceImpl extends ServiceImpl().eq(Organization::getId, orgId)); + new LambdaUpdateWrapper().eq(Organization::getId, orgId)); return updateCount > 0; } @@ -75,10 +67,10 @@ public class OrganizationServiceImpl extends ServiceImpl getList(Integer organizationType, Integer organizationClass) { return baseMapper.selectList(new LambdaQueryWrapper() - .select(Organization::getId, Organization::getName, Organization::getDisplayOrder) - .eq(Organization::getTypeEnum, organizationType) - .eq(organizationClass != null, Organization::getClassEnum, organizationClass) - .orderByAsc(Organization::getDisplayOrder)); // 按 displayOrder 升序排序 + .select(Organization::getId, Organization::getName, Organization::getDisplayOrder) + .eq(Organization::getTypeEnum, organizationType) + .eq(organizationClass != null, Organization::getClassEnum, organizationClass) + .orderByAsc(Organization::getDisplayOrder)); // 按 displayOrder 升序排序 } /** @@ -90,7 +82,7 @@ public class OrganizationServiceImpl extends ServiceImpl getOrganizationListById(List collect) { return baseMapper.selectList(new LambdaQueryWrapper().in(Organization::getId, collect) - .eq(Organization::getDeleteFlag, DelFlag.NO.getCode())); + .eq(Organization::getDeleteFlag, DelFlag.NO.getCode())); } @Override @@ -102,4 +94,4 @@ public class OrganizationServiceImpl extends ServiceImpl searchOrgDataByHealth() { return this.organizationMapper.searchOrgDataByHealth(); } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/PatientStudentServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/PatientStudentServiceImpl.java index dc74e029..0ad627c5 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/PatientStudentServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/PatientStudentServiceImpl.java @@ -12,11 +12,7 @@ import com.openhis.administration.domain.Patient; import com.openhis.administration.domain.PatientStudent; import com.openhis.administration.mapper.PatientStudentMapper; import com.openhis.administration.service.IPatientStudentService; -<<<<<<< HEAD -import com.openhis.common.enums.DelFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.common.enums.PhysicalExamResult; /** @@ -27,11 +23,11 @@ import com.openhis.common.enums.PhysicalExamResult; */ @Service public class PatientStudentServiceImpl extends ServiceImpl - implements IPatientStudentService { + implements IPatientStudentService { /** * 校验学生公费资格 - * + * * @param patient */ public void checkStatus(Patient patient) { @@ -40,8 +36,8 @@ public class PatientStudentServiceImpl extends ServiceImpl patientStudents = baseMapper.selectList(new LambdaQueryWrapper() - .eq(PatientStudent::getIdNumber, idCard).eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode()) - .eq(PatientStudent::getPatientId, patient.getId())); + .eq(PatientStudent::getIdNumber, idCard).eq(PatientStudent::getDeleteFlag, DelFlag.NO.getCode()) + .eq(PatientStudent::getPatientId, patient.getId())); if (patientStudents == null || patientStudents.isEmpty()) { throw new ServiceException("该患者不是学生,请更换费用性质类型!"); @@ -62,4 +58,4 @@ public class PatientStudentServiceImpl extends ServiceImpl>>>>>> v1.3 import com.openhis.common.enums.SupplierType; import com.openhis.common.enums.Whether; @@ -42,8 +38,8 @@ public class SupplierServiceImpl extends ServiceImpl i @Transactional(rollbackFor = Exception.class) public boolean addSupplier(Supplier supplier) { // 根据病种编码判断病种是否存在 - List suppliers = - baseMapper.selectList(new LambdaQueryWrapper().eq(Supplier::getBusNo, supplier.getBusNo())); + List suppliers + = baseMapper.selectList(new LambdaQueryWrapper().eq(Supplier::getBusNo, supplier.getBusNo())); if (suppliers.size() > 0) { return false; } @@ -63,9 +59,9 @@ public class SupplierServiceImpl extends ServiceImpl i @Override public List getList() { return baseMapper.selectList( - new LambdaQueryWrapper().select(Supplier::getId, Supplier::getName, Supplier::getPhone) - .eq(Supplier::getTypeEnum, SupplierType.SUPPLIER.getValue()) - .eq(Supplier::getDeleteFlag, DelFlag.NO.getCode()).eq(Supplier::getActiveFlag, Whether.YES.getValue())); + new LambdaQueryWrapper().select(Supplier::getId, Supplier::getName, Supplier::getPhone) + .eq(Supplier::getTypeEnum, SupplierType.SUPPLIER.getValue()) + .eq(Supplier::getDeleteFlag, DelFlag.NO.getCode()).eq(Supplier::getActiveFlag, Whether.YES.getValue())); } /** @@ -79,6 +75,6 @@ public class SupplierServiceImpl extends ServiceImpl i @Override public List getsupplierList(String name, String address, Integer typeEnum) { return baseMapper.selectList(new LambdaQueryWrapper().eq(Supplier::getName, name) - .eq(Supplier::getAddress, address).eq(Supplier::getTypeEnum, typeEnum)); + .eq(Supplier::getAddress, address).eq(Supplier::getTypeEnum, typeEnum)); } } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/domain/DocInventoryItemStatic.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/domain/DocInventoryItemStatic.java index c614a163..199959f5 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/domain/DocInventoryItemStatic.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/domain/DocInventoryItemStatic.java @@ -27,143 +27,204 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = false) public class DocInventoryItemStatic extends HisBaseEntity { - /** ID */ + /** + * ID + */ @TableId(type = IdType.ASSIGN_ID) private Long id; -<<<<<<< HEAD - /** 物品类别 */ - private String categoryCode; -======= - /** 备份单据编号 */ + /** + * 备份单据编号 + */ private String busNo; - /** 药品类别 */ + /** + * 药品类别 + */ private String medCategoryCode; - /** 耗材类别 */ + /** + * 耗材类别 + */ private String devCategoryCode; ->>>>>>> v1.3 - /** 名称 */ + /** + * 名称 + */ private String name; - /** 库存状态 */ + /** + * 库存状态 + */ private Integer inventoryStatusEnum; - /** 供应商id */ + /** + * 供应商id + */ private Long supplierId; - /** 说明书 */ + /** + * 说明书 + */ private String descriptionText; - /** 最小单位 */ + /** + * 最小单位 + */ private String unitCode; -<<<<<<< HEAD - /** 当前库存数量(最小单位数量) */ + /** + * 库存数量 + */ private BigDecimal quantity; -======= - /** 库存数量 */ - private BigDecimal quantity; - - /** 包装单位数量(整数部分) */ + /** + * 包装单位数量(整数部分) + */ private BigDecimal number; - /** 包装单位数量(余数部分) */ + /** + * 包装单位数量(余数部分) + */ private BigDecimal remainder; ->>>>>>> v1.3 - /** 产品批号 */ + /** + * 产品批号 + */ private String lotNumber; - /** 生产日期 */ + /** + * 生产日期 + */ private Date productionDate; - /** 失效日期 */ + /** + * 失效日期 + */ private Date expirationDate; - /** 库位 */ + /** + * 库位 + */ private Long locationStoreId; - /** 仓库 */ + /** + * 仓库 + */ private Long locationId; - /** 追溯码 */ + /** + * 追溯码 + */ private String traceNo; - /** 追溯码包装层级 */ + /** + * 追溯码包装层级 + */ private Integer packagingLevels; - /** 项目 */ + /** + * 项目 + */ private String itemTable; - /** 物品编码 */ + /** + * 物品编码 + */ private Long itemId; - /** 采购单价(包装单位) */ + /** + * 采购单价(包装单位) + */ private BigDecimal price; - /** 销售单价(包装单位) */ + /** + * 销售单价(包装单位) + */ private BigDecimal salePrice; -<<<<<<< HEAD - /** 项目编号 */ - private String busNo; -======= - /** 总零售价 */ + /** + * 总零售价 + */ private BigDecimal totalSalePrice; - /** 总进价 */ + /** + * 总进价 + */ private BigDecimal totalPrice; - /** 项目编号 */ + /** + * 项目编号 + */ private String itemNo; ->>>>>>> v1.3 - /** 最小单位 */ + /** + * 最小单位 + */ private String minUnitCode; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; - /** 供应商名称 */ + /** + * 供应商名称 + */ private String supplierName; - /** 库房名称 */ + /** + * 库房名称 + */ private String locationName; - /** 货位名称 */ + /** + * 货位名称 + */ private String locationStoreName; - /** 生产厂商文本 */ + /** + * 生产厂商文本 + */ private String manufacturerText; - /** 医保等级 */ + /** + * 医保等级 + */ private Integer chrgitmLv; - /** 规格 */ + /** + * 规格 + */ private String totalVolume; - /** 药品名称拼音码 */ + /** + * 药品名称拼音码 + */ private String pyStr; - /** 药品五笔码 */ + /** + * 药品五笔码 + */ private String wbStr; -<<<<<<< HEAD -======= - /** 剩余过期天数 */ + /** + * 剩余过期天数 + */ private Integer remainingDays; - /** 库存id */ + /** + * 库存id + */ private Long inventoryId; - /** 医保码 */ + /** + * 医保码 + */ private String ybNo; - /** 批准文号 */ + /** + * 批准文号 + */ private String approvalNumber; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/IDocInventoryItemStaticService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/IDocInventoryItemStaticService.java index 0664f92a..420f1f22 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/IDocInventoryItemStaticService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/IDocInventoryItemStaticService.java @@ -3,11 +3,8 @@ */ package com.openhis.document.service; -<<<<<<< HEAD -======= import java.util.List; ->>>>>>> v1.3 import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.document.domain.DocInventoryItemStatic; @@ -17,9 +14,6 @@ import com.openhis.document.domain.DocInventoryItemStatic; * @author zwh * @date 2025-11-04 */ -<<<<<<< HEAD -public interface IDocInventoryItemStaticService extends IService {} -======= public interface IDocInventoryItemStaticService extends IService { /** @@ -32,4 +26,3 @@ public interface IDocInventoryItemStaticService extends IService getInventoryItemStaticByItemId(List itemIdList, String busNo, Long locationId); } ->>>>>>> v1.3 diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/impl/DocInventoryItemStaticServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/impl/DocInventoryItemStaticServiceImpl.java index 926d3979..b419cb81 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/impl/DocInventoryItemStaticServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/document/service/impl/DocInventoryItemStaticServiceImpl.java @@ -3,11 +3,6 @@ */ package com.openhis.document.service.impl; -<<<<<<< HEAD -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -======= import java.util.List; import org.springframework.stereotype.Service; @@ -15,7 +10,6 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.document.domain.DocInventoryItemStatic; import com.openhis.document.mapper.DocInventoryItemStaticMapper; import com.openhis.document.service.IDocInventoryItemStaticService; @@ -28,10 +22,7 @@ import com.openhis.document.service.IDocInventoryItemStaticService; */ @Service public class DocInventoryItemStaticServiceImpl extends ServiceImpl -<<<<<<< HEAD - implements IDocInventoryItemStaticService {} -======= - implements IDocInventoryItemStaticService { + implements IDocInventoryItemStaticService { /** * 根据物品id获取物品的库存备份信息 @@ -41,15 +32,14 @@ public class DocInventoryItemStaticServiceImpl extends ServiceImpl getInventoryItemStaticByItemId(List itemIdList, String busNo, - Long locationId) { + Long locationId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (itemIdList != null && !itemIdList.isEmpty()) { queryWrapper.in(DocInventoryItemStatic::getItemId, itemIdList); } queryWrapper.eq(DocInventoryItemStatic::getBusNo, busNo) - .eq(DocInventoryItemStatic::getDeleteFlag, DelFlag.NO.getCode()) - .eq(DocInventoryItemStatic::getLocationId, locationId).orderByDesc(DocInventoryItemStatic::getCreateTime); + .eq(DocInventoryItemStatic::getDeleteFlag, DelFlag.NO.getCode()) + .eq(DocInventoryItemStatic::getLocationId, locationId).orderByDesc(DocInventoryItemStatic::getCreateTime); return baseMapper.selectList(queryWrapper); } } ->>>>>>> v1.3 diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java index f7076a28..dd09a34a 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java @@ -25,91 +25,134 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = false) public class PaymentReconciliation extends HisBaseEntity { - /** ID */ + /** + * ID + */ @TableId(type = IdType.ASSIGN_ID) private Long id; - /** 状态 */ + /** + * 状态 + */ private Integer statusEnum; - /** 关联ID */ + /** + * 关联ID + */ private Long relationId; - /** 支付的业务标识符 */ + /** + * 支付的业务标识符 + */ private String paymentNo; - /** 付款类别 */ + /** + * 付款类别 + */ private Integer paymentEnum; - /** 付款实体ID */ + /** + * 付款实体ID + */ private Long paymentReconciliationId; - /** 发起支付的工作流程类别 */ + /** + * 发起支付的工作流程类别 + */ private Integer kindEnum; - /** 收款员 */ + /** + * 收款员 + */ private Long entererId; - /** 支付发起人类型 */ + /** + * 支付发起人类型 + */ private Integer issuerEnum; - /** 支付的患者ID */ + /** + * 支付的患者ID + */ private Long patientId; - /** 请求支付责任人ID */ + /** + * 请求支付责任人ID + */ private Long practitionerId; - /** 付款结果 */ + /** + * 付款结果 + */ private Integer outcomeEnum; - /** 支付位置 */ + /** + * 支付位置 + */ private Long locationId; - /** 到期时间 */ + /** + * 到期时间 + */ private Date expirationDate; - /** 应收金额 */ + /** + * 应收金额 + */ private BigDecimal tenderedAmount; - /** 找零金额 */ + /** + * 找零金额 + */ private BigDecimal returnedAmount; - /** 付款总额 */ + /** + * 付款总额 + */ private BigDecimal displayAmount; - /** 打印标识 */ + /** + * 打印标识 + */ private Integer printCount; - /** 合同编码 */ + /** + * 合同编码 + */ private String contractNo;// 2025/05/08李:自付和医保同时付费时只生成一条payment,故此该字段在insert时先为null - /** 处方号集合 */ + /** + * 处方号集合 + */ private String chargeItemIds; - /** 就诊ID */ + /** + * 就诊ID + */ private Long encounterId; - /** 结算时间 */ + /** + * 结算时间 + */ private Date billDate; - /** 发票编号 */ + /** + * 发票编号 + */ private Long invoiceId; - /** 关联账户Id */ + /** + * 关联账户Id + */ private Long accountId;// 2025/05/08李:自付和医保同时付费时只生成一条payment,故此该字段在insert时先为null - /** 医保结算id */ + /** + * 医保结算id + */ private String ybSettleIds;// 记录医保结算id - /** 医保清算标志 */ -<<<<<<< HEAD - private Integer ybClearFlag;//默认值0 未清算 - - /** 退号/退费原因 */ - @TableField("refund_reason") - private String refundReason; - -======= + /** + * 医保清算标志 + */ private Integer ybClearFlag;// 默认值0 未清算 ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/ThreePartPayCallBack.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/ThreePartPayCallBack.java index 38e2eda1..4682c57a 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/ThreePartPayCallBack.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/domain/ThreePartPayCallBack.java @@ -3,40 +3,26 @@ package com.openhis.financial.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -<<<<<<< HEAD -======= import com.core.common.core.domain.HisBaseEntity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; ->>>>>>> v1.3 import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; - import java.math.BigDecimal; /** -<<<<<<< HEAD - * 第三方支付回调实体(下方备注信息以中银支付为模板) -======= * 第三方支付回调实体(下方备注信息以中银支付为模板,其中会产生冗余字段或者重复字段,这些字段均以第三方平台返回内容为主) ->>>>>>> v1.3 */ @Data @TableName("fin_three_part_pay_call_back") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -<<<<<<< HEAD -public class ThreePartPayCallBack { - - @TableId(type = IdType.ASSIGN_ID) -======= public class ThreePartPayCallBack extends HisBaseEntity { @TableId(type = IdType.ASSIGN_ID) @JsonSerialize(using = ToStringSerializer.class) ->>>>>>> v1.3 private BigDecimal id; /** @@ -147,27 +133,17 @@ public class ThreePartPayCallBack extends HisBaseEntity { /** * 付款主键ID */ -<<<<<<< HEAD -======= @JsonSerialize(using = ToStringSerializer.class) ->>>>>>> v1.3 private Long paymentId; /** * 前台UI序号 */ -<<<<<<< HEAD - private Long index; -======= private Long payIndex; ->>>>>>> v1.3 /** * 时间戳(中银建议) */ -<<<<<<< HEAD - private Long time; -======= private Long payTime; /** @@ -235,5 +211,4 @@ public class ThreePartPayCallBack extends HisBaseEntity { */ private String lotNo; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/ThreePartPayCallBackService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/ThreePartPayCallBackService.java index c6172883..f610febe 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/ThreePartPayCallBackService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/ThreePartPayCallBackService.java @@ -4,9 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.financial.domain.ThreePartPayCallBack; public interface ThreePartPayCallBackService extends IService { -<<<<<<< HEAD -======= ThreePartPayCallBack getByPayment(Long paymentId); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/impl/PaymentReconciliationServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/impl/PaymentReconciliationServiceImpl.java index 9901f042..90abc3e0 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/impl/PaymentReconciliationServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/financial/service/impl/PaymentReconciliationServiceImpl.java @@ -32,11 +32,7 @@ import com.openhis.administration.service.impl.PatientServiceImpl; import com.openhis.administration.service.impl.PatientStudentServiceImpl; import com.openhis.common.constant.CommonConstants; import com.openhis.common.constant.YbCommonConstants; -<<<<<<< HEAD -import com.openhis.common.enums.DelFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.common.enums.ItemType; import com.openhis.common.enums.PaymentKind; import com.openhis.common.enums.PaymentStatus; @@ -71,7 +67,8 @@ import com.openhis.yb.service.YbManager; */ @Service public class PaymentReconciliationServiceImpl extends ServiceImpl - implements IPaymentReconciliationService { + implements IPaymentReconciliationService { + @Resource private AssignSeqUtil assignSeqUtil; @Autowired @@ -107,22 +104,22 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl getChargeItemIdListByPayment(List paymentIdList) { // 根据支付id获取支付信息 - List paymentReconciliationList = - baseMapper.selectList(new LambdaQueryWrapper() - .select(PaymentReconciliation::getChargeItemIds).in(PaymentReconciliation::getId, paymentIdList)); + List paymentReconciliationList + = baseMapper.selectList(new LambdaQueryWrapper() + .select(PaymentReconciliation::getChargeItemIds).in(PaymentReconciliation::getId, paymentIdList)); if (paymentReconciliationList.isEmpty()) { return null; } // 拆解所有的chargeItemId,拼装成一个集合 List chargeItemIdList = paymentReconciliationList.stream().map(PaymentReconciliation::getChargeItemIds) - .collect(Collectors.toList()); + .collect(Collectors.toList()); List chargeItemIds = new ArrayList<>(); for (String chargeItemId : chargeItemIdList) { if (StringUtils.isNotEmpty(chargeItemId)) { chargeItemIds.addAll(Arrays - .stream( - chargeItemId.replaceAll("\\[", "").replaceAll("\\]", "").split(CommonConstants.Common.COMMA)) - .map(Long::parseLong).collect(Collectors.toList())); + .stream( + chargeItemId.replaceAll("\\[", "").replaceAll("\\]", "").split(CommonConstants.Common.COMMA)) + .map(Long::parseLong).collect(Collectors.toList())); } } // 将收费项目集合转换成列表 @@ -137,15 +134,16 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl paymentIdList) { baseMapper.update(new PaymentReconciliation().setStatusEnum(PaymentStatus.REFUNDING.getValue()), - new LambdaUpdateWrapper().in(PaymentReconciliation::getId, paymentIdList)); + new LambdaUpdateWrapper().in(PaymentReconciliation::getId, paymentIdList)); } /** - * PS:对chargeItem分付款方式 2025/05/23 ChargeItem分完付款方式之后,医保支付的ChargeItem还要分特慢病和普通门诊,特慢病等支付与常规门诊支付传参不一样 + * PS:对chargeItem分付款方式 2025/05/23 + * ChargeItem分完付款方式之后,医保支付的ChargeItem还要分特慢病和普通门诊,特慢病等支付与常规门诊支付传参不一样 */ /** * 【预结算】 - * + * * @param ybMdtrtCertType 医保凭证类型 * @param busiCardInfo 读卡获取的密钥 * @param contractBusNo 合同编号 @@ -154,7 +152,7 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl paymentedItemList) { + List paymentedItemList) { PrePaymentResult prePaymentResult = null; String ybSwitchFlag = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); @@ -180,8 +178,8 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl> collect = - paymentedItemList.stream().collect(Collectors.groupingBy(PaymentedItemModel::getMedType)); + Map> collect + = paymentedItemList.stream().collect(Collectors.groupingBy(PaymentedItemModel::getMedType)); if (collect.entrySet().size() > 1) { throw new ServiceException("医保只接受同种医疗类型结算(普通门诊与慢病等不可以同时结算)!"); } @@ -190,21 +188,21 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl paymentedItemList) { + String s, List paymentedItemList) { // 查比例及分类信息(PaymentedItemModel在chargeItem表中不是一定存在的所以此处改用单独查询) List allPaymentItemList = getStudentPaymentItemModelList(paymentedItemList); @@ -244,16 +242,16 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl().eq(PaymentReconciliation::getId, id)); + new LambdaQueryWrapper().eq(PaymentReconciliation::getId, id)); } /** * 更改payment状态以及医保支付结算id - * + * * @param id 主键id * @param success 状态 * @param settleId 医保结算id */ @Override public void updatePaymentStatusAndSettleIdsById(Long id, PaymentStatus success, Integer paymentOutcome, - List settleId) { + List settleId) { if (settleId == null || settleId.isEmpty()) { baseMapper.update( - new PaymentReconciliation().setStatusEnum(success.getValue()).setOutcomeEnum(paymentOutcome), - new LambdaQueryWrapper().eq(PaymentReconciliation::getId, id)); + new PaymentReconciliation().setStatusEnum(success.getValue()).setOutcomeEnum(paymentOutcome), + new LambdaQueryWrapper().eq(PaymentReconciliation::getId, id)); } else { baseMapper.update( - new PaymentReconciliation().setStatusEnum(success.getValue()).setYbSettleIds(String.join(",", settleId)) - .setOutcomeEnum(paymentOutcome), - new LambdaQueryWrapper().eq(PaymentReconciliation::getId, id)); + new PaymentReconciliation().setStatusEnum(success.getValue()).setYbSettleIds(String.join(",", settleId)) + .setOutcomeEnum(paymentOutcome), + new LambdaQueryWrapper().eq(PaymentReconciliation::getId, id)); } } /** * 查询付款实体 - * + * * @param encounterId 就诊id * @return 付款实体 */ @Override public PaymentReconciliation getByEncounterId(Long encounterId, PaymentKind paymentKind) { return baseMapper.selectOne(new LambdaQueryWrapper() - .eq(PaymentReconciliation::getEncounterId, encounterId) - .eq(PaymentReconciliation::getKindEnum, PaymentKind.HOSPITAL_DEPOSIT.getValue()) - .eq(PaymentReconciliation::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1)); + .eq(PaymentReconciliation::getEncounterId, encounterId) + .eq(PaymentReconciliation::getKindEnum, PaymentKind.HOSPITAL_DEPOSIT.getValue()) + .eq(PaymentReconciliation::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1)); } /** @@ -414,7 +412,7 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl getListByEncounterId(Long encounterId, PaymentKind paymentKind) { return baseMapper.selectList(new LambdaQueryWrapper() .eq(PaymentReconciliation::getEncounterId, encounterId) - .in(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue(),PaymentStatus.REFUNDING.getValue()) + .in(PaymentReconciliation::getStatusEnum, PaymentStatus.SUCCESS.getValue(), PaymentStatus.REFUNDING.getValue()) .eq(PaymentReconciliation::getKindEnum, PaymentKind.HOSPITAL_DEPOSIT.getValue()) .eq(PaymentReconciliation::getDeleteFlag, DelFlag.NO.getCode())); } @@ -428,10 +426,10 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl paymentReconciliations = baseMapper.selectList( - new LambdaQueryWrapper().eq(PaymentReconciliation::getRelationId, paymentId) - .in(PaymentReconciliation::getStatusEnum, PaymentStatus.REFUNDING.getValue(), - PaymentStatus.REFUND_ALL.getValue(), PaymentStatus.REFUND_PART.getValue()) - .eq(PaymentReconciliation::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaQueryWrapper().eq(PaymentReconciliation::getRelationId, paymentId) + .in(PaymentReconciliation::getStatusEnum, PaymentStatus.REFUNDING.getValue(), + PaymentStatus.REFUND_ALL.getValue(), PaymentStatus.REFUND_PART.getValue()) + .eq(PaymentReconciliation::getDeleteFlag, DelFlag.NO.getCode())); if (paymentReconciliations != null && paymentReconciliations.size() > 0) { return true; } @@ -452,14 +450,14 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl getPaymentAccountContract(String startTime, String endTime, - Long entererId, String contractNo, Integer success, Integer returnAll, Integer clinic) { + Long entererId, String contractNo, Integer success, Integer returnAll, Integer clinic) { return baseMapper.getPaymentAccountContract(startTime, endTime, entererId, contractNo, success, returnAll, - clinic); + clinic); } /** * 查询自付比例等 - * + * * @param paymentedItemList 收款明细 * @return 学生付款实体 */ @@ -468,18 +466,18 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl typeRatioList = gfRatioService.getTypeRatioList(); Map>> result = typeRatioList.stream().collect( - // 第一次分组:按 ybClass 分组(外层 key 为 ybClass) - Collectors.groupingBy(GfTypeRatioDto::getYbClass, - // 第二次分组:对每个分组的 List 再按 subType 分组(内层 key 为 subType) - Collectors.groupingBy(GfTypeRatioDto::getYbLv))); + // 第一次分组:按 ybClass 分组(外层 key 为 ybClass) + Collectors.groupingBy(GfTypeRatioDto::getYbClass, + // 第二次分组:对每个分组的 List 再按 subType 分组(内层 key 为 subType) + Collectors.groupingBy(GfTypeRatioDto::getYbLv))); List allPaymentItemList = new ArrayList<>(); - Map> paymentedItemListByServiceTableMap = - paymentedItemList.stream().collect(Collectors.groupingBy(PaymentedItemModel::getServiceTable)); + Map> paymentedItemListByServiceTableMap + = paymentedItemList.stream().collect(Collectors.groupingBy(PaymentedItemModel::getServiceTable)); for (Map.Entry> stringListEntry : paymentedItemListByServiceTableMap - .entrySet()) { + .entrySet()) { String key = stringListEntry.getKey(); ItemType itemType; @@ -500,13 +498,13 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl gfTypeRatioDtos = - result.get(chargeItemDefinition.getYbType()).get(chrgitmLv.getCode()); + List gfTypeRatioDtos + = result.get(chargeItemDefinition.getYbType()).get(chrgitmLv.getCode()); if (gfTypeRatioDtos == null || gfTypeRatioDtos.isEmpty()) { throw new ServiceException( - "医保分类:" + medChrgItmType.getInfo() + "医保等级:" + chrgitmLv.getInfo() + "未配置自付比例!请检查!!!"); + "医保分类:" + medChrgItmType.getInfo() + "医保等级:" + chrgitmLv.getInfo() + "未配置自付比例!请检查!!!"); } studentPaymentItemModel.setSelfRatio(gfTypeRatioDtos.get(0).getSelfRatio()); @@ -529,9 +527,9 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl gfTypeRatioDtos = - result.get(chargeItemDefinition.getYbType()).get(chrgitmLv.getCode()); + List gfTypeRatioDtos + = result.get(chargeItemDefinition.getYbType()).get(chrgitmLv.getCode()); if (gfTypeRatioDtos == null || gfTypeRatioDtos.isEmpty()) { throw new ServiceException( - "医保分类:" + medChrgItmType.getInfo() + "医保等级:" + chrgitmLv.getInfo() + "未配置自付比例!请检查!!!"); + "医保分类:" + medChrgItmType.getInfo() + "医保等级:" + chrgitmLv.getInfo() + "未配置自付比例!请检查!!!"); } studentPaymentItemModel.setSelfRatio(gfTypeRatioDtos.get(0).getSelfRatio()); studentPaymentItemModel.setTwiceRatio(gfTypeRatioDtos.get(0).getSelfRatio()); } } else if (CommonConstants.TableName.MED_MEDICATION_DEFINITION - .equals(studentPaymentItemModel.getProductTable())) { - MedicationDefinition medicationDefinition = - medicationDefinitionService.getById(studentPaymentItemModel.getProductId()); + .equals(studentPaymentItemModel.getProductTable())) { + MedicationDefinition medicationDefinition + = medicationDefinitionService.getById(studentPaymentItemModel.getProductId()); if (medicationDefinition != null && chargeItemDefinition != null) { // 约定大项目的自付比例获取条件 YbMedChrgItmType medChrgItmType = YbMedChrgItmType.getByValue(chargeItemDefinition.getYbType()); @@ -566,19 +564,19 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl gfTypeRatioDtos = - result.get(chargeItemDefinition.getYbType()).get(chrgitmLv.getCode()); + List gfTypeRatioDtos + = result.get(chargeItemDefinition.getYbType()).get(chrgitmLv.getCode()); if (gfTypeRatioDtos == null || gfTypeRatioDtos.isEmpty()) { throw new ServiceException( - "医保分类:" + medChrgItmType.getInfo() + "医保等级:" + chrgitmLv.getInfo() + "未配置自付比例!请检查!!!"); + "医保分类:" + medChrgItmType.getInfo() + "医保等级:" + chrgitmLv.getInfo() + "未配置自付比例!请检查!!!"); } studentPaymentItemModel.setSelfRatio(gfTypeRatioDtos.get(0).getSelfRatio()); studentPaymentItemModel.setTwiceRatio(gfTypeRatioDtos.get(0).getSelfRatio()); } } else { - HealthcareService healthcareService = - healthcareServiceService.getById(studentPaymentItemModel.getServiceId()); + HealthcareService healthcareService + = healthcareServiceService.getById(studentPaymentItemModel.getServiceId()); if (healthcareService != null && chargeItemDefinition != null) { // 约定大项目的自付比例获取条件 医疗服务没有定义医保等级,默认百分百还是直接抛异常? studentPaymentItemModel.setSelfRatio(new BigDecimal("100")); @@ -593,7 +591,7 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl paymentedItemList) { - Map> collect = - paymentedItemList.stream().collect(Collectors.groupingBy(PaymentedItemModel::getMedType)); + List paymentedItemList) { + Map> collect + = paymentedItemList.stream().collect(Collectors.groupingBy(PaymentedItemModel::getMedType)); // 一次医保结算只能支持一种医疗类型的结算 for (Map.Entry> medTypeKV : collect.entrySet()) { Clinic2206OrderOutput clinic2206OrderOutput = null; ClinicReg2201Output reg2201Output = null; if (!medTypeKV.getKey().equals(YbMedType.GENERAL_OUTPATIENT.getValue()) && "1" - .equals(SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH))) { + .equals(SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH))) { // 不是普通门诊就诊类型,补充挂号信息 reg2201Output = ybManager.createRegWithMedType(contract, ybMdtrtCertType, busiCardInfo, - medTypeKV.getValue().get(0).getEncounterId(), - YbMedType.getByValue(medTypeKV.getValue().get(0).getMedType())); + medTypeKV.getValue().get(0).getEncounterId(), + YbMedType.getByValue(medTypeKV.getValue().get(0).getMedType())); reg2201Output.setMedType(medTypeKV.getKey());// 2025/06/05慢病挂号后上传2206信息报错,2201返回值没有medType,此处更正赋值 } else { // 从数据库里取reg2201 @@ -623,9 +621,9 @@ public class PaymentReconciliationServiceImpl extends ServiceImpl implements ThreePartPayCallBackService { -======= import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -22,12 +12,12 @@ import com.openhis.financial.service.ThreePartPayCallBackService; @Service public class ThreePartPayCallBackServiceImpl extends ServiceImpl - implements ThreePartPayCallBackService { + implements ThreePartPayCallBackService { + @Override public ThreePartPayCallBack getByPayment(Long paymentId) { return baseMapper - .selectOne(new LambdaQueryWrapper().eq(ThreePartPayCallBack::getPaymentId, paymentId) - .eq(ThreePartPayCallBack::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1)); + .selectOne(new LambdaQueryWrapper().eq(ThreePartPayCallBack::getPaymentId, paymentId) + .eq(ThreePartPayCallBack::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1)); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java index 08ee3956..aba565ae 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java @@ -24,149 +24,245 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = false) public class MedicationDefinition extends HisBaseEntity { - /** ID */ + /** + * ID + */ @TableId(type = IdType.ASSIGN_ID) private Long id; - /** 药品编号 */ + /** + * 药品编号 + */ private String busNo; - /** 药品名称 */ + /** + * 药品名称 + */ private String name; - /** 适用范围 */ + /** + * 适用范围 + */ private Integer domainEnum; - /** 药品版本 */ + /** + * 药品版本 + */ private String version; - /** 英文药名 */ + /** + * 英文药名 + */ private String nameEn; - /** 药品名称拼音码 */ + /** + * 药品名称拼音码 + */ private String pyStr; - /** 药品五笔码 */ + /** + * 药品五笔码 + */ private String wbStr; - /** 药品分类 */ + /** + * 药品分类 + */ private String categoryCode; - /** 商品名称 */ + /** + * 商品名称 + */ private String merchandiseName; - /** 商品名称拼音码 */ + /** + * 商品名称拼音码 + */ private String merchandisePyStr; - /** 商品五笔码 */ + /** + * 商品五笔码 + */ private String merchandiseWbStr; - /** 药品单位 */ + /** + * 药品单位 + */ private String unitCode; - /** 最小单位 */ + /** + * 最小单位 + */ private String minUnitCode; - /** 所含耗材 */ + /** + * 所含耗材 + */ private String comprisedText; - /** 成分 */ + /** + * 成分 + */ private String ingredient; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; - /** 剂量形式 */ + /** + * 剂量形式 + */ private Integer doseFrom; - /** 批准文号 */ + /** + * 批准文号 + */ private String approvalNumber; - /** 医保是否对码 */ + /** + * 医保是否对码 + */ private Integer ybMatchFlag; - /** 医保编码 */ + /** + * 医保编码 + */ private String ybNo; - /** 药理作用分类 */ + /** + * 药理作用分类 + */ private String pharmacologyCategoryCode; - /** 是否皮试 */ + /** + * 是否皮试 + */ private Integer skinTestFlag; - /** 是否为注射药物 */ + /** + * 是否为注射药物 + */ private Integer injectFlag; - /** 生产厂家 */ + /** + * 生产厂家 + */ private Long manufacturerId; - /** 生产厂商文本 */ + /** + * 生产厂商文本 + */ private String manufacturerText; - /** 供应商 */ + /** + * 供应商 + */ private Long supplyId; - /** 是否限制使用 */ + /** + * 是否限制使用 + */ private Integer restrictedFlag; - /** 限制使用范围 */ + /** + * 限制使用范围 + */ private String restrictedScope; - /** 是否使用 */ + /** + * 是否使用 + */ private Integer activeFlag; - /** 儿童用药标志 */ + /** + * 儿童用药标志 + */ private Integer childrenFlag; - /** 产品特性 */ + /** + * 产品特性 + */ private Integer characteristic; - /** 删除状态 */ + /** + * 删除状态 + */ private String deleteFlag; - /** 最小库存警戒数量(常规单位) */ + /** + * 最小库存警戒数量(常规单位) + */ private BigDecimal itemMinQuantity; - /** 最大库存警戒数量(常规单位) */ + /** + * 最大库存警戒数量(常规单位) + */ private BigDecimal itemMaxQuantity; - /** 默认门诊单位 */ + /** + * 默认门诊单位 + */ private String defEncounterUnitCode; - /** 默认住院单位 */ + /** + * 默认住院单位 + */ private String defInhospitalUnitCode; - /** 贯标国家编码 */ + /** + * 贯标国家编码 + */ private String nationalDrugCode; - /** 拆分属性 */ + /** + * 拆分属性 + */ private Integer partAttributeEnum; - /** 抗生素分类 */ + /** + * 抗生素分类 + */ private String antibioticCode; - /** 权限限制 */ + /** + * 权限限制 + */ private Integer restrictedEnum; - /** 是否自制 */ + /** + * 是否自制 + */ private Integer selfFlag; - /** 是否抗生素 */ + /** + * 是否抗生素 + */ private Integer antibioticFlag; - /** 基药标识 */ + /** + * 基药标识 + */ private Integer basicFlag; - /** 住院临时医嘱拆分属性 */ + /** + * 住院临时医嘱拆分属性 + */ private Integer thoPartAttributeEnum; - /** 剂量单位换算比 */ + /** + * 剂量单位换算比 + */ private BigDecimal unitConversionRatio; - /** 医保等级 */ + /** + * 医保等级 + */ private Integer chrgitmLv; - /** 处方标志 */ + /** + * 处方标志 + */ private Integer rxFlag; /** @@ -174,13 +270,10 @@ public class MedicationDefinition extends HisBaseEntity { */ private String dosageInstruction; -<<<<<<< HEAD -======= /** * 药品69码 */ @TableField("drug_69_code") private String drug69Code; ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDetail.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDetail.java index fa033bb2..b5844eb2 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDetail.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDetail.java @@ -25,192 +25,324 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = false) public class MedicationDetail extends HisBaseEntity { - /** ID */ + /** + * ID + */ @TableId(type = IdType.ASSIGN_ID) private Long id; - /** 药品编码 */ + /** + * 药品编码 + */ private Long medicationDefId; - /** 药品状态 */ + /** + * 药品状态 + */ private Integer statusEnum; - /** 所属科室 */ + /** + * 所属科室 + */ private Long orgId; - /** 剂型 */ + /** + * 剂型 + */ private String doseFormCode; - /** 规格 */ + /** + * 规格 + */ private String totalVolume; - /** 成分 */ + /** + * 成分 + */ private String ingredientItem; - /** 是否为活性 */ + /** + * 是否为活性 + */ private Integer activeFlag; - /** 批次号 */ + /** + * 批次号 + */ private String lotNumber; - /** 生效日期 */ + /** + * 生效日期 + */ private Date effectiveDate; - /** 到期日期 */ + /** + * 到期日期 + */ private Date expirationDate; - /** 用法 */ + /** + * 用法 + */ private String methodCode; - /** 用药频次 */ + /** + * 用药频次 + */ private String rateCode; - /** 单次剂量 */ + /** + * 单次剂量 + */ private BigDecimal dose; - /** 剂量单位 */ + /** + * 剂量单位 + */ private String doseUnitCode; - /** 单次最大剂量 */ + /** + * 单次最大剂量 + */ private BigDecimal maxUnit; - /** 药品定义 */ + /** + * 药品定义 + */ private String definition; - /** 药品编号 */ + /** + * 药品编号 + */ private String busNo; - /** 药品名称 */ + /** + * 药品名称 + */ private String name; - /** 适用范围 */ + /** + * 适用范围 + */ private Integer domainEnum; - /** 药品版本 */ + /** + * 药品版本 + */ private String version; - /** 英文药名 */ + /** + * 英文药名 + */ private String nameEn; - /** 药品名称拼音码 */ + /** + * 药品名称拼音码 + */ private String pyStr; - /** 药品五笔码 */ + /** + * 药品五笔码 + */ private String wbStr; - /** 药品分类 */ + /** + * 药品分类 + */ private String categoryCode; - /** 商品名称 */ + /** + * 商品名称 + */ private String merchandiseName; - /** 商品名称拼音码 */ + /** + * 商品名称拼音码 + */ private String merchandisePyStr; - /** 商品五笔码 */ + /** + * 商品五笔码 + */ private String merchandiseWbStr; - /** 药品单位 */ + /** + * 药品单位 + */ private String unitCode; - /** 最小单位 */ + /** + * 最小单位 + */ private String minUnitCode; - /** 所含耗材 */ + /** + * 所含耗材 + */ private String comprisedText; - /** 成分 */ + /** + * 成分 + */ private String ingredient; - /** 拆零比 */ + /** + * 拆零比 + */ private BigDecimal partPercent; - /** 剂量形式 */ + /** + * 剂量形式 + */ private Integer doseFrom; - /** 批准文号 */ + /** + * 批准文号 + */ private String approvalNumber; - /** 医保是否对码 */ + /** + * 医保是否对码 + */ private Integer ybMatchFlag; - /** 医保编码 */ + /** + * 医保编码 + */ private String ybNo; - /** 药理作用分类 */ + /** + * 药理作用分类 + */ private String pharmacologyCategoryCode; - /** 是否皮试 */ + /** + * 是否皮试 + */ private Integer skinTestFlag; - /** 是否为注射药物 */ + /** + * 是否为注射药物 + */ private Integer injectFlag; - /** 生产厂家 */ + /** + * 生产厂家 + */ private Long manufacturerId; - /** 供应商 */ + /** + * 供应商 + */ private Long supplyId; - /** 是否限制使用 */ + /** + * 是否限制使用 + */ private Integer restrictedFlag; - /** 限制使用范围 */ + /** + * 限制使用范围 + */ private String restrictedScope; - /** 儿童用药标志 */ + /** + * 儿童用药标志 + */ private Integer childrenFlag; - /** 产品特性 */ + /** + * 产品特性 + */ private Integer characteristic; - /** 所在位置 */ + /** + * 所在位置 + */ private Long locationId; - /** 贯标国家编码 */ + /** + * 贯标国家编码 + */ private String nationalDrugCode; - /** 拆分属性 */ + /** + * 拆分属性 + */ private Integer partAttributeEnum; - /** DDD值 */ + /** + * DDD值 + */ private String dddCode; - /** DDD单位 */ + /** + * DDD单位 + */ private String dddUnitCode; - /** 单次最小用药频次 */ + /** + * 单次最小用药频次 + */ private String minRateCode; - /** 单次最大用药频次 */ + /** + * 单次最大用药频次 + */ private String maxRateCode; - /** 抗生素分类 */ + /** + * 抗生素分类 + */ private String antibioticCode; - /** 权限限制 */ + /** + * 权限限制 + */ private Integer restrictedEnum; - /** 是否自制 */ + /** + * 是否自制 + */ private Integer selfFlag; - /** 是否抗生素 */ + /** + * 是否抗生素 + */ private Integer antibioticFlag; - /** 基药标识 */ + /** + * 基药标识 + */ private Integer basicFlag; - /** 生产厂商文本 */ + /** + * 生产厂商文本 + */ private String manufacturerText; - /** 用量限定 */ + /** + * 用量限定 + */ private BigDecimal usageLimit; - /** 住院临时医嘱拆分属性 */ + /** + * 住院临时医嘱拆分属性 + */ private Integer thoPartAttributeEnum; - /** 剂量单位换算比 */ + /** + * 剂量单位换算比 + */ private BigDecimal unitConversionRatio; - /** 医保等级 */ + /** + * 医保等级 + */ private Integer chrgitmLv; - /** 处方标志 */ + /** + * 处方标志 + */ private Integer rxFlag; - /** 最小库存警戒数量(常规单位) */ + /** + * 最小库存警戒数量(常规单位) + */ private BigDecimal itemMinQuantity; - /** 最大库存警戒数量(常规单位) */ + /** + * 最大库存警戒数量(常规单位) + */ private BigDecimal itemMaxQuantity; /** @@ -218,12 +350,9 @@ public class MedicationDetail extends HisBaseEntity { */ private String dosageInstruction; -<<<<<<< HEAD -======= /** * 药品69码 */ private String drug69Code; ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationDispenseServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationDispenseServiceImpl.java index 76a85a32..db5d786e 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationDispenseServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationDispenseServiceImpl.java @@ -32,7 +32,7 @@ import com.openhis.medication.service.IMedicationDispenseService; */ @Service public class MedicationDispenseServiceImpl extends ServiceImpl - implements IMedicationDispenseService { + implements IMedicationDispenseService { @Resource AssignSeqUtil assignSeqUtil; @@ -97,14 +97,6 @@ public class MedicationDispenseServiceImpl extends ServiceImpl() - .eq(MedicationDispense::getMedReqId, medicationRequest.getId())); - } -======= baseMapper.insert(medicationDispense); // if (DbOpType.INSERT.getCode().equals(dbOpType)) { @@ -113,8 +105,6 @@ public class MedicationDispenseServiceImpl extends ServiceImpl() // .eq(MedicationDispense::getMedReqId, medicationRequest.getId())); // } ->>>>>>> v1.3 - return medicationDispense.getId(); } @@ -128,7 +118,7 @@ public class MedicationDispenseServiceImpl extends ServiceImpl medDisIdList, Integer refund) { baseMapper.update( - new MedicationDispense().setStatusEnum(DispenseStatus.STOPPED.getValue()).setNotPerformedReasonEnum(refund), - new LambdaUpdateWrapper().in(MedicationDispense::getId, medDisIdList)); + new MedicationDispense().setStatusEnum(DispenseStatus.STOPPED.getValue()).setNotPerformedReasonEnum(refund), + new LambdaUpdateWrapper().in(MedicationDispense::getId, medDisIdList)); } /** @@ -219,10 +209,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl medicationRequestIdList) { baseMapper.update(null, - new LambdaUpdateWrapper() - .set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) - .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) - .in(MedicationDispense::getMedReqId, medicationRequestIdList)); + new LambdaUpdateWrapper() + .set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) + .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) + .in(MedicationDispense::getMedReqId, medicationRequestIdList)); } /** @@ -233,10 +223,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl medReqIdList) { baseMapper.update(null, - new LambdaUpdateWrapper() - .set(MedicationDispense::getStatusEnum, DispenseStatus.ON_HOLD.getValue()) - .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) - .in(MedicationDispense::getMedReqId, medReqIdList)); + new LambdaUpdateWrapper() + .set(MedicationDispense::getStatusEnum, DispenseStatus.ON_HOLD.getValue()) + .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) + .in(MedicationDispense::getMedReqId, medReqIdList)); } /** @@ -248,10 +238,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl().eq(MedicationDispense::getMedicationId, medicationDefId) - .and(q -> q.eq(MedicationDispense::getStatusEnum, DispenseStatus.COMPLETED.getValue()).or() - .eq(MedicationDispense::getStatusEnum, DispenseStatus.REFUNDED.getValue())) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaQueryWrapper().eq(MedicationDispense::getMedicationId, medicationDefId) + .and(q -> q.eq(MedicationDispense::getStatusEnum, DispenseStatus.COMPLETED.getValue()).or() + .eq(MedicationDispense::getStatusEnum, DispenseStatus.REFUNDED.getValue())) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -263,8 +253,8 @@ public class MedicationDispenseServiceImpl extends ServiceImpl selectByRequestIdList(List requestIdList) { return baseMapper - .selectList(new LambdaQueryWrapper().in(MedicationDispense::getMedReqId, requestIdList) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + .selectList(new LambdaQueryWrapper().in(MedicationDispense::getMedReqId, requestIdList) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -275,11 +265,11 @@ public class MedicationDispenseServiceImpl extends ServiceImpl medDispenseId, String busNo) { baseMapper.update(null, - new LambdaUpdateWrapper() - .set(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()) - .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) - .set(MedicationDispense::getSummaryNo, busNo).in(MedicationDispense::getId, medDispenseId) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaUpdateWrapper() + .set(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()) + .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) + .set(MedicationDispense::getSummaryNo, busNo).in(MedicationDispense::getId, medDispenseId) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -291,8 +281,8 @@ public class MedicationDispenseServiceImpl extends ServiceImpl getMedDispenseByProcedureId(List procedureIdList) { return baseMapper.selectList( - new LambdaQueryWrapper().in(MedicationDispense::getProcedureId, procedureIdList) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaQueryWrapper().in(MedicationDispense::getProcedureId, procedureIdList) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -304,10 +294,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl summaryNoList) { int result = baseMapper.update(null, - new LambdaUpdateWrapper() - .set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) - .set(MedicationDispense::getSummaryNo, null).in(MedicationDispense::getSummaryNo, summaryNoList) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaUpdateWrapper() + .set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) + .set(MedicationDispense::getSummaryNo, null).in(MedicationDispense::getSummaryNo, summaryNoList) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); return result > 0; } @@ -320,10 +310,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl dispenseIdList, Integer dispenseStatus) { baseMapper.update(null, - new LambdaUpdateWrapper().set(MedicationDispense::getStatusEnum, dispenseStatus) - .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) - .in(MedicationDispense::getId, dispenseIdList) - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaUpdateWrapper().set(MedicationDispense::getStatusEnum, dispenseStatus) + .set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate()) + .in(MedicationDispense::getId, dispenseIdList) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -335,12 +325,8 @@ public class MedicationDispenseServiceImpl extends ServiceImpl getMedDispenseBySummaryNo(List summaryNoList) { return baseMapper - .selectList(new LambdaQueryWrapper().in(MedicationDispense::getSummaryNo, summaryNoList) -<<<<<<< HEAD - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())); -======= - .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()) - .eq(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue())); ->>>>>>> v1.3 + .selectList(new LambdaQueryWrapper().in(MedicationDispense::getSummaryNo, summaryNoList) + .eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()) + .eq(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue())); } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java index 89f1a86f..e6ab27c1 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java @@ -2,11 +2,6 @@ package com.openhis.medication.service.impl; import java.util.List; -<<<<<<< HEAD -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -======= ->>>>>>> v1.3 import com.openhis.medication.dto.AdjustPriceMedListDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,7 +44,7 @@ public class MedicationServiceImpl extends ServiceImpl() - .eq(Medication::getDeleteFlag, DelFlag.NO.getCode()).in(Medication::getId, medicationIdList)); + .eq(Medication::getDeleteFlag, DelFlag.NO.getCode()).in(Medication::getId, medicationIdList)); } return null; } @@ -77,7 +72,7 @@ public class MedicationServiceImpl extends ServiceImpl medications = medicationMapper.selectList( - new LambdaQueryWrapper().eq(Medication::getMedicationDefId, medication.getMedicationDefId())); + new LambdaQueryWrapper().eq(Medication::getMedicationDefId, medication.getMedicationDefId())); if (!medications.isEmpty()) { return false; } @@ -93,4 +88,4 @@ public class MedicationServiceImpl extends ServiceImpl searchMedListByKeyWord(String keyWord) { return this.medicationMapper.searchMedListByKeyWord(keyWord); } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/nenu/service/impl/GfRatioServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/nenu/service/impl/GfRatioServiceImpl.java index 3be2ea6b..78c19f7a 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/nenu/service/impl/GfRatioServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/nenu/service/impl/GfRatioServiceImpl.java @@ -12,12 +12,7 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -<<<<<<< HEAD -import com.core.common.enums.DeleteFlag; -import com.openhis.common.enums.DelFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.common.enums.GfRatioType; import com.openhis.common.enums.ItemType; import com.openhis.common.enums.ybenums.YbChrgitmLv; @@ -40,7 +35,7 @@ public class GfRatioServiceImpl extends ServiceImpl impl /** * 查询自付比例(按照小项查询自付比例,如果没有的话,返回值不一定会有自付比例,还要查大项) - * + * * @param itemType * @param paymentItemList * @return @@ -49,18 +44,18 @@ public class GfRatioServiceImpl extends ServiceImpl impl ArrayList list = new ArrayList<>(); - List serviceIdList = - paymentItemList.stream().map(PaymentedItemModel::getServiceId).collect(Collectors.toList()); + List serviceIdList + = paymentItemList.stream().map(PaymentedItemModel::getServiceId).collect(Collectors.toList()); Date date = new Date(); // 查询自付比例 - List gfRatios = - baseMapper.selectList(new LambdaQueryWrapper().in(GfRatio::getDefinitionId, serviceIdList) - .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode()).eq(GfRatio::getItemType, itemType.getValue()) - .ge(GfRatio::getStartDate, date).le(GfRatio::getEndDate, date)); + List gfRatios + = baseMapper.selectList(new LambdaQueryWrapper().in(GfRatio::getDefinitionId, serviceIdList) + .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode()).eq(GfRatio::getItemType, itemType.getValue()) + .ge(GfRatio::getStartDate, date).le(GfRatio::getEndDate, date)); - Map> gfRatiosMap = - gfRatios.stream().collect(Collectors.groupingBy(GfRatio::getDefinitionId)); + Map> gfRatiosMap + = gfRatios.stream().collect(Collectors.groupingBy(GfRatio::getDefinitionId)); StudentPaymentItemModel studentPaymentItemModel; for (PaymentedItemModel paymentedItemModel : paymentItemList) { @@ -89,23 +84,19 @@ public class GfRatioServiceImpl extends ServiceImpl impl @Override public List getTypeRatioList() { // 查询DB中的所有大项比例 - List gfRatioList = - this.list(new LambdaQueryWrapper().eq(GfRatio::getRatioType, GfRatioType.TYPE_RATIO.getValue()) -<<<<<<< HEAD - .eq(GfRatio::getDeleteFlag, DeleteFlag.NOT_DELETED.getCode())); -======= - .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); ->>>>>>> v1.3 + List gfRatioList + = this.list(new LambdaQueryWrapper().eq(GfRatio::getRatioType, GfRatioType.TYPE_RATIO.getValue()) + .eq(GfRatio::getDeleteFlag, DelFlag.NO.getCode())); // 做成医保分项+医保等级拼接的Map - Map gfRatioMap = - gfRatioList.stream().collect(Collectors.toMap(e -> e.getYbClass() + e.getYbLv(), Function.identity())); + Map gfRatioMap + = gfRatioList.stream().collect(Collectors.toMap(e -> e.getYbClass() + e.getYbLv(), Function.identity())); List gfTypeRatioDtoList = new ArrayList<>(); // 遍历所有医疗收费项目类别 for (YbMedChrgItmType ybMedChrgItmType : YbMedChrgItmType.values()) { // 甲类 - GfTypeRatioDto gfTypeRatioDtoA = - new GfTypeRatioDto().setYbClass(ybMedChrgItmType.getValue()).setYbClassName(ybMedChrgItmType.getInfo()) - .setYbLv(YbChrgitmLv.CATEGORY_A.getCode()).setYbLvName(YbChrgitmLv.CATEGORY_A.getInfo()); + GfTypeRatioDto gfTypeRatioDtoA + = new GfTypeRatioDto().setYbClass(ybMedChrgItmType.getValue()).setYbClassName(ybMedChrgItmType.getInfo()) + .setYbLv(YbChrgitmLv.CATEGORY_A.getCode()).setYbLvName(YbChrgitmLv.CATEGORY_A.getInfo()); GfRatio gfRatioA = gfRatioMap.get(ybMedChrgItmType.getValue() + YbChrgitmLv.CATEGORY_A.getCode()); if (gfRatioA != null) { // DB存在则取DB的值 @@ -113,9 +104,9 @@ public class GfRatioServiceImpl extends ServiceImpl impl } gfTypeRatioDtoList.add(gfTypeRatioDtoA); // 乙类 - GfTypeRatioDto gfTypeRatioDtoB = - new GfTypeRatioDto().setYbClass(ybMedChrgItmType.getValue()).setYbClassName(ybMedChrgItmType.getInfo()) - .setYbLv(YbChrgitmLv.CATEGORY_B.getCode()).setYbLvName(YbChrgitmLv.CATEGORY_B.getInfo()); + GfTypeRatioDto gfTypeRatioDtoB + = new GfTypeRatioDto().setYbClass(ybMedChrgItmType.getValue()).setYbClassName(ybMedChrgItmType.getInfo()) + .setYbLv(YbChrgitmLv.CATEGORY_B.getCode()).setYbLvName(YbChrgitmLv.CATEGORY_B.getInfo()); GfRatio gfRatioB = gfRatioMap.get(ybMedChrgItmType.getValue() + YbChrgitmLv.CATEGORY_B.getCode()); if (gfRatioB != null) { // DB存在则取DB的值 @@ -126,4 +117,4 @@ public class GfRatioServiceImpl extends ServiceImpl impl // 返回列表 return gfTypeRatioDtoList; } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IActivityDefinitionService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IActivityDefinitionService.java index ff3308f2..eca78914 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IActivityDefinitionService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IActivityDefinitionService.java @@ -43,37 +43,29 @@ public interface IActivityDefinitionService extends IService /** * Desc: 根据 项目id数组 加载 诊疗数据集合 -<<<<<<< HEAD -======= - * ->>>>>>> v1.3 + * * @param itemIds * @Author raymond * @Date 12:20 2025/10/18 * @return java.util.List - **/ + * + */ List searchActivityDefinitionByIds(@Param("itemIds") List itemIds); -<<<<<<< HEAD - /** - * Desc: 根据关键字查询 如果关键字为空,查询10条,否则返回查询到的所有 -======= /** * Desc: 根据关键字查询 如果关键字为空,查询10条,否则返回查询到的所有 - * ->>>>>>> v1.3 + * * @param keyWord * @Author raymond * @Date 07:53 2025/10/22 * @return java.util.List - **/ + * + */ List searchActivityListByKeyWord(String keyWord); -<<<<<<< HEAD -======= /** * 查询某一类的服务 - * + * * @param productIdList id集合 * @param activityDefCategory 类型 * @return 查询结果 @@ -89,5 +81,4 @@ public interface IActivityDefinitionService extends IService */ List getListByTypeEnum(List productIdList, Integer typeEnum); ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IDeviceDispenseService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IDeviceDispenseService.java index 997cd538..f45b3c9c 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IDeviceDispenseService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IDeviceDispenseService.java @@ -17,7 +17,6 @@ import com.openhis.workflow.domain.DeviceRequest; */ public interface IDeviceDispenseService extends IService { - /** * 处理器材发放信息 * @@ -37,9 +36,7 @@ public interface IDeviceDispenseService extends IService { * @return 发放id */ Long generateDeviceDispense(DeviceRequest deviceRequest, Long procedureId, Long locationId, - Date plannedDispenseTime); -<<<<<<< HEAD -======= + Date plannedDispenseTime); /** * 医嘱执行生成耗材发放,状态为已发放 @@ -51,12 +48,11 @@ public interface IDeviceDispenseService extends IService { * @return 发放id */ Long generateIssuedDeviceDispense(DeviceRequest deviceRequest, Long procedureId, Long locationId, - Date plannedDispenseTime); ->>>>>>> v1.3 + Date plannedDispenseTime); /** * 删除器材发放信息 - * + * * @param deviceReqId 器材请求id */ void deleteDeviceDispense(Long deviceReqId); @@ -87,7 +83,7 @@ public interface IDeviceDispenseService extends IService { * @param quantity 发药数量 */ DeviceDispense createCompletedDeviceDispense(DeviceDispense deviceDispense, Date now, Practitioner loginUser, - String step, BigDecimal quantity); + String step, BigDecimal quantity); /** * 器材发放状态:已发药 @@ -143,8 +139,6 @@ public interface IDeviceDispenseService extends IService { * @param medDispenseId 发放id列表 */ void updateDispenseStatusSummarized(List medDispenseId, String busNo); -<<<<<<< HEAD -======= /** * 通过请求id获取耗材发放信息 @@ -153,5 +147,4 @@ public interface IDeviceDispenseService extends IService { * @return 发放信息 */ List selectByRequestIdList(List requestIdList); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IServiceRequestService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IServiceRequestService.java index 62d74499..3c1dc10e 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IServiceRequestService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/IServiceRequestService.java @@ -55,7 +55,7 @@ public interface IServiceRequestService extends IService { * @param step 执行次数 */ ServiceRequest createCompletedServiceRequest(ServiceRequest serviceRequest, Date now, Practitioner loginUser, - String step); + String step); /** * 服务申请状态:已完成 @@ -113,13 +113,11 @@ public interface IServiceRequestService extends IService { /** * 查询诊疗对应的服务申请 - * + * * @param activityId 诊疗id * @return 请求信息列表 */ List getServiceRequestByActivityId(Long activityId); -<<<<<<< HEAD -======= /** * 查询诊疗对应的服务申请 @@ -128,5 +126,4 @@ public interface IServiceRequestService extends IService { * @return 请求信息列表 */ List getServiceRequestListByEncounterId(Long encounterId); ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ActivityDefinitionServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ActivityDefinitionServiceImpl.java index a330df9d..a69031a4 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ActivityDefinitionServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ActivityDefinitionServiceImpl.java @@ -2,12 +2,7 @@ package com.openhis.workflow.service.impl; import java.util.List; -<<<<<<< HEAD -import com.openhis.medication.dto.AdjustPriceMedListDto; -import com.openhis.workflow.dto.ActivityDto; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -33,12 +28,13 @@ import lombok.extern.slf4j.Slf4j; @Service @AllArgsConstructor public class ActivityDefinitionServiceImpl extends ServiceImpl - implements IActivityDefinitionService { + implements IActivityDefinitionService { + private final ActivityDefinitionMapper activityDefinitionMapper; /** * 增加外来诊疗项目 - * + * * @param activityDefinition 诊疗项目实体 * @return */ @@ -46,9 +42,9 @@ public class ActivityDefinitionServiceImpl extends ServiceImpl activityDefinitions = - activityDefinitionMapper.selectList(new LambdaQueryWrapper() - .eq(ActivityDefinition::getBusNo, activityDefinition.getBusNo())); + List activityDefinitions + = activityDefinitionMapper.selectList(new LambdaQueryWrapper() + .eq(ActivityDefinition::getBusNo, activityDefinition.getBusNo())); if (activityDefinitions.size() > 0) { return false; } @@ -86,8 +82,6 @@ public class ActivityDefinitionServiceImpl extends ServiceImpl getListByIds(List productIdList, Integer activityDefCategory) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -95,7 +89,7 @@ public class ActivityDefinitionServiceImpl extends ServiceImpl>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceDispenseServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceDispenseServiceImpl.java index 8a3f4ec8..a75aefdc 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceDispenseServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceDispenseServiceImpl.java @@ -34,7 +34,7 @@ import com.openhis.workflow.service.IDeviceDispenseService; */ @Service public class DeviceDispenseServiceImpl extends ServiceImpl - implements IDeviceDispenseService { + implements IDeviceDispenseService { @Resource AssignSeqUtil assignSeqUtil; @@ -89,14 +89,6 @@ public class DeviceDispenseServiceImpl extends ServiceImpl().eq(DeviceDispense::getDeviceReqId, deviceRequest.getId())); - } -======= baseMapper.insert(deviceDispense); // if (DbOpType.INSERT.getCode().equals(dbOpType)) { @@ -105,8 +97,6 @@ public class DeviceDispenseServiceImpl extends ServiceImpl().eq(DeviceDispense::getDeviceReqId, deviceRequest.getId())); // } ->>>>>>> v1.3 - return deviceDispense.getId(); } @@ -121,7 +111,7 @@ public class DeviceDispenseServiceImpl extends ServiceImpl devDisIdList, Integer refund) { baseMapper.update( - new DeviceDispense().setStatusEnum(DispenseStatus.STOPPED.getValue()).setNotPerformedReasonEnum(refund), - new LambdaUpdateWrapper().in(DeviceDispense::getId, devDisIdList)); + new DeviceDispense().setStatusEnum(DispenseStatus.STOPPED.getValue()).setNotPerformedReasonEnum(refund), + new LambdaUpdateWrapper().in(DeviceDispense::getId, devDisIdList)); } /** @@ -203,8 +193,8 @@ public class DeviceDispenseServiceImpl extends ServiceImpl getDevDispenseByProcedureId(List procedureIdList) { return baseMapper - .selectList(new LambdaQueryWrapper().in(DeviceDispense::getProcedureId, procedureIdList) - .eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); + .selectList(new LambdaQueryWrapper().in(DeviceDispense::getProcedureId, procedureIdList) + .eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -218,7 +208,7 @@ public class DeviceDispenseServiceImpl extends ServiceImpl().eq(DeviceDispense::getId, id) - .set(DeviceDispense::getStatusEnum, DispenseStatus.COMPLETED.getValue()) - .set(DeviceDispense::getPerformerId, loginUser.getId()) - .set(DeviceDispense::getLocationId, loginUser.getOrgId()).set(DeviceDispense::getDispenseTime, now)); + new LambdaUpdateWrapper().eq(DeviceDispense::getId, id) + .set(DeviceDispense::getStatusEnum, DispenseStatus.COMPLETED.getValue()) + .set(DeviceDispense::getPerformerId, loginUser.getId()) + .set(DeviceDispense::getLocationId, loginUser.getOrgId()).set(DeviceDispense::getDispenseTime, now)); return updateCount > 0; } @@ -270,10 +260,10 @@ public class DeviceDispenseServiceImpl extends ServiceImpl().eq(DeviceDispense::getId, id) - .set(DeviceDispense::getStatusEnum, DispenseStatus.CANCELLED.getValue()) - .set(DeviceDispense::getPerformerId, loginUser.getId()) - .set(DeviceDispense::getLocationId, loginUser.getOrgId()).set(DeviceDispense::getDispenseTime, now)); + new LambdaUpdateWrapper().eq(DeviceDispense::getId, id) + .set(DeviceDispense::getStatusEnum, DispenseStatus.CANCELLED.getValue()) + .set(DeviceDispense::getPerformerId, loginUser.getId()) + .set(DeviceDispense::getLocationId, loginUser.getOrgId()).set(DeviceDispense::getDispenseTime, now)); return updateCount > 0; } @@ -287,10 +277,10 @@ public class DeviceDispenseServiceImpl extends ServiceImpl().eq(DeviceDispense::getId, id) - .set(DeviceDispense::getStatusEnum, DispenseStatus.IN_PROGRESS.getValue()) - .set(DeviceDispense::getPerformerId, loginUser.getId()) - .set(DeviceDispense::getLocationId, loginUser.getOrgId()).set(DeviceDispense::getDispenseTime, now)); + new LambdaUpdateWrapper().eq(DeviceDispense::getId, id) + .set(DeviceDispense::getStatusEnum, DispenseStatus.IN_PROGRESS.getValue()) + .set(DeviceDispense::getPerformerId, loginUser.getId()) + .set(DeviceDispense::getLocationId, loginUser.getOrgId()).set(DeviceDispense::getDispenseTime, now)); return updateCount > 0; } @@ -302,9 +292,9 @@ public class DeviceDispenseServiceImpl extends ServiceImpl deviceRequestIdList) { baseMapper.update(null, - new LambdaUpdateWrapper() - .set(DeviceDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) - .in(DeviceDispense::getDeviceReqId, deviceRequestIdList)); + new LambdaUpdateWrapper() + .set(DeviceDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue()) + .in(DeviceDispense::getDeviceReqId, deviceRequestIdList)); } /** @@ -315,9 +305,9 @@ public class DeviceDispenseServiceImpl extends ServiceImpl devReqIdList) { baseMapper.update(null, - new LambdaUpdateWrapper() - .set(DeviceDispense::getStatusEnum, DispenseStatus.ON_HOLD.getValue()) - .in(DeviceDispense::getDeviceDefId, devReqIdList)); + new LambdaUpdateWrapper() + .set(DeviceDispense::getStatusEnum, DispenseStatus.ON_HOLD.getValue()) + .in(DeviceDispense::getDeviceDefId, devReqIdList)); } /** @@ -328,9 +318,9 @@ public class DeviceDispenseServiceImpl extends ServiceImpl devDispenseId) { baseMapper.update(null, - new LambdaUpdateWrapper() - .set(DeviceDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()) - .in(DeviceDispense::getId, devDispenseId)); + new LambdaUpdateWrapper() + .set(DeviceDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()) + .in(DeviceDispense::getId, devDispenseId)); } /** @@ -341,15 +331,13 @@ public class DeviceDispenseServiceImpl extends ServiceImpl medDispenseId, String busNo) { baseMapper.update(null, - new LambdaUpdateWrapper() - .set(DeviceDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()) - // TODO 数据库需要加字段 - // .set(DeviceDispense::getStatusChangedTime, DateUtils.getNowDate()) - // .set(DeviceDispense::getSummaryNo, busNo) - .in(DeviceDispense::getId, medDispenseId).eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaUpdateWrapper() + .set(DeviceDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()) + // TODO 数据库需要加字段 + // .set(DeviceDispense::getStatusChangedTime, DateUtils.getNowDate()) + // .set(DeviceDispense::getSummaryNo, busNo) + .in(DeviceDispense::getId, medDispenseId).eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); } -<<<<<<< HEAD -======= /** * 通过请求id获取耗材发放信息 @@ -360,7 +348,7 @@ public class DeviceDispenseServiceImpl extends ServiceImpl selectByRequestIdList(List requestIdList) { return baseMapper.selectList(new LambdaQueryWrapper() - .in(DeviceDispense::getDeviceReqId, requestIdList).eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); + .in(DeviceDispense::getDeviceReqId, requestIdList).eq(DeviceDispense::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -374,7 +362,7 @@ public class DeviceDispenseServiceImpl extends ServiceImpl>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceRequestServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceRequestServiceImpl.java index fd117f31..84465841 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceRequestServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/DeviceRequestServiceImpl.java @@ -8,11 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.openhis.administration.domain.Practitioner; -<<<<<<< HEAD -import com.openhis.common.enums.DelFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.common.enums.RequestStatus; import com.openhis.workflow.domain.DeviceRequest; import com.openhis.workflow.mapper.DeviceRequestMapper; @@ -26,7 +22,7 @@ import com.openhis.workflow.service.IDeviceRequestService; */ @Service public class DeviceRequestServiceImpl extends ServiceImpl - implements IDeviceRequestService { + implements IDeviceRequestService { /** * 器材请求状态:已完成 @@ -37,10 +33,10 @@ public class DeviceRequestServiceImpl extends ServiceImpl().eq(DeviceRequest::getId, id) - .set(DeviceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()) - .set(DeviceRequest::getPerformerId, loginUser.getId()) - .set(DeviceRequest::getLocationId, loginUser.getOrgId())); + new LambdaUpdateWrapper().eq(DeviceRequest::getId, id) + .set(DeviceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()) + .set(DeviceRequest::getPerformerId, loginUser.getId()) + .set(DeviceRequest::getLocationId, loginUser.getOrgId())); return updateCount > 0; } @@ -53,10 +49,10 @@ public class DeviceRequestServiceImpl extends ServiceImpl().eq(DeviceRequest::getId, id) - .set(DeviceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()) - .set(DeviceRequest::getPerformerId, loginUser.getId()) - .set(DeviceRequest::getLocationId, loginUser.getOrgId())); + new LambdaUpdateWrapper().eq(DeviceRequest::getId, id) + .set(DeviceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()) + .set(DeviceRequest::getPerformerId, loginUser.getId()) + .set(DeviceRequest::getLocationId, loginUser.getOrgId())); return updateCount > 0; } @@ -68,7 +64,7 @@ public class DeviceRequestServiceImpl extends ServiceImpl devRequestIdList) { baseMapper.update(new DeviceRequest().setStatusEnum(RequestStatus.COMPLETED.getValue()), - new LambdaUpdateWrapper().in(DeviceRequest::getId, devRequestIdList)); + new LambdaUpdateWrapper().in(DeviceRequest::getId, devRequestIdList)); } /** @@ -79,7 +75,7 @@ public class DeviceRequestServiceImpl extends ServiceImpl devReqIdList) { baseMapper.update(null, new LambdaUpdateWrapper().in(DeviceRequest::getId, devReqIdList) - .set(DeviceRequest::getStatusEnum, RequestStatus.DRAFT.getValue())); + .set(DeviceRequest::getStatusEnum, RequestStatus.DRAFT.getValue())); } /** @@ -90,7 +86,7 @@ public class DeviceRequestServiceImpl extends ServiceImpl devReqIdList) { baseMapper.update(null, new LambdaUpdateWrapper().in(DeviceRequest::getId, devReqIdList) - .set(DeviceRequest::getStatusEnum, RequestStatus.CANCELLED.getValue())); + .set(DeviceRequest::getStatusEnum, RequestStatus.CANCELLED.getValue())); } /** @@ -102,6 +98,6 @@ public class DeviceRequestServiceImpl extends ServiceImpl getDevRequestByDeviceId(Long deviceId) { return baseMapper.selectList(new LambdaQueryWrapper().eq(DeviceRequest::getDeviceDefId, deviceId) - .eq(DeviceRequest::getDeleteFlag, DelFlag.NO.getCode())); + .eq(DeviceRequest::getDeleteFlag, DelFlag.NO.getCode())); } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/InventoryItemServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/InventoryItemServiceImpl.java index 5f51fddf..dd26cce1 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/InventoryItemServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/InventoryItemServiceImpl.java @@ -27,7 +27,7 @@ import com.openhis.workflow.service.IInventoryItemService; */ @Service public class InventoryItemServiceImpl extends ServiceImpl - implements IInventoryItemService { + implements IInventoryItemService { /** * 入库 @@ -52,7 +52,7 @@ public class InventoryItemServiceImpl extends ServiceImpl().eq(InventoryItem::getId, id) - .set(InventoryItem::getUpdateTime, now).set(InventoryItem::getQuantity, quantity)); + .set(InventoryItem::getUpdateTime, now).set(InventoryItem::getQuantity, quantity)); return updateCount > 0; } @@ -68,11 +68,11 @@ public class InventoryItemServiceImpl extends ServiceImpl selectInventoryByItemId(Long itemId, String lotNumber, Long locationId, - Integer tenantId) { + Integer tenantId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(InventoryItem::getItemId, itemId).eq(InventoryItem::getLotNumber, lotNumber) - .eq(InventoryItem::getTenantId, tenantId).eq(InventoryItem::getDeleteFlag, DelFlag.NO.getCode()) - .eq(InventoryItem::getInventoryStatusEnum, PublicationStatus.ACTIVE.getValue()); + .eq(InventoryItem::getItemId, itemId).eq(InventoryItem::getLotNumber, lotNumber) + .eq(InventoryItem::getTenantId, tenantId).eq(InventoryItem::getDeleteFlag, DelFlag.NO.getCode()) + .eq(InventoryItem::getInventoryStatusEnum, PublicationStatus.ACTIVE.getValue()); if (locationId != null) { queryWrapper.eq(InventoryItem::getLocationId, locationId); } @@ -89,14 +89,10 @@ public class InventoryItemServiceImpl extends ServiceImpl selectInventoryByItemIdList(List itemIdList, Integer tenantId) { - LambdaQueryWrapper queryWrapper = - new LambdaQueryWrapper().in(InventoryItem::getItemId, itemIdList) -<<<<<<< HEAD - .eq(InventoryItem::getTenantId, tenantId).eq(InventoryItem::getDeleteFlag, DelFlag.NO.getValue()) -======= - .eq(InventoryItem::getTenantId, tenantId).eq(InventoryItem::getDeleteFlag, DelFlag.NO.getCode()) ->>>>>>> v1.3 - .eq(InventoryItem::getInventoryStatusEnum, PublicationStatus.ACTIVE.getValue()); + LambdaQueryWrapper queryWrapper + = new LambdaQueryWrapper().in(InventoryItem::getItemId, itemIdList) + .eq(InventoryItem::getTenantId, tenantId).eq(InventoryItem::getDeleteFlag, DelFlag.NO.getCode()) + .eq(InventoryItem::getInventoryStatusEnum, PublicationStatus.ACTIVE.getValue()); // 查询取库房信息 return baseMapper.selectList(queryWrapper); } @@ -108,12 +104,8 @@ public class InventoryItemServiceImpl extends ServiceImpl selectAllInventory() { - LambdaQueryWrapper queryWrapper = -<<<<<<< HEAD - new LambdaQueryWrapper().eq(InventoryItem::getDeleteFlag, DelFlag.NO.getValue()); -======= - new LambdaQueryWrapper().eq(InventoryItem::getDeleteFlag, DelFlag.NO.getCode()); ->>>>>>> v1.3 + LambdaQueryWrapper queryWrapper + = new LambdaQueryWrapper().eq(InventoryItem::getDeleteFlag, DelFlag.NO.getCode()); // 查询取库房信息 return baseMapper.selectList(queryWrapper); } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java index c360e863..a169c8c1 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java @@ -27,7 +27,7 @@ import com.openhis.workflow.service.IServiceRequestService; */ @Service public class ServiceRequestServiceImpl extends ServiceImpl - implements IServiceRequestService { + implements IServiceRequestService { /** * 查询服务申请管理中basedOnId相同的个数 @@ -50,8 +50,8 @@ public class ServiceRequestServiceImpl extends ServiceImpl serReqIdList) { baseMapper.update(new ServiceRequest().setStatusEnum(RequestStatus.STOPPED.getValue()), - new LambdaUpdateWrapper().in(ServiceRequest::getId, serReqIdList) - .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaUpdateWrapper().in(ServiceRequest::getId, serReqIdList) + .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -62,9 +62,9 @@ public class ServiceRequestServiceImpl extends ServiceImpl serReqIdList, Long practitionerId, Date checkDate) { baseMapper.update(new ServiceRequest().setStatusEnum(RequestStatus.COMPLETED.getValue()) - .setPerformerCheckId(SecurityUtils.getLoginUser().getPractitionerId()).setCheckTime(DateUtils.getNowDate()), - new LambdaUpdateWrapper().in(ServiceRequest::getId, serReqIdList) - .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); + .setPerformerCheckId(SecurityUtils.getLoginUser().getPractitionerId()).setCheckTime(DateUtils.getNowDate()), + new LambdaUpdateWrapper().in(ServiceRequest::getId, serReqIdList) + .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -75,8 +75,8 @@ public class ServiceRequestServiceImpl extends ServiceImpl selectServiceRequestByBasedOnId(Long basedOnId) { return (baseMapper - .selectList(new LambdaQueryWrapper().eq(ServiceRequest::getBasedOnId, basedOnId) - .eq(ServiceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()))); + .selectList(new LambdaQueryWrapper().eq(ServiceRequest::getBasedOnId, basedOnId) + .eq(ServiceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()))); } /** @@ -89,7 +89,7 @@ public class ServiceRequestServiceImpl extends ServiceImpl() - .eq(ServiceRequest::getId, id).set(ServiceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()) - .set(ServiceRequest::getPerformerId, loginUser.getId()) - .set(ServiceRequest::getLocationId, loginUser.getOrgId()).set(ServiceRequest::getOccurrenceStartTime, now)); + .eq(ServiceRequest::getId, id).set(ServiceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue()) + .set(ServiceRequest::getPerformerId, loginUser.getId()) + .set(ServiceRequest::getLocationId, loginUser.getOrgId()).set(ServiceRequest::getOccurrenceStartTime, now)); return updateCount > 0; } @@ -142,10 +142,10 @@ public class ServiceRequestServiceImpl extends ServiceImpl().eq(ServiceRequest::getId, serviceReqId) - .set(ServiceRequest::getStatusEnum, RequestStatus.CANCELLED.getValue()) - .set(ServiceRequest::getPerformerId, practitionerId).set(ServiceRequest::getOrgId, orgId) - .set(ServiceRequest::getOccurrenceStartTime, now)); + new LambdaUpdateWrapper().eq(ServiceRequest::getId, serviceReqId) + .set(ServiceRequest::getStatusEnum, RequestStatus.CANCELLED.getValue()) + .set(ServiceRequest::getPerformerId, practitionerId).set(ServiceRequest::getOrgId, orgId) + .set(ServiceRequest::getOccurrenceStartTime, now)); return updateCount > 0; } @@ -159,9 +159,9 @@ public class ServiceRequestServiceImpl extends ServiceImpl() - .eq(ServiceRequest::getId, id).set(ServiceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()) - .set(ServiceRequest::getPerformerId, loginUser.getId()) - .set(ServiceRequest::getLocationId, loginUser.getOrgId()).set(ServiceRequest::getOccurrenceStartTime, now)); + .eq(ServiceRequest::getId, id).set(ServiceRequest::getStatusEnum, RequestStatus.ACTIVE.getValue()) + .set(ServiceRequest::getPerformerId, loginUser.getId()) + .set(ServiceRequest::getLocationId, loginUser.getOrgId()).set(ServiceRequest::getOccurrenceStartTime, now)); return updateCount > 0; } @@ -175,9 +175,9 @@ public class ServiceRequestServiceImpl extends ServiceImpl serviceRequestIdList, Long practitionerId, Date checkDate) { baseMapper.update(new ServiceRequest().setStatusEnum(RequestStatus.DRAFT.getValue()) - .setPerformerCheckId(SecurityUtils.getLoginUser().getPractitionerId()).setCheckTime(DateUtils.getNowDate()), - new LambdaUpdateWrapper().in(ServiceRequest::getId, serviceRequestIdList) - .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); + .setPerformerCheckId(SecurityUtils.getLoginUser().getPractitionerId()).setCheckTime(DateUtils.getNowDate()), + new LambdaUpdateWrapper().in(ServiceRequest::getId, serviceRequestIdList) + .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -188,8 +188,8 @@ public class ServiceRequestServiceImpl extends ServiceImpl serReqIdList) { baseMapper.update(null, - new LambdaUpdateWrapper().set(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()) - .in(ServiceRequest::getId, serReqIdList)); + new LambdaUpdateWrapper().set(ServiceRequest::getStatusEnum, RequestStatus.DRAFT.getValue()) + .in(ServiceRequest::getId, serReqIdList)); } /** @@ -223,10 +223,8 @@ public class ServiceRequestServiceImpl extends ServiceImpl getServiceRequestByActivityId(Long activityId) { return baseMapper.selectList(new LambdaQueryWrapper() - .eq(ServiceRequest::getActivityId, activityId).eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); + .eq(ServiceRequest::getActivityId, activityId).eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); } -<<<<<<< HEAD -======= /** * 获取执行过的诊疗数据 @@ -238,5 +236,4 @@ public class ServiceRequestServiceImpl extends ServiceImpl() .eq(ServiceRequest::getEncounterId, encounterId).eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); } ->>>>>>> v1.3 -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/SupplyDeliveryServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/SupplyDeliveryServiceImpl.java index d8f1340a..b75b322d 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/SupplyDeliveryServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/SupplyDeliveryServiceImpl.java @@ -13,11 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.core.common.utils.DateUtils; import com.core.common.utils.SecurityUtils; import com.openhis.common.constant.CommonConstants; -<<<<<<< HEAD -import com.openhis.common.enums.DelFlag; -======= import com.core.common.enums.DelFlag; ->>>>>>> v1.3 import com.openhis.common.enums.DispenseStatus; import com.openhis.common.enums.SupplyType; import com.openhis.workflow.domain.SupplyDelivery; @@ -33,7 +29,7 @@ import com.openhis.workflow.service.ISupplyDeliveryService; */ @Service public class SupplyDeliveryServiceImpl extends ServiceImpl - implements ISupplyDeliveryService { + implements ISupplyDeliveryService { /** * 根据单据,发放物品 @@ -50,38 +46,38 @@ public class SupplyDeliveryServiceImpl extends ServiceImpl deliveryList = baseMapper.selectList(new LambdaQueryWrapper() - .eq(SupplyDelivery::getDeleteFlag, DelFlag.NO.getCode()).in(SupplyDelivery::getRequestId, supplyReqIdList)); + .eq(SupplyDelivery::getDeleteFlag, DelFlag.NO.getCode()).in(SupplyDelivery::getRequestId, supplyReqIdList)); if (!deliveryList.isEmpty()) { List deliveryStatusList = deliveryList.stream().map(SupplyDelivery::getStatusEnum).toList(); return deliveryStatusList.stream().anyMatch(x -> x.equals(DispenseStatus.COMPLETED.getValue())); @@ -115,10 +111,10 @@ public class SupplyDeliveryServiceImpl extends ServiceImpl supplyDeliveryIdList) { baseMapper.update( - new SupplyDelivery().setStatusEnum(DispenseStatus.COMPLETED.getValue()) - .setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()) - .setOccurrenceTime(DateUtils.getNowDate()).setReceiveTime(DateUtils.getNowDate()), - new LambdaUpdateWrapper().in(SupplyDelivery::getId, supplyDeliveryIdList)); + new SupplyDelivery().setStatusEnum(DispenseStatus.COMPLETED.getValue()) + .setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()) + .setOccurrenceTime(DateUtils.getNowDate()).setReceiveTime(DateUtils.getNowDate()), + new LambdaUpdateWrapper().in(SupplyDelivery::getId, supplyDeliveryIdList)); } /** @@ -130,7 +126,7 @@ public class SupplyDeliveryServiceImpl extends ServiceImpl selectByIdList(List deliveryIdList) { return baseMapper.selectList(new LambdaQueryWrapper().in(SupplyDelivery::getId, deliveryIdList) - .eq(SupplyDelivery::getDeleteFlag, DelFlag.YES.getCode())); + .eq(SupplyDelivery::getDeleteFlag, DelFlag.YES.getCode())); } /** @@ -142,7 +138,7 @@ public class SupplyDeliveryServiceImpl extends ServiceImpl selectByRequestIdList(List requestIdList) { return baseMapper.selectList(new LambdaQueryWrapper() - .in(SupplyDelivery::getRequestId, requestIdList).eq(SupplyDelivery::getDeleteFlag, DelFlag.NO.getCode())); + .in(SupplyDelivery::getRequestId, requestIdList).eq(SupplyDelivery::getDeleteFlag, DelFlag.NO.getCode())); } /** @@ -158,16 +154,12 @@ public class SupplyDeliveryServiceImpl extends ServiceImpl>>>>>> v1.3 + .setItemTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION).setLotNumber(lotNumber) + .setPatientId(patientId).setQuantity(minQuantity).setUnitCode(minUnitCode) + .setTypeEnum(SupplyType.SUMMARY_DISPENSE.getValue()).setRequestId(supplyRequestId) + .setStatusEnum(DispenseStatus.PREPARATION.getValue()).setReceiverId(receiverId)); } /** @@ -181,11 +173,11 @@ public class SupplyDeliveryServiceImpl extends ServiceImpl>>>>>> v1.3 import com.openhis.common.enums.SupplyCategory; import com.openhis.common.enums.SupplyStatus; import com.openhis.common.enums.SupplyType; @@ -42,7 +38,8 @@ import lombok.extern.slf4j.Slf4j; @Service @AllArgsConstructor public class SupplyRequestServiceImpl extends ServiceImpl - implements ISupplyRequestService { + implements ISupplyRequestService { + @Resource private SupplyRequestMapper supplyRequestMapper; @@ -55,8 +52,6 @@ public class SupplyRequestServiceImpl extends ServiceImpl getSupplyByBusNo(String busNo) { return baseMapper.selectList(new LambdaQueryWrapper().eq(SupplyRequest::getBusNo, busNo)); -<<<<<<< HEAD -======= } /** @@ -68,7 +63,6 @@ public class SupplyRequestServiceImpl extends ServiceImpl getSupplyByBusNoBatch(List busNoList) { return baseMapper.selectList(new LambdaQueryWrapper().in(SupplyRequest::getBusNo, busNoList)); ->>>>>>> v1.3 } /** @@ -80,7 +74,7 @@ public class SupplyRequestServiceImpl extends ServiceImpl getSupplyByOriginalBusNo(String originalBusNo) { return baseMapper - .selectList(new LambdaQueryWrapper().eq(SupplyRequest::getOriginalBusNo, originalBusNo)); + .selectList(new LambdaQueryWrapper().eq(SupplyRequest::getOriginalBusNo, originalBusNo)); } /** @@ -94,10 +88,10 @@ public class SupplyRequestServiceImpl extends ServiceImpl agreeRequest(String busNo, Date now) { // 更新单据状态 baseMapper.update(null, - new LambdaUpdateWrapper().eq(SupplyRequest::getBusNo, busNo) - .set(SupplyRequest::getApprovalTime, now) - .set(SupplyRequest::getApproverId, SecurityUtils.getLoginUser().getPractitionerId()) - .set(SupplyRequest::getStatusEnum, SupplyStatus.AGREE.getValue())); + new LambdaUpdateWrapper().eq(SupplyRequest::getBusNo, busNo) + .set(SupplyRequest::getApprovalTime, now) + .set(SupplyRequest::getApproverId, SecurityUtils.getLoginUser().getPractitionerId()) + .set(SupplyRequest::getStatusEnum, SupplyStatus.AGREE.getValue())); // 返回单据详情 return this.getSupplyByBusNo(busNo); } @@ -113,7 +107,7 @@ public class SupplyRequestServiceImpl extends ServiceImpl addOriginalBusNo(String busNo, String originalBusNo) { // 更新单据状态 baseMapper.update(null, new LambdaUpdateWrapper().eq(SupplyRequest::getBusNo, busNo) - .set(SupplyRequest::getOriginalBusNo, originalBusNo)); + .set(SupplyRequest::getOriginalBusNo, originalBusNo)); // 返回单据详情 return this.getSupplyByBusNo(busNo); } @@ -127,7 +121,7 @@ public class SupplyRequestServiceImpl extends ServiceImpl() - .eq(SupplyRequest::getBusNo, busNo).set(SupplyRequest::getOriginalBusNo, "")); + .eq(SupplyRequest::getBusNo, busNo).set(SupplyRequest::getOriginalBusNo, "")); return updateCount > 0; } @@ -139,9 +133,9 @@ public class SupplyRequestServiceImpl extends ServiceImpl().eq(SupplyRequest::getBusNo, busNo) - .set(SupplyRequest::getStatusEnum, SupplyStatus.EXPIRED_INVALIDATED.getValue())); + int updateCount + = baseMapper.update(null, new LambdaUpdateWrapper().eq(SupplyRequest::getBusNo, busNo) + .set(SupplyRequest::getStatusEnum, SupplyStatus.EXPIRED_INVALIDATED.getValue())); return updateCount > 0; } @@ -154,9 +148,9 @@ public class SupplyRequestServiceImpl extends ServiceImpl().eq(SupplyRequest::getBusNo, busNo) - .set(SupplyRequest::getApplyTime, DateUtils.getNowDate()) - .set(SupplyRequest::getStatusEnum, SupplyStatus.APPROVAL.getValue())); + new LambdaUpdateWrapper().eq(SupplyRequest::getBusNo, busNo) + .set(SupplyRequest::getApplyTime, DateUtils.getNowDate()) + .set(SupplyRequest::getStatusEnum, SupplyStatus.APPROVAL.getValue())); return updateCount > 0; } @@ -169,9 +163,9 @@ public class SupplyRequestServiceImpl extends ServiceImpl().eq(SupplyRequest::getBusNo, busNo) - .set(SupplyRequest::getApplyTime, DateUtils.getNowDate()) - .set(SupplyRequest::getStatusEnum, SupplyStatus.WITHDRAW.getValue())); + new LambdaUpdateWrapper().eq(SupplyRequest::getBusNo, busNo) + .set(SupplyRequest::getApplyTime, DateUtils.getNowDate()) + .set(SupplyRequest::getStatusEnum, SupplyStatus.WITHDRAW.getValue())); return updateCount > 0; } @@ -184,7 +178,7 @@ public class SupplyRequestServiceImpl extends ServiceImpl() - .eq(SupplyRequest::getBusNo, busNo).set(SupplyRequest::getDeleteFlag, DelFlag.YES.getCode())); + .eq(SupplyRequest::getBusNo, busNo).set(SupplyRequest::getDeleteFlag, DelFlag.YES.getCode())); return updateCount > 0; } @@ -197,10 +191,10 @@ public class SupplyRequestServiceImpl extends ServiceImpl().eq(SupplyRequest::getBusNo, busNo) - .set(SupplyRequest::getApprovalTime, DateUtils.getNowDate()) - .set(SupplyRequest::getApproverId, SecurityUtils.getLoginUser().getPractitionerId()) - .set(SupplyRequest::getStatusEnum, SupplyStatus.REJECT.getValue())); + new LambdaUpdateWrapper().eq(SupplyRequest::getBusNo, busNo) + .set(SupplyRequest::getApprovalTime, DateUtils.getNowDate()) + .set(SupplyRequest::getApproverId, SecurityUtils.getLoginUser().getPractitionerId()) + .set(SupplyRequest::getStatusEnum, SupplyStatus.REJECT.getValue())); return updateCount > 0; } @@ -235,8 +229,8 @@ public class SupplyRequestServiceImpl extends ServiceImpl requestList = - baseMapper.selectList(new LambdaQueryWrapper().eq(SupplyRequest::getBusNo, busNo)); + List requestList + = baseMapper.selectList(new LambdaQueryWrapper().eq(SupplyRequest::getBusNo, busNo)); if (!requestList.isEmpty()) { for (SupplyRequest supplyRequest : requestList) { if (SupplyStatus.AGREE.getValue().equals(supplyRequest.getStatusEnum())) { @@ -256,8 +250,8 @@ public class SupplyRequestServiceImpl extends ServiceImpl().eq(SupplyRequest::getItemId, itemId) - .eq(SupplyRequest::getDeleteFlag, DelFlag.NO.getCode()) - .in(SupplyRequest::getStatusEnum, SupplyStatus.APPROVAL.getValue(), SupplyStatus.AGREE.getValue())); + .eq(SupplyRequest::getDeleteFlag, DelFlag.NO.getCode()) + .in(SupplyRequest::getStatusEnum, SupplyStatus.APPROVAL.getValue(), SupplyStatus.AGREE.getValue())); } /** @@ -281,8 +275,8 @@ public class SupplyRequestServiceImpl extends ServiceImpl supplyRequestIdList) { baseMapper.update(new SupplyRequest().setStatusEnum(SupplyStatus.AGREE.getValue()) - .setApproverId(SecurityUtils.getLoginUser().getPractitionerId()).setApprovalTime(DateUtils.getNowDate()), - new LambdaUpdateWrapper().in(SupplyRequest::getId, supplyRequestIdList)); + .setApproverId(SecurityUtils.getLoginUser().getPractitionerId()).setApprovalTime(DateUtils.getNowDate()), + new LambdaUpdateWrapper().in(SupplyRequest::getId, supplyRequestIdList)); } /** @@ -294,7 +288,7 @@ public class SupplyRequestServiceImpl extends ServiceImpl selectByIdList(List requestIdList) { return baseMapper.selectList(new LambdaQueryWrapper().in(SupplyRequest::getId, requestIdList) - .eq(SupplyRequest::getDeleteFlag, DelFlag.NO.getCode())); + .eq(SupplyRequest::getDeleteFlag, DelFlag.NO.getCode())); } @Override @@ -317,13 +311,13 @@ public class SupplyRequestServiceImpl extends ServiceImpl cancelSummarySupplyRequest(List summaryNoList) { // 查询汇总发药单 - List supplyRequestList = - baseMapper.selectList(new LambdaQueryWrapper().in(SupplyRequest::getBusNo, summaryNoList) - .eq(SupplyRequest::getTypeEnum, SupplyType.SUMMARY_DISPENSE.getValue()) - .eq(SupplyRequest::getDeleteFlag, DelFlag.NO.getCode())); + List supplyRequestList + = baseMapper.selectList(new LambdaQueryWrapper().in(SupplyRequest::getBusNo, summaryNoList) + .eq(SupplyRequest::getTypeEnum, SupplyType.SUMMARY_DISPENSE.getValue()) + .eq(SupplyRequest::getDeleteFlag, DelFlag.NO.getCode())); // 软删除汇总发药单 baseMapper.delete(new LambdaQueryWrapper().in(SupplyRequest::getBusNo, summaryNoList) - .eq(SupplyRequest::getTypeEnum, SupplyType.SUMMARY_DISPENSE.getValue())); + .eq(SupplyRequest::getTypeEnum, SupplyType.SUMMARY_DISPENSE.getValue())); if (supplyRequestList != null && !supplyRequestList.isEmpty()) { return supplyRequestList.stream().map(SupplyRequest::getId).toList(); } @@ -419,4 +413,4 @@ public class SupplyRequestServiceImpl extends ServiceImpl searchGroupDataForBusNo(String busNo) { return this.supplyRequestMapper.searchGroupDataForBusNo(busNo); } -} \ No newline at end of file +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientDischargeService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientDischargeService.java index 24d16a43..886ae0a5 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientDischargeService.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientDischargeService.java @@ -8,21 +8,12 @@ import com.openhis.yb.domain.InpatientDischarge; import com.openhis.yb.domain.InpatientReg; /** -<<<<<<< HEAD - * TODO:请概括描述当前接口的主要用途和注意事项 -======= * 出院办理服务接口 ->>>>>>> v1.3 * * @author SunJQ * @date 2025-07-31 */ - public interface IInpatientDischargeService extends IService { - -<<<<<<< HEAD -======= InpatientDischarge getByMdtrtId(String mdtrtId); ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbDao.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbDao.java index f083c746..a8a0480a 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbDao.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbDao.java @@ -73,7 +73,10 @@ import com.openhis.yb.util.YbParamBuilderUtil; */ @Service public class YbDao { - /******************************** 业务服务 ***********************************/ + + /** + * ****************************** 业务服务 ********************************** + */ @Autowired private IPaymentRecDetailService iPaymentRecDetailService; @Autowired @@ -115,8 +118,9 @@ public class YbDao { @Autowired private MedicalInsuranceMapper medicalInsuranceMapper; - /****************************** 基础医保服务 *********************************/ - + /** + * **************************** 基础医保服务 ******************************** + */ @Autowired private IPerinfoService iPerinfoService; @Autowired @@ -183,7 +187,7 @@ public class YbDao { /** * 保存数据 - * + * * @param readcard 读卡信息 * @param perInfo 身份信息 */ @@ -203,7 +207,7 @@ public class YbDao { * @return 【2201】入参 */ public ClinicReg getReg(YbMdtrtCertType ybMdtrtCertTypeLong, String busiCardInfo, Long encounterId, - YbMedType medType, Integer tenantId) { + YbMedType medType, Integer tenantId) { return ybUtil.getReg(ybMdtrtCertTypeLong, busiCardInfo, encounterId, medType, tenantId); } @@ -215,24 +219,24 @@ public class YbDao { public void saveReg(ClinicReg2201Output regResult) { ClinicReg clinicReg = new ClinicReg(); BeanUtils.copyProperties(regResult, clinicReg); - InfoPerson one = - iPerinfoService.getOne(new LambdaQueryWrapper().eq(InfoPerson::getPsnNo, regResult.getPsnNo()) - .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); + InfoPerson one + = iPerinfoService.getOne(new LambdaQueryWrapper().eq(InfoPerson::getPsnNo, regResult.getPsnNo()) + .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); clinicReg.setInsuplcAdmdvs(one.getInsuplcAdmdvs()).setDeleteFlag(DelFlag.NO.getCode()); iRegService.save(clinicReg); } /** * 退号变更挂号状态 - * + * * @param regResult */ public void UpdateRegByMdtrtId(ClinicReg regResult) { if (StringUtils.isEmpty(regResult.getMdtrtId())) { throw new ServiceException("医保挂号编号为空"); } - ClinicReg one = - iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, regResult.getMdtrtId())); + ClinicReg one + = iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, regResult.getMdtrtId())); if (one == null) { throw new ServiceException("查询医保信息为空"); } @@ -247,7 +251,7 @@ public class YbDao { * @return 【2203】就诊信息 */ public Clinic2203MedicalParam getClinicMedical2203Param(Long encounterId, Integer tenantId, - ClinicReg2201Output reg2201Output, YbMedType ybMedType) { + ClinicReg2201Output reg2201Output, YbMedType ybMedType) { return ybUtil.getClinicMedical2203Param(encounterId, tenantId, reg2201Output, ybMedType); } @@ -258,9 +262,8 @@ public class YbDao { * @param paymentedItemList 收费项id集合 * @return 【2204】参数 */ - public Clinic2204OrderParam getClinicOrder2204Param(Integer tenantId, List paymentedItemList, - ClinicReg2201Output reg2201Output) { + ClinicReg2201Output reg2201Output) { return ybUtil.getClinicOrder2204Param(tenantId, paymentedItemList, reg2201Output); } @@ -272,7 +275,7 @@ public class YbDao { * @return 【2206】预结算 */ public Clinic2206OrderParam getClinicOrder2206Param(BigDecimal payFee, ClinicReg2201Output reg, String chrgBchno, - String busiCardInfo) { + String busiCardInfo) { return ybUtil.getClinicOrder2206Param(payFee, reg, chrgBchno, busiCardInfo); } @@ -297,54 +300,54 @@ public class YbDao { * @return 【2207】结算 */ public Clinic2207OrderParam getClinicOrder2207(Long encounterId, Integer tenantId, String psnSetlWay, - String chrgBchno, String medType) { + String chrgBchno, String medType) { return ybUtil.getClinicOrder2207(encounterId, tenantId, psnSetlWay, chrgBchno, medType); } /** * 保存数据 - * + * * @param paymentNo 首款业务流水号 * @param clinicOrder2207 2207入参 * @param clinic2207OrderResult 2207出参 */ public void saveClinic2207OrderResult(String paymentNo, Clinic2207OrderParam clinicOrder2207, - Clinic2207OrderModel clinic2207OrderResult) { + Clinic2207OrderModel clinic2207OrderResult) { // 保存结算信息 ClinicSettle clinicSettle = new ClinicSettle(); BeanUtils.copyProperties(clinic2207OrderResult, clinicSettle); clinicSettle.setParam2207(JSON.toJSONString(clinicOrder2207)) - .setResult2207(JSON.toJSONString(clinic2207OrderResult)); + .setResult2207(JSON.toJSONString(clinic2207OrderResult)); iClinicSettleService.save(clinicSettle); } /** * 保存数据 - * + * * @param settleId 医保结算id * @param clinicOrder2207 2207入参 * @param clinic2207OrderResult 2207出参 */ public void saveUnSettleRecord(String settleId, Clinic2208UnSetlInfoParam clinicOrder2207, - Clinic2208UnSetlInfoOutput clinic2207OrderResult) { + Clinic2208UnSetlInfoOutput clinic2207OrderResult) { ClinicUnSettle clinicSettle = new ClinicUnSettle(); BeanUtils.copyProperties(clinic2207OrderResult, clinicSettle); clinicSettle.setParam2208(JSON.toJSONString(clinicOrder2207)) - .setResult2208(JSON.toJSONString(clinic2207OrderResult)).setSettleId(clinic2207OrderResult.getSetlId()); + .setResult2208(JSON.toJSONString(clinic2207OrderResult)).setSettleId(clinic2207OrderResult.getSetlId()); // 保存结算信息 iClinicUnSettleService.save(clinicSettle); } /** * 反结 - * + * * @param paymentReconciliation 付款实体 */ private void saveUnPaymentDetail(PaymentReconciliation paymentReconciliation) { - List paymentRecDetails = - iPaymentRecDetailService.list(new LambdaQueryWrapper() - .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); + List paymentRecDetails + = iPaymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId())); // 新增详情信息 PaymentRecDetail paymentRecDetail; List addDetailList = new ArrayList<>(); @@ -370,13 +373,13 @@ public class YbDao { /** * 根据医保2207结果和前台参数添加结算记录 - * + * * @param clinicOrder2207Result * @param payment * @param paymentDetails */ private void saveBy2207Result(Clinic2207OrderResult clinicOrder2207Result, PaymentReconciliation payment, - List paymentDetails) { + List paymentDetails) { // 保存付款详情 List paymentRecDetails = new ArrayList<>(); BigDecimal amount = BigDecimal.ZERO; @@ -388,27 +391,27 @@ public class YbDao { paymentRecDetail = new PaymentRecDetail(); if (YbPayment.SELF_CASH_VX_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_CASH_VX_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_VX_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_VX_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_CASH_VX_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); } if (YbPayment.SELF_CASH_ALI_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_CASH_ALI_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_ALI_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_ALI_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_CASH_ALI_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); } if (YbPayment.SELF_CASH_UNION_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_CASH_UNION_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_UNION_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_UNION_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_CASH_UNION_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); } if (YbPayment.SELF_CASH_VALUE.getValue().equals(paymentDetail.getPayEnum())) { paymentRecDetail.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_CASH_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()).setAmount(paymentDetail.getAmount()) + .setResultEnum(PaymentResult.PAID.getValue()); } paymentRecDetails.add(paymentRecDetail); amount = amount.add(paymentDetail.getAmount()); @@ -420,103 +423,103 @@ public class YbDao { } PaymentRecDetail paymentRecDetail10 = new PaymentRecDetail(); paymentRecDetail10.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_CASH_VALUE.getValue()).setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()) - .setAmount(psnCashPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_CASH_VALUE.getValue()).setPayLevelEnum(YbPayment.SELF_CASH_VALUE.getLevel()) + .setAmount(psnCashPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail10); // 个人负担总金额 BigDecimal psnPartAmt = clinicOrder2207Result.getPsnPartAmt(); PaymentRecDetail paymentRecDetail1 = new PaymentRecDetail(); paymentRecDetail1.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_PAY.getLevel()) - .setAmount(psnPartAmt).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_PAY.getLevel()) + .setAmount(psnPartAmt).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail1); // 基本医疗保险统筹基金支出 BigDecimal hifpPay = clinicOrder2207Result.getHifpPay(); PaymentRecDetail paymentRecDetail2 = new PaymentRecDetail(); paymentRecDetail2.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()) - .setAmount(hifpPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()) + .setAmount(hifpPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail2); // 公务员医疗补助资金支出 BigDecimal cvlservPay = clinicOrder2207Result.getCvlservPay(); PaymentRecDetail paymentRecDetail3 = new PaymentRecDetail(); paymentRecDetail3.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail3); // 企业补充医疗保险基金支出 BigDecimal hifesPay = clinicOrder2207Result.getHifesPay(); PaymentRecDetail paymentRecDetail4 = new PaymentRecDetail(); paymentRecDetail4.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()) - .setAmount(hifesPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()) + .setAmount(hifesPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail4); // 居民大病保险资金支出 BigDecimal hifmiPay = clinicOrder2207Result.getHifmiPay(); PaymentRecDetail paymentRecDetail5 = new PaymentRecDetail(); paymentRecDetail5.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()).setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()) - .setAmount(hifmiPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()).setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()) + .setAmount(hifmiPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail5); // 职工大额医疗费用补助基金支出 BigDecimal hifobPay = clinicOrder2207Result.getHifobPay(); PaymentRecDetail paymentRecDetail6 = new PaymentRecDetail(); paymentRecDetail6.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail5); // 职工大额医疗费用补助基金支出 BigDecimal mafPay = clinicOrder2207Result.getMafPay(); PaymentRecDetail paymentRecDetail7 = new PaymentRecDetail(); paymentRecDetail7.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()) - .setAmount(mafPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()) + .setAmount(mafPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail7); // 其他支出 BigDecimal othPay = clinicOrder2207Result.getOthPay(); PaymentRecDetail paymentRecDetail8 = new PaymentRecDetail(); paymentRecDetail8.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) - .setAmount(othPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) + .setAmount(othPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail8); // 基金支付总额 BigDecimal fundPaySumamt = clinicOrder2207Result.getFundPaySumamt(); PaymentRecDetail paymentRecDetail9 = new PaymentRecDetail(); paymentRecDetail9.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_FUND_PAY.getValue()).setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()) - .setAmount(fundPaySumamt).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_FUND_PAY.getValue()).setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()) + .setAmount(fundPaySumamt).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail9); // 个人账户支出 BigDecimal acctPay = clinicOrder2207Result.getAcctPay(); PaymentRecDetail paymentRecDetail11 = new PaymentRecDetail(); paymentRecDetail11.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()) - .setAmount(acctPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()) + .setAmount(acctPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail11); // 医院负担金额 BigDecimal hospPartAmt = clinicOrder2207Result.getHospPartAmt(); PaymentRecDetail paymentRecDetail12 = new PaymentRecDetail(); paymentRecDetail12.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) - .setAmount(hospPartAmt).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) + .setAmount(hospPartAmt).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail12); // 个人账户共济支付金额 BigDecimal acctMulaidPay = clinicOrder2207Result.getAcctMulaidPay(); PaymentRecDetail paymentRecDetail13 = new PaymentRecDetail(); paymentRecDetail13.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail13); for (Clinic2206FundPaymentResult clinic2206FundPaymentResult : clinicOrder2207Result.getSetldetail()) { PaymentRecDetail detail = new PaymentRecDetail(); YbPayment ybPayment = YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); detail.setReconciliationId(payment.getId()).setAccountCode(AccountEnum).setPayEnum(ybPayment.getValue()) - .setPayLevelEnum(ybPayment.getLevel()) - .setAmount(new BigDecimal(clinic2206FundPaymentResult.getFundPayamt().toString())) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayLevelEnum(ybPayment.getLevel()) + .setAmount(new BigDecimal(clinic2206FundPaymentResult.getFundPayamt().toString())) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(detail); } @@ -530,7 +533,7 @@ public class YbDao { * @param paymentDetails */ private void saveBy2208Result(Clinic2208UnSetlInfoResult clinic2208UnSetlInfoResult, PaymentReconciliation payment, - List paymentDetails) { + List paymentDetails) { // 保存付款详情 todo:医保反结是否是负数 ArrayList paymentRecDetails = new ArrayList<>(); BigDecimal amount = BigDecimal.ZERO; @@ -548,96 +551,96 @@ public class YbDao { BigDecimal psnPartAmt = clinic2208UnSetlInfoResult.getPsnPartAmt(); PaymentRecDetail paymentRecDetail1 = new PaymentRecDetail(); paymentRecDetail1.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_PAY.getLevel()) - .setAmount(psnPartAmt).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_PAY.getLevel()) + .setAmount(psnPartAmt).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail1); // 基本医疗保险统筹基金支出 BigDecimal hifpPay = clinic2208UnSetlInfoResult.getHifpPay(); PaymentRecDetail paymentRecDetail2 = new PaymentRecDetail(); paymentRecDetail2.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()) - .setAmount(hifpPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_TC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_TC_FUND_AMOUNT.getLevel()) + .setAmount(hifpPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail2); // 公务员医疗补助资金支出 BigDecimal cvlservPay = clinic2208UnSetlInfoResult.getCvlservPay(); PaymentRecDetail paymentRecDetail3 = new PaymentRecDetail(); paymentRecDetail3.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.YB_BC_GWY_BZ_VALUE.getLevel()).setAmount(cvlservPay) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail3); // 企业补充医疗保险基金支出 BigDecimal hifesPay = clinic2208UnSetlInfoResult.getHifesPay(); PaymentRecDetail paymentRecDetail4 = new PaymentRecDetail(); paymentRecDetail4.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()) - .setAmount(hifesPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_BC_FUND_AMOUNT.getLevel()) + .setAmount(hifesPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail4); // 居民大病保险资金支出 BigDecimal hifmiPay = clinic2208UnSetlInfoResult.getHifmiPay(); PaymentRecDetail paymentRecDetail5 = new PaymentRecDetail(); paymentRecDetail5.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()).setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()) - .setAmount(hifmiPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_JM_DB_VALUE.getValue()).setPayLevelEnum(YbPayment.YB_BC_JM_DB_VALUE.getLevel()) + .setAmount(hifmiPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail5); // 职工大额医疗费用补助基金支出 BigDecimal hifobPay = clinic2208UnSetlInfoResult.getHifobPay(); PaymentRecDetail paymentRecDetail6 = new PaymentRecDetail(); paymentRecDetail6.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.YB_BC_ZG_DE_BZ_VALUE.getLevel()).setAmount(hifobPay) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail5); // 职工大额医疗费用补助基金支出 BigDecimal mafPay = clinic2208UnSetlInfoResult.getMafPay(); PaymentRecDetail paymentRecDetail7 = new PaymentRecDetail(); paymentRecDetail7.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()) - .setAmount(mafPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_JZ_FUND_AMOUNT.getValue()).setPayLevelEnum(YbPayment.YB_JZ_FUND_AMOUNT.getLevel()) + .setAmount(mafPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail7); // 其他支出 BigDecimal othPay = clinic2208UnSetlInfoResult.getOthPay(); PaymentRecDetail paymentRecDetail8 = new PaymentRecDetail(); paymentRecDetail8.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) - .setAmount(othPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) + .setAmount(othPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail8); // 基金支付总额 BigDecimal fundPaySumamt = clinic2208UnSetlInfoResult.getFundPaySumamt(); PaymentRecDetail paymentRecDetail9 = new PaymentRecDetail(); paymentRecDetail9.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.YB_FUND_PAY.getValue()).setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()) - .setAmount(fundPaySumamt).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.YB_FUND_PAY.getValue()).setPayLevelEnum(YbPayment.YB_FUND_PAY.getLevel()) + .setAmount(fundPaySumamt).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail9); // 个人账户支出 BigDecimal acctPay = clinic2208UnSetlInfoResult.getAcctPay(); PaymentRecDetail paymentRecDetail11 = new PaymentRecDetail(); paymentRecDetail11.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()) - .setAmount(acctPay).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_YB_ZH_PAY.getValue()).setPayLevelEnum(YbPayment.SELF_YB_ZH_PAY.getLevel()) + .setAmount(acctPay).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail11); // 医院负担金额 BigDecimal hospPartAmt = clinic2208UnSetlInfoResult.getHospPartAmt(); PaymentRecDetail paymentRecDetail12 = new PaymentRecDetail(); paymentRecDetail12.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) - .setAmount(hospPartAmt).setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.OTHER_PAY.getValue()).setPayLevelEnum(YbPayment.OTHER_PAY.getLevel()) + .setAmount(hospPartAmt).setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail12); // 个人账户共济支付金额 BigDecimal acctMulaidPay = clinic2208UnSetlInfoResult.getAcctMulaidPay(); PaymentRecDetail paymentRecDetail13 = new PaymentRecDetail(); paymentRecDetail13.setReconciliationId(payment.getId()).setAccountCode(AccountEnum) - .setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) - .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getValue()) + .setPayLevelEnum(YbPayment.SELF_YB_ZH_GJ_VALUE.getLevel()).setAmount(acctMulaidPay) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(paymentRecDetail13); for (Clinic2206FundPaymentResult clinic2206FundPaymentResult : clinic2208UnSetlInfoResult.getSetldetail()) { PaymentRecDetail detail = new PaymentRecDetail(); YbPayment ybPayment = YbPayment.getByValue(Integer.parseInt(clinic2206FundPaymentResult.getFundPayType())); detail.setReconciliationId(payment.getId()).setAccountCode(AccountEnum).setPayEnum(ybPayment.getValue()) - .setPayLevelEnum(ybPayment.getLevel()) - .setAmount(new BigDecimal(clinic2206FundPaymentResult.getFundPayamt().toString())) - .setResultEnum(PaymentResult.PAID.getValue()); + .setPayLevelEnum(ybPayment.getLevel()) + .setAmount(new BigDecimal(clinic2206FundPaymentResult.getFundPayamt().toString())) + .setResultEnum(PaymentResult.PAID.getValue()); paymentRecDetails.add(detail); } @@ -645,7 +648,7 @@ public class YbDao { /** * 保存预结算接口的记录信息 - * + * * @param clinic2206OrderParam 2206医保入参 * @param clinic2206OrderResult 2206医保输出 * @param clinic2203MedicalParam 2203医保入参 @@ -653,18 +656,18 @@ public class YbDao { * @param clinic2204OrderResult 2204医保输出 */ public void saveClinicOrder2206Param(Clinic2206OrderParam clinic2206OrderParam, - Clinic2206OrderOutput clinic2206OrderResult, Clinic2203MedicalParam clinic2203MedicalParam, - Clinic2204OrderParam clinic2204OrderParam, Clinic2204OrderResult clinic2204OrderResult) { + Clinic2206OrderOutput clinic2206OrderResult, Clinic2203MedicalParam clinic2203MedicalParam, + Clinic2204OrderParam clinic2204OrderParam, Clinic2204OrderResult clinic2204OrderResult) { ClinicPreSettle clinicPreSettle = new ClinicPreSettle(); BeanUtils.copyProperties(clinic2204OrderParam, clinicPreSettle); BeanUtils.copyProperties(clinic2206OrderResult, clinicPreSettle); clinicPreSettle.setParam2203(JSON.toJSONString(clinic2203MedicalParam)) - .setParam2204(JSON.toJSONString(clinic2204OrderParam)).setParam2206(JSON.toJSONString(clinic2206OrderParam)) - .setResult2204(JSON.toJSONString(clinic2204OrderResult)) - .setResult2206(JSON.toJSONString(clinic2206OrderResult)).setChrgBchno(clinic2206OrderParam.getChrgBchno()) - .setMdtrtId(clinic2206OrderParam.getMdtrtId()).setPsnNo(clinic2206OrderParam.getPsnNo()) - .setDeleteFlag(DelFlag.NO.getCode()); + .setParam2204(JSON.toJSONString(clinic2204OrderParam)).setParam2206(JSON.toJSONString(clinic2206OrderParam)) + .setResult2204(JSON.toJSONString(clinic2204OrderResult)) + .setResult2206(JSON.toJSONString(clinic2206OrderResult)).setChrgBchno(clinic2206OrderParam.getChrgBchno()) + .setMdtrtId(clinic2206OrderParam.getMdtrtId()).setPsnNo(clinic2206OrderParam.getPsnNo()) + .setDeleteFlag(DelFlag.NO.getCode()); iClinicPreSettleService.save(clinicPreSettle); } @@ -708,7 +711,7 @@ public class YbDao { /** * 【3301】目录对照 - * + * * @param tableName 表名 * @param id 主键 * @return 【3301】入参 @@ -727,13 +730,13 @@ public class YbDao { * @return 医保目录对照参数 */ public MedicalDirectory3301Param getMedicalDirectory3301ParamMedication(String categoryCode, String busNo, - String name, String ybNo) { + String name, String ybNo) { return ybUtil.getMedicalDirectory3301ParamMedication(categoryCode, busNo, name, ybNo); } /** * 【3302】目录对照撤销 - * + * * @param tableName 表名 * @param id 主键 * @return @@ -751,13 +754,13 @@ public class YbDao { * @return 医保目录对照撤销参数 */ public MedicalDirectory3302Param getMedicalDirectory3302ParamMedication(String categoryCode, String busNo, - String ybNo) { + String ybNo) { return ybUtil.getMedicalDirectory3302ParamMedication(categoryCode, busNo, ybNo); } /** * 【3201】医药机构费用结算对总账 - * + * * @param reconciliation3201Param 参数信息 * @return 入参 */ @@ -777,11 +780,11 @@ public class YbDao { throw new ServiceException("请选择合同类型"); } Settlement3201DetailDto settlement3201DetailDto = null; - List settlement3201DetailDtos = - this.reconcileGeneralLedgerDetail(reconciliation3201Param); + List settlement3201DetailDtos + = this.reconcileGeneralLedgerDetail(reconciliation3201Param); for (Settlement3201DetailDto item : settlement3201DetailDtos) { if (contractNo.equals(item.getContractNo()) && insuType.equals(item.getInsutype().toString()) - && clrType.equals(item.getClrType())) { + && clrType.equals(item.getClrType())) { settlement3201DetailDto = item; } } @@ -793,35 +796,35 @@ public class YbDao { /** * 保存记录 - * + * * @param tableName 表名 * @param id 主键id * @param s 类型 3301/3302 * @param medicalDirectory3301Param 参数信息 */ public void saveDirectoryHistory(String tableName, Long id, Integer s, - MedicalDirectory3301Param medicalDirectory3301Param) { + MedicalDirectory3301Param medicalDirectory3301Param) { Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); DirectoryCheckRecord directoryCheckRecord = new DirectoryCheckRecord(); directoryCheckRecord.setTableName(tableName).setTableId(id).setOrgId(hospitalId).setType(s) - .setParam(JSON.toJSONString(medicalDirectory3301Param)); + .setParam(JSON.toJSONString(medicalDirectory3301Param)); directoryCheckRecordService.save(directoryCheckRecord); } /** * 保存记录 - * + * * @param tableName 表名 * @param id 主键id * @param s 类型 3301/3302 * @param medicalDirectory3302Param 参数信息 */ public void saveDirectoryHistory(String tableName, Long id, Integer s, - MedicalDirectory3302Param medicalDirectory3302Param) { + MedicalDirectory3302Param medicalDirectory3302Param) { Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); DirectoryCheckRecord directoryCheckRecord = new DirectoryCheckRecord(); directoryCheckRecord.setTableName(tableName).setTableId(id).setOrgId(hospitalId).setType(s) - .setParam(JSON.toJSONString(medicalDirectory3302Param)); + .setParam(JSON.toJSONString(medicalDirectory3302Param)); directoryCheckRecordService.save(directoryCheckRecord); } @@ -838,17 +841,17 @@ public class YbDao { } Sign sign = new Sign(); sign.setOpterNo(practitioner.getBusNo()).setMac(mac.replace(" ", "+")).setIp(ip) - .setOpterNo(String.valueOf(practitioner.getId())); + .setOpterNo(String.valueOf(practitioner.getId())); return sign; } /** * 保存3201的信息 - * + * * @param financial3201Output 对账结果信息 */ public void saveReconcileGeneralLedger(Financial3201Output financial3201Output, - Financial3201Param financial3201Param) { + Financial3201Param financial3201Param) { FinancialReconcileRecord financialReconcileRecord = new FinancialReconcileRecord(); BeanUtils.copyProperties(financial3201Output, financialReconcileRecord); financialReconcileRecord.setParam(JSON.toJSONString(financial3201Output)); @@ -865,7 +868,7 @@ public class YbDao { /** * 【3202】明细对账 - * + * * @param settlement3202WebParam 前台参数 * @return 3202参数 */ @@ -875,31 +878,31 @@ public class YbDao { /** * 【3209A】查询跨省三方对账未成功数据(吉林省) - * + * * @param settlement3209AWebParam 前台参数 * @return 结果 */ public FinancialSettlement3209AParam - getFinancialSettlement3209AParam(Settlement3209AWebParam settlement3209AWebParam) { + getFinancialSettlement3209AParam(Settlement3209AWebParam settlement3209AWebParam) { return ybUtil.getFinancialSettlement3209AParam(settlement3209AWebParam); } /** * 【3203A】清算申请(吉林省) - * + * * @param financial3203AWebParam 前台参数 * @return 结果 */ public Financial3203AParam getFinancial3203AParam(Financial3203AWebParam financial3203AWebParam) { // 查询3202的所有实体记录 - List financial3202FileParams = - paymentCompareYbSettle(financial3203AWebParam.getSettlementIdList()); + List financial3202FileParams + = paymentCompareYbSettle(financial3203AWebParam.getSettlementIdList()); // 处理赋值 Financial3203AParam busMonthSetlApply = getInitFinancial3203AParam(financial3202FileParams); // 时间处理 getFinancial3203AParamForTime(busMonthSetlApply, - DateUtils.parseDateToStr("yyyy-MM-dd hh:mm:ss:", financial3203AWebParam.getStmtBegnDate()), - DateUtils.parseDateToStr("yyyy-MM-dd hh:mm:ss:", financial3203AWebParam.getStmtEndDate())); + DateUtils.parseDateToStr("yyyy-MM-dd hh:mm:ss:", financial3203AWebParam.getStmtBegnDate()), + DateUtils.parseDateToStr("yyyy-MM-dd hh:mm:ss:", financial3203AWebParam.getStmtEndDate())); // 将 Date 转换为 LocalDate(Java 8+) // LocalDate begnLocalDate = financial3203AWebParam.getStmtBegnDate().toInstant() // .atZone(ZoneId.systemDefault()) @@ -912,13 +915,12 @@ public class YbDao { // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // String begnDateStr = begnLocalDate.format(formatter); // String endDateStr = endLocalDate.format(formatter); - // Financial3203AParam busMonthSetlApply = new Financial3203AParam(); // 赋值 busMonthSetlApply.setClrType(financial3203AWebParam.getClrType()) - // .setBegndate(DateUtils.dateTime("yyyy-MM-dd", begnDateStr)) - // .setEnddate(DateUtils.dateTime("yyyy-MM-dd", endDateStr)) - .setClrOptins(financial3203AWebParam.getClrOptins()); + // .setBegndate(DateUtils.dateTime("yyyy-MM-dd", begnDateStr)) + // .setEnddate(DateUtils.dateTime("yyyy-MM-dd", endDateStr)) + .setClrOptins(financial3203AWebParam.getClrOptins()); return busMonthSetlApply; } @@ -933,7 +935,7 @@ public class YbDao { * @return */ public Financial3203AParam getFinancial3203AParam(List financial3202FileParams, - String beginTime, String endTime, String clrType, String clrOptins) { + String beginTime, String endTime, String clrType, String clrOptins) { if (financial3202FileParams.isEmpty()) { throw new ServiceException("无医保结算数据"); } @@ -953,7 +955,7 @@ public class YbDao { * @return */ public Financial3203AParam getFinancial3203AParamForTime(Financial3203AParam financial3203AParam, - @NotNull String beginTime, @NotNull String endTime) { + @NotNull String beginTime, @NotNull String endTime) { // 定义日期时间格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); @@ -974,7 +976,7 @@ public class YbDao { // Financial3203AParam busMonthSetlApply = new Financial3203AParam(); // 再赋值 financial3203AParam.setBegndate(DateUtils.dateTime("yyyy-MM-dd", begnDateStr)) - .setEnddate(DateUtils.dateTime("yyyy-MM-dd", endDateStr)); + .setEnddate(DateUtils.dateTime("yyyy-MM-dd", endDateStr)); return financial3203AParam; } @@ -1003,7 +1005,7 @@ public class YbDao { // 赋值 Financial3203AParam busMonthSetlApply = new Financial3203AParam(); busMonthSetlApply.setMedfeeSumamt(medfeeSumamt).setMedSumfee(medSumfee).setCashPayamt(cashPay) - .setAcctPay(acctPay); + .setAcctPay(acctPay); // .setClrType(financial3203AWebParam.getClrType()) // .setClrOptins(financial3203AWebParam.getClrOptins()) // .setBegndate(DateUtils.dateTime("yyyy-MM-dd", begnDateStr)) @@ -1013,7 +1015,7 @@ public class YbDao { /** * 【3205A】清算申请状态查询(吉林省) - * + * * @param clearing3205AWebParma 前台参数 * @return 结果 */ @@ -1023,7 +1025,7 @@ public class YbDao { /** * 【3501】商品盘存上传 - * + * * @param id 供应申请id * @param talentId 租户id * @return 结果 @@ -1034,7 +1036,7 @@ public class YbDao { /** * 【3502】库存信息变更 - * + * * @param id 供应链发放id * @param invChgType 变更类型 参考枚举 * @param talentId 租户id @@ -1046,7 +1048,7 @@ public class YbDao { /** * 【3503】商品采购 - * + * * @param id 供应发放id * @param talentId 租户id * @return 结果 @@ -1103,7 +1105,7 @@ public class YbDao { /** * 保存清算申请参数 - * + * * @param financial3203AParam 3203A入参 * @param s 一包返回结果 */ @@ -1111,27 +1113,26 @@ public class YbDao { FinancialApplyRecord financialApplyRecord = new FinancialApplyRecord(); BeanUtils.copyProperties(financial3203AParam, financialApplyRecord); financialApplyRecord.setParam(JSON.toJSONString(financial3203AParam)).setOutResult(s) - .setPraId(SecurityUtils.getLoginUser().getPractitionerId()).setStatus("0"); + .setPraId(SecurityUtils.getLoginUser().getPractitionerId()).setStatus("0"); iFinancialApplyRecordService.save(financialApplyRecord); } /** * 清算申请撤销 - * + * * @param clrAppyEvtId 时间id * @param clrOptins 清算机构 */ public void save3204AFinancialClearingApplycation(String clrAppyEvtId, String clrOptins) { iFinancialApplyRecordService.update(new FinancialApplyRecord().setStatus("1"), - new LambdaUpdateWrapper().eq(FinancialApplyRecord::getOutResult, clrAppyEvtId)); + new LambdaUpdateWrapper().eq(FinancialApplyRecord::getOutResult, clrAppyEvtId)); } /** * 保存数据 - * + * * @param medicalInventory3501Param 3501参数 */ - public void saveInventoryCheckRecord(MedicalInventory3501Param medicalInventory3501Param, String resultMessage) { InventoryCheckRecord inventoryCheckRecord = new InventoryCheckRecord(); BeanUtils.copyProperties(medicalInventory3501Param, inventoryCheckRecord); @@ -1142,7 +1143,7 @@ public class YbDao { /** * 保存数据 - * + * * @param medical3507Param 3507参数 */ public void saveInventoryDelRecord(Medical3507Param medical3507Param) { @@ -1154,7 +1155,7 @@ public class YbDao { /** * 保存数据 - * + * * @param medical3506Param 3506参数 */ public void saveInventorySaleReturnRecord(Medical3506Param medical3506Param, String retRslt) { @@ -1167,7 +1168,7 @@ public class YbDao { /** * 保存数据 - * + * * @param medical3505Param 3505参数 */ public void saveInventorySaleRecord(Medical3505Param medical3505Param, String retRslt) { @@ -1181,11 +1182,11 @@ public class YbDao { /** * 保存数据 - * + * * @param medicalPurchase3504Param 3504参数 */ public void saveInventoryPurchaseReturnRecord(MedicalPurchase3504Param medicalPurchase3504Param, - String resultMessage) { + String resultMessage) { InventoryPurchaseReturnRecord inventoryPurchaseReturnRecord = new InventoryPurchaseReturnRecord(); BeanUtils.copyProperties(medicalPurchase3504Param, inventoryPurchaseReturnRecord); inventoryPurchaseReturnRecord.setParam(JSON.toJSONString(medicalPurchase3504Param)); @@ -1195,7 +1196,7 @@ public class YbDao { /** * 保存数据 - * + * * @param medical3503Param 3503参数 */ public void saveInventoryPurchaseRecord(Medical3503Param medical3503Param, String resultMessage) { @@ -1208,7 +1209,7 @@ public class YbDao { /** * 保存数据 - * + * * @param medicalInventory3502Param 3502参数 */ public void saveInventoryChangeRecord(MedicalInventory3502Param medicalInventory3502Param, String resultMessage) { @@ -1227,11 +1228,11 @@ public class YbDao { * @param clinic2206OrderResult */ public void saveClinic2207Record(String paymentNo, Clinic2207OrderParam clinicOrder2207, - Clinic2207OrderModel clinic2206OrderResult) { + Clinic2207OrderModel clinic2206OrderResult) { ClinicSettle clinicSettle = new ClinicSettle(); BeanUtils.copyProperties(clinic2206OrderResult, clinicSettle); clinicSettle.setParam2207(JSON.toJSONString(clinicOrder2207)) - .setResult2207(JSON.toJSONString(clinic2206OrderResult)).setPaymentNo(paymentNo); + .setResult2207(JSON.toJSONString(clinic2206OrderResult)).setPaymentNo(paymentNo); iClinicSettleService.save(clinicSettle); } @@ -1245,14 +1246,14 @@ public class YbDao { ClinicSettle clinicSettle = new ClinicSettle(); BeanUtils.copyProperties(clinic2206OrderResult, clinicSettle); clinicSettle.setParam2207(JSON.toJSONString(clinicOrder2207)) - .setResult2207(JSON.toJSONString(clinic2206OrderResult)); + .setResult2207(JSON.toJSONString(clinic2206OrderResult)); iClinicSettleService.save(clinicSettle); } public PatientInfoDto getPatent(Info1101Output perInfo) { // 查患者信息 - Patient patient = - iPatientService.getOne(new LambdaQueryWrapper().eq(Patient::getIdCard, perInfo.getCertno()).last(YbCommonConstants.sqlConst.LIMIT1)); + Patient patient + = iPatientService.getOne(new LambdaQueryWrapper().eq(Patient::getIdCard, perInfo.getCertno()).last(YbCommonConstants.sqlConst.LIMIT1)); if (patient == null) { patient = new Patient(); // 处理性别字段 @@ -1271,8 +1272,8 @@ public class YbDao { } // 新建患者 patient.setIdCard(perInfo.getCertno()).setName(perInfo.getPsnName()) - .setGenderEnum(administrativeGender.getValue()).setActiveFlag(0).setTempFlag(0) - .setOrganizationId(SecurityUtils.getLoginUser().getOrgId()).setBirthDate(perInfo.getBrdy()); + .setGenderEnum(administrativeGender.getValue()).setActiveFlag(0).setTempFlag(0) + .setOrganizationId(SecurityUtils.getLoginUser().getOrgId()).setBirthDate(perInfo.getBrdy()); iPatientService.savePatient(patient); } // 赋值 @@ -1280,7 +1281,7 @@ public class YbDao { BeanUtils.copyProperties(patient, patientInfoDto); // 查合同 2025/05/23 弃用,费用性质固定,如农大只有省医保,费用性质只显示省医保和自费即可,由@GetMapping(value = "/contract-list")接口提供数据 Contract contract = iContractService - .getOne(new LambdaQueryWrapper().eq(Contract::getAdmVs, perInfo.getInsuplcAdmdvs())); + .getOne(new LambdaQueryWrapper().eq(Contract::getAdmVs, perInfo.getInsuplcAdmdvs())); if (contract != null) { // BeanUtils.copyProperties(contract, patientInfoDto); patientInfoDto.setContractBusNo(contract.getBusNo()); @@ -1297,13 +1298,13 @@ public class YbDao { throw new ServiceException("查询不到就诊信息"); } - ClinicReg one = - iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, encounter.getBusNo())); + ClinicReg one + = iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, encounter.getBusNo())); if (one == null) { throw new ServiceException("查询不到医保挂号信息"); } ClinicReg clinicReg = new ClinicReg().setPsnNo(one.getPsnNo()).setMdtrtId(one.getMdtrtId()) - .setIptOtpNo(encounter.getBusNo()).setInsuplcAdmdvs(one.getInsuplcAdmdvs()); + .setIptOtpNo(encounter.getBusNo()).setInsuplcAdmdvs(one.getInsuplcAdmdvs()); if (clinicReg == null) { throw new ServiceException("未生成2202参数"); } @@ -1348,22 +1349,22 @@ public class YbDao { } } // 查询该段时间内的payment - List paymentReconciliations = - iPaymentReconciliationService.list(new LambdaQueryWrapper() - .between(PaymentReconciliation::getBillDate, startDate, endDate) - .ne(PaymentReconciliation::getStatusEnum, PaymentStatus.DRAFT.getValue()) - .eq(PaymentReconciliation::getKindEnum, PaymentKind.OUTPATIENT_CLINIC.getValue()) - .isNotNull(PaymentReconciliation::getYbSettleIds)); + List paymentReconciliations + = iPaymentReconciliationService.list(new LambdaQueryWrapper() + .between(PaymentReconciliation::getBillDate, startDate, endDate) + .ne(PaymentReconciliation::getStatusEnum, PaymentStatus.DRAFT.getValue()) + .eq(PaymentReconciliation::getKindEnum, PaymentKind.OUTPATIENT_CLINIC.getValue()) + .isNotNull(PaymentReconciliation::getYbSettleIds)); // 过滤医保结算id - List settleIdList = - paymentReconciliations.stream().filter(e -> StringUtils.isNotEmpty(e.getYbSettleIds())) - .map(PaymentReconciliation::getYbSettleIds).collect(Collectors.toList()); + List settleIdList + = paymentReconciliations.stream().filter(e -> StringUtils.isNotEmpty(e.getYbSettleIds())) + .map(PaymentReconciliation::getYbSettleIds).collect(Collectors.toList()); // List allSettleIds = settleIdList.stream().flatMap(ids -> Stream.of(ids.split(","))).filter(id -> // !id.isEmpty()).collect(Collectors.toList()); // 获取新的paymentId集合 - List paymentReconciliationIdList = - paymentReconciliations.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); + List paymentReconciliationIdList + = paymentReconciliations.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); // List paymentRecDetailList = iPaymentRecDetailService.list(new // LambdaQueryWrapper().in(PaymentRecDetail::getReconciliationId, // paymentReconciliationIdList)); @@ -1372,9 +1373,9 @@ public class YbDao { // List accountList = accountService.list(new LambdaQueryWrapper().in(Account::getId, // accountIds)); // 查询支付详情记录信息 - List paymentDecDetailUniAccountDtos = - medicalInsuranceMapper.getPaymentDecDetailUniAccountDtoListByPaymentIdList(paymentReconciliationIdList, - startDate, endDate, PaymentStatus.DRAFT.getValue()); + List paymentDecDetailUniAccountDtos + = medicalInsuranceMapper.getPaymentDecDetailUniAccountDtoListByPaymentIdList(paymentReconciliationIdList, + startDate, endDate, PaymentStatus.DRAFT.getValue()); // 声明变量 List settlement3201DetailDtos = new ArrayList<>(); // Settlement3201DetailDto settlement3201ProEMPOutDto = new Settlement3201DetailDto();//省医保门诊职工 @@ -1395,16 +1396,15 @@ public class YbDao { for (PaymentDecDetailUniAccountDto paymentDecDetailUniAccountDto : paymentDecDetailUniAccountDtos) { if (StringUtils.isEmpty(paymentDecDetailUniAccountDto.getContractNo())) { System.out.println(paymentDecDetailUniAccountDto.getId() + "payment主键:" - + paymentDecDetailUniAccountDto.getReconciliationId()); + + paymentDecDetailUniAccountDto.getReconciliationId()); } } - Map> paymentDecDetailUniAccountDtoMapGroupByContract = - paymentDecDetailUniAccountDtos.stream() - .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getContractNo)); + Map> paymentDecDetailUniAccountDtoMapGroupByContract + = paymentDecDetailUniAccountDtos.stream() + .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getContractNo)); // 分省市医保 - for (Map.Entry> stringListEntry : paymentDecDetailUniAccountDtoMapGroupByContract + for (Map.Entry> stringListEntry : paymentDecDetailUniAccountDtoMapGroupByContract .entrySet()) { if (CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(stringListEntry.getKey())) { continue; @@ -1416,11 +1416,10 @@ public class YbDao { continue; } // 分住院门诊 - Map> paymentDecDetailUniAccountDtoMapGroupByMedType = - stringListEntry.getValue().stream() - .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getKindEnum)); - for (Map.Entry> listEntry : paymentDecDetailUniAccountDtoMapGroupByMedType + Map> paymentDecDetailUniAccountDtoMapGroupByMedType + = stringListEntry.getValue().stream() + .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getKindEnum)); + for (Map.Entry> listEntry : paymentDecDetailUniAccountDtoMapGroupByMedType .entrySet()) { if (listEntry.getValue().isEmpty()) { continue; @@ -1430,7 +1429,7 @@ public class YbDao { } // 分职工居民 Map> collect = listEntry.getValue().stream() - .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getInsutype)); + .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getInsutype)); for (Map.Entry> entry : collect.entrySet()) { if (entry.getValue().isEmpty()) { continue; @@ -1441,7 +1440,7 @@ public class YbDao { int count = 0; settlement3201Dto = new Settlement3201DetailDto(); settlement3201Dto.setContractNo(stringListEntry.getKey()) - .setInsutype(Integer.parseInt(entry.getKey())); + .setInsutype(Integer.parseInt(entry.getKey())); if (PaymentKind.OUTPATIENT_CLINIC.getValue() == listEntry.getKey()) { settlement3201Dto.setClrType(YbClrType.OUTPATIENT_CLINIC.getValue()); } else if (PaymentKind.INPATIENT_CLINIC.getValue() == listEntry.getKey()) { @@ -1451,33 +1450,33 @@ public class YbDao { if (YbPayment.YB_FUND_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) { // 基金支付 settlement3201Dto.setFundPaySumAmt( - paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getFundPaySumAmt())); + paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getFundPaySumAmt())); if (BigDecimal.ZERO.compareTo(paymentDecDetailUniAccountDto.getAmount()) >= 0 - && paymentDecDetailUniAccountDto.getReturnMedfeeSumamt() != null) { + && paymentDecDetailUniAccountDto.getReturnMedfeeSumamt() != null) { // 合计医疗费用 settlement3201Dto.setMedFeeSumAmt( - new BigDecimal(paymentDecDetailUniAccountDto.getReturnMedfeeSumamt() == null ? "0.0" - : paymentDecDetailUniAccountDto.getReturnMedfeeSumamt()) - .add(settlement3201Dto.getMedFeeSumAmt())); + new BigDecimal(paymentDecDetailUniAccountDto.getReturnMedfeeSumamt() == null ? "0.0" + : paymentDecDetailUniAccountDto.getReturnMedfeeSumamt()) + .add(settlement3201Dto.getMedFeeSumAmt())); } else { // 合计医疗费用 settlement3201Dto.setMedFeeSumAmt( - new BigDecimal(paymentDecDetailUniAccountDto.getMedfeeSumamt() == null ? "0.0" - : paymentDecDetailUniAccountDto.getMedfeeSumamt()) - .add(settlement3201Dto.getMedFeeSumAmt())); + new BigDecimal(paymentDecDetailUniAccountDto.getMedfeeSumamt() == null ? "0.0" + : paymentDecDetailUniAccountDto.getMedfeeSumamt()) + .add(settlement3201Dto.getMedFeeSumAmt())); } count++; } if (YbPayment.SELF_YB_ZH_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) { // 账户支付 settlement3201Dto.setAcctPay( - paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getAcctPay())); + paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getAcctPay())); } if (YbPayment.SELF_YB_ZH_GJ_VALUE.getValue() - .equals(paymentDecDetailUniAccountDto.getPayEnum())) { + .equals(paymentDecDetailUniAccountDto.getPayEnum())) { // 账户共济支付 settlement3201Dto.setAcctGjPay( - paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getAcctGjPay())); + paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getAcctGjPay())); } // if (YbPayment.SELF_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum()) // || YbPayment.OTHER_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum()) @@ -1502,8 +1501,8 @@ public class YbDao { if (encounter == null) { throw new ServiceException("未查询到就诊信息"); } - ClinicReg clinicReg = - iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, encounter.getBusNo())); + ClinicReg clinicReg + = iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, encounter.getBusNo())); ClinicReg2201Output clinicReg2201Output = new ClinicReg2201Output(); BeanUtils.copyProperties(clinicReg, clinicReg2201Output); clinicReg2201Output.setMedType(clinicReg.getMedType());// copyProperties会有概率copy失败,此处打补丁赋值 @@ -1535,45 +1534,45 @@ public class YbDao { Date endDate = DateUtils.parseDate(stmtEndDate); // 查询该段时间内的payment - List paymentReconciliations = - iPaymentReconciliationService.list(new LambdaQueryWrapper() - .between(PaymentReconciliation::getBillDate, startDate, endDate) - .ne(PaymentReconciliation::getStatusEnum, PaymentStatus.DRAFT.getValue()) - .ne(PaymentReconciliation::getYbSettleIds, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) - .ne(PaymentReconciliation::getYbSettleIds, "null").isNotNull(PaymentReconciliation::getYbSettleIds) - .eq(PaymentReconciliation::getKindEnum, PaymentKind.OUTPATIENT_CLINIC.getValue())); + List paymentReconciliations + = iPaymentReconciliationService.list(new LambdaQueryWrapper() + .between(PaymentReconciliation::getBillDate, startDate, endDate) + .ne(PaymentReconciliation::getStatusEnum, PaymentStatus.DRAFT.getValue()) + .ne(PaymentReconciliation::getYbSettleIds, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) + .ne(PaymentReconciliation::getYbSettleIds, "null").isNotNull(PaymentReconciliation::getYbSettleIds) + .eq(PaymentReconciliation::getKindEnum, PaymentKind.OUTPATIENT_CLINIC.getValue())); if (paymentReconciliations.isEmpty()) { throw new ServiceException("该时间内无付款记录"); } // 过滤医保结算id List settleIdList = paymentReconciliations.stream() - .filter(e -> StringUtils.isNotEmpty(e.getYbSettleIds())).map(PaymentReconciliation::getYbSettleIds) - .flatMap(ybSettleIds -> Arrays.stream(ybSettleIds.split(","))).collect(Collectors.toList()); + .filter(e -> StringUtils.isNotEmpty(e.getYbSettleIds())).map(PaymentReconciliation::getYbSettleIds) + .flatMap(ybSettleIds -> Arrays.stream(ybSettleIds.split(","))).collect(Collectors.toList()); if (settleIdList.isEmpty()) { throw new ServiceException("该时间内无医保付款记录"); } // 查询医保表数据 - List clinicSettles = - iClinicSettleService.list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settleIdList)); + List clinicSettles + = iClinicSettleService.list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settleIdList)); List clinicUnSettles = iClinicUnSettleService - .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settleIdList)); + .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settleIdList)); // payment的id集合 - List paymentReconciliationIdList = - paymentReconciliations.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); + List paymentReconciliationIdList + = paymentReconciliations.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); // 查询详情表数据 - List paymentRecDetailList = - iPaymentRecDetailService.list(new LambdaQueryWrapper() - .in(PaymentRecDetail::getReconciliationId, paymentReconciliationIdList) - .ne(PaymentRecDetail::getPayTransNo, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) - .ne(PaymentRecDetail::getPayTransText, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_ALI_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VX_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_UNION_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VALUE.getValue())); + List paymentRecDetailList + = iPaymentRecDetailService.list(new LambdaQueryWrapper() + .in(PaymentRecDetail::getReconciliationId, paymentReconciliationIdList) + .ne(PaymentRecDetail::getPayTransNo, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) + .ne(PaymentRecDetail::getPayTransText, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_ALI_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VX_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_UNION_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VALUE.getValue())); if (paymentRecDetailList.isEmpty()) { throw new ServiceException("该时间内无付款明细记录"); } @@ -1588,8 +1587,8 @@ public class YbDao { // } // end - Map> paymentRecDetailMapBySettleId = - paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); + Map> paymentRecDetailMapBySettleId + = paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); List financial3202FileParamList = new ArrayList<>(); Financial3202FileParam financial3202FileParam; @@ -1599,17 +1598,17 @@ public class YbDao { if (CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(settleId) || StringUtils.isEmpty(settleId)) { continue; } - Optional settleOptional = - clinicSettles.stream().filter(e -> settleId.equals(e.getSetlId())).findAny(); - Optional unSettleOptional = - clinicUnSettles.stream().filter(e -> settleId.equals(e.getSettleId())).findAny(); + Optional settleOptional + = clinicSettles.stream().filter(e -> settleId.equals(e.getSetlId())).findAny(); + Optional unSettleOptional + = clinicUnSettles.stream().filter(e -> settleId.equals(e.getSettleId())).findAny(); if (!settleOptional.isPresent() && !unSettleOptional.isPresent()) { throw new ServiceException("付款详情中结算id在医保记录中不存在,错误信息:paymentId:" - + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); } if (settleOptional.isPresent() && unSettleOptional.isPresent()) { throw new ServiceException("付款详情中结算id在医保记录中同时存在正结和反结,错误信息:paymentId:" - + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); } // 校对金额 BigDecimal medfeeSumamt = BigDecimal.ZERO; @@ -1641,22 +1640,22 @@ public class YbDao { ClinicSettle clinicSettle = settleOptional.get(); if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() - + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); } if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { throw new ServiceException("医保正结记录与业务记录医疗总金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() - + " 医疗总金额:" + clinicSettle.getMedfeeSumamt() + " payment记录医疗总金额:" + medfeeSumamt); + + " 医疗总金额:" + clinicSettle.getMedfeeSumamt() + " payment记录医疗总金额:" + medfeeSumamt); } if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { throw new ServiceException("医保正结记录与业务记录基金金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() - + " 基金金额:" + clinicSettle.getFundPaySumamt() + " payment记录基金金额:" + fundPaySumamt); + + " 基金金额:" + clinicSettle.getFundPaySumamt() + " payment记录基金金额:" + fundPaySumamt); } String param2207 = clinicSettle.getParam2207(); Clinic2207OrderParam clinic2207OrderParam = JSON.parseObject(param2207, Clinic2207OrderParam.class); psnNo = clinic2207OrderParam.getPsnNo(); mdtrtId = clinic2207OrderParam.getMdtrtId(); - Clinic2207OrderModel clinic2207OrderModel = - JSON.parseObject(clinicSettle.getResult2207(), Clinic2207OrderModel.class); + Clinic2207OrderModel clinic2207OrderModel + = JSON.parseObject(clinicSettle.getResult2207(), Clinic2207OrderModel.class); patientName = clinic2207OrderModel.getPsnName(); setlTime = String.valueOf(clinic2207OrderModel.getSetlTime()); } @@ -1665,24 +1664,24 @@ public class YbDao { ClinicUnSettle clinicSettle = unSettleOptional.get(); if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() - + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); } if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { throw new ServiceException("医保反结记录与业务记录医疗费用总金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() - + " 医疗费用总金额:" + clinicSettle.getMedfeeSumamt() + " payment记录医疗费用总金额:" + medfeeSumamt); + + " 医疗费用总金额:" + clinicSettle.getMedfeeSumamt() + " payment记录医疗费用总金额:" + medfeeSumamt); } if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { throw new ServiceException("医保反结记录与业务记录基金金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() - + " 基金金额:" + clinicSettle.getFundPaySumamt() + " payment记录基金金额:" + fundPaySumamt); + + " 基金金额:" + clinicSettle.getFundPaySumamt() + " payment记录基金金额:" + fundPaySumamt); } refdSetlFlag = Whether.YES.getCode(); String param2208 = clinicSettle.getParam2208(); - Clinic2208UnSetlInfoParam clinic2208UnSetlInfoParam = - JSON.parseObject(param2208, Clinic2208UnSetlInfoParam.class); + Clinic2208UnSetlInfoParam clinic2208UnSetlInfoParam + = JSON.parseObject(param2208, Clinic2208UnSetlInfoParam.class); psnNo = clinic2208UnSetlInfoParam.getPsnNo(); mdtrtId = clinic2208UnSetlInfoParam.getMdtrtId(); - Clinic2208UnSetlInfoOutput clinic2207OrderModel = - JSON.parseObject(clinicSettle.getResult2208(), Clinic2208UnSetlInfoOutput.class); + Clinic2208UnSetlInfoOutput clinic2207OrderModel + = JSON.parseObject(clinicSettle.getResult2208(), Clinic2208UnSetlInfoOutput.class); // patientName = clinic2207OrderModel.getPsnName(); setlTime = String.valueOf(clinic2207OrderModel.getSetlTime()); } @@ -1690,8 +1689,8 @@ public class YbDao { financial3202FileParam = new Financial3202FileParam(); financial3202FileParam.setSetlId(settleId).setAcctPay(acctPay).setFundPaySumamt(fundPaySumamt) - .setMdtrtId(mdtrtId).setPsnNo(psnNo).setMedfeeSumamt(medfeeSumamt).setRefdSetlFlag(refdSetlFlag) - .setPatientName(patientName).setSetlTime(setlTime); + .setMdtrtId(mdtrtId).setPsnNo(psnNo).setMedfeeSumamt(medfeeSumamt).setRefdSetlFlag(refdSetlFlag) + .setPatientName(patientName).setSetlTime(setlTime); financial3202FileParamList.add(financial3202FileParam); } @@ -1708,24 +1707,23 @@ public class YbDao { // 比较yb_clinic_settle表和payment系列表数据是否一致 // 查询医保表数据 List clinicSettles = iClinicSettleService - .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settlementIdList)); + .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settlementIdList)); List clinicUnSettles = iClinicUnSettleService - .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settlementIdList)); + .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settlementIdList)); // payment的id集合 // List paymentReconciliationIdList = // paymentReconciliations.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); - // 查询详情表数据 List paymentRecDetailList = iPaymentRecDetailService - .list(new LambdaQueryWrapper().in(PaymentRecDetail::getPayTransText, settlementIdList) - .ne(PaymentRecDetail::getPayTransNo, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) - .ne(PaymentRecDetail::getPayTransText, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_ALI_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VX_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_UNION_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VALUE.getValue()) - .isNotNull(PaymentRecDetail::getPayTransText)); + .list(new LambdaQueryWrapper().in(PaymentRecDetail::getPayTransText, settlementIdList) + .ne(PaymentRecDetail::getPayTransNo, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) + .ne(PaymentRecDetail::getPayTransText, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_ALI_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VX_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_UNION_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VALUE.getValue()) + .isNotNull(PaymentRecDetail::getPayTransText)); if (paymentRecDetailList.isEmpty()) { throw new ServiceException("该时间内无付款明细记录"); } @@ -1738,8 +1736,8 @@ public class YbDao { } // end - Map> paymentRecDetailMapBySettleId = - paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); + Map> paymentRecDetailMapBySettleId + = paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); List financial3202FileParamList = new ArrayList<>(); Financial3202OtherParam financial3202OtherParam; @@ -1749,17 +1747,17 @@ public class YbDao { if (CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(settleId)) { continue; } - Optional settleOptional = - clinicSettles.stream().filter(e -> settleId.equals(e.getSetlId())).findAny(); - Optional unSettleOptional = - clinicUnSettles.stream().filter(e -> settleId.equals(e.getSettleId())).findAny(); + Optional settleOptional + = clinicSettles.stream().filter(e -> settleId.equals(e.getSetlId())).findAny(); + Optional unSettleOptional + = clinicUnSettles.stream().filter(e -> settleId.equals(e.getSettleId())).findAny(); if (!settleOptional.isPresent() && !unSettleOptional.isPresent()) { throw new ServiceException("付款详情中结算id在医保记录中不存在,错误信息:paymentId:" - + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); } if (settleOptional.isPresent() && unSettleOptional.isPresent()) { throw new ServiceException("付款详情中结算id在医保记录中同时存在正结和反结,错误信息:paymentId:" - + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); } // 校对金额 BigDecimal medfeeSumamt = BigDecimal.ZERO; @@ -1797,15 +1795,15 @@ public class YbDao { ClinicSettle clinicSettle = settleOptional.get(); if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() - + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); } if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() - + " 账户支付:" + clinicSettle.getMedfeeSumamt() + " payment记录账户支付金额:" + medfeeSumamt); + + " 账户支付:" + clinicSettle.getMedfeeSumamt() + " payment记录账户支付金额:" + medfeeSumamt); } if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() - + " 账户支付:" + clinicSettle.getFundPaySumamt() + " payment记录账户支付金额:" + fundPaySumamt); + + " 账户支付:" + clinicSettle.getFundPaySumamt() + " payment记录账户支付金额:" + fundPaySumamt); } String param2207 = clinicSettle.getParam2207(); Clinic2207OrderParam clinic2207OrderParam = JSON.parseObject(param2207, Clinic2207OrderParam.class); @@ -1817,20 +1815,20 @@ public class YbDao { ClinicUnSettle clinicSettle = unSettleOptional.get(); if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() - + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); } if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() - + " 账户支付:" + clinicSettle.getMedfeeSumamt() + " payment记录账户支付金额:" + medfeeSumamt); + + " 账户支付:" + clinicSettle.getMedfeeSumamt() + " payment记录账户支付金额:" + medfeeSumamt); } if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() - + " 账户支付:" + clinicSettle.getFundPaySumamt() + " payment记录账户支付金额:" + fundPaySumamt); + + " 账户支付:" + clinicSettle.getFundPaySumamt() + " payment记录账户支付金额:" + fundPaySumamt); } refdSetlFlag = Whether.YES.getCode(); String param2208 = clinicSettle.getParam2208(); - Clinic2208UnSetlInfoParam clinic2208UnSetlInfoParam = - JSON.parseObject(param2208, Clinic2208UnSetlInfoParam.class); + Clinic2208UnSetlInfoParam clinic2208UnSetlInfoParam + = JSON.parseObject(param2208, Clinic2208UnSetlInfoParam.class); psnNo = clinic2208UnSetlInfoParam.getPsnNo(); mdtrtId = clinic2208UnSetlInfoParam.getMdtrtId(); } @@ -1838,7 +1836,7 @@ public class YbDao { financial3202OtherParam = new Financial3202OtherParam(); financial3202OtherParam.setSetlId(settleId).setAcctPay(acctPay).setFundPaySumamt(fundPaySumamt) - .setMdtrtId(mdtrtId).setPsnNo(psnNo).setMedfeeSumamt(medfeeSumamt).setRefdSetlFlag(refdSetlFlag); + .setMdtrtId(mdtrtId).setPsnNo(psnNo).setMedfeeSumamt(medfeeSumamt).setRefdSetlFlag(refdSetlFlag); financial3202OtherParam.setCashPayamt(cashPay).setMedSumfee(medSumfee); financial3202FileParamList.add(financial3202OtherParam); } @@ -1852,7 +1850,7 @@ public class YbDao { * @param settlementIdList */ public FinancialSettlement3202Param getFinancialSettlement3202Param(List settlementIdList, BigDecimal a, - BigDecimal b) { + BigDecimal b) { // Financial3202OtherParam financial3202OtherParam = new Financial3202OtherParam(); BigDecimal cashPay = BigDecimal.ZERO; @@ -1860,9 +1858,9 @@ public class YbDao { // 比较yb_clinic_settle表和payment系列表数据是否一致 // 查询医保表数据 List clinicSettles = iClinicSettleService - .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settlementIdList)); + .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settlementIdList)); List clinicUnSettles = iClinicUnSettleService - .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settlementIdList)); + .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settlementIdList)); // 防空指针 if (clinicSettles == null) { clinicSettles = new ArrayList<>(); @@ -1870,10 +1868,10 @@ public class YbDao { if (clinicUnSettles == null) { clinicUnSettles = new ArrayList<>(); } - List clinicSettleTime = - clinicSettles.stream().map(ClinicSettle::getSetlTime).collect(Collectors.toList()); - List clinicUnSettleTime = - clinicUnSettles.stream().map(ClinicUnSettle::getSetlTime).collect(Collectors.toList()); + List clinicSettleTime + = clinicSettles.stream().map(ClinicSettle::getSetlTime).collect(Collectors.toList()); + List clinicUnSettleTime + = clinicUnSettles.stream().map(ClinicUnSettle::getSetlTime).collect(Collectors.toList()); clinicSettleTime.addAll(clinicUnSettleTime); Date stmtBegndate = null; @@ -1894,17 +1892,16 @@ public class YbDao { // payment的id集合 // List paymentReconciliationIdList = // paymentReconciliations.stream().map(PaymentReconciliation::getId).collect(Collectors.toList()); - // 查询详情表数据 List paymentRecDetailList = iPaymentRecDetailService - .list(new LambdaQueryWrapper().in(PaymentRecDetail::getPayTransText, settlementIdList) - .ne(PaymentRecDetail::getPayTransNo, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) - .ne(PaymentRecDetail::getPayTransText, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_ALI_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VX_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_UNION_VALUE.getValue()) - .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VALUE.getValue()) - .isNotNull(PaymentRecDetail::getPayTransText)); + .list(new LambdaQueryWrapper().in(PaymentRecDetail::getPayTransText, settlementIdList) + .ne(PaymentRecDetail::getPayTransNo, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) + .ne(PaymentRecDetail::getPayTransText, CommonConstants.BusinessName.DEFAULT_CONTRACT_NO) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_ALI_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VX_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_UNION_VALUE.getValue()) + .ne(PaymentRecDetail::getPayEnum, YbPayment.SELF_CASH_VALUE.getValue()) + .isNotNull(PaymentRecDetail::getPayTransText)); if (paymentRecDetailList.isEmpty()) { throw new ServiceException("该时间内无付款明细记录"); } @@ -1917,8 +1914,8 @@ public class YbDao { } // end - Map> paymentRecDetailMapBySettleId = - paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); + Map> paymentRecDetailMapBySettleId + = paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); // List financial3202FileParamList = new ArrayList<>(); // Financial3202FileParam financial3202FileParam; @@ -1928,23 +1925,23 @@ public class YbDao { if (CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(settleId)) { continue; } - Optional settleOptional = - clinicSettles.stream().filter(e -> settleId.equals(e.getSetlId())).findAny(); - Optional unSettleOptional = - clinicUnSettles.stream().filter(e -> settleId.equals(e.getSettleId())).findAny(); + Optional settleOptional + = clinicSettles.stream().filter(e -> settleId.equals(e.getSetlId())).findAny(); + Optional unSettleOptional + = clinicUnSettles.stream().filter(e -> settleId.equals(e.getSettleId())).findAny(); if (!settleOptional.isPresent() && !unSettleOptional.isPresent()) { throw new ServiceException("付款详情中结算id在医保记录中不存在,错误信息:paymentId:" - + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); } if (settleOptional.isPresent() && unSettleOptional.isPresent()) { throw new ServiceException("付款详情中结算id在医保记录中同时存在正结和反结,错误信息:paymentId:" - + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); } // 校对金额 for (PaymentRecDetail paymentRecDetail : stringListEntry.getValue()) { if (YbPayment.SELF_CASH_PAY.getValue().equals(paymentRecDetail.getPayEnum()) - && !CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(paymentRecDetail.getPayTransNo()) - && !CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(paymentRecDetail.getPayTransText())) { + && !CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(paymentRecDetail.getPayTransNo()) + && !CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(paymentRecDetail.getPayTransText())) { cashPay = cashPay.add(paymentRecDetail.getAmount()); } } @@ -1952,7 +1949,7 @@ public class YbDao { FinancialSettlement3202Param financialSettlement3202Param = new FinancialSettlement3202Param(); financialSettlement3202Param.setCashPayamt(cashPay).setMedfeeSumamt(a).setFundPaySumamt(b) - .setStmtBegndate(stmtBegndate).setStmtEnddate(stmtEnddate); + .setStmtBegndate(stmtBegndate).setStmtEnddate(stmtEnddate); return financialSettlement3202Param; } @@ -1962,16 +1959,16 @@ public class YbDao { } public Page getFinancial3203APage(String searchKey, Integer pageNo, Integer pageSize, - HttpServletRequest request) { + HttpServletRequest request) { QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(new FinancialApplyRecord(), - searchKey, new HashSet<>(Arrays.asList("out_result")), null); + searchKey, new HashSet<>(Arrays.asList("out_result")), null); // 设置排序 queryWrapper.orderByDesc("create_time"); // 申请信息 Page financialApplyRecordPage = HisPageUtils.selectPage( - iFinancialApplyRecordService.getBaseMapper(), queryWrapper, pageNo, pageSize, FinancialApplyRecord.class); + iFinancialApplyRecordService.getBaseMapper(), queryWrapper, pageNo, pageSize, FinancialApplyRecord.class); return financialApplyRecordPage; } @@ -1985,8 +1982,8 @@ public class YbDao { public FinancialApplyRecord getFinancial3204ParamByClrAppyEvtId(String clrAppyEvtId) { FinancialApplyRecord financialApplyRecord = iFinancialApplyRecordService - .getOne(new LambdaQueryWrapper().eq(FinancialApplyRecord::getOutResult, clrAppyEvtId) - .orderByDesc(FinancialApplyRecord::getId).last(YbCommonConstants.sqlConst.LIMIT1)); + .getOne(new LambdaQueryWrapper().eq(FinancialApplyRecord::getOutResult, clrAppyEvtId) + .orderByDesc(FinancialApplyRecord::getId).last(YbCommonConstants.sqlConst.LIMIT1)); if (financialApplyRecord == null) { throw new ServiceException("未查询到申请记录"); @@ -2007,8 +2004,8 @@ public class YbDao { } InpatientReg inpatientReg = inpatientRegService - .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) - .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); if (inpatientReg == null) { throw new ServiceException("未查询到医保就诊记录"); } @@ -2016,13 +2013,12 @@ public class YbDao { // 获取今天和昨天的上午10点时间 // LocalDateTime today10AM = LocalDateTime.of(LocalDate.now(), LocalTime.of(10, 0)); // 今天10点 // LocalDateTime yesterday10AM = today10AM.minusDays(1); // 昨天10点(自动处理跨月/年) - // List chargeItemList = iChargeItemService.list(new LambdaQueryWrapper() // .eq(ChargeItem::getEncounterId, encounterId).between(ChargeItem::getEnteredDate, yesterday10AM, today10AM)); // List chargeItemList = iChargeItemService.list(new LambdaQueryWrapper() // .eq(ChargeItem::getEncounterId, encounterId).in(ChargeItem::getId, chargeItemIds)); - List chargeItemBaseInfoDtos = - iChargeItemService.getChargeItemBaseInfoByIds(chargeItemIds); + List chargeItemBaseInfoDtos + = iChargeItemService.getChargeItemBaseInfoByIds(chargeItemIds); List chargeItemBaseInfoDtosList = new ArrayList<>(); for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { @@ -2030,8 +2026,8 @@ public class YbDao { } if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { // 反序列化:将JSON数组字符串转为List<> - List chargeItemBaseInfoList = - JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + List chargeItemBaseInfoList + = JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); } else { chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); @@ -2043,21 +2039,21 @@ public class YbDao { for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) { yb2301InputFeeDetail = new Yb2301InputFeeDetail(); yb2301InputFeeDetail.setFeedetlSn(chargeItemBaseInfoDto.getBusNo()).setMdtrtId(inpatientReg.getMdtrtId()) - .setPsnNo(inpatientReg.getPsnNo()).setMedType(String.valueOf(encounter.getYbClassEnum())) - .setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()).setMedListCodg(chargeItemBaseInfoDto.getYbNo()) - .setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo()) - .setDetItemFeeSumamt(chargeItemBaseInfoDto.getTotalPrice()) - .setCnt(chargeItemBaseInfoDto.getQuantityValue()).setPric(chargeItemBaseInfoDto.getUnitPrice()) - .setBilgDeptName(chargeItemBaseInfoDto.getDeptName()).setBilgDrName(chargeItemBaseInfoDto.getDoctName()) - .setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo()) - .setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo()); + .setPsnNo(inpatientReg.getPsnNo()).setMedType(String.valueOf(encounter.getYbClassEnum())) + .setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()).setMedListCodg(chargeItemBaseInfoDto.getYbNo()) + .setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo()) + .setDetItemFeeSumamt(chargeItemBaseInfoDto.getTotalPrice()) + .setCnt(chargeItemBaseInfoDto.getQuantityValue()).setPric(chargeItemBaseInfoDto.getUnitPrice()) + .setBilgDeptName(chargeItemBaseInfoDto.getDeptName()).setBilgDrName(chargeItemBaseInfoDto.getDoctName()) + .setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo()) + .setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo()); yb2301InputFeeDetailList.add(yb2301InputFeeDetail); } Yb2301InputFeeDetailModel yb2301InputFeeDetailModel = new Yb2301InputFeeDetailModel(); yb2301InputFeeDetailModel.setFeedetail(yb2301InputFeeDetailList) - .setInsuplcAdmdvs(inpatientReg.getInsuplcAdmdvs()); + .setInsuplcAdmdvs(inpatientReg.getInsuplcAdmdvs()); return yb2301InputFeeDetailModel; } @@ -2073,21 +2069,21 @@ public class YbDao { throw new ServiceException("未查询到收费项信息"); } InpatientFeeDetail inpatientFeeDetail = inpatientFeeDetailService.getOne( - new LambdaQueryWrapper().eq(InpatientFeeDetail::getFeedetlSn, chargeItem.getBusNo()) - .eq(InpatientFeeDetail::getDeleteFlag, DelFlag.NO.getCode())); + new LambdaQueryWrapper().eq(InpatientFeeDetail::getFeedetlSn, chargeItem.getBusNo()) + .eq(InpatientFeeDetail::getDeleteFlag, DelFlag.NO.getCode())); if (inpatientFeeDetail == null) { throw new ServiceException("未查询到费用上传信息"); } Yb2302InputInpatient yb2302InputInpatient = new Yb2302InputInpatient(); return yb2302InputInpatient.setMdtrtId(inpatientFeeDetail.getMdtrtId()).setPsnNo(inpatientFeeDetail.getPsnNo()) - .setFeedetlSn(inpatientFeeDetail.getFeedetlSn()); + .setFeedetlSn(inpatientFeeDetail.getFeedetlSn()); } /** * 【2303】住院预结算 - * + * * @param encounterId 就诊id * @return 2303入参 */ @@ -2097,8 +2093,8 @@ public class YbDao { throw new ServiceException("未查询到挂号信息"); } InpatientReg inpatientReg = inpatientRegService - .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) - .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); if (inpatientReg == null) { throw new ServiceException("未查询到医保就诊记录"); } @@ -2112,8 +2108,8 @@ public class YbDao { // List chargeItemList = iChargeItemService.list(new LambdaQueryWrapper() // .eq(ChargeItem::getEncounterId, encounterId).between(ChargeItem::getEnteredDate, yesterday10AM, today10AM)); - List chargeItemBaseInfoDtos = - iChargeItemService.getChargeItemBaseInfoByIds(chargeItemIds); + List chargeItemBaseInfoDtos + = iChargeItemService.getChargeItemBaseInfoByIds(chargeItemIds); List chargeItemBaseInfoDtosList = new ArrayList<>(); for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { @@ -2121,8 +2117,8 @@ public class YbDao { } if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { // 反序列化:将JSON数组字符串转为List<> - List chargeItemBaseInfoList = - JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + List chargeItemBaseInfoList + = JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); } else { chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); @@ -2136,20 +2132,19 @@ public class YbDao { Yb2303InputInpatient yb2303InputInpatient = new Yb2303InputInpatient(); yb2303InputInpatient.setPsnNo(infoPerson.getPsnNo()) - .setMdtrtCertType(YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue()).setMdtrtCertNo(infoPerson.getCertno()) - .setMedfeeSumamt(medfee_sumamt).setPsnSetlway(YbPsnSetlWay.PSN_SETLWAY01.getValue()) - .setMdtrtId(inpatientReg.getMdtrtId()).setInsutype(infoPerson.getInsutype()) - .setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) - .setMdtrtareaAdmvs(iContractService.getContractListByYb().get(0).getAdmVs()); + .setMdtrtCertType(YbMdtrtCertType.MDTRT_CERT_TYPE02.getValue()).setMdtrtCertNo(infoPerson.getCertno()) + .setMedfeeSumamt(medfee_sumamt).setPsnSetlway(YbPsnSetlWay.PSN_SETLWAY01.getValue()) + .setMdtrtId(inpatientReg.getMdtrtId()).setInsutype(infoPerson.getInsutype()) + .setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) + .setMdtrtareaAdmvs(iContractService.getContractListByYb().get(0).getAdmVs()); // todo:中如结算标志需要判断一下,待2304接口开发完成后编辑 - return yb2303InputInpatient; } /** * 【2304】住院结算 - * + * * @param paymentDto 预结算参数 * @return 2304入参 */ @@ -2160,8 +2155,8 @@ public class YbDao { } // 查询挂号信息 InpatientReg inpatientReg = inpatientRegService - .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) - .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); if (inpatientReg == null) { throw new ServiceException("未查询到医保就诊记录"); } @@ -2173,8 +2168,8 @@ public class YbDao { // List chargeItemList = // iChargeItemService.list(new LambdaQueryWrapper().eq(ChargeItem::getEncounterId, encounterId) // .in(ChargeItem::getId, chargeItemIds).eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode())); - List chargeItemBaseInfoDtos = - iChargeItemService.getChargeItemBaseInfoByIds(paymentDto.getChargeItemIds()); + List chargeItemBaseInfoDtos + = iChargeItemService.getChargeItemBaseInfoByIds(paymentDto.getChargeItemIds()); List chargeItemBaseInfoDtosList = new ArrayList<>(); for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { @@ -2182,8 +2177,8 @@ public class YbDao { } if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { // 反序列化:将JSON数组字符串转为List<> - List chargeItemBaseInfoList = - JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + List chargeItemBaseInfoList + = JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); } else { chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); @@ -2197,21 +2192,20 @@ public class YbDao { Yb2304InputInpatient yb2304InputInpatient = new Yb2304InputInpatient(); yb2304InputInpatient.setPsnNo(infoPerson.getPsnNo()) - .setMdtrtCertType(YbMdtrtCertType.getByValue(paymentDto.getYbMdtrtCertType()).getValue()) - .setMdtrtCertNo(paymentDto.getBusiCardInfo()).setMedfeeSumamt(medfee_sumamt) - .setPsnSetlway(YbPsnSetlWay.PSN_SETLWAY01.getValue()).setMdtrtId(inpatientReg.getMdtrtId()) - .setInsutype(infoPerson.getInsutype()).setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) - .setMdtrtareaAdmvs(iContractService.getContractListByYb().get(0).getAdmVs()) - .setAcctUsedFlag(Whether.YES.getCode()); + .setMdtrtCertType(YbMdtrtCertType.getByValue(paymentDto.getYbMdtrtCertType()).getValue()) + .setMdtrtCertNo(paymentDto.getBusiCardInfo()).setMedfeeSumamt(medfee_sumamt) + .setPsnSetlway(YbPsnSetlWay.PSN_SETLWAY01.getValue()).setMdtrtId(inpatientReg.getMdtrtId()) + .setInsutype(infoPerson.getInsutype()).setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) + .setMdtrtareaAdmvs(iContractService.getContractListByYb().get(0).getAdmVs()) + .setAcctUsedFlag(Whether.YES.getCode()); // todo:中如结算标志需要判断一下,待2304接口开发完成后编辑 - return yb2304InputInpatient; } /** * 【2305】撤销结算 - * + * * @param inpatientSettle 结算实体 * @return 2305入参 */ @@ -2220,13 +2214,13 @@ public class YbDao { // inpatientSettle = inpatientSettleService.getBySettleId(ybSettleId); Yb2305InputInpatient yb2305InputInpatient = new Yb2305InputInpatient(); return yb2305InputInpatient.setMdtrtId(inpatientSettle.getMdtrtId()).setPsnNo(inpatientSettle.getPsnNo()) - .setSetlId(inpatientSettle.getSetlId()); + .setSetlId(inpatientSettle.getSetlId()); } /** * 【2401】 办理入院 - * + * * @param encounterId 就诊id * @return 2401参数 */ @@ -2255,8 +2249,8 @@ public class YbDao { throw new ServiceException("未查询到患者信息"); } - InfoPerson infoPerson = - iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), SecurityUtils.getLoginUser().getTenantId()); + InfoPerson infoPerson + = iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), SecurityUtils.getLoginUser().getTenantId()); if (infoPerson == null) { throw new ServiceException("未查询到患者的医保信息"); } @@ -2282,19 +2276,19 @@ public class YbDao { } List encounterParticipantListByTypeCode = iEncounterParticipantService - .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); + .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); if (encounterParticipantListByTypeCode.isEmpty()) { throw new ServiceException("未查询到住院医生信息"); } - Practitioner practitioner = - iPractitionerService.getById(encounterParticipantListByTypeCode.get(0).getPractitionerId()); + Practitioner practitioner + = iPractitionerService.getById(encounterParticipantListByTypeCode.get(0).getPractitionerId()); if (practitioner == null) { throw new ServiceException("未查询到住院医生信息"); } List encounterLocationList = iEncounterLocationService.getEncounterLocationList(encounterId, - LocationForm.BED, EncounterActivityStatus.ACTIVE); + LocationForm.BED, EncounterActivityStatus.ACTIVE); if (encounterLocationList.isEmpty()) { throw new ServiceException("未查询到床位信息"); } @@ -2306,50 +2300,50 @@ public class YbDao { Yb2401InputInpatientMdtrtInfo yb2401InputInpatientMdtrtInfo = new Yb2401InputInpatientMdtrtInfo(); yb2401InputInpatientMdtrtInfo - // 人员编号 - .setPsnNo(infoPerson.getPsnNo()) - // 险种类型 - .setInsutype(infoPerson.getInsutype()) - // 开始时间 - .setBegntime(encounter.getStartTime()) - // 就诊凭证类型 - .setMdtrtCertType(YbMdtrtCertType.MDTRT_CERT_TYPE02.getCode()) - // 病历号 - .setMedrcdno(encounter.getBusNo()) - // 医疗类别 - .setMedType(mainDiagnosis.getMedTypeCode()) - // 住院号 - .setIptNo(encounter.getBusNo()) - // 主治医生编码 - .setAtddrNo(practitioner.getYbNo()) - // 主诊医师姓名 - .setChfpdrName(practitioner.getName()) - // 入院诊断描述 - .setAdmDiagDscr("") - // 入院科室编码 - .setAdmDeptCodg(organization.getYbNo()) - // 入院科室名称 - .setAdmDeptName(organization.getName()) - // 入院床位 - .setAdmBed(encounterLocationList.get(0).getLocationId().toString()) - // 住院主诊断代码 - .setDscgMaindiagCode(conditionDefinition.getYbNo()) - // 住院主诊断名称 - .setDscgMaindiagName(conditionDefinition.getName()) - // 参保地医保区划 - .setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) - // 就医地医保区划 - .setMdtrtareaAdmvs(contract.getAdmVs()); + // 人员编号 + .setPsnNo(infoPerson.getPsnNo()) + // 险种类型 + .setInsutype(infoPerson.getInsutype()) + // 开始时间 + .setBegntime(encounter.getStartTime()) + // 就诊凭证类型 + .setMdtrtCertType(YbMdtrtCertType.MDTRT_CERT_TYPE02.getCode()) + // 病历号 + .setMedrcdno(encounter.getBusNo()) + // 医疗类别 + .setMedType(mainDiagnosis.getMedTypeCode()) + // 住院号 + .setIptNo(encounter.getBusNo()) + // 主治医生编码 + .setAtddrNo(practitioner.getYbNo()) + // 主诊医师姓名 + .setChfpdrName(practitioner.getName()) + // 入院诊断描述 + .setAdmDiagDscr("") + // 入院科室编码 + .setAdmDeptCodg(organization.getYbNo()) + // 入院科室名称 + .setAdmDeptName(organization.getName()) + // 入院床位 + .setAdmBed(encounterLocationList.get(0).getLocationId().toString()) + // 住院主诊断代码 + .setDscgMaindiagCode(conditionDefinition.getYbNo()) + // 住院主诊断名称 + .setDscgMaindiagName(conditionDefinition.getName()) + // 参保地医保区划 + .setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) + // 就医地医保区划 + .setMdtrtareaAdmvs(contract.getAdmVs()); return yb2401InputInpatientMdtrtInfo; } /** * 【2402】办理出院 - * + * * @param encounterId 就诊id * @return 2402参数 */ - public Yb2402InputParam getYb2402InputInpatientDscgInfo(Long encounterId,Contract contract) { + public Yb2402InputParam getYb2402InputInpatientDscgInfo(Long encounterId, Contract contract) { Yb2402InputParam yb2402InputParam = new Yb2402InputParam(); Encounter encounter = iEncounterService.getById(encounterId); @@ -2385,9 +2379,8 @@ public class YbDao { // if (infoPerson == null) { // throw new ServiceException("未查询到患者的医保信息"); // } - - List diagnosisList = - iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS); + List diagnosisList + = iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS); if (diagnosisList.isEmpty()) { throw new ServiceException("未查询到出院诊断信息"); } @@ -2396,9 +2389,8 @@ public class YbDao { // if (mainDiagnosis == null) { // throw new ServiceException("未查询到主诊断信息"); // } - List conditionList = iConditionService.getConditionListById( - diagnosisList.stream().map(EncounterDiagnosis::getConditionId).collect(Collectors.toList())); + diagnosisList.stream().map(EncounterDiagnosis::getConditionId).collect(Collectors.toList())); if (conditionList.isEmpty()) { throw new ServiceException("未查询到诊断信息"); } @@ -2407,70 +2399,70 @@ public class YbDao { } List conditionDefinitionList = iConditionDefinitionService.getConditionDefinitionListByIds( - conditionList.stream().map(Condition::getDefinitionId).collect(Collectors.toList())); + conditionList.stream().map(Condition::getDefinitionId).collect(Collectors.toList())); if (conditionDefinitionList.isEmpty()) { throw new ServiceException("未查询到主诊断定义信息"); } List encounterParticipantListByTypeCode = iEncounterParticipantService - .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); + .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); if (encounterParticipantListByTypeCode.isEmpty()) { throw new ServiceException("未查询到住院医生信息"); } - List practitionerList = - iPractitionerService.getPractitionerListById(encounterParticipantListByTypeCode.stream() - .map(EncounterParticipant::getPractitionerId).collect(Collectors.toList()));// 20250730被告知一个住院患者只有一套门诊医生住院医生护士等(主治医生和主任医生不一定会有),不存在一个患者多个医生 + List practitionerList + = iPractitionerService.getPractitionerListById(encounterParticipantListByTypeCode.stream() + .map(EncounterParticipant::getPractitionerId).collect(Collectors.toList()));// 20250730被告知一个住院患者只有一套门诊医生住院医生护士等(主治医生和主任医生不一定会有),不存在一个患者多个医生 if (practitionerList.isEmpty()) { throw new ServiceException("未查询到住院医生信息"); } List encounterLocationList = iEncounterLocationService.getEncounterLocationList(encounterId, - LocationForm.BED, EncounterActivityStatus.ACTIVE); + LocationForm.BED, EncounterActivityStatus.ACTIVE); if (encounterLocationList.isEmpty()) { throw new ServiceException("未查询到床位信息"); } List organizationList = iOrganizationService.getOrganizationListById( - practitionerList.stream().map(Practitioner::getOrgId).collect(Collectors.toList())); + practitionerList.stream().map(Practitioner::getOrgId).collect(Collectors.toList())); if (organizationList.isEmpty()) { throw new ServiceException("未查询到就诊科室信息"); } Yb2402InputInpatientDscgInfo yb2402InputInpatientDscgInfo = new Yb2402InputInpatientDscgInfo(); yb2402InputInpatientDscgInfo - // 就诊ID - .setMdtrtId(inpatientReg.getMdtrtId()) - // 人员编号 - .setPsnNo(inpatientReg.getPsnNo()) - // 险种类型 - .setInsutype(inpatientReg.getInsutype()) - // 结束时间 - .setEndtime(encounter.getEndTime()) - // 出院科室编码 - .setDscgDeptCodg(organizationList.get(0).getYbNo()) - // 出院科室名称 - .setDscgDeptName(organizationList.get(0).getName()) - // 离院方式 - .setDscgWay("");// todo:离院方式待办 + // 就诊ID + .setMdtrtId(inpatientReg.getMdtrtId()) + // 人员编号 + .setPsnNo(inpatientReg.getPsnNo()) + // 险种类型 + .setInsutype(inpatientReg.getInsutype()) + // 结束时间 + .setEndtime(encounter.getEndTime()) + // 出院科室编码 + .setDscgDeptCodg(organizationList.get(0).getYbNo()) + // 出院科室名称 + .setDscgDeptName(organizationList.get(0).getName()) + // 离院方式 + .setDscgWay("");// todo:离院方式待办 - Map mapById = - conditionList.stream().collect(Collectors.toMap(Condition::getId, Function.identity())); + Map mapById + = conditionList.stream().collect(Collectors.toMap(Condition::getId, Function.identity())); Map encounterParticipantMapById = encounterParticipantListByTypeCode.stream() - .collect(Collectors.toMap(EncounterParticipant::getId, Function.identity())); - Map conditionDefinitionMapById = - conditionDefinitionList.stream().collect(Collectors.toMap(ConditionDefinition::getId, Function.identity())); - Map organizationMapById = - organizationList.stream().collect(Collectors.toMap(Organization::getId, Function.identity())); - Map practitionerMapById = - practitionerList.stream().collect(Collectors.toMap(Practitioner::getId, Function.identity())); + .collect(Collectors.toMap(EncounterParticipant::getId, Function.identity())); + Map conditionDefinitionMapById + = conditionDefinitionList.stream().collect(Collectors.toMap(ConditionDefinition::getId, Function.identity())); + Map organizationMapById + = organizationList.stream().collect(Collectors.toMap(Organization::getId, Function.identity())); + Map practitionerMapById + = practitionerList.stream().collect(Collectors.toMap(Practitioner::getId, Function.identity())); Yb2402InputInpatientDiseInfo yb2402InputInpatientDiseInfo; List yb2402InputInpatientDiseInfos = new ArrayList<>(); for (EncounterDiagnosis encounterDiagnosis : diagnosisList) { Condition condition = mapById.get(encounterDiagnosis.getConditionId()); if (condition == null) { throw new ServiceException( - "数据异常:就诊诊断信息无法关联到诊断信息;异常数据encounterDiagnosisId:" + encounterDiagnosis.getId()); + "数据异常:就诊诊断信息无法关联到诊断信息;异常数据encounterDiagnosisId:" + encounterDiagnosis.getId()); } EncounterParticipant encounterParticipant = encounterParticipantMapById.get(condition.getRecorderId()); if (encounterParticipant == null) { @@ -2479,7 +2471,7 @@ public class YbDao { Practitioner practitioner = practitionerMapById.get(encounterParticipant.getPractitionerId()); if (practitioner == null) { throw new ServiceException( - "数据异常:就诊诊断信息无法关联到医生信息;异常数据encounterParticipant:" + encounterParticipant.getId()); + "数据异常:就诊诊断信息无法关联到医生信息;异常数据encounterParticipant:" + encounterParticipant.getId()); } ConditionDefinition conditionDefinition = conditionDefinitionMapById.get(condition.getDefinitionId()); if (conditionDefinition == null) { @@ -2491,29 +2483,29 @@ public class YbDao { } yb2402InputInpatientDiseInfo = new Yb2402InputInpatientDiseInfo(); yb2402InputInpatientDiseInfo - // 就诊id - .setMdtrtId(inpatientReg.getMdtrtId()) - // 人员编号 - .setPsnNo(inpatientReg.getPsnNo()) - // 诊断类别 - .setDiagType(conditionDefinition.getSourceEnum().toString()) - // 主诊断标志 - .setMaindiagFlag(encounterDiagnosis.getMaindiseFlag().equals(Whether.YES.getValue()) - ? Whether.YES.getCode() : Whether.NO.getCode()) - // 诊断排序号 - .setDiagSrtNo(encounterDiagnosis.getDiagSrtNo()) - // 诊断代码 - .setDiagCode(conditionDefinition.getYbNo()) - // 诊断名称 - .setDiagName(conditionDefinition.getName()) - // 诊断科室 - .setDiagDept(organization.getYbNo()) - // 诊断医生编码 - .setDiseDorNo(practitioner.getYbNo()) - // 诊断医生姓名 - .setDiseDorName(practitioner.getName()) - // 诊断时间 - .setDiagTime(encounterDiagnosis.getCreateTime()); + // 就诊id + .setMdtrtId(inpatientReg.getMdtrtId()) + // 人员编号 + .setPsnNo(inpatientReg.getPsnNo()) + // 诊断类别 + .setDiagType(conditionDefinition.getSourceEnum().toString()) + // 主诊断标志 + .setMaindiagFlag(encounterDiagnosis.getMaindiseFlag().equals(Whether.YES.getValue()) + ? Whether.YES.getCode() : Whether.NO.getCode()) + // 诊断排序号 + .setDiagSrtNo(encounterDiagnosis.getDiagSrtNo()) + // 诊断代码 + .setDiagCode(conditionDefinition.getYbNo()) + // 诊断名称 + .setDiagName(conditionDefinition.getName()) + // 诊断科室 + .setDiagDept(organization.getYbNo()) + // 诊断医生编码 + .setDiseDorNo(practitioner.getYbNo()) + // 诊断医生姓名 + .setDiseDorName(practitioner.getName()) + // 诊断时间 + .setDiagTime(encounterDiagnosis.getCreateTime()); yb2402InputInpatientDiseInfos.add(yb2402InputInpatientDiseInfo); } @@ -2527,7 +2519,7 @@ public class YbDao { /** * 【2403】接口参数 - * + * * @param encounterId 就诊id * @return 2403接口参数 */ @@ -2567,9 +2559,8 @@ public class YbDao { // if (infoPerson == null) { // throw new ServiceException("未查询到患者的医保信息"); // } - - List diagnosisList = - iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS); + List diagnosisList + = iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS); if (diagnosisList.isEmpty()) { throw new ServiceException("未查询到出院诊断信息"); } @@ -2580,105 +2571,105 @@ public class YbDao { } List conditionList = iConditionService.getConditionListById( - diagnosisList.stream().map(EncounterDiagnosis::getConditionId).collect(Collectors.toList())); + diagnosisList.stream().map(EncounterDiagnosis::getConditionId).collect(Collectors.toList())); if (conditionList.isEmpty()) { throw new ServiceException("未查询到诊断信息"); } if (conditionList.size() != diagnosisList.size()) { throw new ServiceException("数据异常:查询到诊断信息与诊断定义信息数量不相等"); } - Optional firstOptional = - conditionList.stream().filter(e -> e.getId().equals(mainDiagnosis.getConditionId())).findFirst(); + Optional firstOptional + = conditionList.stream().filter(e -> e.getId().equals(mainDiagnosis.getConditionId())).findFirst(); if (firstOptional.isEmpty()) { throw new ServiceException("数据异常:主诊断关联不到诊断信息"); } Condition mainCondition = firstOptional.get(); List conditionDefinitionList = iConditionDefinitionService.getConditionDefinitionListByIds( - conditionList.stream().map(Condition::getDefinitionId).collect(Collectors.toList())); + conditionList.stream().map(Condition::getDefinitionId).collect(Collectors.toList())); if (conditionDefinitionList.isEmpty()) { throw new ServiceException("未查询到主诊断定义信息"); } - Optional optional = - conditionDefinitionList.stream().filter(e -> e.getId().equals(mainCondition.getDefinitionId())).findFirst(); + Optional optional + = conditionDefinitionList.stream().filter(e -> e.getId().equals(mainCondition.getDefinitionId())).findFirst(); if (optional.isEmpty()) { throw new ServiceException("数据异常:主诊断关联不到诊断信息"); } ConditionDefinition mainConditionDefinition = optional.get(); List encounterParticipantListByTypeCode = iEncounterParticipantService - .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); + .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); if (encounterParticipantListByTypeCode.isEmpty()) { throw new ServiceException("未查询到住院医生信息"); } - List practitionerList = - iPractitionerService.getPractitionerListById(encounterParticipantListByTypeCode.stream() - .map(EncounterParticipant::getPractitionerId).collect(Collectors.toList()));// 20250730被告知一个住院患者只有一套门诊医生住院医生护士等(主治医生和主任医生不一定会有),不存在一个患者多个医生 + List practitionerList + = iPractitionerService.getPractitionerListById(encounterParticipantListByTypeCode.stream() + .map(EncounterParticipant::getPractitionerId).collect(Collectors.toList()));// 20250730被告知一个住院患者只有一套门诊医生住院医生护士等(主治医生和主任医生不一定会有),不存在一个患者多个医生 if (practitionerList.isEmpty()) { throw new ServiceException("未查询到住院医生信息"); } List encounterLocationList = iEncounterLocationService.getEncounterLocationList(encounterId, - LocationForm.BED, EncounterActivityStatus.ACTIVE); + LocationForm.BED, EncounterActivityStatus.ACTIVE); if (encounterLocationList.isEmpty()) { throw new ServiceException("未查询到床位信息"); } List organizationList = iOrganizationService.getOrganizationListById( - practitionerList.stream().map(Practitioner::getOrgId).collect(Collectors.toList())); + practitionerList.stream().map(Practitioner::getOrgId).collect(Collectors.toList())); if (organizationList.isEmpty()) { throw new ServiceException("未查询到就诊科室信息"); } Yb2403InputAdmInfo yb2403InputAdmInfo = new Yb2403InputAdmInfo(); yb2403InputAdmInfo - // 就诊ID - .setMdtrtId(inpatientReg.getMdtrtId()) - // 人员编号 - .setPsnNo(inpatientReg.getPsnNo()) - // 开始时间 - .setBegntime(encounter.getStartTime()) - // 就诊凭证类型 - .setMdtrtCertType(YbMdtrtCertType.MDTRT_CERT_TYPE02.getCode()) - // 住院/门诊号 - .setIptOtpNo(encounter.getBusNo()) - // 医疗类别 - .setMedType(mainDiagnosis.getMedTypeCode()) - // 主治医生编码 - .setAtddrNo(practitionerList.get(0).getYbNo()) - // 主诊医师姓名 - .setChfpdrName(practitionerList.get(0).getName()) - // 入院诊断描述 - .setAdmDiagDscr("") - // 入院科室编码 - .setAdmDeptCodg(organizationList.get(0).getYbNo()) - // 入院科室名称 - .setAdmDeptName(organizationList.get(0).getName()) - // 入院床位 - .setAdmBed(encounterLocationList.get(0).getLocationId().toString()) - // 住院主诊断代码 - .setDscgMaindiagCode(mainConditionDefinition.getYbNo()) - // 住院主诊断名称 - .setDscgMaindiagName(mainConditionDefinition.getName()); + // 就诊ID + .setMdtrtId(inpatientReg.getMdtrtId()) + // 人员编号 + .setPsnNo(inpatientReg.getPsnNo()) + // 开始时间 + .setBegntime(encounter.getStartTime()) + // 就诊凭证类型 + .setMdtrtCertType(YbMdtrtCertType.MDTRT_CERT_TYPE02.getCode()) + // 住院/门诊号 + .setIptOtpNo(encounter.getBusNo()) + // 医疗类别 + .setMedType(mainDiagnosis.getMedTypeCode()) + // 主治医生编码 + .setAtddrNo(practitionerList.get(0).getYbNo()) + // 主诊医师姓名 + .setChfpdrName(practitionerList.get(0).getName()) + // 入院诊断描述 + .setAdmDiagDscr("") + // 入院科室编码 + .setAdmDeptCodg(organizationList.get(0).getYbNo()) + // 入院科室名称 + .setAdmDeptName(organizationList.get(0).getName()) + // 入院床位 + .setAdmBed(encounterLocationList.get(0).getLocationId().toString()) + // 住院主诊断代码 + .setDscgMaindiagCode(mainConditionDefinition.getYbNo()) + // 住院主诊断名称 + .setDscgMaindiagName(mainConditionDefinition.getName()); - Map mapById = - conditionList.stream().collect(Collectors.toMap(Condition::getId, Function.identity())); + Map mapById + = conditionList.stream().collect(Collectors.toMap(Condition::getId, Function.identity())); Map encounterParticipantMapById = encounterParticipantListByTypeCode.stream() - .collect(Collectors.toMap(EncounterParticipant::getId, Function.identity())); - Map conditionDefinitionMapById = - conditionDefinitionList.stream().collect(Collectors.toMap(ConditionDefinition::getId, Function.identity())); - Map organizationMapById = - organizationList.stream().collect(Collectors.toMap(Organization::getId, Function.identity())); - Map practitionerMapById = - practitionerList.stream().collect(Collectors.toMap(Practitioner::getId, Function.identity())); + .collect(Collectors.toMap(EncounterParticipant::getId, Function.identity())); + Map conditionDefinitionMapById + = conditionDefinitionList.stream().collect(Collectors.toMap(ConditionDefinition::getId, Function.identity())); + Map organizationMapById + = organizationList.stream().collect(Collectors.toMap(Organization::getId, Function.identity())); + Map practitionerMapById + = practitionerList.stream().collect(Collectors.toMap(Practitioner::getId, Function.identity())); Yb2403InputDiseInfo yb2403InputDiseInfo; List yb2403InputDiseInfos = new ArrayList<>(); for (EncounterDiagnosis encounterDiagnosis : diagnosisList) { Condition condition = mapById.get(encounterDiagnosis.getConditionId()); if (condition == null) { throw new ServiceException( - "数据异常:就诊诊断信息无法关联到诊断信息;异常数据encounterDiagnosisId:" + encounterDiagnosis.getId()); + "数据异常:就诊诊断信息无法关联到诊断信息;异常数据encounterDiagnosisId:" + encounterDiagnosis.getId()); } EncounterParticipant encounterParticipant = encounterParticipantMapById.get(condition.getRecorderId()); if (encounterParticipant == null) { @@ -2687,7 +2678,7 @@ public class YbDao { Practitioner practitioner = practitionerMapById.get(encounterParticipant.getPractitionerId()); if (practitioner == null) { throw new ServiceException( - "数据异常:就诊诊断信息无法关联到医生信息;异常数据encounterParticipant:" + encounterParticipant.getId()); + "数据异常:就诊诊断信息无法关联到医生信息;异常数据encounterParticipant:" + encounterParticipant.getId()); } ConditionDefinition conditionDefinition = conditionDefinitionMapById.get(condition.getDefinitionId()); if (conditionDefinition == null) { @@ -2699,29 +2690,29 @@ public class YbDao { } yb2403InputDiseInfo = new Yb2403InputDiseInfo(); yb2403InputDiseInfo - // 就诊id - .setMdtrtId(inpatientReg.getMdtrtId()) - // 人员编号 - .setPsnNo(inpatientReg.getPsnNo()) - // 诊断类别 - .setDiagType(conditionDefinition.getSourceEnum().toString()) - // 主诊断标志 - .setMaindiagFlag(encounterDiagnosis.getMaindiseFlag().equals(Whether.YES.getValue()) - ? Whether.YES.getCode() : Whether.NO.getCode()) - // 诊断排序号 - .setDiagSrtNo(encounterDiagnosis.getDiagSrtNo()) - // 诊断代码 - .setDiagCode(conditionDefinition.getYbNo()) - // 诊断名称 - .setDiagName(conditionDefinition.getName()) - // 诊断科室 - .setDiagDept(organization.getYbNo()) - // 诊断医生编码 - .setDiseDorNo(practitioner.getYbNo()) - // 诊断医生姓名 - .setDiseDorName(practitioner.getName()) - // 诊断时间 - .setDiagTime(encounterDiagnosis.getCreateTime()); + // 就诊id + .setMdtrtId(inpatientReg.getMdtrtId()) + // 人员编号 + .setPsnNo(inpatientReg.getPsnNo()) + // 诊断类别 + .setDiagType(conditionDefinition.getSourceEnum().toString()) + // 主诊断标志 + .setMaindiagFlag(encounterDiagnosis.getMaindiseFlag().equals(Whether.YES.getValue()) + ? Whether.YES.getCode() : Whether.NO.getCode()) + // 诊断排序号 + .setDiagSrtNo(encounterDiagnosis.getDiagSrtNo()) + // 诊断代码 + .setDiagCode(conditionDefinition.getYbNo()) + // 诊断名称 + .setDiagName(conditionDefinition.getName()) + // 诊断科室 + .setDiagDept(organization.getYbNo()) + // 诊断医生编码 + .setDiseDorNo(practitioner.getYbNo()) + // 诊断医生姓名 + .setDiseDorName(practitioner.getName()) + // 诊断时间 + .setDiagTime(encounterDiagnosis.getCreateTime()); yb2403InputDiseInfos.add(yb2403InputDiseInfo); } @@ -2735,7 +2726,7 @@ public class YbDao { /** * 【2404】住院办理撤销 - * + * * @param encounterId 就诊id * @return 2404参数 */ @@ -2759,7 +2750,7 @@ public class YbDao { /** * 【2405】出院办理撤销 - * + * * @param encounterId 就诊id * @return 2405参数 */ @@ -2783,7 +2774,7 @@ public class YbDao { /** * 【5205】结果 - * + * * @param patientId 患者id * @param begntime 开始时间 * @param endtime 结束时间 @@ -2808,6 +2799,7 @@ public class YbDao { /** * 保存入院办理信息 + * * @param inpatientReg 参数 */ public void save2401InpatientReg(InpatientReg inpatientReg) { @@ -2816,6 +2808,7 @@ public class YbDao { /** * 保存出院办理信息 + * * @param inpatientReg */ public void save2402InpatientDscg(InpatientDischarge inpatientReg) { @@ -2824,6 +2817,7 @@ public class YbDao { /** * 保存2403住院信息变更记录 + * * @param yb2403InputParam 参数 */ public void save2403InputInpatient(Yb2403InputParam yb2403InputParam) { @@ -2863,14 +2857,12 @@ public class YbDao { inpatientRegInfoUpdateRecordeService.save(inpatientRegInfoUpdateRecorde); } -<<<<<<< HEAD -======= public void updateInpatientRegById(InpatientReg inpatientReg) { inpatientRegService.updateById(inpatientReg); } - public void save2301YbFeeDetail(List yb2301OutputResults,List feedetail,Long encounterId) { + public void save2301YbFeeDetail(List yb2301OutputResults, List feedetail, Long encounterId) { List feeDetailList = new ArrayList<>(); InpatientFeeDetail inpatientFeeDetail; @@ -2912,7 +2904,7 @@ public class YbDao { .setLmtUsedFlag(yb2301OutputResult.getLmtUsedFlag()) .setDrtReimFlag(yb2301OutputResult.getDrtReimFlag()) .setEncounterId(encounterId); - // + // feeDetailList.add(inpatientFeeDetail); } @@ -2962,5 +2954,4 @@ public class YbDao { inpatientPreSettleService.save(inpatientPreSettle); } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbHttpUtils.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbHttpUtils.java index c47c3de0..68051883 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbHttpUtils.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbHttpUtils.java @@ -11,11 +11,6 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; -<<<<<<< HEAD -import com.openhis.yb.domain.InpatientDischarge; -import com.openhis.yb.domain.InpatientReg; -======= ->>>>>>> v1.3 import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; @@ -82,8 +77,8 @@ public class YbHttpUtils { Result result = null; Info1101Output perinfo = null; // 发送请求 - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/getPatinfo", readcard, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/getPatinfo", readcard, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -143,8 +138,8 @@ public class YbHttpUtils { Result result = null; ClinicReg2201Output clinicReg2201Output = new ClinicReg2201Output(); // 发送请求 - String s = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancelReg", reg, contract); + String s + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancelReg", reg, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -174,7 +169,7 @@ public class YbHttpUtils { Result result = null; // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload2204-record", - clinic2204OrderParam, contract); + clinic2204OrderParam, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -208,7 +203,7 @@ public class YbHttpUtils { Result result = null; // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/preSetl", - clinic2206OrderParam, contract); + clinic2206OrderParam, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -241,7 +236,7 @@ public class YbHttpUtils { Result result = null; // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/setl", clinicOrder2207, - contract); + contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -269,8 +264,8 @@ public class YbHttpUtils { public Sign9001Result sign(Sign signParam, Contract contract) { Sign9001Result sign = null; - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/signIn", signParam, contract); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/signIn", signParam, contract); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -303,7 +298,7 @@ public class YbHttpUtils { Result result = null; // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/unPreSettle", - clinic2205OrderParam, contract); + clinic2205OrderParam, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -333,7 +328,7 @@ public class YbHttpUtils { Result result = null; // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancelSetl", - clinicOrder2208, contract); + clinicOrder2208, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -351,8 +346,8 @@ public class YbHttpUtils { throw new ServiceException("未接收到医保返回参数"); } else if (result.getCode() == 200) { System.out.println(JSON.toJSONString(result.getResult())); - clinicOrder2206Result = - parseObject(JSON.toJSONString(result.getResult()), Clinic2208UnSetlInfoOutput.class); + clinicOrder2206Result + = parseObject(JSON.toJSONString(result.getResult()), Clinic2208UnSetlInfoOutput.class); } else { throw new ServiceException(result.getMessage()); } @@ -364,7 +359,7 @@ public class YbHttpUtils { Clinic2208UnSetlInfoResult clinicOrder2206Result = new Clinic2208UnSetlInfoResult(); // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/directoryCheck", - medicalDirectory3301ListParam, null); + medicalDirectory3301ListParam, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -384,7 +379,7 @@ public class YbHttpUtils { public Result directoryUnCheck(MedicalDirectory3302Param medicalDirectory3302Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/directoryUnCheck", - medicalDirectory3302Param, null); + medicalDirectory3302Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -410,7 +405,7 @@ public class YbHttpUtils { } // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/reconcile", - financial3201Param, contract); + financial3201Param, contract); // 赋值(上述回填的两个参数医保不要,为了避免麻烦,在发送http后进行回填) financial3201Param.setFixmedinsCode(contract.getFixmedinsCode()); @@ -436,7 +431,7 @@ public class YbHttpUtils { public FinancialSettlement3202Result reconcileGeneralLedgerDetail(FinancialSettlement3202Param financial3202Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/reconcile-detail", - financial3202Param, null); + financial3202Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -454,10 +449,10 @@ public class YbHttpUtils { } public List - threePartSearch(FinancialSettlement3209AParam financialSettlement3209AParam) { + threePartSearch(FinancialSettlement3209AParam financialSettlement3209AParam) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/three-part-search-err", - financialSettlement3209AParam, null); + financialSettlement3209AParam, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -477,7 +472,7 @@ public class YbHttpUtils { public String applyFinancialClearing(Financial3203AParam financial3203AParam) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/apply-clearing", - financial3203AParam, iContractService.getContract(financial3203AParam.getClrOptins())); + financial3203AParam, iContractService.getContract(financial3203AParam.getClrOptins())); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -488,7 +483,7 @@ public class YbHttpUtils { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-clearing", - financial3204Param, null); + financial3204Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -506,7 +501,7 @@ public class YbHttpUtils { public Clearing3205AResult getFinancialClearingStatus(Clearing3205AParma clearing3205AParma) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/get-clearing-status", - clearing3205AParma, null); + clearing3205AParma, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -524,7 +519,7 @@ public class YbHttpUtils { public Result uploadInventoryCount(MedicalInventory3501Param medicalInventory3501Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload-inventory-count", - medicalInventory3501Param, null); + medicalInventory3501Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -542,7 +537,7 @@ public class YbHttpUtils { public Result updateInventoryCount(MedicalInventory3502Param medicalInventory3502Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/update-inventory", - medicalInventory3502Param, null); + medicalInventory3502Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -560,7 +555,7 @@ public class YbHttpUtils { public Result procurement(Medical3503Param medical3503Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/procurement", - medical3503Param, null); + medical3503Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -578,7 +573,7 @@ public class YbHttpUtils { public Result cancelProcurement(MedicalPurchase3504Param medicalPurchase3504Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/procurement-cancel", - medicalPurchase3504Param, null); + medicalPurchase3504Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -596,7 +591,7 @@ public class YbHttpUtils { public Result merchandise(Medical3505Param medical3505Param, Contract contract) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/merchandise", - medical3505Param, contract); + medical3505Param, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -614,7 +609,7 @@ public class YbHttpUtils { public Result cancelMerchandise(Medical3506Param medical3506Param, Contract contract) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-merchandise", - medical3506Param, contract); + medical3506Param, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -632,7 +627,7 @@ public class YbHttpUtils { public Result deleteGoodsInfo(Medical3507Param medical3507Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/del-goods", - medical3507Param, null); + medical3507Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -650,7 +645,7 @@ public class YbHttpUtils { public MedicalInventory3511Output querySalesInfo(MedicalInventory3511Param medicalInventory3511Param) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-3511-info", - medicalInventory3511Param, null); + medicalInventory3511Param, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -668,8 +663,8 @@ public class YbHttpUtils { throw new ServiceException("未接收到医保返回参数"); } else if (result.getCode() == 401) { System.out.println(JSON.toJSONString(result.getResult())); - medicalInventory3511Output = - parseObject(JSON.toJSONString(result.getResult()), MedicalInventory3511Output.class); + medicalInventory3511Output + = parseObject(JSON.toJSONString(result.getResult()), MedicalInventory3511Output.class); } else { throw new ServiceException(result.getMessage()); } @@ -679,7 +674,7 @@ public class YbHttpUtils { public Result getClrOptins(Clearing3206AParam clearing3206AParam) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/getclroptins", - clearing3206AParam, null); + clearing3206AParam, null); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -697,7 +692,7 @@ public class YbHttpUtils { public Result upload2203Record(Clinic2203MedicalParam medical2203Param, Contract contract) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload2203-record", - medical2203Param, contract); + medical2203Param, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -715,7 +710,7 @@ public class YbHttpUtils { public Result query3512(MedicalInventory3512Param inventory3512Param, Contract contract) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-3512-info", - inventory3512Param, contract); + inventory3512Param, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -733,7 +728,7 @@ public class YbHttpUtils { public Result query3513(MedicalInventory3513Param inventory3513Param, Contract contract) { // 发送请求 String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-3513-info", - inventory3513Param, contract); + inventory3513Param, contract); if (StringUtils.isEmpty(s)) { throw new ServiceException("未接收到医保返回参数"); } @@ -763,7 +758,7 @@ public class YbHttpUtils { logger.info("【请求路径】:" + url + ";【入参】: " + JSON.toJSONString(baseParam)); // 创建Http请求 RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(300000) - .setConnectionRequestTimeout(300000).setSocketTimeout(300000).build(); + .setConnectionRequestTimeout(300000).setSocketTimeout(300000).build(); CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build(); CloseableHttpResponse response = null; // 发送请求 @@ -797,9 +792,9 @@ public class YbHttpUtils { List outputList = new ArrayList<>(); try { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/queryYbCatalogue", - catalogue1312QueryParam, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/queryYbCatalogue", + catalogue1312QueryParam, null); // System.out.println("--------1312resultString-------------" + resultString); // 1. 解析外层 JSON ObjectMapper mapper = new ObjectMapper(); @@ -808,7 +803,8 @@ public class YbHttpUtils { String resultStr = rootNode.get("result").asText(); // 2. 解析 result 中的 JSON 数组 - outputList = mapper.readValue(resultStr, new TypeReference>() {}); + outputList = mapper.readValue(resultStr, new TypeReference>() { + }); } catch (JsonProcessingException e) { e.printStackTrace(); } @@ -849,8 +845,8 @@ public class YbHttpUtils { // 3. 转发并删除临时文件 RestTemplate restTemplate = new RestTemplate(); response = restTemplate.postForEntity( - SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/file-up2", - new HttpEntity<>(body, headers), String.class); + SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/file-up2", + new HttpEntity<>(body, headers), String.class); System.out.println(JSON.toJSONString(response)); // 清理临时文件 // Files.deleteIfExists(tempFile); @@ -871,7 +867,9 @@ public class YbHttpUtils { // } // }); // - //// 3. 发送请求到目标服务 + + + //// 3. 发送请求到目标服务 // RestTemplate restTemplate = new RestTemplate(); // HttpEntity> requestEntity = new HttpEntity<>(body, headers); // ResponseEntity response = @@ -914,8 +912,8 @@ public class YbHttpUtils { * @return 违规信息 */ public Yb3101OutputResult yb3101PreMidAnalysis(Yb3101InputData data) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/pre-mid-analysis", data, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/pre-mid-analysis", data, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -944,8 +942,8 @@ public class YbHttpUtils { * @param data 输入 */ public void yb3103PreMidFeedback(Yb3103InputData data) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/pre-mid-feedback", data, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/pre-mid-feedback", data, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -968,9 +966,9 @@ public class YbHttpUtils { } public List upload2301FeeDetail(Yb2301InputFeeDetailModel yb2301InputFeeDetailModel) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload-2301-fee-detail", - yb2301InputFeeDetailModel, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload-2301-fee-detail", + yb2301InputFeeDetailModel, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1000,9 +998,9 @@ public class YbHttpUtils { } public Yb2303OutputSetInfo inpatientPreSettle(Yb2303InputInpatient yb2303InputInpatient) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpa-pre-setl", - yb2303InputInpatient, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpa-pre-setl", + yb2303InputInpatient, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1027,7 +1025,7 @@ public class YbHttpUtils { public Yb2304OutputSetlInfo inpatientSettle(Contract contract, Yb2304InputInpatient yb2304InpatientParam) { String resultString = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpa-setl", - yb2304InpatientParam, contract); + yb2304InpatientParam, contract); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1052,15 +1050,15 @@ public class YbHttpUtils { /** * 【取消住院结算】 - * + * * @param contract 合同 * @param yb2305InpatientParam 2305参数 * @return 医保结果 */ public Yb2305OutputSetlInfo inpatientUnSettle(Contract contract, Yb2305InputInpatient yb2305InpatientParam) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpa-un-setl", - yb2305InpatientParam, contract); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpa-un-setl", + yb2305InpatientParam, contract); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1085,15 +1083,15 @@ public class YbHttpUtils { /** * 【5205】人员慢特病用药记录查询 - * + * * @param yb5205InputSpecialDisease * @return */ public List - yb5205SpecialDiseaseDrugRecordSearch(Yb5205InputSpecialDisease yb5205InputSpecialDisease) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/spe-disease-record-search", - yb5205InputSpecialDisease, null); + yb5205SpecialDiseaseDrugRecordSearch(Yb5205InputSpecialDisease yb5205InputSpecialDisease) { + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/spe-disease-record-search", + yb5205InputSpecialDisease, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1125,7 +1123,7 @@ public class YbHttpUtils { */ public FileResult queryCatalog(CatalogFileInput catalogFileInput) { String resultString = httpPost( - SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-catalog", catalogFileInput, null); + SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-catalog", catalogFileInput, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1135,20 +1133,6 @@ public class YbHttpUtils { Result result = null; try { result = mapper.readValue(resultString, Result.class); -<<<<<<< HEAD - if (result == null) { - throw new ServiceException("未接收到医保返回参数"); - } else if (result.getCode() == 200) { - System.out.println(result.getResult().toString()); - return JSON.parseObject(JSON.toJSONString(result.getResult()), FileResult.class); - } else { - throw new ServiceException(result.getMessage()); - } - } catch (Exception e) { - logger.error(e.getMessage(), e); - } - return null; -======= } catch (Exception e) { logger.error(e.getMessage(), e); } @@ -1161,7 +1145,6 @@ public class YbHttpUtils { } else { return new FileResult().setErrMsg(result.getMessage()); } ->>>>>>> v1.3 } /** @@ -1170,13 +1153,9 @@ public class YbHttpUtils { * @param fileResult * @return */ -<<<<<<< HEAD - public FileResult downLoadFile(FileResult fileResult) { -======= public String downLoadFile(FileResult fileResult) { ->>>>>>> v1.3 - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/download", fileResult, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/download", fileResult, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1190,11 +1169,7 @@ public class YbHttpUtils { throw new ServiceException("未接收到医保返回参数"); } else if (result.getCode() == 200) { System.out.println(result.getResult().toString()); -<<<<<<< HEAD - return JSON.parseObject(JSON.toJSONString(result.getResult()), FileResult.class); -======= return result.getResult().toString(); ->>>>>>> v1.3 } else { throw new ServiceException(result.getMessage()); } @@ -1207,23 +1182,13 @@ public class YbHttpUtils { /** * 【2401】住院办理 * -<<<<<<< HEAD - * @param yb2401InputInpatientMdtrtInfo 入參 - * @return 結果 - */ - public InpatientReg inpatientReg(Yb2401InputInpatientMdtrtInfo yb2401InputInpatientMdtrtInfo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpatient-reg", - yb2401InputInpatientMdtrtInfo, contractServiceImpl.getContract(yb2401InputInpatientMdtrtInfo.getMdtrtareaAdmvs())); -======= * @param jsonObject 入參 * @return 結果 */ public InpatientReg inpatientReg(JSONObject jsonObject, String contractNo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpatient-reg", jsonObject, - contractServiceImpl.getContract(contractNo)); ->>>>>>> v1.3 + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpatient-reg", jsonObject, + contractServiceImpl.getContract(contractNo)); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1247,12 +1212,6 @@ public class YbHttpUtils { return null; } -<<<<<<< HEAD - public InpatientDischarge inpatientCheckOut(Contract contract,Yb2402InputParam yb2402InputInpatientDscgInfo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/discharge-patient", - yb2402InputInpatientDscgInfo, contract); -======= /** * 【2404】住院办理撤销 * @@ -1260,9 +1219,9 @@ public class YbHttpUtils { * @return 結果 */ public void cancelInpatientReg(Yb2404InputInpatient yb2404InputInpatient, String contractNo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-inpatient-reg", - yb2404InputInpatient, contractServiceImpl.getContract(contractNo)); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-inpatient-reg", + yb2404InputInpatient, contractServiceImpl.getContract(contractNo)); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1287,16 +1246,15 @@ public class YbHttpUtils { /** * 【2402】出院办理 - * + * * @param yb2402InputInpatientDscgInfo 参数 * @param contractNo 合同编号 * @return 结果 */ public Yb2402InputParam inpatientCheckOut(Yb2402InputParam yb2402InputInpatientDscgInfo, String contractNo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/discharge-patient", - yb2402InputInpatientDscgInfo, iContractService.getContract(contractNo)); ->>>>>>> v1.3 + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/discharge-patient", + yb2402InputInpatientDscgInfo, iContractService.getContract(contractNo)); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1310,11 +1268,7 @@ public class YbHttpUtils { throw new ServiceException("未接收到医保返回参数"); } else if (result.getCode() == 200) { System.out.println(result.getResult().toString()); -<<<<<<< HEAD - return JSON.parseObject(result.getResult().toString(), InpatientDischarge.class); -======= return JSON.parseObject(result.getResult().toString(), Yb2402InputParam.class); ->>>>>>> v1.3 } else { throw new ServiceException(result.getMessage()); } @@ -1324,12 +1278,6 @@ public class YbHttpUtils { return null; } -<<<<<<< HEAD - public void updateInpatientInfo(Yb2403InputParam yb2405InputInpatient) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/change-inpatient-info", - yb2405InputInpatient, null); -======= /** * 【2405】出院办理撤销 * @@ -1337,9 +1285,9 @@ public class YbHttpUtils { * @return 結果 */ public void cancelInpatientCheckOut(Yb2405InputInpatient yb2405InputInpatient, String contractNo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-discharge-patient", - yb2405InputInpatient, contractServiceImpl.getContract(contractNo)); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-discharge-patient", + yb2405InputInpatient, contractServiceImpl.getContract(contractNo)); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1364,15 +1312,14 @@ public class YbHttpUtils { /** * 【2403】 更改住院信息 - * + * * @param yb2403InputInpatient 参数 * @param contractNo 结果 */ public void updateInpatientInfo(Yb2403InputParam yb2403InputInpatient, String contractNo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/change-inpatient-info", - yb2403InputInpatient, iContractService.getContract(contractNo)); ->>>>>>> v1.3 + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/change-inpatient-info", + yb2403InputInpatient, iContractService.getContract(contractNo)); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1392,17 +1339,13 @@ public class YbHttpUtils { } } catch (Exception e) { logger.error(e.getMessage(), e); -<<<<<<< HEAD - } - } -======= throw new ServiceException(e.getMessage()); } } public void emrUp(Yb4401InputDto yb4401InputDto) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/emr-up", yb4401InputDto, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/emr-up", yb4401InputDto, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1428,13 +1371,13 @@ public class YbHttpUtils { /** * 【2601】冲正交易 - * + * * @param toReverse 冲正参数 * @param contract 省市医保 */ public void ybToReverse(Yb2601InputParam toReverse, Contract contract) { String resultString = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/to-reverse", - toReverse, contract); + toReverse, contract); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1461,7 +1404,7 @@ public class YbHttpUtils { public void yb4101Up(Yb4101AInputData yb4101AInputData, Contract contract) { String resultString = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/setl-up", - yb4101AInputData, contract); + yb4101AInputData, contract); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1486,9 +1429,9 @@ public class YbHttpUtils { } public void yb4102Up(Yb4102InputStastInfo yb4102InputStastInfo) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/setl-status-up", - yb4102InputStastInfo, null); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/setl-status-up", + yb4102InputStastInfo, null); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1514,9 +1457,9 @@ public class YbHttpUtils { } public void cancel2302FeeDetailUp(Yb2302InpatientParam yb2302InpatientParam, Contract contract) { - String resultString = - httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-2302-fee-detail", - yb2302InpatientParam, contract); + String resultString + = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-2302-fee-detail", + yb2302InpatientParam, contract); if (StringUtils.isEmpty(resultString)) { throw new ServiceException("未接收到医保返回参数"); } @@ -1540,5 +1483,4 @@ public class YbHttpUtils { } } ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbManager.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbManager.java index 0fdfe8f4..be1df772 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbManager.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbManager.java @@ -82,7 +82,9 @@ public class YbManager { private RedisCache redisCache; @Autowired private AssignSeqUtil assignSeqUtil; - /******************************** 业务服务 ***********************************/ + /** + * ****************************** 业务服务 ********************************** + */ @Autowired private IPaymentRecDetailService iPaymentRecDetailService; @Autowired @@ -107,7 +109,9 @@ public class YbManager { private IOrganizationService iOrganizationService; @Autowired private IInventoryItemService inventoryItemService; - /****************************** 基础医保服务 *********************************/ + /** + * **************************** 基础医保服务 ******************************** + */ @Autowired private IPerinfoService iPerinfoService; @@ -170,14 +174,14 @@ public class YbManager { /** * 【2201】 为了慢特病自动挂号封装 - * + * * @param encounterId 就诊id * @return 结果 */ public ClinicReg2201Output createRegWithMedType(Contract contract, YbMdtrtCertType ybMdtrtCertTypeLong, - String busiCardInfo, Long encounterId, YbMedType medType) { + String busiCardInfo, Long encounterId, YbMedType medType) { ClinicReg reg = ybBaseService.getReg(ybMdtrtCertTypeLong, busiCardInfo, encounterId, medType, - SecurityUtils.getLoginUser().getTenantId()); + SecurityUtils.getLoginUser().getTenantId()); reg.setMedType(medType.getValue()); ClinicReg2201Output regResult = ybHttpService.reg(reg, contract); if (regResult != null) { @@ -197,8 +201,8 @@ public class YbManager { Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); - PaymentReconciliation paymentReconciliation = - iPaymentReconciliationService.getById(cancelRegPaymentDto.getId()); + PaymentReconciliation paymentReconciliation + = iPaymentReconciliationService.getById(cancelRegPaymentDto.getId()); if (paymentReconciliation == null) { throw new ServiceException("未查询到付款信息"); @@ -216,8 +220,8 @@ public class YbManager { Contract contractByInsuplcAdmdvs = iContractService.getContract(cancelRegPaymentDto.getContractNo()); - Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoOutput = - ybHttpService.unSettle(clinicOrder2208, contractByInsuplcAdmdvs); + Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoOutput + = ybHttpService.unSettle(clinicOrder2208, contractByInsuplcAdmdvs); if (clinic2208UnSetlInfoOutput == null) { throw new ServiceException("未查询到医保返回信息"); } @@ -227,8 +231,8 @@ public class YbManager { ClinicReg reg = ybBaseService.getUnReg(cancelRegPaymentDto.getEncounterId(), tenantId); - ClinicReg2201Output regResult = - ybHttpService.cancelReg(reg, iContractService.getContract(cancelRegPaymentDto.getContractNo())); + ClinicReg2201Output regResult + = ybHttpService.cancelReg(reg, iContractService.getContract(cancelRegPaymentDto.getContractNo())); if (regResult != null) { ybBaseService.saveUnReg(regResult); } @@ -252,14 +256,14 @@ public class YbManager { * @return 结果 */ public Clinic2206OrderOutput getPreSettleInfo(OutpatientRegistrationModel cancelRegPaymentModel, Patient patient, - Organization organization, Practitioner doctor) { + Organization organization, Practitioner doctor) { if (patient == null || organization == null || doctor == null) { throw new ServiceException("未查询到相关信息"); } InfoPerson perinfo = iPerinfoService.getOne(new LambdaQueryWrapper() - .eq(InfoPerson::getCertno, patient.getIdCard()).eq(InfoPerson::getTenantId, patient.getTenantId()) - .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); + .eq(InfoPerson::getCertno, patient.getIdCard()).eq(InfoPerson::getTenantId, patient.getTenantId()) + .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); if (perinfo == null) { throw new ServiceException("未查询到身份信息"); } @@ -276,16 +280,15 @@ public class YbManager { // 拼接医保挂号参数 ClinicReg reg = new ClinicReg(); reg.setPsnNo(perinfo.getPsnNo()).setInsutype(perinfo.getInsutype()).setBegntime(new Date()) - .setMdtrtCertType(mdtrtCertType.getValue()).setMdtrtCertNo(cancelRegPaymentModel.getBusiCardInfo()) - .setIptOtpNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.ENCOUNTER_NUM.getPrefix(), 4)) - .setAtddrNo(doctor.getYbNo()).setDrName(doctor.getName()).setDeptCode(organization.getYbNo()) - .setDeptName(organization.getName()) - .setCaty(organization.getCaty() == null ? organization.getYbNo() : organization.getCaty()) - .setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()).setAtddrNo(doctor.getYbNo()).setPsnType("11") - .setPsnCertType("01").setCertno(perinfo.getCertno()).setPsnName(perinfo.getPsnName()); + .setMdtrtCertType(mdtrtCertType.getValue()).setMdtrtCertNo(cancelRegPaymentModel.getBusiCardInfo()) + .setIptOtpNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.ENCOUNTER_NUM.getPrefix(), 4)) + .setAtddrNo(doctor.getYbNo()).setDrName(doctor.getName()).setDeptCode(organization.getYbNo()) + .setDeptName(organization.getName()) + .setCaty(organization.getCaty() == null ? organization.getYbNo() : organization.getCaty()) + .setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()).setAtddrNo(doctor.getYbNo()).setPsnType("11") + .setPsnCertType("01").setCertno(perinfo.getCertno()).setPsnName(perinfo.getPsnName()); // reg.setAtddrNo("D220172023129").setDrName("郭建林").setCaty("B19").setDeptCode("B19"); - // 发送医保挂号请求 ClinicReg2201Output clinicReg2201Output = ybHttpService.reg(reg, contract); if (clinicReg2201Output == null) { @@ -303,17 +306,17 @@ public class YbManager { // 拼接2203参数 Clinic2203DiseInfoParam diseinfo = new Clinic2203DiseInfoParam(); diseinfo.setDiagDept(organization.getYbNo()).setDiseDorName(doctor.getName()).setDiseDorNo(doctor.getYbNo()) - .setDiagTime(new Date()).setValiFlag(Whether.YES.getValue().toString()).setDiagType("1").setDiagSrtNo("1") - .setDiagCode("Z00.001").setDiagName("健康查体").setMdtrtId(clinicReg2201Output.getMdtrtId()); + .setDiagTime(new Date()).setValiFlag(Whether.YES.getValue().toString()).setDiagType("1").setDiagSrtNo("1") + .setDiagCode("Z00.001").setDiagName("健康查体").setMdtrtId(clinicReg2201Output.getMdtrtId()); // .setDiseDorNo("D220172023129").setDiseDorName("郭建林").setDiagDept("B19"); diseinfos.add(diseinfo); Clinic2203MedicalParam medical2203Param = new Clinic2203MedicalParam(); medical2203Param.setMdtrtId(clinicReg2201Output.getMdtrtId()).setPsnNo(reg.getPsnNo()) - .setBegntime(reg.getBegntime()).setMedType(medType.getValue()).setMainCondDscr("") - .setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()).setDiseCodg("Z00.001").setDiseName("健康查体") - .setDiseinfoList(diseinfos).setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()); + .setBegntime(reg.getBegntime()).setMedType(medType.getValue()).setMainCondDscr("") + .setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()).setDiseCodg("Z00.001").setDiseName("健康查体") + .setDiseinfoList(diseinfos).setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()); // 2203接口上传就诊信息 ybHttpService.upload2203Record(medical2203Param, contract); @@ -337,14 +340,14 @@ public class YbManager { // 外购处方标志(文档上没有详细介绍) 2025/04/14经确认,暂定非处方流转传0,处方流转传1 clinicFeedetail.setMedListCodg(cancelRegPaymentModel.getYbNo()); clinicFeedetail.setFeedetlSn(clinic2204OrderParam.getChrgBchno()).setMdtrtId(clinicReg2201Output.getMdtrtId()) - .setPsnNo(reg.getPsnNo()).setChrgBchno(clinic2204OrderParam.getChrgBchno()).setFeeOcurTime(new Date()) - .setMedinsListCodg(cancelRegPaymentModel.getBusNo()).setDetItemFeeSumamt(totalPrice.doubleValue()) - .setCnt(1.0).setPric(totalPrice.doubleValue()).setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()) - .setBilgDeptCodg(organization.getYbNo()).setBilgDeptName(organization.getName()) - .setBilgDrCodg(doctor.getYbNo()) - // 默认无需审批 - .setBilgDrName(doctor.getName()).setHospApprFlag(YbHospApprFlag.NO_APPROVAL_REQUIRED.getValue()) - .setRxCircFlag("0").setBilgDrCodg(doctor.getYbNo()); + .setPsnNo(reg.getPsnNo()).setChrgBchno(clinic2204OrderParam.getChrgBchno()).setFeeOcurTime(new Date()) + .setMedinsListCodg(cancelRegPaymentModel.getBusNo()).setDetItemFeeSumamt(totalPrice.doubleValue()) + .setCnt(1.0).setPric(totalPrice.doubleValue()).setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()) + .setBilgDeptCodg(organization.getYbNo()).setBilgDeptName(organization.getName()) + .setBilgDrCodg(doctor.getYbNo()) + // 默认无需审批 + .setBilgDrName(doctor.getName()).setHospApprFlag(YbHospApprFlag.NO_APPROVAL_REQUIRED.getValue()) + .setRxCircFlag("0").setBilgDrCodg(doctor.getYbNo()); // .setBilgDrName("郭建林").setBilgDrCodg("D220172023129") // .setBilgDeptCodg("B19").setBilgDeptName(organization.getName()); @@ -362,11 +365,11 @@ public class YbManager { // 拼接2206预结算参数 Clinic2206OrderParam clinicOrder = new Clinic2206OrderParam(); clinicOrder.setPsnNo(clinicReg2201Output.getPsnNo()).setMdtrtCertType(clinicReg2201Output.getMdtrtCertType()) - .setMdtrtCertNo(clinicReg2201Output.getMdtrtCertNo()).setMedType(medType.getValue()) - .setMedfeeSumamt(totalPrice.doubleValue()).setPsnSetlway(setlWay.getValue()) - .setMdtrtId(clinicReg2201Output.getMdtrtId()).setChrgBchno(clinic2204OrderParam.getChrgBchno()) - .setAcctUsedFlag(String.valueOf(Whether.YES.getValue())).setInsutype(clinicReg2201Output.getInsutype()) - .setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()); + .setMdtrtCertNo(clinicReg2201Output.getMdtrtCertNo()).setMedType(medType.getValue()) + .setMedfeeSumamt(totalPrice.doubleValue()).setPsnSetlway(setlWay.getValue()) + .setMdtrtId(clinicReg2201Output.getMdtrtId()).setChrgBchno(clinic2204OrderParam.getChrgBchno()) + .setAcctUsedFlag(String.valueOf(Whether.YES.getValue())).setInsutype(clinicReg2201Output.getInsutype()) + .setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()); // 接收2206接口返回参数 Clinic2206OrderOutput clinic2206OrderResult = ybHttpService.upload2206Record(clinicOrder, contract); @@ -375,18 +378,18 @@ public class YbManager { } // 保存预结算参数 ybBaseService.saveClinicOrder2206Param(clinicOrder, clinic2206OrderResult, medical2203Param, - clinic2204OrderParam, clinic2204OrderResult); + clinic2204OrderParam, clinic2204OrderResult); // 缓存预结算结果 redisCache.setCacheObject("PRE-SETTLE:PRE_SETTLE_:" + clinic2204OrderParam.getChrgBchno(), - clinic2206OrderResult, 1800, TimeUnit.SECONDS); + clinic2206OrderResult, 1800, TimeUnit.SECONDS); clinic2206OrderResult.setChrgBchno(clinic2204OrderParam.getChrgBchno()).setBusNo(reg.getIptOtpNo()); // 返回预结算结果 return clinic2206OrderResult; } public Clinic2206OrderOutput preSettle(Contract contract, Long encounterId, YbMdtrtCertType ybMdtrtCertType, - String busiCardInfo, ClinicReg2201Output reg2201Output, String payWay, - List paymentedItemList, YbMedType ybMedType) { + String busiCardInfo, ClinicReg2201Output reg2201Output, String payWay, + List paymentedItemList, YbMedType ybMedType) { YbPsnSetlWay ybPsnSetlWay = YbPsnSetlWay.getByValue(payWay); if (ybPsnSetlWay == null) { ybPsnSetlWay = YbPsnSetlWay.PSN_SETLWAY01; @@ -394,16 +397,16 @@ public class YbManager { Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); // 获取2203接口和2204接口参数 - Clinic2203MedicalParam clinic2203MedicalParam = - ybBaseService.getClinicMedical2203Param(encounterId, tenantId, reg2201Output, ybMedType); + Clinic2203MedicalParam clinic2203MedicalParam + = ybBaseService.getClinicMedical2203Param(encounterId, tenantId, reg2201Output, ybMedType); if (clinic2203MedicalParam == null) { throw new ServiceException("未生成2203接口参数"); } Result result = ybHttpService.upload2203Record(clinic2203MedicalParam, contract); - Clinic2204OrderParam clinic2204OrderParam = - ybBaseService.getClinicOrder2204Param(tenantId, paymentedItemList, reg2201Output); + Clinic2204OrderParam clinic2204OrderParam + = ybBaseService.getClinicOrder2204Param(tenantId, paymentedItemList, reg2201Output); if (clinic2204OrderParam == null) { throw new ServiceException("未生成2204接口参数"); } @@ -421,7 +424,7 @@ public class YbManager { // 获取2206参数 Clinic2206OrderParam clinic2206OrderParam = ybBaseService.getClinicOrder2206Param(sum, reg2201Output, - clinic2204OrderParam.getChrgBchno(), busiCardInfo); + clinic2204OrderParam.getChrgBchno(), busiCardInfo); if (clinic2206OrderParam == null) { throw new ServiceException("未生成2206接口参数"); } @@ -432,7 +435,7 @@ public class YbManager { } // 保存预结算参数 ybBaseService.saveClinicOrder2206Param(clinic2206OrderParam, clinic2206OrderResult, clinic2203MedicalParam, - clinic2204OrderParam, clinic2204OrderResult); + clinic2204OrderParam, clinic2204OrderResult); // 缓存预结算结果 // redisCache.setCacheObject("PRE-SETTLE:PRE_SETTLE_:" + clinic2206OrderParam.getChrgBchno(), // clinic2206OrderResult, 1800, TimeUnit.SECONDS); @@ -453,10 +456,10 @@ public class YbManager { if (clinicOrder2208 == null) { throw new ServiceException("未生成2208接口参数"); } - Contract contractByInsuplcAdmdvs = - iContractService.getContractByInsuplcAdmdvs(clinicOrder2208.getInsuplcAdmdvs()); - Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoResult = - ybHttpService.unSettle(clinicOrder2208, contractByInsuplcAdmdvs); + Contract contractByInsuplcAdmdvs + = iContractService.getContractByInsuplcAdmdvs(clinicOrder2208.getInsuplcAdmdvs()); + Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoResult + = ybHttpService.unSettle(clinicOrder2208, contractByInsuplcAdmdvs); // 业务表中进行操作 ybBaseService.saveUnSettleRecord(settleId, clinicOrder2208, clinic2208UnSetlInfoResult); return R.ok(clinic2208UnSetlInfoResult); @@ -500,14 +503,14 @@ public class YbManager { * @param ybNo 医保编码 */ public R directoryCheckMedication(String categoryCode, String busNo, String name, String ybNo) { - MedicalDirectory3302Param medicalDirectory3302Param = - ybBaseService.getMedicalDirectory3302ParamMedication(categoryCode, busNo, ybNo); + MedicalDirectory3302Param medicalDirectory3302Param + = ybBaseService.getMedicalDirectory3302ParamMedication(categoryCode, busNo, ybNo); Result result3302Info = ybHttpService.directoryUnCheck(medicalDirectory3302Param); if (!result3302Info.getCode().equals(CommonConstant.SC_OK_200)) { return R.fail("目录对照前,撤销对照失败"); } - MedicalDirectory3301Param medicalDirectory3301Param = - ybBaseService.getMedicalDirectory3301ParamMedication(categoryCode, busNo, name, ybNo); + MedicalDirectory3301Param medicalDirectory3301Param + = ybBaseService.getMedicalDirectory3301ParamMedication(categoryCode, busNo, name, ybNo); ArrayList list = new ArrayList<>(); list.add(medicalDirectory3301Param); MedicalDirectory3301ListParam medicalDirectory3301ListParam = new MedicalDirectory3301ListParam(); @@ -565,8 +568,8 @@ public class YbManager { */ public R reconcileGeneralLedgerDetail(Settlement3202WebParam settlement3202WebParam) { - FinancialSettlement3202Param financial3202Param = - ybBaseService.getFinancialSettlement3202Param(settlement3202WebParam); + FinancialSettlement3202Param financial3202Param + = ybBaseService.getFinancialSettlement3202Param(settlement3202WebParam); FinancialSettlement3202Result resultInfo = ybHttpService.reconcileGeneralLedgerDetail(financial3202Param); return R.ok(resultInfo); @@ -580,8 +583,8 @@ public class YbManager { */ public R threePartSearch(Settlement3209AWebParam settlement3209AWebParam) { - FinancialSettlement3209AParam financialSettlement3209AParam = - ybBaseService.getFinancialSettlement3209AParam(settlement3209AWebParam); + FinancialSettlement3209AParam financialSettlement3209AParam + = ybBaseService.getFinancialSettlement3209AParam(settlement3209AWebParam); List list = ybHttpService.threePartSearch(financialSettlement3209AParam); return R.ok(); @@ -707,8 +710,8 @@ public class YbManager { public R merchandise(Medical3505Param medical3505Param, Contract contract) { Result result = ybHttpService.merchandise(medical3505Param, contract); - Medical3505Result medical3505Result = - JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class); + Medical3505Result medical3505Result + = JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class); if ("1".equals(medical3505Result.getRetRslt())) { ybBaseService.saveInventorySaleRecord(medical3505Param, medical3505Result.getMsgRslt()); return R.ok(); @@ -726,8 +729,8 @@ public class YbManager { */ public R cancelMerchandise(Medical3506Param medical3506Param, Contract contract) { Result result = ybHttpService.cancelMerchandise(medical3506Param, contract); - Medical3505Result medical3505Result = - JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class); + Medical3505Result medical3505Result + = JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class); if ("1".equals(medical3505Result.getRetRslt())) { ybBaseService.saveInventorySaleReturnRecord(medical3506Param, medical3505Result.getMsgRslt()); return R.ok(); @@ -754,7 +757,7 @@ public class YbManager { /** * 【门诊结算-2207结算】 - * + * * @param contract 合同 * @param chrgBchno 支付批次号 * @param ybMdtrtCertType 凭证类型 @@ -764,33 +767,33 @@ public class YbManager { * @return 结算结果 */ public Clinic2207OrderModel settle(Contract contract, String chrgBchno, String busiCardInfo, - YbMdtrtCertType ybMdtrtCertType, Integer minpacuntDrugTracCnt, Integer mcsTracCnt) { + YbMdtrtCertType ybMdtrtCertType, Integer minpacuntDrugTracCnt, Integer mcsTracCnt) { // 分别查询2206和2201记录的参数信息 ClinicPreSettle clinicPreSettle = iClinicPreSettleService - .getOne(new LambdaQueryWrapper().eq(ClinicPreSettle::getChrgBchno, chrgBchno)); + .getOne(new LambdaQueryWrapper().eq(ClinicPreSettle::getChrgBchno, chrgBchno)); if (clinicPreSettle == null) { throw new ServiceException("为查询到预结算信息"); } ClinicReg clinicReg = iRegService - .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicPreSettle.getMdtrtId())); + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicPreSettle.getMdtrtId())); if (clinicReg == null) { throw new ServiceException("为查询到挂号信息"); } - Clinic2206OrderOutput clinic2206OrderResult = - JSONObject.parseObject(clinicPreSettle.getResult2206(), Clinic2206OrderOutput.class); + Clinic2206OrderOutput clinic2206OrderResult + = JSONObject.parseObject(clinicPreSettle.getResult2206(), Clinic2206OrderOutput.class); // 组装2207接口参数 Clinic2207OrderParam clinicOrder = new Clinic2207OrderParam(); clinicOrder.setPsnNo(clinicPreSettle.getPsnNo()).setMdtrtCertType(ybMdtrtCertType.getValue()) - .setMdtrtCertNo(busiCardInfo).setMedType(clinic2206OrderResult.getMedType()) - .setMedfeeSumamt(clinic2206OrderResult.getMedfeeSumamt().doubleValue()).setPsnSetlway("01") - .setMdtrtId(clinic2206OrderResult.getMdtrtId()).setChrgBchno(chrgBchno) - .setAcctUsedFlag(Whether.YES.getValue().toString()).setInsutype(clinic2206OrderResult.getInsutype()) - .setFulamtOwnpayAmt(clinic2206OrderResult.getFulamtOwnpayAmt().doubleValue()) - .setOverlmtSelfpay(clinic2206OrderResult.getOverlmtSelfpay().doubleValue()) - .setPreselfpayAmt(clinic2206OrderResult.getPreselfpayAmt().doubleValue()) - .setInscpScpAmt(clinic2206OrderResult.getInscpScpAmt().doubleValue()) - .setInsuplcAdmdvs(clinicReg.getInsuplcAdmdvs()).setMinpacuntDrugTracCnt(minpacuntDrugTracCnt) - .setMcsTracCnt(mcsTracCnt); + .setMdtrtCertNo(busiCardInfo).setMedType(clinic2206OrderResult.getMedType()) + .setMedfeeSumamt(clinic2206OrderResult.getMedfeeSumamt().doubleValue()).setPsnSetlway("01") + .setMdtrtId(clinic2206OrderResult.getMdtrtId()).setChrgBchno(chrgBchno) + .setAcctUsedFlag(Whether.YES.getValue().toString()).setInsutype(clinic2206OrderResult.getInsutype()) + .setFulamtOwnpayAmt(clinic2206OrderResult.getFulamtOwnpayAmt().doubleValue()) + .setOverlmtSelfpay(clinic2206OrderResult.getOverlmtSelfpay().doubleValue()) + .setPreselfpayAmt(clinic2206OrderResult.getPreselfpayAmt().doubleValue()) + .setInscpScpAmt(clinic2206OrderResult.getInscpScpAmt().doubleValue()) + .setInsuplcAdmdvs(clinicReg.getInsuplcAdmdvs()).setMinpacuntDrugTracCnt(minpacuntDrugTracCnt) + .setMcsTracCnt(mcsTracCnt); // 发送http请求给app Clinic2207OrderModel settle = ybHttpService.settle(clinicOrder, contract); if (settle == null) { @@ -803,7 +806,7 @@ public class YbManager { /** * 【门诊挂号收费-2207】 - * + * * @param contract 合同 * @param chrgBchno 收费批次号 * @return 结果 @@ -811,33 +814,33 @@ public class YbManager { public PaymentResult settle(Contract contract, String chrgBchno) { ClinicPreSettle clinicPreSettle = iClinicPreSettleService - .getOne(new LambdaQueryWrapper().eq(ClinicPreSettle::getChrgBchno, chrgBchno)); + .getOne(new LambdaQueryWrapper().eq(ClinicPreSettle::getChrgBchno, chrgBchno)); if (clinicPreSettle == null) { throw new ServiceException("未查询到预结算信息"); } ClinicReg clinicReg = iRegService - .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicPreSettle.getMdtrtId())); + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicPreSettle.getMdtrtId())); if (clinicReg == null) { throw new ServiceException("未查询到挂号信息"); } - Clinic2206OrderOutput clinic2206OrderResult = - JSONObject.parseObject(clinicPreSettle.getResult2206(), Clinic2206OrderOutput.class); + Clinic2206OrderOutput clinic2206OrderResult + = JSONObject.parseObject(clinicPreSettle.getResult2206(), Clinic2206OrderOutput.class); Clinic2207OrderParam clinicOrder = new Clinic2207OrderParam(); clinicOrder.setPsnNo(clinicPreSettle.getPsnNo()).setMdtrtCertType(clinic2206OrderResult.getMdtrtCertType()) - // todo:sjq 医疗费用总额需要用ChargeItem的和 - .setMdtrtCertNo(clinic2206OrderResult.getMdtrtCertNo()).setMedType(clinic2206OrderResult.getMedType()) - .setMedfeeSumamt(clinic2206OrderResult.getMedfeeSumamt().doubleValue()).setPsnSetlway("01") - .setMdtrtId(clinic2206OrderResult.getMdtrtId()).setChrgBchno(chrgBchno) - .setAcctUsedFlag(Whether.YES.getValue().toString()).setInsutype(clinic2206OrderResult.getInsutype()) - .setFulamtOwnpayAmt(clinic2206OrderResult.getFulamtOwnpayAmt().doubleValue()) - .setOverlmtSelfpay(clinic2206OrderResult.getOverlmtSelfpay().doubleValue()) - .setPreselfpayAmt(clinic2206OrderResult.getPreselfpayAmt().doubleValue()) - .setInscpScpAmt(clinic2206OrderResult.getInscpScpAmt().doubleValue()) - .setInsuplcAdmdvs(clinicReg.getInsuplcAdmdvs()); + // todo:sjq 医疗费用总额需要用ChargeItem的和 + .setMdtrtCertNo(clinic2206OrderResult.getMdtrtCertNo()).setMedType(clinic2206OrderResult.getMedType()) + .setMedfeeSumamt(clinic2206OrderResult.getMedfeeSumamt().doubleValue()).setPsnSetlway("01") + .setMdtrtId(clinic2206OrderResult.getMdtrtId()).setChrgBchno(chrgBchno) + .setAcctUsedFlag(Whether.YES.getValue().toString()).setInsutype(clinic2206OrderResult.getInsutype()) + .setFulamtOwnpayAmt(clinic2206OrderResult.getFulamtOwnpayAmt().doubleValue()) + .setOverlmtSelfpay(clinic2206OrderResult.getOverlmtSelfpay().doubleValue()) + .setPreselfpayAmt(clinic2206OrderResult.getPreselfpayAmt().doubleValue()) + .setInscpScpAmt(clinic2206OrderResult.getInscpScpAmt().doubleValue()) + .setInsuplcAdmdvs(clinicReg.getInsuplcAdmdvs()); Clinic2207OrderModel settle = ybHttpService.settle(clinicOrder, contract); @@ -869,7 +872,7 @@ public class YbManager { /** * 医保预结算返回信息 - * + * * @return 预结算结果 */ public Yb2303OutputSetInfo preSettleInpatient(PrePaymentDto prePaymentDto) { @@ -880,8 +883,8 @@ public class YbManager { } InpatientReg inpatientReg = inpatientRegService - .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) - .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); if (inpatientReg == null) { throw new ServiceException("未查询到医保就诊记录"); } @@ -894,13 +897,12 @@ public class YbManager { // 获取今天和昨天的上午10点时间 // LocalDateTime today10AM = LocalDateTime.of(LocalDate.now(), LocalTime.of(10, 0)); // 今天10点 // LocalDateTime yesterday10AM = today10AM.minusDays(1); // 昨天10点(自动处理跨月/年) - // List chargeItemList = iChargeItemService.list(new LambdaQueryWrapper() // .eq(ChargeItem::getEncounterId, encounterId).between(ChargeItem::getEnteredDate, yesterday10AM, today10AM)); // List chargeItemList = iChargeItemService.list(new LambdaQueryWrapper() // .eq(ChargeItem::getEncounterId, encounterId).in(ChargeItem::getId, chargeItemIds)); - List chargeItemBaseInfoDtos = - iChargeItemService.getChargeItemBaseInfoByIds(prePaymentDto.getChargeItemIds()); + List chargeItemBaseInfoDtos + = iChargeItemService.getChargeItemBaseInfoByIds(prePaymentDto.getChargeItemIds()); List chargeItemBaseInfoDtosList = new ArrayList<>(); // 查询基础信息 todo:childrenJson里面村的内容相比较ChargeItemBaseInfoDto有些不够,需要确认一下类里面实际用到的值在children里存不存在 @@ -910,8 +912,8 @@ public class YbManager { } if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { // 反序列化:将JSON数组字符串转为List<> - List chargeItemBaseInfoList = - JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + List chargeItemBaseInfoList + = JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); } else { chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); @@ -922,11 +924,11 @@ public class YbManager { List yb2301InputFeeDetailList = new ArrayList(); BigDecimal quantity = BigDecimal.ZERO; // 分组分类 - Map> groupByTable = - chargeItemBaseInfoDtosList.stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getServiceTable)); + Map> groupByTable + = chargeItemBaseInfoDtosList.stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getServiceTable)); for (Map.Entry> stringListEntry : groupByTable.entrySet()) { - Map> groupById = - stringListEntry.getValue().stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getServiceId)); + Map> groupById + = stringListEntry.getValue().stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getServiceId)); for (Map.Entry> longListEntry : groupById.entrySet()) { quantity = BigDecimal.ZERO; for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : longListEntry.getValue()) { @@ -937,17 +939,17 @@ public class YbManager { yb2301InputFeeDetail = new Yb2301InputFeeDetail(); yb2301InputFeeDetail.setFeedetlSn(chargeItemBaseInfoDto.getBusNo()) - .setMdtrtId(inpatientReg.getMdtrtId()).setPsnNo(inpatientReg.getPsnNo()) - .setMedType(String.valueOf(encounter.getYbClassEnum())) - .setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()) - .setMedListCodg(chargeItemBaseInfoDto.getYbNo()) - .setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo()) - // 2025-11-13 李方案住院部分的totalprice不可直接用,要用单价乘以数量,并且比如患者一天一袋氯化钠注射液,预结算的时候要根据同表同id进行归类计算 - .setDetItemFeeSumamt(quantity.multiply(chargeItemBaseInfoDto.getUnitPrice())).setCnt(quantity) - .setPric(chargeItemBaseInfoDto.getUnitPrice()).setBilgDeptName(chargeItemBaseInfoDto.getDeptName()) - .setBilgDrName(chargeItemBaseInfoDto.getDoctName()) - .setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo()) - .setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo()); + .setMdtrtId(inpatientReg.getMdtrtId()).setPsnNo(inpatientReg.getPsnNo()) + .setMedType(String.valueOf(encounter.getYbClassEnum())) + .setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()) + .setMedListCodg(chargeItemBaseInfoDto.getYbNo()) + .setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo()) + // 2025-11-13 李方案住院部分的totalprice不可直接用,要用单价乘以数量,并且比如患者一天一袋氯化钠注射液,预结算的时候要根据同表同id进行归类计算 + .setDetItemFeeSumamt(quantity.multiply(chargeItemBaseInfoDto.getUnitPrice())).setCnt(quantity) + .setPric(chargeItemBaseInfoDto.getUnitPrice()).setBilgDeptName(chargeItemBaseInfoDto.getDeptName()) + .setBilgDrName(chargeItemBaseInfoDto.getDoctName()) + .setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo()) + .setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo()); yb2301InputFeeDetailList.add(yb2301InputFeeDetail); } @@ -968,10 +970,9 @@ public class YbManager { // .setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo()); // yb2301InputFeeDetailList.add(yb2301InputFeeDetail); // } - Yb2301InputFeeDetailModel yb2301InputFeeDetailModel = new Yb2301InputFeeDetailModel(); yb2301InputFeeDetailModel.setFeedetail(yb2301InputFeeDetailList) - .setInsuplcAdmdvs(inpatientReg.getInsuplcAdmdvs()); + .setInsuplcAdmdvs(inpatientReg.getInsuplcAdmdvs()); List yb2301OutputResults = ybHttpService.upload2301FeeDetail(yb2301InputFeeDetailModel); // todo :数据保存 @@ -998,15 +999,14 @@ public class YbManager { Yb2303InputInpatient yb2303InputInpatient = new Yb2303InputInpatient(); yb2303InputInpatient.setPsnNo(infoPerson.getPsnNo()) - .setMdtrtCertType(YbMdtrtCertType.getByValue(prePaymentDto.getYbMdtrtCertType()) == null ? null - : YbMdtrtCertType.getByValue(prePaymentDto.getYbMdtrtCertType()).getValue()) - .setMdtrtCertNo(prePaymentDto.getBusiCardInfo()).setMedfeeSumamt(medfeeSumamt) - .setPsnSetlway(YbPsnSetlWay.PSN_SETLWAY01.getValue()).setMdtrtId(inpatientReg.getMdtrtId()) - .setInsutype(infoPerson.getInsutype()).setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) - .setMdtrtareaAdmvs(iContractService.getContractListByYb().get(0).getAdmVs()); + .setMdtrtCertType(YbMdtrtCertType.getByValue(prePaymentDto.getYbMdtrtCertType()) == null ? null + : YbMdtrtCertType.getByValue(prePaymentDto.getYbMdtrtCertType()).getValue()) + .setMdtrtCertNo(prePaymentDto.getBusiCardInfo()).setMedfeeSumamt(medfeeSumamt) + .setPsnSetlway(YbPsnSetlWay.PSN_SETLWAY01.getValue()).setMdtrtId(inpatientReg.getMdtrtId()) + .setInsutype(infoPerson.getInsutype()).setInsuplcAdmdvs(infoPerson.getInsuplcAdmdvs()) + .setMdtrtareaAdmvs(iContractService.getContractListByYb().get(0).getAdmVs()); // todo:中途结算标志需要判断一下,待2304接口开发完成后编辑 - Yb2303OutputSetInfo yb2303OutputSetInfo = ybHttpService.inpatientPreSettle(yb2303InputInpatient); if (yb2303OutputSetInfo == null) { @@ -1020,7 +1020,7 @@ public class YbManager { /** * 【住院结算】 - * + * * @param contract 合同 * @param paymentDto 结算参数 * @return 结果 @@ -1052,10 +1052,6 @@ public class YbManager { return yb2305OutputSetlInfo; } -<<<<<<< HEAD public void hospitalAdmission() { } -======= - public void hospitalAdmission() {} ->>>>>>> v1.3 } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientDischargeServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientDischargeServiceImpl.java index 6ff45d4e..f2d28853 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientDischargeServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientDischargeServiceImpl.java @@ -5,19 +5,6 @@ package com.openhis.yb.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -<<<<<<< HEAD -import com.openhis.common.enums.DelFlag; -import com.openhis.yb.domain.InpatientDischarge; -import com.openhis.yb.domain.InpatientReg; -import com.openhis.yb.mapper.InpatientDischargeMapper; -import com.openhis.yb.mapper.InpatientRegMapper; -import com.openhis.yb.service.IInpatientDischargeService; -import com.openhis.yb.service.IInpatientRegService; -import org.springframework.stereotype.Service; - -/** - * TODO:请概括描述当前类的主要用途和注意事项 -======= import com.core.common.enums.DelFlag; import com.openhis.common.constant.YbCommonConstants; import com.openhis.yb.domain.InpatientDischarge; @@ -27,22 +14,17 @@ import org.springframework.stereotype.Service; /** * 医保出院Mapper ->>>>>>> v1.3 * * @author SunJQ * @date 2025-07-31 */ @Service public class InpatientDischargeServiceImpl extends ServiceImpl - implements IInpatientDischargeService { -<<<<<<< HEAD + implements IInpatientDischargeService { - -======= @Override public InpatientDischarge getByMdtrtId(String mdtrtId) { return baseMapper.selectOne(new LambdaQueryWrapper().eq(InpatientDischarge::getMdtrtId, mdtrtId) - .eq(InpatientDischarge::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1)); + .eq(InpatientDischarge::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1)); } ->>>>>>> v1.3 }