From 5f600209b8d0e8e519548008763d1c4e56197001 Mon Sep 17 00:00:00 2001 From: chenqi Date: Sat, 27 Dec 2025 22:45:20 +0800 Subject: [PATCH] =?UTF-8?q?```=20refactor(core):=20=E4=BC=98=E5=8C=96DelFl?= =?UTF-8?q?ag=E6=9E=9A=E4=B8=BE=E5=80=BC=E6=AF=94=E8=BE=83=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改DelFlag.getValue()调用为直接访问value字段 - 提升代码性能和可读性 ``` --- .../impl/MedicineSummaryAppServiceImpl.java | 23 +++ ...SummaryDispenseMedicineAppServiceImpl.java | 42 ++++++ .../java/com/core/common/enums/DelFlag.java | 2 +- .../core/framework/config/SecurityConfig.java | 4 +- openhis-server-new/core-system/pom.xml | 36 ++++- .../openhis-application/pom.xml | 3 +- .../controller/InvoiceController.java | 4 +- .../PatientCardRenewalServiceImpl.java | 3 +- .../impl/MedicineSummaryAppServiceImpl.java | 31 +--- .../dto/DispenseFormSearchParam.java | 8 + .../dto/InpatientAdviceParam.java | 8 + .../appservice/IOutpatientRecordService.java | 36 +++++ .../IPatientInformationService.java | 9 ++ .../impl/OutpatientRecordServiceImpl.java | 17 ++- .../impl/PatientInformationServiceImpl.java | 17 +++ .../dto/OutpatientRecordDto.java | 67 +++++++++ .../dto/OutpatientRecordSearchParam.java | 47 ++++++ .../mapper/PatientManageMapper.java | 22 ++- .../impl/PaymentRecServiceImpl.java | 1 + .../MedicalDeviceDispenseAppServiceImpl.java | 6 +- ...SummaryDispenseMedicineAppServiceImpl.java | 22 ++- ...WesternMedicineDispenseAppServiceImpl.java | 6 +- .../pharmacymanage/dto/DispenseInitDto.java | 35 +++-- .../dto/DispenseStatusOption.java | 23 +++ .../dto/MedDetailedAccountPageDto.java | 10 +- .../src/main/resources/application-test.yml | 41 +----- .../common/enums/ybenums/YbPayment.java | 5 - openhis-server-new/openhis-domain/pom.xml | 14 +- .../administration/domain/IdentifierUse.java | 12 +- .../dto/CostDetailSearchParam.java | 8 + .../service/IInvoiceService.java | 10 ++ .../service/impl/InvoiceServiceImpl.java | 39 +++-- .../service/impl/OrganizationServiceImpl.java | 7 - .../domain/PaymentReconciliation.java | 5 + openhis-server-new/pom.xml | 137 ++++++------------ 35 files changed, 516 insertions(+), 244 deletions(-) create mode 100644 his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java create mode 100644 his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java create mode 100644 openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IOutpatientRecordService.java create mode 100644 openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordDto.java create mode 100644 openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordSearchParam.java create mode 100644 openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseStatusOption.java diff --git a/his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java b/his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java new file mode 100644 index 00000000..52d40b0e --- /dev/null +++ b/his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java @@ -0,0 +1,23 @@ + /** + * 取消汇总 + * + * @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[]{"取消"})); + } +} \ No newline at end of file diff --git a/his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java b/his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java new file mode 100644 index 00000000..59839479 --- /dev/null +++ b/his/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/SummaryDispenseMedicineAppServiceImpl.java @@ -0,0 +1,42 @@ + @Resource + private IMedicationDispenseService medicationDispenseService; + + @Resource + private ReturnMedicineMapper returnMedicineMapper; + + @Resource + private ISupplyRequestService supplyRequestService; + + @Resource + private ISupplyDeliveryService supplyDeliveryService; + + @Resource + private ITraceNoManageService traceNoManageService; + + @Resource + private IInventoryItemService inventoryItemService; + + @Resource + private IMedicationDefinitionService medicationDefinitionService; + + @Resource + private ReceiptApprovalAppServiceImpl receiptApprovalAppService; + + @Resource + private WesternMedicineDispenseAppServiceImpl westernMedicineDispenseAppService; + + @Resource + private WesternMedicineDispenseMapper westernMedicineDispenseMapper; + + @Resource + private IOrganizationService organizationService; + + @Resource + private AdviceProcessAppMapper adviceProcessAppMapper; + + + + + + @Resource + private MedicationRequestServiceImpl medicationRequestService; diff --git a/openhis-server-new/core-common/src/main/java/com/core/common/enums/DelFlag.java b/openhis-server-new/core-common/src/main/java/com/core/common/enums/DelFlag.java index f59c8060..a70e1a9e 100644 --- a/openhis-server-new/core-common/src/main/java/com/core/common/enums/DelFlag.java +++ b/openhis-server-new/core-common/src/main/java/com/core/common/enums/DelFlag.java @@ -33,7 +33,7 @@ public enum DelFlag { return null; } for (DelFlag val : values()) { - if (val.getValue().equals(value)) { + if (val.value.equals(value)) { return val; } } diff --git a/openhis-server-new/core-framework/src/main/java/com/core/framework/config/SecurityConfig.java b/openhis-server-new/core-framework/src/main/java/com/core/framework/config/SecurityConfig.java index 5154bbd2..c3c69412 100644 --- a/openhis-server-new/core-framework/src/main/java/com/core/framework/config/SecurityConfig.java +++ b/openhis-server-new/core-framework/src/main/java/com/core/framework/config/SecurityConfig.java @@ -7,7 +7,7 @@ import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.ProviderManager; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; -import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.core.userdetails.UserDetailsService; @@ -27,7 +27,7 @@ import com.core.framework.security.handle.LogoutSuccessHandlerImpl; * * @author system */ -@EnableMethodSecurity(prePostEnabled = true, securedEnabled = true) +@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) @Configuration public class SecurityConfig { /** diff --git a/openhis-server-new/core-system/pom.xml b/openhis-server-new/core-system/pom.xml index b3408d36..dc5eaf5b 100644 --- a/openhis-server-new/core-system/pom.xml +++ b/openhis-server-new/core-system/pom.xml @@ -1,7 +1,7 @@ + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> com.openhis openhis-server @@ -16,6 +16,11 @@ system系统模块 + + 2.0.43 + 2.5.1 + + @@ -29,6 +34,28 @@ lombok + + + com.alibaba.fastjson2 + fastjson2 + ${fastjson2.version} + + + + + com.alibaba + fastjson + 1.2.83 + + + + + com.belerweb + pinyin4j + ${pinyin4j.version} + + + io.swagger swagger-annotations @@ -40,11 +67,6 @@ org.postgresql postgresql - - org.projectlombok - lombok - compile - diff --git a/openhis-server-new/openhis-application/pom.xml b/openhis-server-new/openhis-application/pom.xml index 616f682d..d6a4fd19 100644 --- a/openhis-server-new/openhis-application/pom.xml +++ b/openhis-server-new/openhis-application/pom.xml @@ -25,7 +25,6 @@ org.projectlombok lombok - provided @@ -102,9 +101,11 @@ org.apache.maven.plugins maven-compiler-plugin + 3.13.0 17 17 + UTF-8 diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basicmanage/controller/InvoiceController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basicmanage/controller/InvoiceController.java index ef1679fe..34614bcc 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basicmanage/controller/InvoiceController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basicmanage/controller/InvoiceController.java @@ -1,5 +1,6 @@ package com.openhis.web.basicmanage.controller; +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.utils.SecurityUtils; @@ -48,6 +49,7 @@ public class InvoiceController { // 分页查询发票列表 Page page = new Page<>(pageNo, pageSize); - return R.ok(invoiceService.selectInvoicePage(page, isAdmin, userId)); + IPage result = invoiceService.selectInvoicePage(page, isAdmin, userId); + return R.ok(result); } } \ No newline at end of file diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/charge/patientcardrenewal/PatientCardRenewalServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/charge/patientcardrenewal/PatientCardRenewalServiceImpl.java index c9f73e11..ec6f6e1a 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/charge/patientcardrenewal/PatientCardRenewalServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/charge/patientcardrenewal/PatientCardRenewalServiceImpl.java @@ -53,7 +53,8 @@ public class PatientCardRenewalServiceImpl implements PatientCardRenewalService // 3. 直接使用患者ID作为查询条件 Long patientId = Long.parseLong(request.getPatientId()); // 4. 通过患者ID查询现有标识信息 - PatientIdentifier patientIdentifier = patientIdentifierService.selectByPatientId(patientId); + List patientIdentifiers = patientIdentifierService.selectByPatientId(patientId); + PatientIdentifier patientIdentifier = patientIdentifiers.isEmpty() ? null : patientIdentifiers.get(0); if (patientIdentifier != null) { // 5. 只更新就诊卡号这一个参数 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 e5ff5ea3..16250979 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 @@ -31,6 +31,7 @@ import com.openhis.web.inhospitalnursestation.dto.MedicineSummaryFormDto; import com.openhis.web.inhospitalnursestation.dto.MedicineSummaryParam; import com.openhis.web.inhospitalnursestation.mapper.MedicineSummaryAppMapper; import com.openhis.web.pharmacymanage.dto.DispenseInitDto; +import com.openhis.web.pharmacymanage.dto.DispenseStatusOption; import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper; import com.openhis.workflow.service.ISupplyDeliveryService; import com.openhis.workflow.service.ISupplyRequestService; @@ -80,10 +81,10 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService notPerformedReason.getInfo())) .collect(Collectors.toList()); // 发药状态 - List dispenseStatusOptions = new ArrayList<>(); - dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.PREPARATION.getValue(), + List dispenseStatusOptions = new ArrayList<>(); + dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARATION.getInfo())); - dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), + dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), DispenseStatus.COMPLETED.getInfo())); initDto.setNotPerformedReasonOptions(notPerformedReasonOptions).setDispenseStatusOptions(dispenseStatusOptions); @@ -290,28 +291,4 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService } 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/dto/DispenseFormSearchParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/DispenseFormSearchParam.java index 578e5797..a0992b86 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 @@ -64,4 +64,12 @@ public class DispenseFormSearchParam implements Serializable { * 发放状态 */ private Integer statusEnum; + + public String getEncounterIds() { + return encounterIds; + } + + public void setEncounterIds(String encounterIds) { + this.encounterIds = encounterIds; + } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/InpatientAdviceParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/InpatientAdviceParam.java index 3b11a4d8..115d1d4f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/InpatientAdviceParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/dto/InpatientAdviceParam.java @@ -33,4 +33,12 @@ public class InpatientAdviceParam { /** 截至时间 */ private String deadline; + + public String getEncounterIds() { + return encounterIds; + } + + public void setEncounterIds(String encounterIds) { + this.encounterIds = encounterIds; + } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IOutpatientRecordService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IOutpatientRecordService.java new file mode 100644 index 00000000..cf762e19 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/IOutpatientRecordService.java @@ -0,0 +1,36 @@ +package com.openhis.web.patientmanage.appservice; + +import javax.servlet.http.HttpServletRequest; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.core.common.core.domain.R; +import com.openhis.web.patientmanage.dto.OutpatientRecordDto; +import com.openhis.web.patientmanage.dto.OutpatientRecordSearchParam; + +/** + * 门诊记录查询 service + * + * @author liuhr + * @date 2025/3/15 + */ +public interface IOutpatientRecordService { + + /** + * 分页查询门诊记录 + * + * @param outpatientRecordSearchParam 门诊录查询参数 + * @param searchKey 模糊查询关键字 + * @param pageNo 页码(默认为1) + * @param pageSize 每页大小(默认为10) + * @param request 请求 + * @return 分页查询 + */ + IPage getPatient(OutpatientRecordSearchParam outpatientRecordSearchParam, String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request); + + /** + * 获取医生名字列表 + * + * @return 医生名字列表 + */ + R getDoctorNames(); +} 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 9ceaeda6..901fabff 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 @@ -55,4 +55,13 @@ public interface IPatientInformationService { * @param patientBaseInfoDto 患者信息 */ R updatePatientPhone(PatientBaseInfoDto patientBaseInfoDto); + + /** + * 检查患者是否存在 + * + * @param name 患者姓名 + * @param idCardNo 身份证号 + * @return 是否存在 + */ + boolean checkPatientExists(String name, String idCardNo); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/OutpatientRecordServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/OutpatientRecordServiceImpl.java index a24f1392..07846964 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/OutpatientRecordServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/appservice/impl/OutpatientRecordServiceImpl.java @@ -21,6 +21,7 @@ import com.openhis.common.utils.HisQueryUtils; import com.openhis.web.patientmanage.appservice.IOutpatientRecordService; import com.openhis.web.patientmanage.dto.OutpatientRecordDto; import com.openhis.web.patientmanage.dto.OutpatientRecordSearchParam; + import com.openhis.web.patientmanage.mapper.PatientManageMapper; /** @@ -45,24 +46,24 @@ public class OutpatientRecordServiceImpl implements IOutpatientRecordService { */ @Override public IPage getPatient(OutpatientRecordSearchParam outpatientRecordSearchParam, - String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request) { + String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request) { // 构建查询条件 - QueryWrapper queryWrapper = - HisQueryUtils.buildQueryWrapper(outpatientRecordSearchParam, searchKey, - new HashSet<>(Arrays.asList(CommonConstants.FieldName.IdCard, CommonConstants.FieldName.Name, - CommonConstants.FieldName.PatientBusNo, CommonConstants.FieldName.EncounterBusNo)), - request); + QueryWrapper queryWrapper + = HisQueryUtils.buildQueryWrapper(outpatientRecordSearchParam, searchKey, + new HashSet<>(Arrays.asList(CommonConstants.FieldName.IdCard, CommonConstants.FieldName.Name, + CommonConstants.FieldName.PatientBusNo, CommonConstants.FieldName.EncounterBusNo)), + request); IPage outpatientRecordPage = patientManageMapper - .getOutpatientRecord(ParticipantType.ADMITTER.getCode(), new Page<>(pageNo, pageSize), queryWrapper); + .getOutpatientRecord(ParticipantType.ADMITTER.getCode(), new Page<>(pageNo, pageSize), queryWrapper); outpatientRecordPage.getRecords().forEach(e -> { // 性别枚举类回显赋值 e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); // 就诊对象状态枚举类回显赋值 e.setSubjectStatusEnum_enumText( - EnumUtils.getInfoByValue(EncounterSubjectStatus.class, e.getSubjectStatusEnum())); + EnumUtils.getInfoByValue(EncounterSubjectStatus.class, e.getSubjectStatusEnum())); }); return outpatientRecordPage; 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 85d7c106..9344b6c1 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 @@ -19,6 +19,7 @@ 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.core.domain.model.LoginUser; +import com.core.common.enums.DelFlag; import com.core.common.exception.ServiceException; import com.core.common.utils.AssignSeqUtil; import com.core.common.utils.ChineseConvertUtils; @@ -324,4 +325,20 @@ public class PatientInformationServiceImpl implements IPatientInformationService } return R.fail("更新患者手机号失败"); } + + /** + * 检查患者是否存在 + * + * @param name 患者姓名 + * @param idCardNo 身份证号 + * @return 是否存在 + */ + @Override + public boolean checkPatientExists(String name, String idCardNo) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Patient::getName, name) + .eq(Patient::getIdCard, idCardNo) + .eq(Patient::getDeleteFlag, DelFlag.NO.getCode()); + return patientService.count(queryWrapper) > 0; + } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordDto.java new file mode 100644 index 00000000..d29badef --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordDto.java @@ -0,0 +1,67 @@ +package com.openhis.web.patientmanage.dto; + +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 门诊记录 Dto + * + * @author liuhr + * @date 2025/3/15 + */ +@Data +@Accessors(chain = true) +public class OutpatientRecordDto { + + /** + * ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 患者姓名 + */ + private String name; + + /** + * 身份证号码 + */ + private String idCard; + + /** + * 患者院内编码 + */ + private String patientBusNo; + + /** + * 就诊流水号 + */ + private String encounterBusNo; + + /** + * 性别编码 + */ + private Integer genderEnum; + private String genderEnum_enumText; + + /** + * 就诊对象状态 + */ + private Integer subjectStatusEnum; + private String subjectStatusEnum_enumText; + + /** + * 登记时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + // 其他可能需要的字段 +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordSearchParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordSearchParam.java new file mode 100644 index 00000000..f9849d95 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/dto/OutpatientRecordSearchParam.java @@ -0,0 +1,47 @@ +package com.openhis.web.patientmanage.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 门诊记录查询参数 + * + * @author liuhr + * @date 2025/3/15 + */ +@Data +@Accessors(chain = true) +public class OutpatientRecordSearchParam { + + /** + * 患者姓名 + */ + private String name; + + /** + * 身份证号码 + */ + private String idCard; + + /** + * 患者院内编码 + */ + private String patientBusNo; + + /** + * 就诊流水号 + */ + private String encounterBusNo; + + /** + * 性别编码 + */ + private Integer genderEnum; + + /** + * 就诊对象状态 + */ + private Integer subjectStatusEnum; + + // 其他可能需要的查询参数 +} diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/mapper/PatientManageMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/mapper/PatientManageMapper.java index 6df67734..7966751c 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/mapper/PatientManageMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/patientmanage/mapper/PatientManageMapper.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.openhis.administration.domain.Patient; +import com.openhis.web.patientmanage.dto.OutpatientRecordDto; import com.openhis.web.patientmanage.dto.PatientBaseInfoDto; import com.openhis.web.patientmanage.dto.PatientIdInfoDto; @@ -31,14 +32,31 @@ public interface PatientManageMapper extends BaseMapper { * @return 病人信息列表 */ IPage getPatientPage(@Param("page") Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); /** * 查询患者身份信息 - * + * * @param patientIdList 患者id集合 * @return 患者身份信息 */ List getPatientIdInfo(@Param("patientIdList") List patientIdList); + /** + * 查询门诊记录 + * + * @param participantType 参与者类型 + * @param page 分页参数 + * @param queryWrapper 查询条件 + * @return 门诊记录列表 + */ + IPage getOutpatientRecord(@Param("participantType") String participantType, + @Param("page") Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + /** + * 获取医生名字列表 + * + * @return 医生名字列表 + */ + List getDoctorNames(); } 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 838b08b2..4b628433 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 @@ -42,6 +42,7 @@ import com.openhis.administration.service.impl.PatientStudentServiceImpl; import com.openhis.common.constant.CommonConstants; import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.enums.*; +import com.openhis.common.enums.PaymentOutcome; import com.openhis.common.enums.ybenums.YbMdtrtCertType; import com.openhis.common.enums.ybenums.YbPayment; import com.openhis.common.enums.ybenums.YbPsnSetlWay; 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 3aca632a..90adedf8 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 @@ -116,10 +116,10 @@ public class MedicalDeviceDispenseAppServiceImpl implements IMedicalDeviceDispen .collect(Collectors.toList()); // 发药状态 - List dispenseStatusOptions = new ArrayList<>(); - dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.IN_PROGRESS.getValue(), + List dispenseStatusOptions = new ArrayList<>(); + dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.IN_PROGRESS.getInfo())); - dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), + dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), DispenseStatus.COMPLETED.getInfo())); initDto.setDepartmentOptions(organizationOptions).setNotPerformedReasonOptions(notPerformedReasonOptions) 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 9ebb5987..c313263a 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 @@ -9,7 +9,9 @@ import java.util.function.Function; import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -26,13 +28,21 @@ import com.openhis.common.enums.*; import com.openhis.common.enums.ybenums.YbInvChgType; import com.openhis.medication.domain.MedicationDefinition; import com.openhis.medication.domain.MedicationDispense; +import com.core.common.utils.AssignSeqUtil; +import com.core.system.service.ISysDictTypeService; +import com.openhis.administration.service.IOrganizationService; import com.openhis.medication.service.IMedicationDefinitionService; import com.openhis.medication.service.IMedicationDispenseService; +import com.openhis.medication.service.impl.MedicationRequestServiceImpl; 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.appservice.impl.ReturnMedicineAppServiceImpl; +import com.openhis.web.pharmacymanage.appservice.impl.WesternMedicineDispenseAppServiceImpl; import com.openhis.web.pharmacymanage.dto.UnDispenseInventoryDto; import com.openhis.web.pharmacymanage.mapper.ReturnMedicineMapper; +import com.openhis.web.pharmacymanage.mapper.WesternMedicineDispenseMapper; +import com.openhis.web.inhospitalnursestation.mapper.AdviceProcessAppMapper; import com.openhis.workflow.domain.InventoryItem; import com.openhis.workflow.domain.SupplyDelivery; import com.openhis.workflow.domain.SupplyRequest; @@ -85,18 +95,6 @@ public class SummaryDispenseMedicineAppServiceImpl implements ISummaryDispenseMe @Resource private AdviceProcessAppMapper adviceProcessAppMapper; - @Resource - private IInventoryItemService inventoryItemService; - - @Resource - private IMedicationDefinitionService medicationDefinitionService; - - @Resource - private ReceiptApprovalAppServiceImpl receiptApprovalAppService; - - @Resource - private WesternMedicineDispenseAppServiceImpl westernMedicineDispenseAppService; - @Resource private MedicationRequestServiceImpl medicationRequestService; 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 6fb2b11f..6b597905 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 @@ -156,10 +156,10 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi .toList(); // 发药状态 - List dispenseStatusOptions = new ArrayList<>(); - dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.IN_PROGRESS.getValue(), + List dispenseStatusOptions = new ArrayList<>(); + dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.IN_PROGRESS.getInfo())); - dispenseStatusOptions.add(new DispenseInitDto.DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), + dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), DispenseStatus.COMPLETED.getInfo())); initDto.setDepartmentOptions(organizationOptions).setNotPerformedReasonOptions(notPerformedReasonOptions) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseInitDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseInitDto.java index 121661e2..81850b59 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseInitDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseInitDto.java @@ -70,16 +70,7 @@ public class DispenseInitDto { } } - @Data - public static class DispenseStatusOption { - private Integer value; - private String label; - public DispenseStatusOption(Integer value, String label) { - this.value = value; - this.label = label; - } - } @Data public static class PreparerDoctorOption { @@ -92,4 +83,30 @@ public class DispenseInitDto { this.label = label; } } + + // 手动添加 setter 方法以确保编译正确 + public DispenseInitDto setDepartmentOptions(List departmentOptions) { + this.departmentOptions = departmentOptions; + return this; + } + + public DispenseInitDto setNotPerformedReasonOptions(List notPerformedReasonOptions) { + this.notPerformedReasonOptions = notPerformedReasonOptions; + return this; + } + + public DispenseInitDto setDispenseStatusOptions(List dispenseStatusOptions) { + this.dispenseStatusOptions = dispenseStatusOptions; + return this; + } + + public DispenseInitDto setPreparerDoctorOptions(List preparerDoctorOptions) { + this.preparerDoctorOptions = preparerDoctorOptions; + return this; + } + + public DispenseInitDto setEncounterClassOptions(List encounterClassOptions) { + this.encounterClassOptions = encounterClassOptions; + return this; + } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseStatusOption.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseStatusOption.java new file mode 100644 index 00000000..407721a3 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/DispenseStatusOption.java @@ -0,0 +1,23 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.web.pharmacymanage.dto; + +import lombok.Data; + +/** + * 发药状态选项 + * + * @author wangyang + * @date 2025-03-14 + */ +@Data +public class DispenseStatusOption { + private Integer value; + private String label; + + public DispenseStatusOption(Integer value, String label) { + this.value = value; + this.label = label; + } +} \ No newline at end of file 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 4f276ce0..5afd9ae2 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,12 +1,13 @@ package com.openhis.web.pharmacymanage.dto; import com.core.common.annotation.Excel; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.openhis.common.annotation.Dict; import lombok.Data; import lombok.experimental.Accessors; +import java.math.BigDecimal; +import java.util.Date; + /** * 发药明细账分页列表 dto * @@ -62,9 +63,8 @@ public class MedDetailedAccountPageDto { private String costPriceStr; /** - * 发药人 + * 发药人ID */ - @JsonSerialize(using = ToStringSerializer.class) private String practitionerId; /** @@ -165,6 +165,8 @@ public class MedDetailedAccountPageDto { private String refundUnitCode; private String refundUnitCode_dictText; + + /** * 发药时间 */ diff --git a/openhis-server-new/openhis-application/src/main/resources/application-test.yml b/openhis-server-new/openhis-application/src/main/resources/application-test.yml index 363e1b31..b4401162 100644 --- a/openhis-server-new/openhis-application/src/main/resources/application-test.yml +++ b/openhis-server-new/openhis-application/src/main/resources/application-test.yml @@ -5,36 +5,14 @@ spring: driverClassName: org.postgresql.Driver druid: # 主库数据源 -<<<<<<< HEAD master: -<<<<<<<< HEAD:openhis-server-new/openhis-application/src/main/resources/application-test.yml url: jdbc:postgresql://192.168.110.252:15432/postgresql?currentSchema=histest&characterEncoding=UTF-8&client_encoding=UTF-8 username: postgresql password: Jchl1528 -======== - url: jdbc:postgresql://192.168.30.199:5432/openhis?currentSchema=public&characterEncoding=UTF-8&client_encoding=UTF-8 - username: postgres - password: root ->>>>>>>> v1.3:openhis-server-new/openhis-application/src/main/resources/application-local.yml # 从库数据源 slave: # 从数据源开关/默认关闭 enabled: -======= - # master: - # url: jdbc:postgresql://192.168.1.123:5432/openhistest?currentSchema=public&characterEncoding=UTF-8&client_encoding=UTF-8 - # username: postgres - # password: root - - master: - url: jdbc:postgresql://192.168.31.246:5432/openhis?currentSchema=public&characterEncoding=UTF-8&client_encoding=UTF-8 - username: postgres - password: root - # 从库数据源 - slave: - # 从数据源开关/默认关闭 - enabled: false ->>>>>>> v1.3 url: username: password: @@ -84,26 +62,13 @@ spring: # redis 配置 redis: # 地址 -<<<<<<< HEAD -<<<<<<<< HEAD:openhis-server-new/openhis-application/src/main/resources/application-test.yml host: 192.168.110.252 -======== - host: 192.168.30.199 ->>>>>>>> v1.3:openhis-server-new/openhis-application/src/main/resources/application-local.yml -======= - # host: 192.168.1.123 - host: 127.0.0.1 ->>>>>>> v1.3 # 端口,默认为6379 port: 6379 # 数据库索引 database: 1 # 密码 -<<<<<<< HEAD password: Jchl1528 -======= - password: redis ->>>>>>> v1.3 # 连接超时时间 timeout: 10s lettuce: @@ -119,14 +84,10 @@ spring: # 文言 messages: basename: i18n/general_message/messages -<<<<<<< HEAD encoding: utf-8 server: # 服务器的HTTP端口,默认为18080 port: 18081 servlet: # 应用的访问路径 - context-path: /openhis -======= - encoding: utf-8 ->>>>>>> v1.3 + context-path: /openhis \ No newline at end of file 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 9193d0d5..6db8fae0 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 @@ -175,11 +175,6 @@ public enum YbPayment { 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, "余额"), // 基金类型,下述仅作记录 BIRTH_FUND(510100, 2, YB_FUND_PAY, "生育基金"), RETIREE_MEDICAL(340100, 2, YB_FUND_PAY, "离休人员医疗保障基金"), diff --git a/openhis-server-new/openhis-domain/pom.xml b/openhis-server-new/openhis-domain/pom.xml index 09fd85d8..194651e4 100644 --- a/openhis-server-new/openhis-domain/pom.xml +++ b/openhis-server-new/openhis-domain/pom.xml @@ -21,8 +21,8 @@ org.apache.maven.plugins maven-compiler-plugin - 16 - 16 + 17 + 17 @@ -56,6 +56,16 @@ lombok compile + + + com.baomidou + mybatis-plus-boot-starter + + + + org.jetbrains.kotlin + kotlin-reflect + diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/IdentifierUse.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/IdentifierUse.java index 53a0c9f4..bb1255be 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/IdentifierUse.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/IdentifierUse.java @@ -5,15 +5,23 @@ import lombok.AllArgsConstructor; import lombok.Getter; @Getter -@AllArgsConstructor +// 添加访问修饰符,确保枚举值可以被外部访问 public enum IdentifierUse { USUAL(1, "USUAL", "Usual item"), OFFICIAL(2, "OFFICIAL", "Official item"), TEMP(3, "TEMP", "Temporary item"), SECONDARY(4, "SECONDARY", "Secondary item"), OLD(5, "OLD", "Old item"); + @EnumValue private final Integer value; private final String code; private final String info; -} + + // 为枚举添加构造函数 + IdentifierUse(Integer value, String code, String info) { + this.value = value; + this.code = code; + this.info = info; + } +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/dto/CostDetailSearchParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/dto/CostDetailSearchParam.java index 369aa7fa..0f727fb9 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/dto/CostDetailSearchParam.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/dto/CostDetailSearchParam.java @@ -33,4 +33,12 @@ public class CostDetailSearchParam { * 费用类型ID */ private String chargeItemEnum; + + public List getEncounterIds() { + return encounterIds; + } + + public void setEncounterIds(List encounterIds) { + this.encounterIds = encounterIds; + } } 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 b0b7d941..bb05a9d7 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 @@ -29,4 +29,14 @@ public interface IInvoiceService extends IService { * @return */ Invoice getByPaymentId(Long id); + + /** + * 分页查询发票列表(带用户角色权限过滤) + * + * @param page 分页参数 + * @param isAdmin 是否为管理员 + * @param userId 用户ID + * @return 分页结果 + */ + IPage selectInvoicePage(Page page, boolean isAdmin, Long userId); } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/InvoiceServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/InvoiceServiceImpl.java index c9ee3f64..0c2fd27c 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/InvoiceServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/InvoiceServiceImpl.java @@ -1,16 +1,16 @@ package com.openhis.administration.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.core.common.enums.DelFlag; -import com.core.common.utils.SecurityUtils; +import com.core.common.exception.ServiceException; import com.openhis.administration.domain.Invoice; -import com.openhis.administration.domain.Supplier; import com.openhis.administration.mapper.InvoiceMapper; import com.openhis.administration.service.IInvoiceService; -import com.openhis.common.enums.SupplyStatus; -import com.openhis.workflow.domain.SupplyRequest; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -28,20 +28,22 @@ public class InvoiceServiceImpl extends ServiceImpl impl * 新增发票 * * @param invoice 发票实体 - * @return + * @return 发票ID + * @throws ServiceException 当发票已存在或插入失败时抛出异常 */ @Override + @Transactional(rollbackFor = Exception.class) public Long addInvoice(Invoice invoice) { - // 根据编码判断发票是否存在 - List invoices - = baseMapper.selectList(new LambdaQueryWrapper().eq(Invoice::getBusNo, invoice.getBusNo())); - if (invoices.size() > 0) { - return null; + // 根据编码判断发票是否存在 - 使用count查询优化性能 + long count = baseMapper.selectCount(new LambdaQueryWrapper().eq(Invoice::getBusNo, invoice.getBusNo())); + if (count > 0) { + throw new ServiceException("发票编码已存在: " + invoice.getBusNo()); } + // 新增发票 int insert = baseMapper.insert(invoice); if (insert != 1) { - return null; + throw new ServiceException("发票新增失败,请检查输入数据"); } return invoice.getId(); @@ -52,4 +54,17 @@ public class InvoiceServiceImpl extends ServiceImpl impl return baseMapper.selectOne(new LambdaQueryWrapper().eq(Invoice::getReconciliationId, id) .eq(Invoice::getDeleteFlag, DelFlag.NO.getCode())); } + + @Override + public IPage selectInvoicePage(Page page, boolean isAdmin, Long userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(Invoice::getDeleteFlag, DelFlag.NO.getCode()); + + // 非管理员用户只能查看自己创建的发票 + if (!isAdmin) { + queryWrapper.eq(Invoice::getInvoicingStaffId, userId); + } + + return baseMapper.selectPage(page, queryWrapper); + } } 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 2b2c2630..3c4714b7 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 @@ -16,8 +16,6 @@ import com.openhis.administration.mapper.OrganizationMapper; import com.openhis.administration.service.IOrganizationService; import com.openhis.common.enums.AccountStatus; -import javax.annotation.Resource; - /** * 机构管理Service业务层处理 * @@ -89,9 +87,4 @@ public class OrganizationServiceImpl extends ServiceImpl searchOrgDataByHealth() { return this.organizationMapper.searchOrgDataByHealth(); } - - @Override - public List searchOrgDataByHealth() { - return this.organizationMapper.searchOrgDataByHealth(); - } } 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 dd09a34a..3e3a6f27 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 @@ -155,4 +155,9 @@ public class PaymentReconciliation extends HisBaseEntity { * 医保清算标志 */ private Integer ybClearFlag;// 默认值0 未清算 + + /** + * 退费原因 + */ + private String refundReason; } diff --git a/openhis-server-new/pom.xml b/openhis-server-new/pom.xml index 5d9979f6..51de9eb4 100644 --- a/openhis-server-new/pom.xml +++ b/openhis-server-new/pom.xml @@ -1,9 +1,16 @@ + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.15 + + + com.openhis openhis-server 0.0.1-SNAPSHOT @@ -17,14 +24,13 @@ UTF-8 UTF-8 17 + 3.13.0 3.1.1 - 2.5.15 - 1.2.23 + 1.2.27 1.21 3.0.0 2.3.3 1.4.7 - 2.0.53 6.6.5 2.13.0 4.1.2 @@ -33,10 +39,22 @@ 9.0.96 1.2.13 - 1.18.26 + 1.18.42 3.5.3 6.8.0 42.2.27 + 5.3.3 + 1.5.21 + 2.0.58 + 1.6.2 + 2.5.1 + 2.12.4.1 + 5.3.8 + 1.69 + 7.1.2 + 5.5.12 + 5.2.0 + 9.4.0 @@ -47,7 +65,12 @@ mysql-connector-j ${mysql-connector-j.version} - + + org.projectlombok + lombok + ${lombok.version} + provided + com.itextpdf @@ -212,68 +235,6 @@ ${mybatis-plus.version} - - - org.projectlombok - lombok - ${lombok.version} - - - - - org.springframework - spring-framework-bom - ${spring-framework.version} - pom - import - - - - - org.springframework.security - spring-security-bom - ${spring-security.version} - pom - import - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - - - ch.qos.logback - logback-core - ${logback.version} - - - ch.qos.logback - logback-classic - ${logback.version} - - - - - org.apache.tomcat.embed - tomcat-embed-core - ${tomcat.version} - - - org.apache.tomcat.embed - tomcat-embed-el - ${tomcat.version} - - - org.apache.tomcat.embed - tomcat-embed-websocket - ${tomcat.version} - @@ -337,13 +298,6 @@ ${velocity.version} - - - com.alibaba.fastjson2 - fastjson2 - ${fastjson.version} - - io.jsonwebtoken @@ -358,14 +312,6 @@ ${kaptcha.version} - - - io.swagger - swagger-annotations - 1.5.21 - compile - - org.flowable @@ -373,27 +319,27 @@ ${flowable.version} - - - com.googlecode.aviator - aviator - 5.3.3 - - org.postgresql postgresql ${postgresql.version} + + + org.jetbrains.kotlin + kotlin-reflect + 1.9.10 + + + openhis-application openhis-domain openhis-common - core-admin core-framework core-system @@ -401,6 +347,7 @@ core-generator core-common core-flowable + openhis-einvoiceapp pom @@ -409,10 +356,10 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 + ${maven-compiler-plugin.version} - 17 - 17 + ${java.version} + ${java.version} ${project.build.sourceEncoding}