From e4c5f36f2ed5891be87ed0edddf2587611b7f6a9 Mon Sep 17 00:00:00 2001 From: "Zhang.WH" Date: Thu, 16 Oct 2025 17:38:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openhis/yb/domain/ClinicPreSettle.java | 62 + .../java/com/openhis/yb/domain/ClinicReg.java | 109 + .../com/openhis/yb/domain/ClinicSettle.java | 112 + .../com/openhis/yb/domain/ClinicUnReg.java | 47 + .../com/openhis/yb/domain/ClinicUnSettle.java | 111 + .../yb/domain/DirectoryCheckRecord.java | 46 + .../main/java/com/openhis/yb/domain/File.java | 39 + .../yb/domain/FinancialApplyRecord.java | 72 + .../yb/domain/FinancialReconcileRecord.java | 68 + .../com/openhis/yb/domain/InfoPerson.java | 93 + .../openhis/yb/domain/InpatientDischarge.java | 180 ++ .../openhis/yb/domain/InpatientFeeDetail.java | 227 ++ .../openhis/yb/domain/InpatientPreSettle.java | 338 ++ .../com/openhis/yb/domain/InpatientReg.java | 262 ++ .../domain/InpatientRegInfoUpdateRecorde.java | 241 ++ .../openhis/yb/domain/InpatientSettle.java | 319 ++ .../yb/domain/InpatientUnDischarge.java | 53 + .../com/openhis/yb/domain/InpatientUnReg.java | 53 + .../openhis/yb/domain/InpatientUnSettle.java | 258 ++ .../yb/domain/InpatientcancelFeeDetail.java | 66 + .../yb/domain/InventoryChangeRecord.java | 95 + .../yb/domain/InventoryCheckRecord.java | 82 + .../openhis/yb/domain/InventoryDelRecord.java | 42 + .../yb/domain/InventoryPurchaseRecord.java | 121 + .../domain/InventoryPurchaseReturnRecord.java | 109 + .../yb/domain/InventorySaleRecord.java | 193 ++ .../yb/domain/InventorySaleReturnRecord.java | 132 + .../main/java/com/openhis/yb/domain/Sign.java | 76 + .../java/com/openhis/yb/dto/BaseInfo.java | 96 + .../java/com/openhis/yb/dto/BaseParam.java | 14 + .../com/openhis/yb/dto/CancelPaymentDto.java | 59 + .../openhis/yb/dto/CancelRegPaymentDto.java | 50 + .../openhis/yb/dto/Catalogue1312Output.java | 117 + .../yb/dto/Catalogue1312QueryParam.java | 50 + .../openhis/yb/dto/ChargeItemDetailVO.java | 13 + .../com/openhis/yb/dto/ChargeItemDto.java | 22 + .../openhis/yb/dto/ChargeItemGroupDto.java | 30 + .../openhis/yb/dto/Clearing3204AParam.java | 29 + .../openhis/yb/dto/Clearing3205AParma.java | 33 + .../openhis/yb/dto/Clearing3205AResult.java | 91 + .../openhis/yb/dto/Clearing3205AWebParma.java | 27 + .../openhis/yb/dto/Clearing3206AParam.java | 33 + .../openhis/yb/dto/Clearing3206AResult.java | 33 + .../yb/dto/Clinic2203DiseInfoParam.java | 110 + .../com/openhis/yb/dto/Clinic2203Medical.java | 83 + .../yb/dto/Clinic2203MedicalParam.java | 79 + .../yb/dto/Clinic2204FeeDetailParam.java | 242 ++ .../yb/dto/Clinic2204FeeDetailResult.java | 63 + .../openhis/yb/dto/Clinic2204OrderParam.java | 37 + .../openhis/yb/dto/Clinic2204OrderResult.java | 26 + .../openhis/yb/dto/Clinic2205OrderParam.java | 39 + .../yb/dto/Clinic2206FundPaymentResult.java | 42 + .../openhis/yb/dto/Clinic2206OrderOutput.java | 140 + .../openhis/yb/dto/Clinic2206OrderParam.java | 110 + .../openhis/yb/dto/Clinic2206OrderResult.java | 161 + .../yb/dto/Clinic2206OrderResultDto.java | 90 + .../yb/dto/Clinic2206SetldetaiResult.java | 59 + .../openhis/yb/dto/Clinic2207OrderResult.java | 158 + .../yb/dto/Clinic2207OrderResultDto.java | 14 + .../yb/dto/Clinic2207OrderResultInfoDto.java | 74 + .../yb/dto/Clinic2208UnSetlInfoOutput.java | 106 + .../yb/dto/Clinic2208UnSetlInfoParam.java | 43 + .../yb/dto/Clinic2208UnSetlInfoResult.java | 137 + .../java/com/openhis/yb/dto/ClinicReg.java | 116 + .../openhis/yb/dto/ClinicReg2201Output.java | 66 + .../yb/dto/DispenseInventory3505Dto.java | 103 + .../yb/dto/EleInvoiceChargeDetailDto.java | 34 + .../yb/dto/EleInvoiceListDetailDto.java | 46 + .../yb/dto/EleInvoicePatientInfoDto.java | 75 + .../yb/dto/EleInvoicePaymentInfoDto.java | 60 + .../openhis/yb/dto/EleInvoiceResultDto.java | 73 + .../com/openhis/yb/dto/File9101Param.java | 14 + .../java/com/openhis/yb/dto/FileDownload.java | 26 + .../java/com/openhis/yb/dto/FileResult.java | 43 + .../openhis/yb/dto/Financial13203Param.java | 53 + .../openhis/yb/dto/Financial13203Result.java | 58 + .../yb/dto/Financial13203WebParam.java | 49 + .../openhis/yb/dto/Financial3201Output.java | 19 + .../openhis/yb/dto/Financial3201Param.java | 81 + .../yb/dto/Financial3202FileParam.java | 76 + .../yb/dto/Financial3202FileResult.java | 56 + .../yb/dto/Financial3202OtherParam.java | 21 + .../openhis/yb/dto/Financial3203AParam.java | 75 + .../yb/dto/Financial3203AWebParam.java | 37 + .../com/openhis/yb/dto/Financial3203Dto.java | 39 + .../openhis/yb/dto/Financial3203Param.java | 72 + .../openhis/yb/dto/Financial3203WebParam.java | 42 + .../openhis/yb/dto/Financial3204Param.java | 32 + .../dto/FinancialClearing3203AWebParam.java | 19 + .../yb/dto/FinancialSettlement3202Param.java | 68 + .../yb/dto/FinancialSettlement3202Result.java | 37 + .../yb/dto/FinancialSettlement3209AParam.java | 40 + .../dto/FinancialSettlement3209AResult.java | 28 + .../yb/dto/FsiConsultation3101Param.java | 46 + .../openhis/yb/dto/FsiDiagnose3101Param.java | 57 + .../openhis/yb/dto/FsiEncounter3101Param.java | 167 + .../yb/dto/FsiFeedback3103DataParam.java | 27 + .../yb/dto/FsiFeedback3103WarnsParam.java | 31 + .../openhis/yb/dto/FsiOperation3101Param.java | 67 + .../com/openhis/yb/dto/FsiOrder3101Param.java | 168 + .../openhis/yb/dto/FsiPatient3101Param.java | 61 + .../yb/dto/FsiViolation3101Result.java | 72 + .../yb/dto/FsiViolationDetail3101Result.java | 43 + .../yb/dto/HospAdm2401DiseInfoParam.java | 70 + .../yb/dto/HospAdm2401MdtInfoParam.java | 193 ++ .../yb/dto/HospAdm2402DiseInfoParam.java | 72 + .../yb/dto/HospAdm2402DscgInfoParam.java | 131 + .../yb/dto/HospAdm2403AdmInfoParam.java | 182 ++ .../yb/dto/HospAdm2403DiseInfoParam.java | 76 + .../yb/dto/HospAdm2404AdmCnlParam.java | 32 + .../yb/dto/HospAdm2406SmAttrUpParam.java | 62 + .../yb/dto/HospAdm2407SmAttrSelectParam.java | 78 + .../yb/dto/HospAdm2407SmAttrSelectResult.java | 67 + .../openhis/yb/dto/HospDept3401AParam.java | 19 + .../com/openhis/yb/dto/HospDept3401Param.java | 89 + .../com/openhis/yb/dto/HospDept3402Param.java | 89 + .../com/openhis/yb/dto/HospDept3403Param.java | 28 + .../yb/dto/HospTrf2501ARefmedinParam.java | 109 + .../yb/dto/HospTrf2501RefmedinParam.java | 108 + .../openhis/yb/dto/HospTrfCxl2502Param.java | 31 + .../com/openhis/yb/dto/Info1101Output.java | 68 + .../openhis/yb/dto/Info1101PerinfoResult.java | 58 + .../openhis/yb/dto/Info1101ReadcardParam.java | 45 + .../com/openhis/yb/dto/Info5301Param.java | 14 + .../dto/Info5301SpecialConditionResult.java | 21 + .../openhis/yb/dto/InvoiceBaseInfoDto.java | 104 + .../openhis/yb/dto/MatAllowReg25007Param.java | 58 + .../yb/dto/MatAllowReg25007Result.java | 84 + .../yb/dto/MatAllowRegSel25008Param.java | 84 + .../com/openhis/yb/dto/Medical3503Param.java | 113 + .../com/openhis/yb/dto/Medical3505Param.java | 179 ++ .../com/openhis/yb/dto/Medical3505Result.java | 29 + .../com/openhis/yb/dto/Medical3506Param.java | 118 + .../com/openhis/yb/dto/Medical3507Param.java | 29 + .../com/openhis/yb/dto/Medical3508Param.java | 102 + .../com/openhis/yb/dto/Medical3508Result.java | 104 + .../yb/dto/MedicalDirectory3301ListParam.java | 16 + .../yb/dto/MedicalDirectory3301Param.java | 69 + .../yb/dto/MedicalDirectory3302Param.java | 32 + .../yb/dto/MedicalInventory3501Param.java | 72 + .../yb/dto/MedicalInventory3502Param.java | 81 + .../yb/dto/MedicalPurchase3504Param.java | 95 + .../com/openhis/yb/dto/MedicalTraceNoDto.java | 28 + .../com/openhis/yb/dto/PatientInfoDto.java | 84 + .../yb/dto/PaymentDecDetailUniAccountDto.java | 31 + .../com/openhis/yb/dto/PaymentDetailDto.java | 37 + .../java/com/openhis/yb/dto/PaymentDto.java | 45 + .../openhis/yb/dto/PaymentInpatientDto.java | 55 + .../com/openhis/yb/dto/PaymentSettleDto.java | 19 + .../dto/PersBirthApprovalCnl25004Param.java | 27 + .../dto/PersBirthApprovalSel25005Param.java | 66 + .../yb/dto/PersBirthRecord25003Param.java | 126 + .../openhis/yb/dto/PersChrDis2503Param.java | 83 + .../yb/dto/PersChrDisCxl2504Param.java | 30 + .../openhis/yb/dto/PersDesigPt2505Param.java | 100 + .../yb/dto/PersDesigPtCxl2506Param.java | 30 + .../yb/dto/PersMedApprovalCnl25006Param.java | 26 + .../yb/dto/PersMedRecord25001Param.java | 86 + .../yb/dto/PersMedSelect25002Param.java | 39 + .../yb/dto/PersMedSelect25002Result.java | 91 + .../openhis/yb/dto/PersUnintInj2507Param.java | 168 + .../com/openhis/yb/dto/PrePaymentDto.java | 46 + .../main/java/com/openhis/yb/dto/Result.java | 48 + .../java/com/openhis/yb/dto/ResultBody.java | 39 + .../yb/dto/Settlement3201DetailDto.java | 39 + .../com/openhis/yb/dto/Settlement3201Dto.java | 28 + .../yb/dto/Settlement3201WebParam.java | 38 + .../com/openhis/yb/dto/Settlement3202Dto.java | 45 + .../yb/dto/Settlement3202WebParam.java | 37 + .../yb/dto/Settlement3209AWebParam.java | 30 + .../main/java/com/openhis/yb/dto/Sign.java | 62 + .../com/openhis/yb/dto/Sign1101Param.java | 19 + .../com/openhis/yb/dto/Sign9001Result.java | 24 + .../yb/dto/SupplyItemDetail3503Dto.java | 126 + .../yb/dto/VeriPrescriptionDetailInfoDto.java | 101 + .../yb/dto/VeriPrescriptionInfoDto.java | 53 + .../openhis/yb/dto/VeriPrescriptionParam.java | 21 + .../openhis/yb/dto/Yb2301InputFeeDetail.java | 194 ++ .../yb/dto/Yb2301InputFeeDetailModel.java | 29 + .../openhis/yb/dto/Yb2301OutputResult.java | 124 + .../openhis/yb/dto/Yb2302InputInpatient.java | 35 + .../openhis/yb/dto/Yb2303InputInpatient.java | 123 + .../openhis/yb/dto/Yb2303OutputSetInfo.java | 292 ++ .../openhis/yb/dto/Yb2304InputExpContent.java | 31 + .../openhis/yb/dto/Yb2304InputInpatient.java | 115 + .../openhis/yb/dto/Yb2304OutputSetlInfo.java | 279 ++ .../openhis/yb/dto/Yb2305InputInpatient.java | 35 + .../openhis/yb/dto/Yb2305OutputSetlInfo.java | 224 ++ .../yb/dto/Yb2401InputInpatientDiseInfo.java | 82 + .../yb/dto/Yb2401InputInpatientMdtrtInfo.java | 239 ++ .../dto/Yb2401InputInpatientTrumContent.java | 38 + .../yb/dto/Yb2402InputInpatientDiseInfo.java | 88 + .../yb/dto/Yb2402InputInpatientDscgInfo.java | 164 + .../com/openhis/yb/dto/Yb2402InputParam.java | 26 + .../openhis/yb/dto/Yb2403InputAdmInfo.java | 226 ++ .../openhis/yb/dto/Yb2403InputDiseInfo.java | 92 + .../yb/dto/Yb2403InputMdtrtGrpContent.java | 20 + .../com/openhis/yb/dto/Yb2403InputParam.java | 30 + .../yb/dto/Yb2403InputTrumContent.java | 30 + .../openhis/yb/dto/Yb2404InputInpatient.java | 36 + .../openhis/yb/dto/Yb2405InputInpatient.java | 39 + .../Yb3101AdapterEncounterDiagnoseInfo.java | 52 + .../Yb3101AdapterEncounterPatientInfo.java | 128 + .../yb/dto/Yb3101AdapterOrderInfo.java | 118 + .../com/openhis/yb/dto/Yb3101InputData.java | 58 + .../yb/dto/Yb3101InputFsiDiagnoseDto.java | 81 + .../yb/dto/Yb3101InputFsiEncounterDto.java | 283 ++ .../yb/dto/Yb3101InputFsiOperationDto.java | 94 + .../yb/dto/Yb3101InputFsiOrderDto.java | 281 ++ .../openhis/yb/dto/Yb3101InputPatientDto.java | 88 + .../dto/Yb3101OutputJudgeResultDetailDto.java | 69 + .../openhis/yb/dto/Yb3101OutputResult.java | 124 + .../com/openhis/yb/dto/Yb3103InputData.java | 39 + .../com/openhis/yb/dto/Yb3103InputWarn.java | 42 + .../yb/dto/Yb4101AAdapterSettleInfo.java | 67 + .../openhis/yb/dto/Yb4101AInputBldinfo.java | 40 + .../openhis/yb/dto/Yb4101AInputDiseinfo.java | 61 + .../openhis/yb/dto/Yb4101AInputIcuinfo.java | 54 + .../openhis/yb/dto/Yb4101AInputOprninfo.java | 98 + .../yb/dto/Yb4101AInputOpspdiseinfo.java | 53 + .../openhis/yb/dto/Yb4101AInputSetlinfo.java | 446 +++ .../com/openhis/yb/dto/Yb4101AOutputData.java | 29 + .../yb/dto/Yb5205InputSpecialDisease.java | 43 + .../yb/dto/Yb5205OutputSpecialDisease.java | 219 ++ .../main/java/com/openhis/yb/dto/extData.java | 96 + .../yb/mapper/ClinicPreSettleMapper.java | 17 + .../openhis/yb/mapper/ClinicSettleMapper.java | 17 + .../openhis/yb/mapper/ClinicUnRegMapper.java | 17 + .../yb/mapper/ClinicUnSettleMapper.java | 17 + .../yb/mapper/DirectoryCheckRecordMapper.java | 17 + .../yb/mapper/FinancialApplyRecordMapper.java | 17 + .../FinancialReconcileRecordMapper.java | 17 + .../yb/mapper/InpatientFeeDetailMapper.java | 10 + .../openhis/yb/mapper/InpatientRegMapper.java | 19 + .../yb/mapper/InpatientSettleMapper.java | 10 + .../mapper/InventoryChangeRecordMapper.java | 17 + .../yb/mapper/InventoryCheckRecordMapper.java | 17 + .../yb/mapper/InventoryDelRecordMapper.java | 17 + .../mapper/InventoryPurchaseRecordMapper.java | 17 + .../InventoryPurchaseReturnRecordMapper.java | 17 + .../yb/mapper/InventorySaleRecordMapper.java | 17 + .../InventorySaleReturnRecordMapper.java | 17 + .../yb/mapper/MedicalInsuranceMapper.java | 60 + .../com/openhis/yb/mapper/PerinfoMapper.java | 11 + .../java/com/openhis/yb/mapper/RegMapper.java | 13 + .../com/openhis/yb/mapper/SignMapper.java | 12 + .../yb/model/CancelRegPaymentModel.java | 53 + .../yb/model/Clinic2207OrderModel.java | 126 + .../yb/model/Clinic2207OrderParam.java | 88 + .../yb/model/OutpatientRegistrationModel.java | 19 + .../yb/service/IClinicPreSettleService.java | 14 + .../yb/service/IClinicSettleService.java | 39 + .../yb/service/IClinicUnRegService.java | 14 + .../yb/service/IClinicUnSettleService.java | 23 + .../service/IDirectoryCheckRecordService.java | 14 + .../service/IFinancialApplyRecordService.java | 14 + .../IFinancialReconcileRecordService.java | 14 + .../service/IInpatientFeeDetailService.java | 8 + .../yb/service/IInpatientRegService.java | 25 + .../yb/service/IInpatientSettleService.java | 14 + .../IInventoryChangeRecordService.java | 14 + .../service/IInventoryCheckRecordService.java | 14 + .../service/IInventoryDelRecordService.java | 14 + .../IInventoryPurchaseRecordService.java | 14 + ...IInventoryPurchaseReturnRecordService.java | 14 + .../service/IInventorySaleRecordService.java | 14 + .../IInventorySaleReturnRecordService.java | 14 + .../openhis/yb/service/IPerinfoService.java | 44 + .../com/openhis/yb/service/IRegService.java | 23 + .../com/openhis/yb/service/ISignService.java | 11 + .../java/com/openhis/yb/service/YbDao.java | 2800 +++++++++++++++++ .../com/openhis/yb/service/YbHttpUtils.java | 1079 +++++++ .../com/openhis/yb/service/YbManager.java | 1034 ++++++ .../impl/ClinicPreSettleServiceImpl.java | 19 + .../service/impl/ClinicSettleServiceImpl.java | 44 + .../service/impl/ClinicUnRegServiceImpl.java | 20 + .../impl/ClinicUnSettleServiceImpl.java | 35 + .../impl/DirectoryCheckRecordServiceImpl.java | 20 + .../impl/FinancialApplyRecordServiceImpl.java | 19 + .../FinancialReconcileRecordServiceImpl.java | 20 + .../impl/InpatientFeeDetailServiceImpl.java | 11 + .../service/impl/InpatientRegServiceImpl.java | 29 + .../impl/InpatientSettleServiceImpl.java | 18 + .../InventoryChangeRecordServiceImpl.java | 19 + .../impl/InventoryCheckRecordServiceImpl.java | 19 + .../impl/InventoryDelRecordServiceImpl.java | 19 + .../InventoryPurchaseRecordServiceImpl.java | 19 + ...entoryPurchaseReturnRecordServiceImpl.java | 19 + .../impl/InventorySaleRecordServiceImpl.java | 19 + .../InventorySaleReturnRecordServiceImpl.java | 19 + .../yb/service/impl/PerinfoServiceImpl.java | 65 + .../yb/service/impl/RegServiceImpl.java | 39 + .../yb/service/impl/SignServiceImpl.java | 16 + .../com/openhis/yb/util/CommonConstant.java | 327 ++ .../openhis/yb/util/YbParamBuilderUtil.java | 2440 ++++++++++++++ .../ybcatalog/domain/CatalogDrugInfo.java | 319 ++ .../domain/CatalogDrugInfoUsual.java | 319 ++ .../domain/CatalogMedicalConsumables.java | 241 ++ .../domain/CatalogMedicalHerbInfo.java | 121 + .../domain/CatalogMedicalService.java | 88 + .../domain/CatalogSpecialDisease.java | 70 + .../CatalogSpecialInsuranceDisease.java | 30 + .../CatalogSurgeryStandardDirectory.java | 94 + .../domain/CatalogWesternDisease.java | 94 + .../domain/CatalogZyDiseaseDiagnosis.java | 64 + .../ybcatalog/domain/CatalogZySyndrome.java | 64 + .../mapper/CatalogDrugInfoMapper.java | 17 + .../mapper/CatalogDrugInfoUsualMapper.java | 17 + .../CatalogMedicalConsumablesMapper.java | 17 + .../mapper/CatalogMedicalHerbInfoMapper.java | 17 + .../mapper/CatalogMedicalServiceMapper.java | 17 + .../mapper/CatalogSpecialDiseaseMapper.java | 17 + ...CatalogSurgeryStandardDirectoryMapper.java | 17 + .../mapper/CatalogWesternDiseaseMapper.java | 17 + .../CatalogZyDiseaseDiagnosisMapper.java | 17 + .../mapper/CatalogZySyndromeMapper.java | 17 + .../service/ICatalogDrugInfoService.java | 28 + .../service/ICatalogDrugInfoUsualService.java | 23 + .../ICatalogMedicalConsumablesService.java | 14 + .../ICatalogMedicalHerbInfoService.java | 14 + .../ICatalogMedicalServiceService.java | 14 + .../ICatalogSpecialDiseaseService.java | 14 + ...atalogSurgeryStandardDirectoryService.java | 14 + .../ICatalogWesternDiseaseService.java | 14 + .../ICatalogZyDiseaseDiagnosisService.java | 14 + .../service/ICatalogZySyndromeService.java | 14 + .../impl/CatalogDrugInfoServiceImpl.java | 31 + .../impl/CatalogDrugInfoUsualServiceImpl.java | 35 + .../CatalogMedicalConsumablesServiceImpl.java | 19 + .../CatalogMedicalHerbInfoServiceImpl.java | 19 + .../CatalogMedicalServiceServiceImpl.java | 19 + .../CatalogSpecialDiseaseServiceImpl.java | 20 + ...ogSurgeryStandardDirectoryServiceImpl.java | 19 + .../CatalogWesternDiseaseServiceImpl.java | 19 + .../CatalogZyDiseaseDiagnosisServiceImpl.java | 19 + .../impl/CatalogZySyndromeServiceImpl.java | 19 + .../ybelep/domain/ElepMedresultDetail.java | 64 + .../ybelep/domain/ElepMedresultInfo.java | 49 + .../ybelep/domain/ElepMedresultInput.java | 49 + .../ybelep/domain/ElepQuerDiagnosisInfo.java | 73 + .../domain/ElepQuerPrescriptionDetail.java | 142 + .../domain/ElepQuerPrescriptionInfo.java | 120 + .../domain/ElepQuerPrescriptionInput.java | 49 + .../ybelep/domain/ElepQuerVisitInfo.java | 109 + .../ybelep/domain/ElepRevokeInput.java | 60 + .../ybelep/domain/ElepRevokeOutput.java | 41 + .../ybelep/domain/ElepSignatureInput.java | 52 + .../ybelep/domain/ElepSignatureOutput.java | 49 + .../ybelep/domain/ElepUploadInput.java | 104 + .../ybelep/domain/ElepUploadOutput.java | 40 + .../ybelep/domain/ElepVeriDiagnosisInfo.java | 86 + .../domain/ElepVeriPrescriptionDetail.java | 157 + .../domain/ElepVeriPrescriptionInfo.java | 126 + .../domain/ElepVeriPrescriptionOutput.java | 36 + .../ybelep/domain/ElepVeriVisitInfo.java | 182 ++ .../ybelep/domain/InformationInquiry.java | 26 + .../domain/MedicationResultInquiry.java | 41 + .../ybelep/domain/PreCheckPrescription.java | 129 + .../ybelep/domain/QueryPrescription.java | 122 + .../mapper/ElepMedresultDetailMapper.java | 17 + .../mapper/ElepMedresultInfoMapper.java | 17 + .../mapper/ElepMedresultInputMapper.java | 17 + .../mapper/ElepQuerDiagnosisInfoMapper.java | 17 + .../ElepQuerPrescriptionDetailMapper.java | 17 + .../ElepQuerPrescriptionInfoMapper.java | 17 + .../ElepQuerPrescriptionInputMapper.java | 17 + .../mapper/ElepQuerVisitInfoMapper.java | 17 + .../ybelep/mapper/ElepRevokeInputMapper.java | 17 + .../ybelep/mapper/ElepRevokeOutputMapper.java | 17 + .../mapper/ElepSignatureInputMapper.java | 17 + .../mapper/ElepSignatureOutputMapper.java | 17 + .../ybelep/mapper/ElepUploadInputMapper.java | 17 + .../ybelep/mapper/ElepUploadOutputMapper.java | 17 + .../mapper/ElepVeriDiagnosisInfoMapper.java | 17 + .../ElepVeriPrescriptionDetailMapper.java | 17 + .../ElepVeriPrescriptionInfoMapper.java | 17 + .../ElepVeriPrescriptionOutputMapper.java | 17 + .../mapper/ElepVeriVisitInfoMapper.java | 17 + .../service/IElepMedresultDetailService.java | 14 + .../service/IElepMedresultInfoService.java | 14 + .../service/IElepMedresultInputService.java | 14 + .../IElepQuerDiagnosisInfoService.java | 14 + .../IElepQuerPrescriptionDetailService.java | 14 + .../IElepQuerPrescriptionInfoService.java | 14 + .../IElepQuerPrescriptionInputService.java | 14 + .../service/IElepQuerVisitInfoService.java | 14 + .../service/IElepRevokeInputService.java | 14 + .../service/IElepRevokeOutputService.java | 14 + .../service/IElepSignatureInputService.java | 14 + .../service/IElepSignatureOutputService.java | 14 + .../service/IElepUploadInputService.java | 14 + .../service/IElepUploadOutputService.java | 14 + .../IElepVeriDiagnosisInfoService.java | 14 + .../IElepVeriPrescriptionDetailService.java | 14 + .../IElepVeriPrescriptionInfoService.java | 14 + .../IElepVeriPrescriptionOutputService.java | 14 + .../service/IElepVeriVisitInfoService.java | 14 + .../impl/ElepMedresultDetailServiceImpl.java | 19 + .../impl/ElepMedresultInfoServiceImpl.java | 19 + .../impl/ElepMedresultInputServiceImpl.java | 19 + .../ElepQuerDiagnosisInfoServiceImpl.java | 19 + ...ElepQuerPrescriptionDetailServiceImpl.java | 19 + .../ElepQuerPrescriptionInfoServiceImpl.java | 19 + .../ElepQuerPrescriptionInputServiceImpl.java | 19 + .../impl/ElepQuerVisitInfoServiceImpl.java | 19 + .../impl/ElepRevokeInputServiceImpl.java | 19 + .../impl/ElepRevokeOutputServiceImpl.java | 19 + .../impl/ElepSignatureInputServiceImpl.java | 19 + .../impl/ElepSignatureOutputServiceImpl.java | 19 + .../impl/ElepUploadInputServiceImpl.java | 19 + .../impl/ElepUploadOutputServiceImpl.java | 19 + .../ElepVeriDiagnosisInfoServiceImpl.java | 19 + ...ElepVeriPrescriptionDetailServiceImpl.java | 19 + .../ElepVeriPrescriptionInfoServiceImpl.java | 19 + ...ElepVeriPrescriptionOutputServiceImpl.java | 19 + .../impl/ElepVeriVisitInfoServiceImpl.java | 19 + openhis-ui-vue3/.gitignore | 24 + openhis-ui-vue3/HospitalRecordForm.vue | 116 + openhis-ui-vue3/package-lock.json | 899 ++++-- openhis-ui-vue3/src/assets/images/ty.jpg | Bin 0 -> 39365 bytes .../src/template/nursingRecordSheet.vue | 392 +++ .../src/template/surgicalPatientHandover.vue | 90 +- .../src/template/useOptionsList.js | 21 + openhis-ui-vue3/src/utils/his.js | 274 +- .../caseTemplatesStatistics/api.js | 80 + .../components/editStatistics.vue | 132 + .../caseTemplatesStatistics/index.vue | 298 ++ .../caseTemplatesStatistics/index1.vue | 144 + .../device/components/deviceDialog.vue | 2 +- .../catalog/diagnosistreatment/index.vue | 78 + .../medicine/components/medicineDialog.vue | 2 +- .../medicine/components/medicineYbDialog.vue | 48 +- .../cliniccharge/components/chargeDialog.vue | 13 +- .../cliniccharge/components/template.json | 273 +- .../src/views/charge/cliniccharge/index.vue | 113 +- .../components/patientAddDialog.vue | 2 +- .../dayEnd/component/template.json | 261 +- .../clinicmanagement/dayEnd/indexccu.vue | 49 +- .../views/clinicmanagement/disposal/index.vue | 1 - .../components/adviceBaseList.vue | 28 +- .../src/views/doctorstation/components/api.js | 33 + .../diagnosis/addDiagnosisDialog.vue | 4 +- .../components/diagnosis/diagnosis.vue | 15 +- .../components/diagnosis/diagnosisdialog.vue | 49 +- .../components/emr/emrtemplate.vue | 51 +- .../components/eprescriptiondialog.vue | 71 +- .../prescription/prescriptionHistory.vue | 7 +- .../prescription/prescriptionlist.vue | 58 +- .../hospitalRecord/HospitalRecordForm.vue | 269 ++ .../components/medicalRecordFirst.vue | 472 +++ .../components/medicalRecordFirstPrint.json | 3 + .../components/medicalRecordSecond.vue | 345 ++ .../components/medicalRecordThird.vue | 10 + openhis-ui-vue3/src/views/index.vue | 6 +- .../src/views/inpatientDoctor/home/emr/api.js | 36 + .../home/emr/components/history.vue | 2 +- .../home/emr/components/template.vue | 112 + .../home/emr/components/templateEdit.vue | 133 + .../views/inpatientDoctor/home/emr/index.vue | 169 +- .../medicalOrderExecution/components/api.js | 22 + .../components/prescriptionList.vue | 257 +- .../medicalOrderExecution/index.vue | 39 +- .../medicalOrderProofread/components/api.js | 22 + .../components/patientList.vue | 4 +- .../components/prescriptionList.vue | 247 +- .../medicalOrderProofread/index.vue | 83 +- openhis-ui-vue3/src/views/login.vue | 12 +- .../adjustmentProfitLossRecord/index.vue | 165 + .../chkstock/chkstockBatch/index.vue | 7 +- .../chkstock/chkstockPart/index.vue | 2152 ++++++++----- .../chkstock/chkstockRecord/index.vue | 3 +- .../lossReporting/index.vue | 7 +- .../components/api.js | 58 + .../components/medicineList.vue | 74 + .../priceAdjustmentManagement/index.vue | 636 ++++ .../purchaseDocument/index.vue | 881 +++--- .../requisitionManagement/index.vue | 7 +- .../returningInventory/index.vue | 7 +- .../returnedPurchase/index.vue | 6 +- .../liquidationRecords.vue | 654 ++-- .../purchaseDocumentDetsils.vue | 142 +- .../statisticalManagement/reconciliation.vue | 109 +- .../transferManagent/batchTransfer/index.vue | 7 +- .../transferManagent/index.vue | 14 +- .../components/templateJson.json | 44 +- .../westernmedicine/index.vue | 345 +- .../src/views/system/dict/index.vue | 447 +-- openhis-ui-vue3/vite.config.js | 2 +- 488 files changed, 41436 insertions(+), 2901 deletions(-) create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicPreSettle.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicReg.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicSettle.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnReg.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnSettle.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/DirectoryCheckRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/File.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialApplyRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialReconcileRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InfoPerson.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientDischarge.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientFeeDetail.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientPreSettle.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientReg.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientRegInfoUpdateRecorde.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientSettle.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnDischarge.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnReg.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnSettle.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientcancelFeeDetail.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryChangeRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryCheckRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryDelRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseReturnRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleReturnRecord.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/Sign.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelPaymentDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelRegPaymentDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312Output.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312QueryParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDetailVO.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemGroupDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3204AParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AParma.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AWebParma.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203DiseInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203Medical.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203MedicalParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2205OrderParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206FundPaymentResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderOutput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResultDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206SetldetaiResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultInfoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoOutput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg2201Output.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/DispenseInventory3505Dto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceChargeDetailDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceListDetailDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePatientInfoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePaymentInfoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceResultDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/File9101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileDownload.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203WebParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Output.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202OtherParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AWebParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Dto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203WebParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3204Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialClearing3203AWebParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiConsultation3101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiDiagnose3101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiEncounter3101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103DataParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103WarnsParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOperation3101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOrder3101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiPatient3101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolation3101Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolationDetail3101Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401DiseInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401MdtInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DiseInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DscgInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403AdmInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403DiseInfoParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2404AdmCnlParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2406SmAttrUpParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401AParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3402Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3403Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501ARefmedinParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501RefmedinParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrfCxl2502Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101Output.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101PerinfoResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101ReadcardParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301SpecialConditionResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/InvoiceBaseInfoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowRegSel25008Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3503Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3506Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3507Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301ListParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3302Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3501Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3502Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalPurchase3504Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalTraceNoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PatientInfoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDecDetailUniAccountDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDetailDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentInpatientDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentSettleDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalCnl25004Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalSel25005Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthRecord25003Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDis2503Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDisCxl2504Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPt2505Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPtCxl2506Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedApprovalCnl25006Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedRecord25001Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersUnintInj2507Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PrePaymentDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ResultBody.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201DetailDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201Dto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201WebParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202Dto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202WebParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3209AWebParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign1101Param.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign9001Result.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/SupplyItemDetail3503Dto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionDetailInfoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionInfoDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetail.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetailModel.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301OutputResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2302InputInpatient.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303InputInpatient.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303OutputSetInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputExpContent.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputInpatient.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304OutputSetlInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305InputInpatient.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305OutputSetlInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientDiseInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientMdtrtInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientTrumContent.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDiseInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDscgInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputAdmInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputDiseInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputMdtrtGrpContent.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputTrumContent.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2404InputInpatient.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2405InputInpatient.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterDiagnoseInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterPatientInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterOrderInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputData.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiDiagnoseDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiEncounterDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOperationDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOrderDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputPatientDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputJudgeResultDetailDto.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputResult.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputData.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputWarn.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AAdapterSettleInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputBldinfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputDiseinfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputIcuinfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOprninfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOpspdiseinfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputSetlinfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AOutputData.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205InputSpecialDisease.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205OutputSpecialDisease.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/extData.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicPreSettleMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicSettleMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnRegMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnSettleMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/DirectoryCheckRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialApplyRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialReconcileRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientFeeDetailMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientRegMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientSettleMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryChangeRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryCheckRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryDelRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseReturnRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleReturnRecordMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/MedicalInsuranceMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/PerinfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/RegMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/SignMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/CancelRegPaymentModel.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderModel.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderParam.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/OutpatientRegistrationModel.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicPreSettleService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicSettleService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnRegService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnSettleService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IDirectoryCheckRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialApplyRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialReconcileRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientFeeDetailService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientRegService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientSettleService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryChangeRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryCheckRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryDelRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseReturnRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleReturnRecordService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IPerinfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IRegService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/ISignService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbDao.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbHttpUtils.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbManager.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicPreSettleServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicSettleServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnRegServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnSettleServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/DirectoryCheckRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialApplyRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialReconcileRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientFeeDetailServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientRegServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientSettleServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryChangeRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryCheckRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryDelRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseReturnRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleReturnRecordServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/PerinfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/RegServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/SignServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/CommonConstant.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/YbParamBuilderUtil.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfoUsual.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalConsumables.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalHerbInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialDisease.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialInsuranceDisease.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSurgeryStandardDirectory.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogWesternDisease.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZyDiseaseDiagnosis.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZySyndrome.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoUsualMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalConsumablesMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalHerbInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalServiceMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSpecialDiseaseMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSurgeryStandardDirectoryMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogWesternDiseaseMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZyDiseaseDiagnosisMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZySyndromeMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoUsualService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalConsumablesService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalHerbInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalServiceService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSpecialDiseaseService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSurgeryStandardDirectoryService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogWesternDiseaseService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZyDiseaseDiagnosisService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZySyndromeService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoUsualServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalConsumablesServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalHerbInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalServiceServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSpecialDiseaseServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSurgeryStandardDirectoryServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogWesternDiseaseServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZyDiseaseDiagnosisServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZySyndromeServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultDetail.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerDiagnosisInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionDetail.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerVisitInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeInput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeOutput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureInput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureOutput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadInput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadOutput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriDiagnosisInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionDetail.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionOutput.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriVisitInfo.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/InformationInquiry.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/MedicationResultInquiry.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/PreCheckPrescription.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/QueryPrescription.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultDetailMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerDiagnosisInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionDetailMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerVisitInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeInputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeOutputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureInputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureOutputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadInputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadOutputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriDiagnosisInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionDetailMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionOutputMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriVisitInfoMapper.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultDetailService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerDiagnosisInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionDetailService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerVisitInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeInputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeOutputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureInputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureOutputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadInputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadOutputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriDiagnosisInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionDetailService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionOutputService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriVisitInfoService.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultDetailServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerDiagnosisInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionDetailServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerVisitInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeInputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeOutputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureInputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureOutputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadInputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadOutputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriDiagnosisInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionDetailServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionInfoServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionOutputServiceImpl.java create mode 100644 openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriVisitInfoServiceImpl.java create mode 100644 openhis-ui-vue3/.gitignore create mode 100644 openhis-ui-vue3/HospitalRecordForm.vue create mode 100644 openhis-ui-vue3/src/assets/images/ty.jpg create mode 100644 openhis-ui-vue3/src/template/nursingRecordSheet.vue create mode 100644 openhis-ui-vue3/src/template/useOptionsList.js create mode 100644 openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/api.js create mode 100644 openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/components/editStatistics.vue create mode 100644 openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index.vue create mode 100644 openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index1.vue create mode 100644 openhis-ui-vue3/src/views/hospitalRecord/HospitalRecordForm.vue create mode 100644 openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirst.vue create mode 100644 openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json create mode 100644 openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordSecond.vue create mode 100644 openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordThird.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/templateEdit.vue create mode 100644 openhis-ui-vue3/src/views/medicationmanagement/adjustmentProfitLossRecord/index.vue create mode 100644 openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/api.js create mode 100644 openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/medicineList.vue create mode 100644 openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/index.vue diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicPreSettle.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicPreSettle.java new file mode 100644 index 00000000..9425c687 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicPreSettle.java @@ -0,0 +1,62 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 【2206】医保预结算实体 + * + * @author SunJQ + * @date 2025-04-19 + */ +@Data +@TableName("yb_clinc_pre_settle") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ClinicPreSettle extends HisBaseEntity implements Serializable { + + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private Long id; + + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + + //内部就诊ID + @JSONField(serialize=false) + private String regId; + + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + + //结算批次号 + @JSONField(name="chrg_bchno") + private String chrgBchno;//对应payment的显示用流水 + + private String param2203; + + private String result2203; + + private String param2204; + + private String result2204; + + private String param2206; + + private String result2206; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicReg.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicReg.java new file mode 100644 index 00000000..69ea4795 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicReg.java @@ -0,0 +1,109 @@ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + *【2201】【2202】挂号 退号 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@TableName("yb_clinc_reg") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ClinicReg extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private Long id; + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + //参保地医保区划 + @JSONField(name="insuplc_admdvs") + private String insuplcAdmdvs; + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + //险种类型 + @Dict(dictCode = "insutype") + @JSONField(name="insutype") + private String insutype; + //医疗类别 + @Dict(dictCode = "med_type") + @JSONField(serialize=false) + private String medType; + //挂号时间 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JSONField(name="begntime") + private Date begntime; + //就诊凭证类型 + @JSONField(name="mdtrt_cert_type") + private String mdtrtCertType; + //就诊凭证编号 + @JSONField(name="mdtrt_cert_no") + private String mdtrtCertNo; + //证件加密串 + @JSONField(serialize=false) + @TableField(exist = false) + private String busiCardInfo; + //住院/门诊号 + @JSONField(name="ipt_otp_no") + private String iptOtpNo; + //医师编码 + @JSONField(name="atddr_no") + private String atddrNo; + //医师姓名 + @JSONField(name="dr_name") + private String drName; + //科室编码 + @JSONField(name="dept_code") + private String deptCode; + //科室名称 + @JSONField(name="dept_name") + private String deptName; + //科别 + @JSONField(name="caty") + private String caty; + //挂号费 + @JSONField(serialize=false) + private Double regFee; + //检查费 + @JSONField(serialize=false) + private Double checkFee; + //应收金额 + @JSONField(serialize=false) + private Double totalFee; + //状态,0-挂号,1-看诊,2-费用明细,3-预结算,4-结算 + @JSONField(serialize=false) + private String status; + @JSONField(name="psn_cert_type") + @TableField(exist = false) + private String psnCertType; + @JSONField(name="certno") + @TableField(exist = false) + private String certno; + @JSONField(name="psn_type") + @TableField(exist = false) + private String psnType; + @JSONField(name="psn_name") + @TableField(exist = false) + private String psnName; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicSettle.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicSettle.java new file mode 100644 index 00000000..c13484b4 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicSettle.java @@ -0,0 +1,112 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【2207结算记录】 + * + * @author SunJQ + * @date 2025-04-19 + */ +@Data +@TableName("yb_clinc_settle") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ClinicSettle { + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private Long id; + + private String setlId;//结算id + + private String mdtrtId; // 就诊ID + + private String psnName; // 人员姓名 + + private String psnCertType; // 人员证件类型 + + private String certno; // 证件号码 + + private String insutype; // 险种类型 + + private String psnType; // 人员类别 + + private String cvlservFlag; // 公务员标志 + + private Date setlTime; // 结算时间 + + private String mdtrtCertType; // 就诊凭证类型 + + private String medType; // 医疗类别 + + private BigDecimal medfeeSumamt; // 医疗费总额 + + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + private BigDecimal preselfpayAmt; // 先行自付金额 + + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + private BigDecimal actPayDedc; // 实际支付起付线 + + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + private BigDecimal mafPay; // 医疗救助基金支出 + + private BigDecimal othPay; // 其他支出 + + private BigDecimal fundPaySumamt; // 基金支付总额 + + private BigDecimal psnPartAmt; // 个人负担总金额 + + private BigDecimal acctPay; // 个人账户支出 + + private BigDecimal psnCashPay; // 个人现金支出 + + private BigDecimal hospPartAmt; // 医院负担金额 + + private BigDecimal balc; // 余额 + + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + private String medinsSetlId; // 医药机构结算ID + + private String clrOptins; // 清算经办机构 + + private String clrWay; // 清算方式 + + private String clrType; // 清算类别 + + private BigDecimal hifdmPay; // 伤残人员医疗保障基金支出 + + private String paymentNo;//结算业务流水号 Payment与ClinicSettle是1:N + + private String param2207; + + private String result2207; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnReg.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnReg.java new file mode 100644 index 00000000..975bfe52 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnReg.java @@ -0,0 +1,47 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * 【2202】挂号撤销 + * + * @author SunJQ + * @date 2025-04-21 + */ +@Data +@TableName("yb_clinc_un_reg") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ClinicUnReg { + + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private Long id; + + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + + //住院/门诊号 + @JSONField(name="ipt_otp_no") + private String iptOtpNo; + + //取消挂号时间 + private Date unRegTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnSettle.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnSettle.java new file mode 100644 index 00000000..d4a2e15b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/ClinicUnSettle.java @@ -0,0 +1,111 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【2208结算撤销】 + * + * @author SunJQ + * @date 2025-04-19 + */ +@Data +@TableName("yb_clinc_un_settle") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ClinicUnSettle extends HisBaseEntity { + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private Long id; + + private String mdtrtId; // 就诊ID + + private String psnName; // 人员姓名 + + private String psnCertType; // 人员证件类型 + + private String certno; // 证件号码 + + private String insutype; // 险种类型 + + private String psnType; // 人员类别 + + private String cvlservFlag; // 公务员标志 + + private Date setlTime; // 结算时间 + + private String mdtrtCertType; // 就诊凭证类型 + + private String medType; // 医疗类别 + + private BigDecimal medfeeSumamt; // 医疗费总额 + + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + private BigDecimal preselfpayAmt; // 先行自付金额 + + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + private BigDecimal actPayDedc; // 实际支付起付线 + + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + private BigDecimal mafPay; // 医疗救助基金支出 + + private BigDecimal othPay; // 其他支出 + + private BigDecimal fundPaySumamt; // 基金支付总额 + + private BigDecimal psnPartAmt; // 个人负担总金额 + + private BigDecimal acctPay; // 个人账户支出 + + private BigDecimal psnCashPay; // 个人现金支出 + + private BigDecimal hospPartAmt; // 医院负担金额 + + private BigDecimal balc; // 余额 + + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + private String medinsSetlId; // 医药机构结算ID + + private String clrOptins; // 清算经办机构 + + private String clrWay; // 清算方式 + + private String clrType; // 清算类别 + + private BigDecimal hifdmPay; // 伤残人员医疗保障基金支出 + + private String param2208; + + private String result2208; + + private String settleId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/DirectoryCheckRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/DirectoryCheckRecord.java new file mode 100644 index 00000000..dca97849 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/DirectoryCheckRecord.java @@ -0,0 +1,46 @@ +package com.openhis.yb.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3301、3302】医保目录对照历史表 + * + * @author SunJQ + * @date 2025-04-27 + */ +@Data +@TableName("yb_directory_check_record") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class DirectoryCheckRecord extends HisBaseEntity { + + /** 主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 3301/3302 */ + private Integer type; + + /** 表名 */ + private String tableName; + + /** 业务表主键 */ + private Long tableId; + + /** 组织机构id */ + private Long orgId; + + /** 参数 */ + private String param; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/File.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/File.java new file mode 100644 index 00000000..df2445a5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/File.java @@ -0,0 +1,39 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * 【9101】【9102】公用 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class File { + + // 文件查询号 + private String fileQuryNo; + + // 文件名称 + private String filename; + + // 下载截止时间 + private Date dldEndtime; + + // 文件数据 + private byte[] fileData; + + // 医药机构编号 + private String fixmedinsCode; + + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialApplyRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialApplyRecord.java new file mode 100644 index 00000000..ddec6451 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialApplyRecord.java @@ -0,0 +1,72 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.data.redis.core.index.PathBasedRedisIndexDefinition; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【3203】清算申请记录 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_financial_apply_record") +@EqualsAndHashCode(callSuper = false) +public class FinancialApplyRecord { + //主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + //医院id + private Long orgId; + + //开始时间 + private Date begndate; + + //结束时间 + private Date enddate; + + //清算类别 + private String clrType; + + //医疗费总额 + private BigDecimal medfeeSumamt; + + //医保认可费用总额 + private BigDecimal medSumfee; + + //基金申报总额 + private BigDecimal fundAppySum; + + //现金支付金额 + private BigDecimal cashPayamt; + + //个人账户支出 + private BigDecimal acctPay; + + //申请人 + private Long praId; + + //入参 + private String param; + + //医保输出参数:申请清算id + private String outResult; + + //申请状态 + private String status; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialReconcileRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialReconcileRecord.java new file mode 100644 index 00000000..3b2eb85b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/FinancialReconcileRecord.java @@ -0,0 +1,68 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.annotation.Excel; +import com.core.common.core.domain.HisBaseEntity; +import com.openhis.common.annotation.Dict; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * [3201]对账记录 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Data +@Accessors(chain = true) +@TableName("yb_financial_reconcile_record") +@EqualsAndHashCode(callSuper = false) +public class FinancialReconcileRecord extends HisBaseEntity { + //主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + //定点医药机构编号 + private String fixmedinsCode; + //定点医药机构名称 + private String fixmedinsName; + //医保区划 + private String admvs; + //险种 + private String insutype; + //清算类别 + private String clrType; + //结算经办机构 + private String setlOptins; + //对账开始日期 + private String stmtBegndate; + //对账结束日期 + private String stmtEnddate; + //医疗费总额 + private Double medfeeSumamt; + //基金支付总额 + private Double fundPaySumamt; + //个人账户支付金额 + private Double acctPay; + //定点医药机构结算笔数 + private Integer fixmedinsSetlCnt; + //对账结果 + private String stmtRslt; + //对账结果说明 + private String stmtRsltDscr; + + //医院id + private Long orgId; + + //入参 + private String param; + + // + private String result; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InfoPerson.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InfoPerson.java new file mode 100644 index 00000000..610a3470 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InfoPerson.java @@ -0,0 +1,93 @@ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import com.openhis.yb.dto.Info5301SpecialConditionResult; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【1101】获取身份信息 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@TableName("yb_pub_perinfo") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InfoPerson extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private Long id; + + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + //人员证件类型 + @JSONField(name="psn_cert_type") + private String psnCertType; + //证件号码 + @JSONField(name="certno") + private String certno; + //人员姓名 + @JSONField(name="psn_name") + private String psnName; + //性别 + @JSONField(name="gend") + private String gend; + //民族 + @JSONField(name="naty") + private String naty; + //出生日期 + @JSONField(name="brdy") + private Date brdy; + //年龄 + @JSONField(name="age") + private Double age; + //参保地医保区划 + @JSONField(serialize = false) + private String insuplcAdmdvs; + //险种类型 + @JSONField(serialize = false) + private String insutype; + //余额 + @JSONField(serialize = false) + private String balc; + + private String param1101; + + private String result1101; + + //人员类别 + private String psnType; + + //人员参保状态 + private String psnInsuStas; + + //个人参保日期 + private String psnInsuDate; + + //公务员标志 + private String cvlservFlag; + + //单位名称 + private String empName; + + //特慢病 + @TableField(exist = false) + private List feedetail; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientDischarge.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientDischarge.java new file mode 100644 index 00000000..eef815b6 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientDischarge.java @@ -0,0 +1,180 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2402】出院办理 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_discharge") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientDischarge extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 险种类型 + */ + @JSONField(name = "insutype") + private String insutype; + + /** + * 结束时间(出院时间,格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "endtime", format = "yyyy-MM-dd HH:mm:ss") + private Date endtime; + + /** + * 病种编码(按照标准编码填写:按病种结算病种目录代码(bydise_setl_list_code)、日间手术病种目录代码(daysrg_dise_list_code)) + */ + @JSONField(name = "dise_codg") + private String diseCodg; + + /** + * 病种名称 + */ + @JSONField(name = "dise_name") + private String diseName; + + /** + * 手术操作代码(日间手术病种时必填) + */ + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + /** + * 手术操作名称 + */ + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 计划生育服务证号 + */ + @JSONField(name = "fpsc_no") + private String fpscNo; + + /** + * 生育类别 + */ + @JSONField(name = "matn_type") + private String matnType; + + /** + * 计划生育手术类别 + */ + @JSONField(name = "birctrl_type") + private String birctrlType; + + /** + * 晚育标志 + */ + @JSONField(name = "latechb_flag") + private String latechbFlag; + + /** + * 孕周数 + */ + @JSONField(name = "esso_val") + private Integer essoVal; + + /** + * 胎次 + */ + @JSONField(name = "fetts") + private Integer fetts; + + /** + * 胎儿数 + */ + @JSONField(name = "fetus_cnt") + private Integer fetusCnt; + + /** + * 早产标志 + */ + @JSONField(name = "pret_flag") + private String pretFlag; + + /** + * 计划生育手术或生育日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "birctrl_matn_date", format = "yyyy-MM-dd") + private Date birctrlMatnDate; + + /** + * 伴有并发症标志 + */ + @JSONField(name = "cop_flag") + private String copFlag; + + /** + * 出院科室编码 + */ + @JSONField(name = "dscg_dept_codg") + private String dscgDeptCodg; + + /** + * 出院科室名称 + */ + @JSONField(name = "dscg_dept_name") + private String dscgDeptName; + + /** + * 出院床位 + */ + @JSONField(name = "dscg_bed") + private String dscgBed; + + /** + * 离院方式 + */ + @JSONField(name = "dscg_way") + private String dscgWay; + + /** + * 死亡日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "die_date", format = "yyyy-MM-dd") + private Date dieDate; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientFeeDetail.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientFeeDetail.java new file mode 100644 index 00000000..2a7aeccd --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientFeeDetail.java @@ -0,0 +1,227 @@ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2301】费用明细上传 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_fee_detail") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientFeeDetail extends HisBaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + /** + * 费用明细流水号 单次就诊内唯一(对应chargeItem的busNo) + */ + @JsonProperty("feedetl_sn") + private String feedetlSn; + + /** + * 原费用流水号 退单时传入被退单的费用明细流水号 + */ + @JsonProperty("init_feedetl_sn") + private String initFeedetlSn; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 医嘱号 + */ + @JsonProperty("drord_no") + private String drordNo; + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 医疗类别 + */ + @JsonProperty("med_type") + private String medType; + + /** + * 费用发生时间 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("fee_ocur_time") + private Date feeOcurTime; + + /** + * 医保目录编码 + */ + @JsonProperty("med_list_codg") + private String medListCodg; + + /** + * 医药机构目录编码 + */ + @JsonProperty("medins_list_codg") + private String medinsListCodg; + + /** + * 明细项目费用总额 + */ + @JsonProperty("det_item_fee_sumamt") + private BigDecimal detItemFeeSumamt; + + /** + * 数量 退单时数量填写负数 + */ + @JsonProperty("cnt") + private BigDecimal cnt; + + /** + * 单价 + */ + @JsonProperty("pric") + private BigDecimal pric; + + /** + * 开单科室编码 + */ + @JsonProperty("bilg_dept_codg") + private String bilgDeptCodg; + + /** + * 开单科室名称 + */ + @JsonProperty("bilg_dept_name") + private String bilgDeptName; + + /** + * 开单医生编码 + */ + @JsonProperty("bilg_dr_codg") + private String bilgDrCodg; + + /** + * 开单医师姓名 + */ + @JsonProperty("bilg_dr_name") + private String bilgDrName; + + /** + * 定价上限金额 + */ + @JsonProperty("pric_uplmt_amt") + private BigDecimal pricUplmtAmt; + + /** + * 自付比例 + */ + @JsonProperty("selfpay_prop") + private BigDecimal selfpayProp; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价金额 + */ + @JsonProperty("overlmt_amt") + private BigDecimal overlmtAmt; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 收费项目等级 + */ + @JsonProperty("chrgitm_lv") + private String chrgitmLv; + + /** + * 医疗收费项目类别 + */ + @JsonProperty("med_chrgitm_type") + private String medChrgitmType; + + /** + * 基本药物标志 + */ + @JsonProperty("bas_medn_flag") + private String basMednFlag; + + /** + * 医保谈判药品标志 + */ + @JsonProperty("hi_nego_drug_flag") + private String hiNegoDrugFlag; + + /** + * 儿童用药标志 + */ + @JsonProperty("chld_medc_flag") + private String chldMedcFlag; + + /** + * 目录特项标志 + */ + @JsonProperty("list_sp_item_flag") + private String listSpItemFlag; + + /** + * 限制使用标志 + */ + @JsonProperty("lmt_used_flag") + private String lmtUsedFlag; + + /** + * 直报标志 + */ + @JsonProperty("drt_reim_flag") + private String drtReimFlag; + + /** + * 关联就诊id + */ + private String encounterId; + + private String inputParam; + + private String outputResult; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientPreSettle.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientPreSettle.java new file mode 100644 index 00000000..0426d6bb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientPreSettle.java @@ -0,0 +1,338 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2303】住院预结算 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_pre_settle") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientPreSettle extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 就诊凭证类型 + */ + @JsonProperty("mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 就诊凭证编号 就诊凭证类型为“01”时填写电子凭证令牌,为“02”时填写身份证号,为“03”时填写社会保障卡卡号 + */ + @JsonProperty("mdtrt_cert_no") + private String mdtrtCertNo; + + /** + * 医疗费总额 + */ + @JsonProperty("medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 个人结算方式 + */ + @JsonProperty("psn_setlway") + private String psnSetlway; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 个人账户使用标志 + */ + @JsonProperty("acct_used_flag") + private String acctUsedFlag; + + /** + * 险种类型 + */ + @JsonProperty("insutype") + private String insutype; + + /** + * 参保地医保区划 + */ + @JsonProperty("insuplc_admdvs") + private String insuplcAdmdvs; + + /** + * 就医地医保区划 + */ + @JsonProperty("mdtrtarea_admvs") + private String mdtrtareaAdmvs; + + /** + * 发票号 + */ + @JsonProperty("invono") + private String invono; + + /** + * 中途结算标志 + */ + @JsonProperty("mid_setl_flag") + private String midSetlFlag; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价金额 + */ + @JsonProperty("overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 出院时间 格式:yyyy-MM-dd + */ + @JsonProperty("dscgTime") + private Date dscgTime; + + /** + * 人员姓名 + */ + @JsonProperty("psn_name") + private String psnName; + + /** + * 人员证件类型 + */ + @JsonProperty("psn_cert_type") + private String psnCertType; + + /** + * 证件号码 + */ + @JsonProperty("certno") + private String certno; + + /** + * 性别 + */ + @JsonProperty("gend") + private String gend; + + /** + * 民族 + */ + @JsonProperty("naty") + private String naty; + + /** + * 出生日期 格式:yyyy-MM-dd + */ + @JsonProperty("brdy") + private Date brdy; + + /** + * 年龄 + */ + @JsonProperty("age") + private BigDecimal age; + + /** + * 人员类别 + */ + @JsonProperty("psn_type") + private String psnType; + + /** + * 公务员标志 + */ + @JsonProperty("cvlserv_flag") + private String cvlservFlag; + + /** + * 结算时间 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("setl_time") + private Date setlTime; + + /** + * 医疗类别 + */ + @JsonProperty("med_type") + private String medType; + + /** + * 实际支付起付线 + */ + @JsonProperty("act_pay_dedc") + private BigDecimal actPayDedc; + + /** + * 基本医疗保险统筹基金支出 + */ + @JsonProperty("hifp_pay") + private BigDecimal hifpPay; + + /** + * 基本医疗保险统筹基金支付比例 + */ + @JsonProperty("pool_prop_selfpay") + private BigDecimal poolPropSelfpay; + + /** + * 公务员医疗补助资金支出 + */ + @JsonProperty("cvlserv_pay") + private BigDecimal cvlservPay; + + /** + * 企业补充医疗保险基金支出 + */ + @JsonProperty("hifes_pay") + private BigDecimal hifesPay; + + /** + * 居民大病保险资金支出 + */ + @JsonProperty("hifmi_pay") + private BigDecimal hifmiPay; + + /** + * 职工大额医疗费用补助基金支出 + */ + @JsonProperty("hifob_pay") + private BigDecimal hifobPay; + + /** + * 医疗救助基金支出 + */ + @JsonProperty("maf_pay") + private BigDecimal mafPay; + + /** + * 其他支出 + */ + @JsonProperty("oth_pay") + private BigDecimal othPay; + + /** + * 基金支付总额 + */ + @JsonProperty("fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + /** + * 个人负担总金额 + */ + @JsonProperty("psn_part_amt") + private BigDecimal psnPartAmt; + + /** + * 个人账户支出 + */ + @JsonProperty("acct_pay") + private BigDecimal acctPay; + + /** + * 个人现金支出 + */ + @JsonProperty("psn_cash_pay") + private BigDecimal psnCashPay; + + /** + * 医院负担金额 + */ + @JsonProperty("hosp_part_amt") + private BigDecimal hospPartAmt; + + /** + * 余额 + */ + @JsonProperty("balc") + private BigDecimal balc; + + /** + * 个人账户共济支付金额 + */ + @JsonProperty("acct_mulaid_pay") + private BigDecimal acctMulaidPay; + + /** + * 医药机构结算ID 存放发送方报文ID + */ + @JsonProperty("medins_setl_id") + private String medinsSetlId; + + /** + * 清算经办机构 + */ + @JsonProperty("clr_optins") + private String clrOptins; + + /** + * 清算方式 + */ + @JsonProperty("clr_way") + private String clrWay; + + /** + * 清算类别 + */ + @JsonProperty("clr_type") + private String clrType; + + /** + * 伤残人员医疗保障基金支出 1.5.4新增 + */ + @JsonProperty("hifdm_pay") + private BigDecimal hifdmPay; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientReg.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientReg.java new file mode 100644 index 00000000..6bf53db0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientReg.java @@ -0,0 +1,262 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2401】入院办理 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_reg") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientReg extends HisBaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 险种类型 + */ + @JSONField(name = "insutype") + private String insutype; + + /** + * 联系人姓名 + */ + @JSONField(name = "coner_name") + private String conerName; + + /** + * 联系电话 + */ + @JSONField(name = "tel") + private String tel; + + /** + * 开始时间(入院时间,格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss") + private Date begntime; + + /** + * 就诊凭证类型 + */ + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 就诊凭证编号(就诊凭证类型为“01”时填写电子凭证令牌,为“02”时填写身份证号,为“03”时填写社会保障卡卡号) + */ + @JSONField(name = "mdtrt_cert_no") + private String mdtrtCertNo; + + /** + * 医疗类别 + */ + @JSONField(name = "med_type") + private String medType; + + /** + * 住院号(院内就诊流水号) + */ + @JSONField(name = "ipt_no") + private String iptNo; + + /** + * 病历号 + */ + @JSONField(name = "medrcdno") + private String medrcdno; + + /** + * 主治医生编码 + */ + @JSONField(name = "atddr_no") + private String atddrNo; + + /** + * 主诊医师姓名 + */ + @JSONField(name = "chfpdr_name") + private String chfpdrName; + + /** + * 入院诊断描述 + */ + @JSONField(name = "adm_diag_dscr") + private String admDiagDscr; + + /** + * 入院科室编码 + */ + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + /** + * 入院科室名称 + */ + @JSONField(name = "adm_dept_name") + private String admDeptName; + + /** + * 入院床位 + */ + @JSONField(name = "adm_bed") + private String admBed; + + /** + * 住院主诊断代码 + */ + @JSONField(name = "dscg_maindiag_code") + private String dscgMaindiagCode; + + /** + * 住院主诊断名称 + */ + @JSONField(name = "dscg_maindiag_name") + private String dscgMaindiagName; + + /** + * 主要病情描述 + */ + @JSONField(name = "main_cond_dscr") + private String mainCondDscr; + + /** + * 病种编码(按照标准编码填写:按病种结算病种目录代码(bydise_setl_list_code)、日间手术病种目录代码(daysrg_dise_list_code)) + */ + @JSONField(name = "dise_codg") + private String diseCodg; + + /** + * 病种名称 + */ + @JSONField(name = "dise_name") + private String diseName; + + /** + * 手术操作代码(日间手术病种时必填) + */ + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + /** + * 手术操作名称 + */ + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 计划生育服务证号 + */ + @JSONField(name = "fpsc_no") + private String fpscNo; + + /** + * 生育类别 + */ + @JSONField(name = "matn_type") + private String matnType; + + /** + * 计划生育手术类别 + */ + @JSONField(name = "birctrl_type") + private String birctrlType; + + /** + * 晚育标志 + */ + @JSONField(name = "latechb_flag") + private String latechbFlag; + + /** + * 孕周数 + */ + @JSONField(name = "geso_val") + private Integer gesoVal; + + /** + * 胎次 + */ + @JSONField(name = "fetts") + private Integer fetts; + + /** + * 胎儿数 + */ + @JSONField(name = "fetus_cnt") + private Integer fetusCnt; + + /** + * 早产标志 + */ + @JSONField(name = "pret_flag") + private String pretFlag; + + /** + * 计划生育手术或生育日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "birctrl_matn_date", format = "yyyy-MM-dd") + private Date birctrlMatnDate; + + /** + * 病种类型 + */ + @JSONField(name = "dise_type_code") + private String diseTypeCode; + + /** + * 字段扩展 + */ + @JSONField(name = "exp_content") + private String expContent; + + /** + * 参保地医保区划 + */ + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs; + + /** + * 就医地医保区划 + */ + @JSONField(name = "mdtrtarea_admvs") + private String mdtrtareaAdmvs; + + /** + * 就诊id + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientRegInfoUpdateRecorde.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientRegInfoUpdateRecorde.java new file mode 100644 index 00000000..6de3b953 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientRegInfoUpdateRecorde.java @@ -0,0 +1,241 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2403】住院信息变更 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_info_recorde") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientRegInfoUpdateRecorde extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 联系人姓名 + */ + @JSONField(name = "coner_name") + private String conerName; + + /** + * 联系电话 + */ + @JSONField(name = "tel") + private String tel; + + /** + * 开始时间(格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss") + private Date begntime; + + /** + * 结束时间(格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "endtime", format = "yyyy-MM-dd HH:mm:ss") + private Date endtime; + + /** + * 就诊凭证类型 + */ + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 医疗类别 + */ + @JSONField(name = "med_type") + private String medType; + + /** + * 住院/门诊号 + */ + @JSONField(name = "ipt_otp_no") + private String iptOtpNo; + + /** + * 病历号 + */ + @JSONField(name = "medrcdno") + private String medrcdno; + + /** + * 主治医生编码 + */ + @JSONField(name = "atddr_no") + private String atddrNo; + + /** + * 主诊医师姓名 + */ + @JSONField(name = "chfpdr_name") + private String chfpdrName; + + /** + * 入院诊断描述 + */ + @JSONField(name = "adm_diag_dscr") + private String admDiagDscr; + + /** + * 入院科室编码 + */ + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + /** + * 入院科室名称 + */ + @JSONField(name = "adm_dept_name") + private String admDeptName; + + /** + * 入院床位 + */ + @JSONField(name = "adm_bed") + private String admBed; + + /** + * 住院主诊断代码 + */ + @JSONField(name = "dscg_maindiag_code") + private String dscgMaindiagCode; + + /** + * 住院主诊断名称 + */ + @JSONField(name = "dscg_maindiag_name") + private String dscgMaindiagName; + + /** + * 主要病情描述 + */ + @JSONField(name = "main_cond_dscr") + private String mainCondDscr; + + /** + * 病种编码(按照标准编码填写:按病种结算病种目录代码(bydise_setl_list_code)、日间手术病种目录代码(daysrg_dise_list_code)) + */ + @JSONField(name = "dise_codg") + private String diseCodg; + + /** + * 病种名称 + */ + @JSONField(name = "dise_name") + private String diseName; + + /** + * 手术操作代码(日间手术病种时必填) + */ + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + /** + * 手术操作名称 + */ + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 计划生育服务证号 + */ + @JSONField(name = "fpsc_no") + private String fpscNo; + + /** + * 生育类别 + */ + @JSONField(name = "matn_type") + private String matnType; + + /** + * 计划生育手术类别 + */ + @JSONField(name = "birctrl_type") + private String birctrlType; + + /** + * 晚育标志 + */ + @JSONField(name = "latechb_flag") + private String latechbFlag; + + /** + * 孕周数 + */ + @JSONField(name = "esso_val") + private Integer essoVal; + + /** + * 胎次 + */ + @JSONField(name = "fetts") + private Integer fetts; + + /** + * 胎儿数 + */ + @JSONField(name = "fetus_cnt") + private Integer fetusCnt; + + /** + * 早产标志 + */ + @JSONField(name = "pret_flag") + private String pretFlag; + + /** + * 计划生育手术或生育日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "birctrl_matn_date", format = "yyyy-MM-dd") + private Date birctrlMatnDate; + + /** + * 病种编号 + */ + @JSONField(name = "dise_type_code") + private String diseTypeCode; + + private String inputParam; + + private String outputResult; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientSettle.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientSettle.java new file mode 100644 index 00000000..4333dad1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientSettle.java @@ -0,0 +1,319 @@ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【2304】住院结算 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_settle") +@Accessors(chain = true) +public class InpatientSettle extends HisBaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 人员编号 + */ + private String psnNo; + + /** + * 就诊凭证类型 + */ + private String mdtrtCertType; + + /** + * 就诊凭证编号 就诊凭证类型为“01”时填写电子凭证令牌,为“02”时填写身份证号,为“03”时填写社会保障卡卡号 + */ + private String mdtrtCertNo; + + /** + * 医疗费总额 + */ + private BigDecimal medfeeSumamt; + + /** + * 个人结算方式 + */ + private String psnSetlway; + + /** + * 就诊ID + */ + private String mdtrtId; + + /** + * 结算ID + */ + private String setlId; + + /** + * 个人账户使用标志 + */ + private String acctUsedFlag; + + /** + * 险种类型 + */ + private String insutype; + + /** + * 参保地医保区划 + */ + private String insuplcAdmdvs; + + /** + * 就医地医保区划 + */ + private String mdtrtareaAdmvs; + + /** + * 发票号 + */ + private String invono; + + /** + * 中途结算标志 + */ + private String midSetlFlag; + + /** + * 全自费金额 + */ + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价金额 + */ + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + private BigDecimal inscpScpAmt; + + /** + * 出院时间 格式:yyyy-MM-dd + */ + private Date dscgTime; + + /** + * 人员姓名 + */ + @JsonProperty("psn_name") + private String psnName; + + /** + * 人员证件类型 + */ + @JsonProperty("psn_cert_type") + private String psnCertType; + + /** + * 证件号码 + */ + @JsonProperty("certno") + private String certno; + + /** + * 性别 + */ + @JsonProperty("gend") + private String gend; + + /** + * 民族 + */ + @JsonProperty("naty") + private String naty; + + /** + * 出生日期 格式:yyyy-MM-dd + */ + @JsonProperty("brdy") + private Date brdy; + + /** + * 年龄 + */ + @JsonProperty("age") + private BigDecimal age; + + /** + * 人员类别 + */ + @JsonProperty("psn_type") + private String psnType; + + /** + * 公务员标志 + */ + @JsonProperty("cvlserv_flag") + private String cvlservFlag; + + /** + * 结算时间 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("setl_time") + private Date setlTime; + + /** + * 医疗类别 + */ + @JsonProperty("med_type") + private String medType; + + /** + * 实际支付起付线 + */ + @JsonProperty("act_pay_dedc") + private BigDecimal actPayDedc; + + /** + * 基本医疗保险统筹基金支出 + */ + @JsonProperty("hifp_pay") + private BigDecimal hifpPay; + + /** + * 基本医疗保险统筹基金支付比例 + */ + @JsonProperty("pool_prop_selfpay") + private BigDecimal poolPropSelfpay; + + /** + * 公务员医疗补助资金支出 + */ + @JsonProperty("cvlserv_pay") + private BigDecimal cvlservPay; + + /** + * 企业补充医疗保险基金支出 + */ + @JsonProperty("hifes_pay") + private BigDecimal hifesPay; + + /** + * 居民大病保险资金支出 + */ + @JsonProperty("hifmi_pay") + private BigDecimal hifmiPay; + + /** + * 职工大额医疗费用补助基金支出 + */ + @JsonProperty("hifob_pay") + private BigDecimal hifobPay; + + /** + * 医疗救助基金支出 + */ + @JsonProperty("maf_pay") + private BigDecimal mafPay; + + /** + * 其他支出 + */ + @JsonProperty("oth_pay") + private BigDecimal othPay; + + /** + * 基金支付总额 + */ + @JsonProperty("fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + /** + * 个人负担总金额 + */ + @JsonProperty("psn_part_amt") + private BigDecimal psnPartAmt; + + /** + * 个人账户支出 + */ + @JsonProperty("acct_pay") + private BigDecimal acctPay; + + /** + * 个人现金支出 + */ + @JsonProperty("psn_cash_pay") + private BigDecimal psnCashPay; + + /** + * 医院负担金额 + */ + @JsonProperty("hosp_part_amt") + private BigDecimal hospPartAmt; + + /** + * 余额 + */ + @JsonProperty("balc") + private BigDecimal balc; + + /** + * 个人账户共济支付金额 + */ + @JsonProperty("acct_mulaid_pay") + private BigDecimal acctMulaidPay; + + /** + * 医药机构结算ID 存放发送方报文ID + */ + @JsonProperty("medins_setl_id") + private String medinsSetlId; + + /** + * 清算经办机构 + */ + @JsonProperty("clr_optins") + private String clrOptins; + + /** + * 清算方式 + */ + @JsonProperty("clr_way") + private String clrWay; + + /** + * 清算类别 + */ + @JsonProperty("clr_type") + private String clrType; + + /** + * 伤残人员医疗保障基金支出 1.5.4新增 + */ + @JsonProperty("hifdm_pay") + private BigDecimal hifdmPay; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnDischarge.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnDischarge.java new file mode 100644 index 00000000..6ac8a764 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnDischarge.java @@ -0,0 +1,53 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2405】撤销出院记录 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_un_discharge") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientUnDischarge extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnReg.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnReg.java new file mode 100644 index 00000000..af48ca81 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnReg.java @@ -0,0 +1,53 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2404】【】 入院撤销 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_un_reg") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientUnReg extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnSettle.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnSettle.java new file mode 100644 index 00000000..bf03617c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientUnSettle.java @@ -0,0 +1,258 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【2305】住院结算策撤销 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_un_settle") +@Accessors(chain = true) +public class InpatientUnSettle extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 结算ID + */ + @JsonProperty("setl_Id") + private String setlId; + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 清算经办机构 + */ + @JsonProperty("clr_optins") + private String clrOptins; + + /** + * 结算时间 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("setl_time") + private Date setlTime; + + /** + * 医疗费总额 + */ + @JsonProperty("medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价自费费用 + */ + @JsonProperty("overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 实际支付起付线 + */ + @JsonProperty("act_pay_dedc") + private BigDecimal actPayDedc; + + /** + * 基本医疗保险统筹基金支出 + */ + @JsonProperty("hifp_pay") + private BigDecimal hifpPay; + + /** + * 基本医疗保险统筹基金支付比例 + */ + @JsonProperty("pool_prop_selfpay") + private BigDecimal poolPropSelfpay; + + /** + * 公务员医疗补助资金支出 + */ + @JsonProperty("cvlserv_pay") + private BigDecimal cvlservPay; + + /** + * 企业补充医疗保险基金支出 + */ + @JsonProperty("hifes_pay") + private BigDecimal hifesPay; + + /** + * 居民大病保险资金支出 + */ + @JsonProperty("hifmi_pay") + private BigDecimal hifmiPay; + + /** + * 职工大额医疗费用补助基金支出 + */ + @JsonProperty("hifob_pay") + private BigDecimal hifobPay; + + /** + * 医疗救助基金支出 + */ + @JsonProperty("maf_pay") + private BigDecimal mafPay; + + /** + * 其他支出 + */ + @JsonProperty("oth_pay") + private BigDecimal othPay; + + /** + * 基金支付总额 + */ + @JsonProperty("fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + /** + * 个人负担总金额 + */ + @JsonProperty("psn_part_amt") + private BigDecimal psnPartAmt; + + /** + * 个人账户支出 + */ + @JsonProperty("acct_pay") + private BigDecimal acctPay; + + /** + * 个人现金支出 + */ + @JsonProperty("psn_cash_pay") + private BigDecimal psnCashPay; + + /** + * 医院负担金额 + */ + @JsonProperty("hosp_part_amt") + private BigDecimal hospPartAmt; + + /** + * 余额 + */ + @JsonProperty("balc") + private BigDecimal balc; + + /** + * 个人账户共济支付金额 + */ + @JsonProperty("acct_mulaid_pay") + private BigDecimal acctMulaidPay; + + /** + * 医药机构结算ID 存放发送方报文ID + */ + @JsonProperty("medins_setl_id") + private String medinsSetlId; + + /** + * 伤残人员医疗保障基金支出 + */ + @JsonProperty("hifdm_pay") + private BigDecimal hifdmPay; + + /** + * 人员参保关系ID + */ + @JsonProperty("psn_insu_rlts_id") + private String psnInsuRltsId; + + /** + * 参保机构行政区划 + */ + @JsonProperty("insu_admdvs") + private String insuAdmdvs; + + /** + * 开始日期 + */ + @JsonProperty("begndate") + private Date begndate; + + /** + * 结算日期 + */ + @JsonProperty("enddate") + private Date enddate; + + /** + * 就诊凭证编号 + */ + @JsonProperty("mdtrt_cert_no") + private String mdtrtCertNo; + + /** + * 结算类别 + */ + @JsonProperty("setl_type") + private String setlType; + + /** + * 本次起付线 + */ + @JsonProperty("crt_dedc") + private BigDecimal crtDedc; + + /** + * 发票号 + */ + @JsonProperty("invono") + private String invono; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientcancelFeeDetail.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientcancelFeeDetail.java new file mode 100644 index 00000000..d78ff89f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InpatientcancelFeeDetail.java @@ -0,0 +1,66 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.io.Serializable; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +@TableName("yb_inpatient_cancel_fee_detail") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InpatientcancelFeeDetail extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize = false) + private Long id; + + /** + * 费用明细流水号 单次就诊内唯一 + */ + @JsonProperty("feedetl_sn") + private String feedetlSn; + + /** + * 人员编号 退单时传入被退单的费用明细流水号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 字段扩展 + */ + @JsonProperty("exp_content") + private String expContent; + + private String inputParam; + + private String outputResult; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryChangeRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryChangeRecord.java new file mode 100644 index 00000000..f18bddca --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryChangeRecord.java @@ -0,0 +1,95 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.yb.dto.MedicalTraceNoDto; + +import liquibase.pro.packaged.S; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3502】库存信息变更 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_inventory_change_record") +@EqualsAndHashCode(callSuper = false) +public class InventoryChangeRecord { + // 主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + // 入参 + private String param; + + // 出参 + private String result; + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 库存变更类型(字符型,6位,必填) + @JSONField(name = "inv_chg_type") + private String invChgType; + + // 3. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 4. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 5. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 6. 单价(数值型,16位含6位小数,必填) + @JSONField(name = "pric") + private BigDecimal pric; + + // 7. 数量(数值型,16位含4位小数,必填) + @JSONField(name = "cnt") + private BigDecimal cnt; + + // 8. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 9. 库存变更时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "inv_chg_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date invChgTime; + + // 10. 库存变更经办人姓名(字符型,50位,非必填) + @JSONField(name = "inv_chg_opter_name") + private String invChgOpterName; + + // 11. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 12. 拆零标志(字符型,2位,必填) + @JSONField(name = "trdn_flag") + private String trdnFlag; + + // 13. 溯源码节点信息(字符型,长度未明确) + @JSONField(name = "drugtracinfo") + private String drugtracinfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryCheckRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryCheckRecord.java new file mode 100644 index 00000000..c834506c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryCheckRecord.java @@ -0,0 +1,82 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import liquibase.pro.packaged.D; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【3502】库存信息变更 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_inventory_check_record") +@EqualsAndHashCode(callSuper = false) +public class InventoryCheckRecord { + //主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + //入参 + private String param; + + //出参 + private String result; + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 5. 盘存日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "invdate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date invdate; + + // 6. 库存数量(数值型,16位含2位小数,必填) + @JSONField(name = "inv_cnt") + private BigDecimal invCnt; + + // 7. 生产批号(字符型,30位,非必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 8. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 9. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 10. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryDelRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryDelRecord.java new file mode 100644 index 00000000..bbca2f96 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryDelRecord.java @@ -0,0 +1,42 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3507】 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_inventory_del_record") +@EqualsAndHashCode(callSuper = false) +public class InventoryDelRecord { + //主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + //入参 + private String param; + + //出参 + private String outResult; + + // 定点医药机构批次流水号 + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 进销存数据类型 + @JSONField(name = "inv_data_type") + private String invDataType; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseRecord.java new file mode 100644 index 00000000..7cb616b8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseRecord.java @@ -0,0 +1,121 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【3503】 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_inventory_purchase_record") +@EqualsAndHashCode(callSuper = false) +public class InventoryPurchaseRecord { + //主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + //入参 + private String param; + + //出参 + private String outResult; + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 随货单号(字符型,50位,非必填) + @JSONField(name = "dynt_no") + private String dyntNo; + + // 5. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 6. 供应商名称(字符型,200位,必填) + @JSONField(name = "spler_name") + private String splerName; + + // 7. 供应商许可证号(字符型,50位,非必填) + @JSONField(name = "spler_pmtno") + private String splerPmtno; + + // 8. 生产批号(字符型,30位,必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 9. 生产厂家名称(字符型,200位,必填) + @JSONField(name = "prodentp_name") + private String prodentpName; + + // 10. 批准文号(字符型,100位,必填) + @JSONField(name = "aprvno") + private String aprvno; + + // 11. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 12. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 13. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 14. 采购/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "purc_retn_cnt") + private BigDecimal purcRetnCnt; + + // 15. 采购发票编码(字符型,50位,非必填) + @JSONField(name = "purc_invo_codg") + private String purcInvoCodg; + + // 16. 采购发票号(字符型,50位,非必填) + @JSONField(name = "purc_invo_no") + private String purcInvoNo; + + // 17. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 18. 采购/退货入库时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "purc_retn_stoin_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date purcRetnStoinTime; + + // 19. 采购/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "purc_retn_opter_name") + private String purcRetnOpterName; + + // 20. 商品赠送标志(字符型,3位,必填) + @JSONField(name = "prod_geay_flag") + private String prodGeayFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseReturnRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseReturnRecord.java new file mode 100644 index 00000000..efb15c04 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventoryPurchaseReturnRecord.java @@ -0,0 +1,109 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【3504】 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_inventory_purchase_return_record") +@EqualsAndHashCode(callSuper = false) +public class InventoryPurchaseReturnRecord { + //主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + //入参 + private String param; + + //出参 + private String outResult; + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 5. 供应商名称(字符型,200位,必填) + @JSONField(name = "spler_name") + private String splerName; + + // 6. 供应商许可证号(字符型,50位,非必填) + @JSONField(name = "spler_pmtno") + private String splerPmtno; + + // 7. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 8. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 9. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 10. 采购/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "purc_retn_cnt") + private BigDecimal purcRetnCnt; + + // 11. 采购发票编码(字符型,50位,非必填) + @JSONField(name = "purc_invo_codg") + private String purcInvoCodg; + + // 12. 采购发票号(字符型,50位,必填) + @JSONField(name = "purc_invo_no") + private String purcInvoNo; + + // 13. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 14. 采购/退货入库时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "purc_retn_stoin_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date purcRetnStoinTime; + + // 15. 采购/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "purc_retn_opter_name") + private String purcRetnOpterName; + + // 16. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 20. 商品采购流水号(字符型,50位,非必填) + @JSONField(name = "medins_prod_purc_no") + private String medinsProdPurcNo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleRecord.java new file mode 100644 index 00000000..ca8db93a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleRecord.java @@ -0,0 +1,193 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.yb.dto.MedicalTraceNoDto; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3505】 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_inventory_sale_record") +@EqualsAndHashCode(callSuper = false) +public class InventorySaleRecord { + // 主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + // 入参 + private String param; + + // 出参 + private String outResult; + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 5. 开方医师证件类型(字符型,6位,非必填) + @JSONField(name = "prsc_dr_cert_type") + private String prscDrCertType; + + // 6. 开方医师证件号码(字符型,50位,非必填) + @JSONField(name = "prsc_dr_certno") + private String prscDrCertno; + + // 7. 开方医师姓名(字符型,50位,必填) + @JSONField(name = "prsc_dr_name") + private String prscDrName; + + // 8. 药师证件类型(字符型,6位,非必填) + @JSONField(name = "phar_cert_type") + private String pharCertType; + + // 9. 药师证件号码(字符型,50位,非必填) + @JSONField(name = "phar_certno") + private String pharCertno; + + // 10. 药师姓名(字符型,50位,必填) + @JSONField(name = "phar_name") + private String pharName; + + // 11. 药师执业资格证号(字符型,50位,必填) + @JSONField(name = "phar_prac_cert_no") + private String pharPracCertNo; + + // 12. 医保费用结算类型(字符型,6位,必填) + @JSONField(name = "hi_feesetl_type") + private String hiFeesetlType; + + // 13. 结算ID(字符型,30位,非必填) + @JSONField(name = "setl_id") + private String setlId; + + // 14. 就医流水号(字符型,30位,必填) + @JSONField(name = "mdtrt_sn") + private String mdtrtSn; + + // 15. 人员编号(字符型,30位,非必填) + @JSONField(name = "psn_no") + private String psnNo; + + // 16. 人员证件类型(字符型,6位,必填) + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 17. 证件号码(字符型,50位,非必填) + @JSONField(name = "certno") + private String certno; + + // 18. 人员姓名(字符型,50位,非必填) + @JSONField(name = "psn_name") + private String psnName; + + // 19. 生产批号(字符型,30位,必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 20. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 21. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 22. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 23. 拆零标志(字符型,3位,必填) + @JSONField(name = "trdn_flag") + private String trdnFlag; + + // 24. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 25. 处方号(字符型,40位,非必填) + @JSONField(name = "rxno") + private String rxno; + + // 26. 外购处方标志(字符型,3位,必填) + @JSONField(name = "rx_circ_flag") + private String rxCircFlag; + + // 27. 零售单据号(字符型,40位,必填) + @JSONField(name = "rtal_docno") + private String rtalDocno; + + // 29. 销售出库单据号(字符型,40位,非必填) + @JSONField(name = "stoout_no") + private String stooutNo; + + // 30. 批次号(字符型,30位,非必填) + @JSONField(name = "bchno") + private String bchno; + + // 32. 药品条形码(字符型,30位,非必填) + @JSONField(name = "drug_prod_barc") + private String drugProdBarc; + + // 33. 货架位(字符型,20位,非必填) + @JSONField(name = "shelf_posi") + private String shelfPosi; + + // 34. 销售/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "sel_retn_cnt") + private BigDecimal selRetnCnt; + + // 35. 销售/退货时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "sel_retn_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date selRetnTime; + + // 36. 销售/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "sel_retn_opter_name") + private String selRetnOpterName; + + // 37. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 38. 就诊结算类型(字符型,6位,非必填) + @JSONField(name = "mdtrt_setl_type") + private String mdtrtSetlType; + + // 39. 溯源码节点信息(字符型,长度未明确,暂定500位) + @JSONField(name = "drugtracinfo") + private String drugtracinfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleReturnRecord.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleReturnRecord.java new file mode 100644 index 00000000..25eaaf86 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/InventorySaleReturnRecord.java @@ -0,0 +1,132 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.domain; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.yb.dto.MedicalTraceNoDto; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3506】 + * + * @author SunJQ + * @date 2025-04-30 + */ +@Data +@Accessors(chain = true) +@TableName("yb_inventory_sale_return_record") +@EqualsAndHashCode(callSuper = false) +public class InventorySaleReturnRecord { + // 主键 + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + // 入参 + private String param; + + // 出参 + private String outResult; + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 5. 结算ID(字符型,30位,非必填) + @JSONField(name = "setl_id") + private String setlId; + + // 6. 人员编号(字符型,30位,非必填) + @JSONField(name = "psn_no") + private String psnNo; + + // 7. 人员证件类型(字符型,6位,必填) + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 8. 证件号码(字符型,50位,非必填) + @JSONField(name = "certno") + private String certno; + + // 9. 人员姓名(字符型,50位,非必填) + @JSONField(name = "psn_name") + private String psnName; + + // 10. 生产批号(字符型,30位,必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 11. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 12. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 13. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 14. 拆零标志(字符型,3位,必填) + @JSONField(name = "trdn_flag") + private String trdnFlag; + + // 15. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 16. 销售/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "sel_retn_cnt") + private BigDecimal selRetnCnt; + + // 17. 销售/退货时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "sel_retn_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date selRetnTime; + + // 18. 销售/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "sel_retn_opter_name") + private String selRetnOpterName; + + // 19. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 20. 商品销售流水号(字符型,50位,非必填) + @JSONField(name = "medins_prod_sel_no") + private String medinsProdSelNo; + + // 21. 就医流水号(字符型,30位,必填) + @JSONField(name = "mdtrt_sn") + private String mdtrtSn; + + // 22. 溯源码节点信息(字符型,长度未明确,暂定500位) + @JSONField(name = "drugtracinfo") + private String drugtracinfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/Sign.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/Sign.java new file mode 100644 index 00000000..c8cfe9bd --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/domain/Sign.java @@ -0,0 +1,76 @@ +package com.openhis.yb.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + *【9001】【9002】签到 签退 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@TableName("yb_pub_sign") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Sign extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private Long id; + /**操作员编号*/ + @JSONField(name="opter_no") + private String opterNo; + /**签到编号*/ + @JSONField(name="sign_no") + private String signNo; + /**签到时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JSONField(serialize=false) + private java.util.Date signTime; + /**签退时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JSONField(serialize=false) + private java.util.Date signOutTime; + /**状态,0-新建,1-签到,2-签退*/ + @JSONField(serialize=false) + private String status; + /** 签到MAC地址 */ + @JSONField(name="mac") + @TableField(exist = false) + private String mac; + /** 签到IP地址 */ + @JSONField(name="ip") + @TableField(exist = false) + private String ip; +// /**创建人*/ +// private String createBy; +// /**创建日期*/ +// @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") +// @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") +// private java.util.Date createTime; +// /**更新人*/ +// private String updateBy; +// /**更新日期*/ +// @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") +// @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") +// private java.util.Date updateTime; +// /**所属部门*/ +// private String sysOrgCode; +// /**租户ID*/ +// private String tenantId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseInfo.java new file mode 100644 index 00000000..56c5ec8d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseInfo.java @@ -0,0 +1,96 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.sun.jna.platform.win32.Winspool; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 医保所需要的基础信息,如医生信息或者医院信息,目的是为医保服务提供数据信息 + * + * @author SunJQ + * @date 2025-05-04 + */ +@Data +@Accessors(chain = true) +public class BaseInfo { + /******************医保机构信息******************/ + + + /********************医院信息********************/ + + /** (必填)统筹区号 */ + private String admvs;// + + /** (必填)定点医药机构编号 */ + private String fixmedinsCode; + + /** (必填)定点医药机构名称 */ + private String fixmedinsName; + + /** (必填)医保app的Controller路径 */ + private String ybUrl; + + /** (必填)客戶端id */ + private String ybClientId;//医保用 2025/05/21 无人解答医保与电子处方的这些信息是否一致,防止修改某一变量导致另一个功能失效,分开保存 + + /** (必填)客戶端安全码 */ + private String ybClientSecret;//医保用 + + /** (必填)医保服务平台账号 */ + private String ybUsername;//医保用 + + /** (必填)医保服务平台密码 */ + private String ybPassword;//医保用 + + /** (必填)终端授权类型 */ + private String ybGrantType;//医保用 + + /** (必填)终端授权范围 */ + private String ybScope;//医保用 + + /** (必填)秘钥 */ + private String ybCliPrvKey;//医保用 + + /********************医护信息********************/ + + /** (必填) 用户id */ + private Long UserId; + + /** (必填)登录人名字 */ + private String realname; + + /********************患者信息********************/ + + /** 参保地医保区划 */ + private String insuplcAdmdvs;//如果交易输入中含有人员编号,此项必填,可通过【1101】人员信息获取交易取得 2025/05/20 经测试发现2201-2208几个接口没传psn_no但是也要传这个 + + /********************电子处方********************/ + //电子处方 + private String cliPrvKey; + private String cliPubKey; + private String clientId; + private String eleAddress; + private String username; + private String password; + private String scope; + private String grantType; + private String clientSecret; + private String time; + private String preAppId; + private String preAppSecret; + private String prePrvKey; + private String prePubKey; + private String templatePath; + private String outputPath; + private String hospitalSealPath; + private String medType; + private String dutyDoctorName; + + /********************共通参数********************/ + //是否解密 + private String decryptFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseParam.java new file mode 100644 index 00000000..4e4121cf --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/BaseParam.java @@ -0,0 +1,14 @@ +package com.openhis.yb.dto; + +import com.core.common.core.domain.model.LoginUser; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class BaseParam { + + Object data; + + BaseInfo baseInfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelPaymentDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelPaymentDto.java new file mode 100644 index 00000000..af3e117c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelPaymentDto.java @@ -0,0 +1,59 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + +/** + * 退费入参 + * + * @author SunJQ + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +public class CancelPaymentDto { + /** + * id + */ + private Long id; + + /** 收款员 */ + private Long entererId; + + /** 支付的患者ID */ + @NotNull + private Long patientId; + + /** 应收金额 */ + private BigDecimal tenderedAmount; + + /** 找零金额 */ + private BigDecimal returnedAmount; + + /** 付款总额 */ + private BigDecimal displayAmount; + + /** 就诊ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 收费项 */ + private List chargeItemIds;//收费时传收费的项目,退费时传退费的项目,2025/05/07去掉notEmpty的注解,与前端约定此字段必传,可以是空集合 + + /** 支付详细 */ + @NotEmpty + private List paymentDetails; + + /** 支付批次号 */ + private String chrgBchno;//医保预结算时返回,医保结算时必传,否则结算时一直预结算 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelRegPaymentDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelRegPaymentDto.java new file mode 100644 index 00000000..45d33755 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/CancelRegPaymentDto.java @@ -0,0 +1,50 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + +@Data +@Accessors(chain = true) +public class CancelRegPaymentDto { + /** + * id + */ + private Long id; + + /** 收款员 */ + private Long entererId; + + /** 支付的患者ID */ + @NotNull + private Long patientId; + + /** 应收金额 */ + private BigDecimal tenderedAmount; + + /** 找零金额 */ + private BigDecimal returnedAmount; + + /** 付款总额 */ + private BigDecimal displayAmount; + + /** 就诊ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 收费项 */ + private List chargeItemIds;//收费时传收费的项目,退费时传退费的项目,2025/05/07去掉notEmpty的注解,与前端约定此字段必传,可以是空集合 + + /** 支付详细 */ + @NotEmpty + private List paymentDetails; + + /** 支付批次号 */ + private String chrgBchno;//医保预结算时返回,医保结算时必传,否则结算时一直预结算 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312Output.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312Output.java new file mode 100644 index 00000000..628da1f1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312Output.java @@ -0,0 +1,117 @@ +package com.openhis.yb.dto; + +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * 【1312】医保目录信息查询 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Catalogue1312Output extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + // 医保目录编码 + private String hilistCode; + + // 医保目录名称 + private String hilistName; + + // 参保机构医保区划 + private String insuAdmdvs; + + // 开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date begndate; + + // 结束日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date enddate; + + // 医疗收费项目类别 + private String medChrgitmType; + + // 收费项目等级 + private String chrgitmLv; + + // 限制使用标志 + private String lmtUsedFlag; + + // 目录类别 + private String listType; + + // 医疗使用标志 + private String medUseFlag; + + // 生育使用标志 + private String matnUsedFlag; + + // 医保目录使用类别 + private String hilistUseType; + + // 限复方使用类型 + private String lmtCpndType; + + // 五笔助记码 + private String wubi; + + // 拼音助记码 + private String pinyin; + + // 备注 + private String memo; + + // 有效标志 + private String valiFlag; + + // 唯一记录号 + private String rid; + + // 更新时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updtTime; + + // 创建人 + private String crterId; + + // 创建人姓名 + private String crterName; + + // 创建时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date crteTime; + + // 创建机构 + private String crteOptinsNo; + + // 经办人 + private String opterId; + + // 经办人姓名 + private String opterName; + + // 经办时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date optTime; + + // 经办机构 + private String optinsNo; + + // 统筹区 + private String poolareaNo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312QueryParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312QueryParam.java new file mode 100644 index 00000000..f9ce40b3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Catalogue1312QueryParam.java @@ -0,0 +1,50 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【1312】医保目录信息查询 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Catalogue1312QueryParam { + + // 医保目录编码 + @JSONField(name = "hilist_code") + private String hilistCode; + + // 参保地区编码 + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs; + // 更新时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "updt_time") + private Date updtTime; + + // 页数 + @JSONField(name = "page_num") + private Integer pageNum; + // 当前页面查询数量 + @JSONField(name = "page_size") + private Integer pageSize; + + // 解密标记 + @JSONField(name = "decrypt_flag") + private String decryptFlag; + + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDetailVO.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDetailVO.java new file mode 100644 index 00000000..eee435e7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDetailVO.java @@ -0,0 +1,13 @@ +package com.openhis.yb.dto; + +import com.openhis.administration.domain.ChargeItem; +import com.openhis.common.annotation.Dict; +import lombok.Data; + +@Data +public class ChargeItemDetailVO extends ChargeItem { + + @Dict(dictCode = "chrgitm_lv") + private String dirClass;//医保等级 + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDto.java new file mode 100644 index 00000000..e3891518 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemDto.java @@ -0,0 +1,22 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.openhis.administration.domain.ChargeItem; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 收费项目 + * + * @author SunJQ + * @date 2025-03-31 + */ +@Data +@Accessors(chain = true) +public class ChargeItemDto extends ChargeItem { + + private String typeCode; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemGroupDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemGroupDto.java new file mode 100644 index 00000000..124ce546 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ChargeItemGroupDto.java @@ -0,0 +1,30 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.openhis.administration.domain.ChargeItem; +import com.openhis.financial.domain.Contract; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * chargeItem分组 + * + * @author SunJQ + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +public class ChargeItemGroupDto { + /** + * 合同 + */ + Contract contract; + /** + * 收费项 + */ + List chargeItemList; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3204AParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3204AParam.java new file mode 100644 index 00000000..696a69b5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3204AParam.java @@ -0,0 +1,29 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3204A】清算申请撤销(吉林省) + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clearing3204AParam { + + // 机构清算申请事件ID + @JSONField(name = "clr_apply_evt_id") + private String clrApplyEvtId; + + // 清算机构 + @JSONField(name = "clr_optins") + private String clrOptins; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AParma.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AParma.java new file mode 100644 index 00000000..c02df05e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AParma.java @@ -0,0 +1,33 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3205A】清算申请状态查询(吉林省) + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clearing3205AParma extends Financial3203AParam { + + // 清算机构 + @JSONField(name = "clr_optins") + private String clrOptins; + + // 清算状态 + @JSONField(name = "clr_stas") + private String clrStas; + + // 清算月份 + @JSONField(name = "clr_ym") + private String clrYm; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AResult.java new file mode 100644 index 00000000..261498ad --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AResult.java @@ -0,0 +1,91 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3205A】清算申请状态查询(吉林省) + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clearing3205AResult { + // 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 清算状态 + @JSONField(name = "clr_stas") + private String clrStas; + + // 经办时间 + @JSONField(name = "opt_time") + private Date optTime; + + // 医疗费总额 + @JSONField(name = "medfee_Sumamt") + private BigDecimal medfeeSumamt; + + // 医保费用总额 + @JSONField(name = "hi_agre_sumfee") + private BigDecimal hiAgreSumfee; + + // 基金申报总额 + @JSONField(name = "fund_appy_sum") + private BigDecimal fundAppySum; + + // 现金支付金额 + @JSONField(name = "cash_payamt") + private BigDecimal cashPayamt; + + // 个人账户支出 + @JSONField(name = "acct_pay") + private BigDecimal acctPay; + + // 开始日期 + @JSONField(name = "begndate") + private Date begndate; + + // 结束日期 + @JSONField(name = "enddate") + private Date enddate; + + // 清算年月 + @JSONField(name = "clr_ym") + private String clrYm; + + // 清算经办机构 + @JSONField(name = "clr_optins") + private String clrOptins; + + // 经办人 + @JSONField(name = "opter_id") + private String opterId; + + // 经办人姓名 + @JSONField(name = "opter_name") + private String opterName; + + // 经办机构 + @JSONField(name = "optins_no") + private String optinsNo; + + // 机构清算申请事件ID + @JSONField(name = "clr_appy_evt_id") + private String clrAppyEvtId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AWebParma.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AWebParma.java new file mode 100644 index 00000000..f26b672d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3205AWebParma.java @@ -0,0 +1,27 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 【3205A】前端入参 + * + * @author SunJQ + * @date 2025-04-17 + */ +@Data +public class Clearing3205AWebParma { + // 清算机构 + @NotNull + private String clrOptins; + + // 清算状态 + private String clrStas; + + // 清算月份 例如:202310 + private String clrYm; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AParam.java new file mode 100644 index 00000000..7b3c69e8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AParam.java @@ -0,0 +1,33 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3206A】清算机构查询(吉林省) + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clearing3206AParam { + + //定点编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + //页数 + @JSONField(name = "page_num") + private Integer pageNum = 1; + + //当前页面 + @JSONField(name = "page_size") + private Integer pageSize; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AResult.java new file mode 100644 index 00000000..7d229903 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clearing3206AResult.java @@ -0,0 +1,33 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3206A】清算机构查询(吉林省) + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clearing3206AResult { + //总页数 + @JSONField(name = "pages") + private Integer pages; + //清算机构(明细) + @JSONField(name = "clr_optins") + private String clrOptins; + //页数 + @JSONField(name = "page_num") + private Integer pageNum; + //当前页面查询数量 + @JSONField(name = "page_size") + private Integer pageSize; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203DiseInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203DiseInfoParam.java new file mode 100644 index 00000000..0546e6d4 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203DiseInfoParam.java @@ -0,0 +1,110 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.annotation.Excel; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *【2203】门诊就诊信息上传 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +public class Clinic2203DiseInfoParam extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + //就诊ID内部 + @Excel(name = "就诊ID内部", width = 15) + @JSONField(serialize=false) + private String encounterId; + //定点医药机构编号 + @JSONField(serialize=false) + private String fixmedinsCode; + + //定点医药机构名称 + @JSONField(serialize=false) + private String fixmedinsName; + // 就医地医保区划 + @JSONField(serialize=false) + private String mdtrtareaAdmvs; + // 参保地医保区划 + @JSONField(serialize=false) + private String insuplcAdmdvs; + // 就诊ID + @Excel(name = "就诊ID", width = 15) + @JSONField(serialize=false) + private String mdtrtId; + // 就诊信息ID + @JSONField(serialize=false) + private String medicalId; + // 诊断类别 + @JSONField(name="diag_type") + private String diagType; + // 诊断排序号 + @JSONField(name="diag_srt_no") + private String diagSrtNo; + // 诊断代码 + @JSONField(name="diag_code") + private String diagCode; + // 诊断名称 + @JSONField(name="diag_name") + private String diagName; + // 诊断科室 + @JSONField(name="diag_dept") + private String diagDept; + // 诊断医生编码 + @JSONField(name="dise_dor_no") + private String diseDorNo; + // 诊断医生姓名 + @JSONField(name="dise_dor_name") + private String diseDorName; + // 诊断时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name="diag_time") + private Date diagTime; + // 有效标志 + @JSONField(name="vali_flag") + private String valiFlag; +// // 创建人 +// @JSONField(serialize=false) +// private String createBy; +// // 创建日期 +// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") +// @DateTimeFormat(pattern = "yyyy-MM-dd") +// @JSONField(serialize=false) +// private Date createTime; +// // 更新人 +// @JSONField(serialize=false) +// private String updateBy; +// // 更新日期 +// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") +// @DateTimeFormat(pattern = "yyyy-MM-dd") +// @JSONField(serialize=false) +// private Date updateTime; + // 所属部门 +// @JSONField(serialize=false) +// private String sysOrgCode; +// // 租户编码 +// @JSONField(serialize=false) +// private String tenantId; +// @JSONField(serialize=false) +// private String district; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203Medical.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203Medical.java new file mode 100644 index 00000000..7794d814 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203Medical.java @@ -0,0 +1,83 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *【2203】门诊就诊信息上传 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +public class Clinic2203Medical extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + // 主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + // 就诊ID内部 + @JSONField(serialize=false) + private String regId; + // 定点医药机构编号 + @JSONField(serialize=false) + private String fixmedinsCode; + // 定点医药机构名称 + @JSONField(serialize=false) + private String fixmedinsName; + // 就医地医保区划 + @JSONField(serialize=false) + private String mdtrtareaAdmvs; + // 参保地医保区划 + @JSONField(serialize=false) + private String insuplcAdmdvs; + // 就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + // 人员编号 + @JSONField(name="psn_no") + private String psnNo; + // 医疗类别 + @Dict(dictCode = "med_type") + @JSONField(name="med_type") + private String medType; + // 诊断时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name="begntime") + private Date begntime; + // 主要病情描述 + @JSONField(name="main_cond_dscr") + private String mainCondDscr; + // 病种编码 + @JSONField(name="dise_codg") + private String diseCodg; + // 病种名称 + @JSONField(name="dise_name") + private String diseName; + // 计划生育手术类别 + @Dict(dictCode = "birctrl_type") + @JSONField(name="birctrl_type") + private String birctrlType; + // 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name="birctrl_matn_date") + private Date birctrlMatnDate; + @JSONField(serialize=false) + private String district; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203MedicalParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203MedicalParam.java new file mode 100644 index 00000000..feccd6d7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2203MedicalParam.java @@ -0,0 +1,79 @@ +package com.openhis.yb.dto; + +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson2.annotation.JSONField; +import org.springframework.format.annotation.DateTimeFormat; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2203】门诊就诊信息上传 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clinic2203MedicalParam { + // 主键 + @JSONField(serialize = false) + private String id; + // 就诊ID内部 + @JSONField(serialize = false) + private String regId; + // 定点医药机构编号 + @JSONField(serialize = false) + private String fixmedinsCode; + // 定点医药机构名称 + @JSONField(serialize = false) + private String fixmedinsName; + // 就医地医保区划 + @JSONField(serialize = false) + private String mdtrtareaAdmvs; + // 参保地医保区划 + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs; + // 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + // 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + // 医疗类别 + @Dict(dictCode = "med_type") + @JSONField(name = "med_type") + private String medType; + // 诊断时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "begntime") + private Date begntime; + // 主要病情描述 + @JSONField(name = "main_cond_dscr") + private String mainCondDscr; + // 病种编码 + @JSONField(name = "dise_codg") + private String diseCodg; + // 病种名称 + @JSONField(name = "dise_name") + private String diseName; + // 计划生育手术类别 + @Dict(dictCode = "birctrl_type") + @JSONField(name = "birctrl_type") + private String birctrlType; + // 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "birctrl_matn_date") + private Date birctrlMatnDate; + @JSONField(name = "diseinfo") + private List diseinfoList; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailParam.java new file mode 100644 index 00000000..6fe32f31 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailParam.java @@ -0,0 +1,242 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.annotation.Excel; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *【2204】门诊费用明细信息上传 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +public class Clinic2204FeeDetailParam extends HisBaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + //就诊ID内部 + @JSONField(serialize=false) + private String regId; + //订单主键 + @JSONField(serialize=false) + private String orderId; + //定点医药机构编号 + @JSONField(serialize=false) + private String fixmedinsCode; + //定点医药机构名称 + @JSONField(serialize=false) + private String fixmedinsName; + //就医地医保区划 + @JSONField(serialize=false) + private String mdtrtareaAdmvs; + //参保地医保区划 + @JSONField(serialize=false) + private String insuplcAdmdvs; + //病历号 + @JSONField(serialize=false) + private String medicalNo; + //费用明细流水号 + @JSONField(name="feedetl_sn") + private String feedetlSn; + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + //收费批次号 + @JSONField(name="chrg_bchno") + private String chrgBchno; + //病种编码 + @JSONField(name="dise_codg") + private String diseCodg; + //处方号 + @JSONField(name="rxno") + private String rxno; + //外购处方标志 + @Dict(dictCode = "rx_circ_flag") + @JSONField(name="rx_circ_flag") + private String rxCircFlag; + //费用发生时间 + @Excel(name = "费用发生时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JSONField(name="fee_ocur_time") + private Date feeOcurTime; + //商品名 + @Excel(name = "商品名", width = 15) + private String tradename; + //药品类别 + @Dict(dictCode = "list_type") + private String drugtype; + //剂型 + @Dict(dictCode = "drug_dosform") + private String dosemodel; + //项目等级 + @Dict(dictCode = "chrgitm_lv") + private String feegrade; + //处方标志 + @Dict(dictCode = "rx_flag") + private String rxflag; + //生产厂家 + @Excel(name = "生产厂家", width = 15) + private String producingarea; + //医疗目录编码 + @Excel(name = "医疗目录编码", width = 15) + @JSONField(name="med_list_codg") + private String medListCodg; + //医药机构目录编码 + @Excel(name = "医药机构目录编码", width = 15) + @JSONField(name="medins_list_codg") + private String medinsListCodg; + //明细项目费用总额 + @Excel(name = "明细项目费用总额", width = 15) + @JSONField(name="det_item_fee_sumamt") + private Double detItemFeeSumamt; + //数量 + @Excel(name = "数量", width = 15) + @JSONField(name="cnt") + private Double cnt; + //单价 + @JSONField(name="pric") + private Double pric; + //单次剂量描述 + @JSONField(name="sin_dos_dscr") + private String sinDosDscr; + //使用频次描述 + @JSONField(name="used_frqu_dscr") + private String usedFrquDscr; + //周期天数 + @JSONField(name="prd_days") + private String prdDays; + //用药途径描述 + @JSONField(name="medc_way_dscr") + private String medcWayDscr; + //开单科室编码 + @JSONField(name="bilg_dept_codg") + private String bilgDeptCodg; + //开单科室名称 + @JSONField(name="bilg_dept_name") + private String bilgDeptName; + //开单医生编码 + @JSONField(name="bilg_dr_codg") + private String bilgDrCodg; + //开单医师姓名 + @JSONField(name="bilg_dr_name") + private String bilgDrName; + //受单科室编码 + @JSONField(name="acord_dept_codg") + private String acordDeptCodg; + //受单科室名称 + @JSONField(name="acord_dept_name") + private String acordDeptName; + //受单医生编码 + @JSONField(name="orders_dr_code") + private String ordersDrCode; + //受单医生姓名 + @JSONField(name="orders_dr_name") + private String ordersDrName; + //医院审批标志 + @Dict(dictCode = "hosp_appr_flag") + @JSONField(name="hosp_appr_flag") + private String hospApprFlag; + //中药使用方式 + @Dict(dictCode = "tcmdrug_used_way") + @JSONField(name="tcmdrug_used_way") + private String tcmdrugUsedWay; + //外检标志 + @Dict(dictCode = "etip_flag") + @JSONField(name="etip_flag") + private String etipFlag; + //外检医院编码 + @JSONField(name="etip_hosp_code") + private String etipHospCode; + //出院带药标志 + @Dict(dictCode = "dscg_tkdrug_flag") + @JSONField(name="dscg_tkdrug_flag") + private String dscgTkdrugFlag; + //生育费用标志 + @Dict(dictCode = "matn_fee_flag") + @JSONField(name="matn_fee_flag") + private String matnFeeFlag; + //定价上限金额 + @JSONField(name="pric_uplmt_amt") + private Double pricUplmtAmt; + //自付比例 + @JSONField(name="selfpay_prop") + private Double selfpayProp; + //全自费金额 + @JSONField(name="fulamt_ownpay_amt") + private Double fulamtOwnpayAmt; + //超限价金额 + @JSONField(name="overlmt_amt") + private Double overlmtAmt; + //先行自付金额 + @JSONField(name="preselfpay_amt") + private Double preselfpayAmt; + //符合政策范围金额 + @JSONField(name="inscp_scp_amt") + private Double inscpScpAmt; + //收费项目等级 + @Dict(dictCode = "chrgitm_lv") + @JSONField(name="chrgitm_lv") + private String chrgitmLv; + //医疗收费项目类别 + @Dict(dictCode = "med_chrgitm_type") + @JSONField(name="med_chrgitm_type") + private String medChrgitmType; + //基本药物标志 + @Dict(dictCode = "bas_medn_flag") + @JSONField(name="bas_medn_flag") + private String basMednFlag; + //医保谈判药品标志 + @Dict(dictCode = "hi_nego_drug_flag") + @JSONField(name="hi_nego_drug_flag") + private String hiNegoDrugFlag; + //儿童用药标志 + @Dict(dictCode = "chld_medc_flag") + @JSONField(name="chld_medc_flag") + private String chldMedcFlag; + //目录特项标志 + @Dict(dictCode = "list_sp_item_flag") + @JSONField(name="list_sp_item_flag") + private String listSpItemFlag; + //限制使用标志 + @Dict(dictCode = "lmt_used_flag") + @JSONField(name="lmt_used_flag") + private String lmtUsedFlag; + //直报标志 + @Dict(dictCode = "drt_reim_flag") + @JSONField(name="drt_reim_flag") + private String drtReimFlag; + //备注 + @JSONField(name="memo") + private String memo; + //上报状态,0-未上报,1-已上报 + @JSONField(serialize=false) + private String status; + private String district; + @TableField(exist = false) + private String setlTimeStart; + @TableField(exist = false) + private String setlTimeEnd; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailResult.java new file mode 100644 index 00000000..8986a4f0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204FeeDetailResult.java @@ -0,0 +1,63 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【2204】接口返回参数 + * + * @author SunJQ + * @date 2025-04-19 + */ +@Data +@Accessors(chain = true) +public class Clinic2204FeeDetailResult { + // 主键字段(根据Y标识判断) + private String feedetlSn; // 费用明细流水号 + + // 数值型字段使用BigDecimal保证精度 + private BigDecimal detItemFeeSumamt; // 明细项目费用总额 + + private BigDecimal cnt; // 数量 + + private BigDecimal pric; // 单价 + + private BigDecimal pricUplmtAmt; // 定价上限金额 + + private BigDecimal selfpayProp; // 自付比例 + + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + private BigDecimal overlmtAmt; // 超限价金额 + + private BigDecimal preselfpayAmt; // 先行自付金额 + + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + // 字符型字段 + private String chrgitmLv; // 收费项目等级 + + private String medChrgitmType; // 医疗收费项目类别 + + private String basMednFlag; // 基本药物标志 + + private String hiNegoDrugFlag; // 医保谈判药品标志 + + private String chldMedcFlag; // 儿童用药标志 + + private String listSpItemFlag; // 目录特项标志 + + private String lmtUsedFlag; // 限制使用标志 + + private String drtReimFlag; // 直报标志 + + private String memo; // 备注 + + private String expContent; // 字段扩展 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderParam.java new file mode 100644 index 00000000..6ae4a654 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderParam.java @@ -0,0 +1,37 @@ +package com.openhis.yb.dto; + +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson2.annotation.JSONField; +import org.springframework.format.annotation.DateTimeFormat; + +import com.core.common.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2204】门诊费用明细信息上传 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clinic2204OrderParam { + // 就医地医保区划 + @JSONField(serialize = false) + private String mdtrtareaAdmvs; + // 参保地医保区划 + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs; + @JSONField(serialize = false) + private String chrgBchno; + @JSONField(name = "feedetail") + private List feedetail; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderResult.java new file mode 100644 index 00000000..20d511fa --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2204OrderResult.java @@ -0,0 +1,26 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + *【2204】门诊费用明细信息上传 + * + * @author SunJQ + * @date 2025-04-20 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Clinic2204OrderResult { + //2204门诊费用明细信息上传输出 + @JSONField(name = "result") + List result; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2205OrderParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2205OrderParam.java new file mode 100644 index 00000000..7f634fc6 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2205OrderParam.java @@ -0,0 +1,39 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 就诊明细撤销 + * + * @author SunJQ + * @date 2025-05-07 + */ +@Data +@Accessors(chain = true) +public class Clinic2205OrderParam { + + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + + //收费批次号 + @JSONField(name="chrg_bchno") + private String chrgBchno; + + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + + //人员编号 + @JSONField(name="exp_content") + private String expContent; + + // 参保地医保区划 + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206FundPaymentResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206FundPaymentResult.java new file mode 100644 index 00000000..86155328 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206FundPaymentResult.java @@ -0,0 +1,42 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 【2206】医保基金支付详情(【2207】【23系列】住院结算接口共用,后续考虑全局改类名) + * + * @author SunJQ + * @date 2025-04-19 + */ +@Data +@Accessors(chain = true) +public class Clinic2206FundPaymentResult { + // 主键字段(根据Y标识判断) + //@JSONField(name = "fund_pay_type") + private String fundPayType; // 基金支付类型 + + // 数值型字段使用BigDecimal保证精度 + //@JSONField(name = "inscp_scp_amt") + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + //@JSONField(name = "crt_payb_lmt_amt") + private BigDecimal crtPaybLmtAmt; // 本次可支付限额金额 + + //@JSONField(name = "fund_payamt") + private BigDecimal fundPayamt; // 基金支付金额 + + // 字符型字段 + //@JSONField(name = "fund_pay_type_name") + private String fundPayTypeName; // 基金支付类型名称 + + //@JSONField(name = "setl_proc_info") + private String setlProcInfo; // 结算过程信息 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderOutput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderOutput.java new file mode 100644 index 00000000..dc820975 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderOutput.java @@ -0,0 +1,140 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【2206】医保预结算的输出参数 + * + * @author SunJQ + * @date 2025-04-19 + */ +@Data +@Accessors(chain = true) +public class Clinic2206OrderOutput { + // 主键字段 + private String mdtrtId; // 就诊ID + + private String psnNo; // 人员编号 + + private String psnName; // 人员姓名 + + private String psnCertType; // 人员证件类型 + + private String certno; // 证件号码 + + private String gend; // 性别 + + private String naty; // 民族 + + private Date brdy; // 出生日期 + + private BigDecimal age; // 年龄 + + private String insutype; // 险种类型 + + private String psnType; // 人员类别 + + private String cvlservFlag; // 公务员标志 + + private Date setlTime; // 结算时间 + + private String mdtrtCertType; // 就诊凭证类型 + + private String medType; // 医疗类别 + + private BigDecimal medfeeSumamt; // 医疗费总额 + + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + private BigDecimal preselfpayAmt; // 先行自付金额 + + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + private BigDecimal actPayDedc; // 实际支付起付线 + + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + private BigDecimal mafPay; // 医疗救助基金支出 + + private BigDecimal othPay; // 其他支出 + + private BigDecimal fundPaySumamt; // 基金支付总额 + + private BigDecimal psnPartAmt; // 个人负担总金额 + + private BigDecimal acctPay; // 个人账户支出 + + private BigDecimal psnCashPay; // 个人现金支出 + + private BigDecimal hospPartAmt; // 医院负担金额 + + private BigDecimal balc; // 余额 + + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + private String medinsSetlId; // 医药机构结算ID 存放发送方报文ID + + private String clrOptins; // 清算经办机构 + + private String clrWay; // 清算方式 + + private String clrType; // 清算类别 + + private BigDecimal hifdmPay; // 伤残人员医疗保障基金支出 + + private String expContent; // 字段扩展 + + private List setldetail;// 结算详细信息 + + private String mdtrtCertNo; // 就诊凭证编号 + + private String chrgBchno; // 收费批次号 + + private String busNo; // 挂号采访码 + + // 构造方法:初始化所有字段为0.0 + public Clinic2206OrderOutput() { + this.medfeeSumamt = new BigDecimal("0.0"); + this.fulamtOwnpayAmt = new BigDecimal("0.0"); + this.overlmtSelfpay = new BigDecimal("0.0"); + this.preselfpayAmt = new BigDecimal("0.0"); + this.inscpScpAmt = new BigDecimal("0.0"); + this.actPayDedc = new BigDecimal("0.0"); + this.hifpPay = new BigDecimal("0.0"); + this.poolPropSelfpay = new BigDecimal("0.0"); + this.cvlservPay = new BigDecimal("0.0"); + this.hifesPay = new BigDecimal("0.0"); + this.hifmiPay = new BigDecimal("0.0"); + this.hifobPay = new BigDecimal("0.00"); + this.mafPay = new BigDecimal("0.0"); + this.othPay = new BigDecimal("0.0"); + this.fundPaySumamt = new BigDecimal("0.0"); + this.psnPartAmt = new BigDecimal("0.0"); + this.acctPay = new BigDecimal("0.0"); + this.psnCashPay = new BigDecimal("0.0"); + this.hospPartAmt = new BigDecimal("0.0"); + this.balc = new BigDecimal("0.0"); + this.acctMulaidPay = new BigDecimal("0.0"); + this.hifdmPay = new BigDecimal("0.0"); + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderParam.java new file mode 100644 index 00000000..36631e7b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderParam.java @@ -0,0 +1,110 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *【2206】门诊预结算 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +public class Clinic2206OrderParam extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + //内部就诊ID + @JSONField(serialize=false) + private String regId; + //人员姓名 + @JSONField(serialize=false) + private String name; + //性别 + @Dict(dictCode = "sex") + @JSONField(serialize=false) + private String sex; + //民族 + @Dict(dictCode = "naty") + @JSONField(serialize=false) + private String naty; + //出生日期 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @JSONField(serialize=false) + private Date brdy; + //年龄 + @JSONField(serialize=false) + private Double age; + //定点医药机构编号 + @JSONField(serialize=false) + private String fixmedinsCode; + //定点医药机构名称 + @JSONField(serialize=false) + private String fixmedinsName; + //就医地医保区划 + @JSONField(serialize=false) + private String mdtrtareaAdmvs; + //参保地医保区划 + @JSONField(name="insuplc_admdvs") + private String insuplcAdmdvs; + //病历号 + @JSONField(serialize=false) + private String medicalNo; + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + //就诊凭证类型 + @Dict(dictCode = "mdtrt_cert_type") + @JSONField(name="mdtrt_cert_type") + private String mdtrtCertType; + //就诊凭证编号 + @JSONField(name="mdtrt_cert_no") + private String mdtrtCertNo; + //就诊凭证加密 + @TableField(exist = false) + @JSONField(serialize=false) + private String mdtrtCertNoEncrypt; + //医疗类别 + @Dict(dictCode = "med_type") + @JSONField(name="med_type") + private String medType; + //医疗费总额 + @JSONField(name="medfee_sumamt") + private Double medfeeSumamt; + //个人结算方式 + @Dict(dictCode = "psn_setlway") + @JSONField(name="psn_setlway") + private String psnSetlway; + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + //收费批次号 + @JSONField(name="chrg_bchno") + private String chrgBchno; + //险种类型 + @Dict(dictCode = "insutype") + @JSONField(name="insutype") + private String insutype; + //个人账户使用标志 + @Dict(dictCode = "acct_used_flag") + @JSONField(name="acct_used_flag") + private String acctUsedFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResult.java new file mode 100644 index 00000000..6aa14ca1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResult.java @@ -0,0 +1,161 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 【2206】医保预结算的输出参数 + * + * @author SunJQ + * @date 2025-04-19 + */ +@Data +@Accessors(chain = true) +public class Clinic2206OrderResult { + // 主键字段 + @JSONField(name = "mdtrt_id") + private String mdtrtId; // 就诊ID + + @JSONField(name = "psn_no") + private String psnNo; // 人员编号 + + @JSONField(name = "psn_name") + private String psnName; // 人员姓名 + + @JSONField(name = "psn_cert_type") + private String psnCertType; // 人员证件类型 + + @JSONField(name = "certno") + private String certno; // 证件号码 + + @JSONField(name = "gend") + private String gend; // 性别 + + @JSONField(name = "naty") + private String naty; // 民族 + + @JSONField(name = "brdy") + private Date brdy; // 出生日期 + + @JSONField(name = "age") + private BigDecimal age; // 年龄 + + @JSONField(name = "insutype") + private String insutype; // 险种类型 + + @JSONField(name = "psn_type") + private String psnType; // 人员类别 + + @JSONField(name = "cvlserv_flag") + private String cvlservFlag; // 公务员标志 + + @JSONField(name = "setl_time") + private Date setlTime; // 结算时间 + + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; // 就诊凭证类型 + + @JSONField(name = "med_type") + private String medType; // 医疗类别 + + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; // 医疗费总额 + + @JSONField(name = "fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + @JSONField(name = "overlmt_selfpay") + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + @JSONField(name = "preselfpay_amt") + private BigDecimal preselfpayAmt; // 先行自付金额 + + @JSONField(name = "inscp_scp_amt") + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + @JSONField(name = "act_pay_dedc") + private BigDecimal actPayDedc; // 实际支付起付线 + + @JSONField(name = "hifp_pay") + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + @JSONField(name = "pool_prop_selfpay") + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + @JSONField(name = "cvlserv_pay") + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + @JSONField(name = "hifes_pay") + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + @JSONField(name = "hifmi_pay") + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + @JSONField(name = "hifob_pay") + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + @JSONField(name = "maf_pay") + private BigDecimal mafPay; // 医疗救助基金支出 + + @JSONField(name = "oth_pay") + private BigDecimal othPay; // 其他支出 + + @JSONField(name = "fund_pay_sumamt") + private BigDecimal fundPaySumamt; // 基金支付总额 + + @JSONField(name = "psn_part_amt") + private BigDecimal psnPartAmt; // 个人负担总金额 + + @JSONField(name = "acct_pay") + private BigDecimal acctPay; // 个人账户支出 + + @JSONField(name = "psn_cash_pay") + private BigDecimal psnCashPay; // 个人现金支出 + + @JSONField(name = "hosp_part_amt") + private BigDecimal hospPartAmt; // 医院负担金额 + + @JSONField(name = "balc") + private BigDecimal balc; // 余额 + + @JSONField(name = "acct_mulaid_pay") + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + @JSONField(name = "medins_setl_id") + private String medinsSetlId; // 医药机构结算ID 存放发送方报文ID + + @JSONField(name = "clr_optins") + private String clrOptins; // 清算经办机构 + + @JSONField(name = "clr_way") + private String clrWay; // 清算方式 + + @JSONField(name = "clr_type") + private String clrType; // 清算类别 + + @JSONField(name = "hifdm_pay") + private BigDecimal hifdmPay; // 伤残人员医疗保障基金支出 + + @JSONField(name = "exp_content") + private String expContent; // 字段扩展 + + @JSONField(name = "setldetail") + private List setldetail;// 结算详细信息 + + @JSONField(name = "mdtrt_cert_no") + private String mdtrtCertNo; // 就诊凭证编号 + + @JSONField(serialize = false) + private String chrgBchno; // 收费批次号 + + @JSONField(serialize = false) + private String busNo; // 挂号 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResultDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResultDto.java new file mode 100644 index 00000000..34b5d135 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206OrderResultDto.java @@ -0,0 +1,90 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 预结算结果集 + * + * @author SunJQ + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +public class Clinic2206OrderResultDto { + + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; // 医疗费总额 + + @JSONField(name = "fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + @JSONField(name = "overlmt_selfpay") + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + @JSONField(name = "preselfpay_amt") + private BigDecimal preselfpayAmt; // 先行自付金额 + + @JSONField(name = "inscp_scp_amt") + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + @JSONField(name = "act_pay_dedc") + private BigDecimal actPayDedc; // 实际支付起付线 + + @JSONField(name = "hifp_pay") + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + @JSONField(name = "pool_prop_selfpay") + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + @JSONField(name = "cvlserv_pay") + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + @JSONField(name = "hifes_pay") + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + @JSONField(name = "hifmi_pay") + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + @JSONField(name = "hifob_pay") + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + @JSONField(name = "maf_pay") + private BigDecimal mafPay; // 医疗救助基金支出 + + @JSONField(name = "oth_pay") + private BigDecimal othPay; // 其他支出 + + @JSONField(name = "fund_pay_sumamt") + private BigDecimal fundPaySumamt; // 基金支付总额 + + @JSONField(name = "psn_part_amt") + private BigDecimal psnPartAmt; // 个人负担总金额 + + @JSONField(name = "acct_pay") + private BigDecimal acctPay; // 个人账户支出 + + @JSONField(name = "psn_cash_pay") + private BigDecimal psnCashPay; // 个人现金支出 + + @JSONField(name = "hosp_part_amt") + private BigDecimal hospPartAmt; // 医院负担金额 + + @JSONField(name = "hifdm_pay") + private BigDecimal hifdmPay; + + @JSONField(name = "acct_mulaid_pay") + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + private String chrgBchno;//收费批次号 + + private Long accountId;//账户id + + private String medType;//医疗类型 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206SetldetaiResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206SetldetaiResult.java new file mode 100644 index 00000000..6a98f44b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2206SetldetaiResult.java @@ -0,0 +1,59 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.annotation.Excel; +import com.core.common.core.domain.HisBaseEntity; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *【2206】门诊预结算-输出参数 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +public class Clinic2206SetldetaiResult extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + //结算清单主键 + @Excel(name = "结算清单主键", width = 15) + @JSONField(serialize=false) + private String orderId; + //结算信息主键 + @JSONField(serialize=false) + private String setlinfoId; + //内部就诊ID + @JSONField(serialize=false) + private String regId; + //基金支付类型 + @JSONField(name="fund_pay_type") + @Dict(dictCode = "fund_pay_type") + private String fundPayType; + //符合政策范围金额 + @JSONField(name="inscp_scp_amt") + private Double inscpScpAmt; + //本次可支付限额金额 + @JSONField(name="crt_payb_lmt_amt") + private Double crtPaybLmtAmt; + //基金支付金额 + @JSONField(name="fund_payamt") + private Double fundPayamt; + //基金支付类型名称 + @JSONField(name="fund_pay_type_name") + private String fundPayTypeName; + //结算过程信息 + @JSONField(name="setl_proc_info") + private String setlProcInfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResult.java new file mode 100644 index 00000000..8bc9eea1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResult.java @@ -0,0 +1,158 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 【2207】医保预结算的输出参数 + * + * @author SunJQ + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +public class Clinic2207OrderResult { + // 主键字段 + @JSONField(name = "mdtrt_id") + private String mdtrtId; // 就诊ID + + @JSONField(name = "setl_id") + private String setlId;// 结算id 2207时有值 2206无值 + + @JSONField(name = "psn_no") + private String psnNo; // 人员编号 + + @JSONField(name = "psn_name") + private String psnName; // 人员姓名 + + @JSONField(name = "psn_cert_type") + private String psnCertType; // 人员证件类型 + + @JSONField(name = "certno") + private String certno; // 证件号码 + + @JSONField(name = "gend") + private String gend; // 性别 + + @JSONField(name = "naty") + private String naty; // 民族 + + @JSONField(name = "brdy") + private Date brdy; // 出生日期 + + @JSONField(name = "age") + private BigDecimal age; // 年龄 + + @JSONField(name = "insutype") + private String insutype; // 险种类型 + + @JSONField(name = "psn_type") + private String psnType; // 人员类别 + + @JSONField(name = "cvlserv_flag") + private String cvlservFlag; // 公务员标志 + + @JSONField(name = "setl_time") + private Date setlTime; // 结算时间 + + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; // 就诊凭证类型 + + @JSONField(name = "med_type") + private String medType; // 医疗类别 + + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; // 医疗费总额 + + @JSONField(name = "fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + @JSONField(name = "overlmt_selfpay") + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + @JSONField(name = "preselfpay_amt") + private BigDecimal preselfpayAmt; // 先行自付金额 + + @JSONField(name = "inscp_scp_amt") + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + @JSONField(name = "act_pay_dedc") + private BigDecimal actPayDedc; // 实际支付起付线 + + @JSONField(name = "hifp_pay") + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + @JSONField(name = "pool_prop_selfpay") + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + @JSONField(name = "cvlserv_pay") + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + @JSONField(name = "hifes_pay") + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + @JSONField(name = "hifmi_pay") + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + @JSONField(name = "hifob_pay") + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + @JSONField(name = "maf_pay") + private BigDecimal mafPay; // 医疗救助基金支出 + + @JSONField(name = "oth_pay") + private BigDecimal othPay; // 其他支出 + + @JSONField(name = "fund_pay_sumamt") + private BigDecimal fundPaySumamt; // 基金支付总额 + + @JSONField(name = "psn_part_amt") + private BigDecimal psnPartAmt; // 个人负担总金额 + + @JSONField(name = "acct_pay") + private BigDecimal acctPay; // 个人账户支出 + + @JSONField(name = "psn_cash_pay") + private BigDecimal psnCashPay; // 个人现金支出 + + @JSONField(name = "hosp_part_amt") + private BigDecimal hospPartAmt; // 医院负担金额 + + @JSONField(name = "balc") + private BigDecimal balc; // 余额 + + @JSONField(name = "acct_mulaid_pay") + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + @JSONField(name = "medins_setl_id") + private String medinsSetlId; // 医药机构结算ID 存放发送方报文ID + + @JSONField(name = "clr_optins") + private String clrOptins; // 清算经办机构 + + @JSONField(name = "clr_way") + private String clrWay; // 清算方式 + + @JSONField(name = "clr_type") + private String clrType; // 清算类别 + + @JSONField(name = "hifdm_pay") + private BigDecimal hifdmPay; // 伤残人员医疗保障基金支出 + + @JSONField(name = "exp_content") + private String expContent; // 字段扩展 + + @JSONField(name = "setldetail") + private List setldetail;// 结算详细信息 + + @JSONField(serialize = false) + private String chrgBchno; // 收费批次号 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultDto.java new file mode 100644 index 00000000..f2a73884 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultDto.java @@ -0,0 +1,14 @@ +package com.openhis.yb.dto; + +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +@Getter +@Setter +@Accessors(chain = true) +public class Clinic2207OrderResultDto extends Clinic2207OrderResult { + + private Long accountId; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultInfoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultInfoDto.java new file mode 100644 index 00000000..56f4bded --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2207OrderResultInfoDto.java @@ -0,0 +1,74 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 结算基础信息 + * + * @author SunJQ + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +public class Clinic2207OrderResultInfoDto { + // 主键字段 + @JSONField(name = "mdtrt_id") + private String mdtrtId; // 就诊ID + + @JSONField(name = "psn_no") + private String psnNo; // 人员编号 + + @JSONField(name = "psn_name") + private String psnName; // 人员姓名 + + @JSONField(name = "psn_cert_type") + private String psnCertType; // 人员证件类型 + + @JSONField(name = "certno") + private String certno; // 证件号码 + + @JSONField(name = "gend") + private String gend; // 性别 + + @JSONField(name = "naty") + private String naty; // 民族 + + @JSONField(name = "brdy") + private Date brdy; // 出生日期 + + @JSONField(name = "age") + private BigDecimal age; // 年龄 + + @JSONField(name = "insutype") + private String insutype; // 险种类型 + + @JSONField(name = "psn_type") + private String psnType; // 人员类别 + + @JSONField(name = "cvlserv_flag") + private String cvlservFlag; // 公务员标志 + + @JSONField(name = "setl_time") + private Date setlTime; // 结算时间 + + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; // 就诊凭证类型 + + @JSONField(name = "med_type") + private String medType; // 医疗类别 + + @JSONField(name = "medins_setl_id") + private String medinsSetlId; // 医药机构结算ID 存放发送方报文ID + + @JSONField(name = "setldetail") + private List setldetail;// 结算详细信息 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoOutput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoOutput.java new file mode 100644 index 00000000..f939c07b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoOutput.java @@ -0,0 +1,106 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 【2208】门诊结算撤销 + * + * @author SunJQ + * @date 2025-04-21 + */ +@Data +@Accessors(chain = true) +public class Clinic2208UnSetlInfoOutput { + + // 1. 就诊ID(字符型,30位,必填) + private String mdtrtId; + + // 2. 结算ID(字符型,30位,必填) + private String setlId; + + // 3. 清算经办机构(字符型,6位) + private String clrOptins; + + // 4. 结算时间(日期时间型,格式:yyyy-MM-dd HH:mm:ss,必填) + private Date setlTime; + + // 5. 医疗费总额(数值型,16位含2位小数,必填) + private BigDecimal medfeeSumamt; + + // 6. 全自费金额(数值型,16位含2位小数,必填) + private BigDecimal fulamtOwnpayAmt; + + // 7. 超限价自费费用(数值型,16位含2位小数,必填) + private BigDecimal overlmtSelfpay; + + // 8. 先行自付金额(数值型,16位含2位小数,必填) + private BigDecimal preselfpayAmt; + + // 9. 符合政策范围金额(数值型,16位含2位小数,必填) + private BigDecimal inscpScpAmt; + + // 10. 实际支付起付线(数值型,16位含2位小数) + private BigDecimal actPayDedc; + + // 11. 基本医疗保险统筹基金支出(数值型,16位含2位小数,必填) + private BigDecimal hifpPay; + + // 12. 统筹基金支付比例(数值型,5位含4位小数,必填) + private BigDecimal poolPropSelfpay; + + // 13. 公务员医疗补助支出(数值型,16位含2位小数,必填) + private BigDecimal cvlservPay; + + // 14. 企业补充医保支出(数值型,16位含2位小数,必填) + private BigDecimal hifesPay; + + // 15. 居民大病保险支出(数值型,16位含2位小数,必填) + private BigDecimal hifmiPay; + + // 16. 职工大额医疗补助支出(数值型,16位含2位小数,必填) + private BigDecimal hifobPay; + + // 17. 医疗救助基金支出(数值型,16位含2位小数,必填) + private BigDecimal mafPay; + + // 18. 其他支出(数值型,16位含2位小数,必填) + private BigDecimal othPay; + + // 19. 基金支付总额(数值型,16位含2位小数,必填) + private BigDecimal fundPaySumamt; + + // 20. 个人负担总金额(数值型,16位含2位小数,必填) + private BigDecimal psnPartAmt; + + // 21. 个人账户支出(数值型,16位含2位小数,必填) + private BigDecimal acctPay; + + // 22. 余额(数值型,16位含2位小数,必填) + private BigDecimal balc; + + // 23. 个人账户共济支付(数值型,16位含2位小数,必填) + private BigDecimal acctMulaidPay; + + // 24. 医院负担金额(数值型,16位含2位小数,必填) + private BigDecimal hospPartAmt; + + // 25. 医药机构结算ID(字符型,30位,必填) + private String medinsSetlId; + + // 26. 个人现金支出(数值型,16位含2位小数,必填) + private BigDecimal pdnCashPay; + + // 27. 伤残人员医疗补助支出(数值型,16位含2位小数,必填) + private BigDecimal hifdmPay; + + //结算详细信息 + private List setldetail;//结算详细信息 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoParam.java new file mode 100644 index 00000000..403951dc --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoParam.java @@ -0,0 +1,43 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *【2208】门诊结算撤销 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +public class Clinic2208UnSetlInfoParam extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + //结算ID + @JSONField(name="setl_id") + private String setlId; + //参保地医保区划 + @JSONField(name="insuplc_admdvs") + private String insuplcAdmdvs; + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoResult.java new file mode 100644 index 00000000..c6139412 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Clinic2208UnSetlInfoResult.java @@ -0,0 +1,137 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 【2208】门诊结算撤销 + * + * @author SunJQ + * @date 2025-04-21 + */ +@Data +@Accessors(chain = true) +public class Clinic2208UnSetlInfoResult { + + // 1. 就诊ID(字符型,30位,必填) + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 结算ID(字符型,30位,必填) + @JSONField(name = "setl_id") + private String setlId; + + // 3. 清算经办机构(字符型,6位) + @JSONField(name = "clr_optins") + private String clrOptins; + + // 4. 结算时间(日期时间型,格式:yyyy-MM-dd HH:mm:ss,必填) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "setl_time") + private Date setlTime; + + // 5. 医疗费总额(数值型,16位含2位小数,必填) + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + // 6. 全自费金额(数值型,16位含2位小数,必填) + @JSONField(name = "fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + // 7. 超限价自费费用(数值型,16位含2位小数,必填) + @JSONField(name = "overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + // 8. 先行自付金额(数值型,16位含2位小数,必填) + @JSONField(name = "preselfpay_amt") + private BigDecimal preselfpayAmt; + + // 9. 符合政策范围金额(数值型,16位含2位小数,必填) + @JSONField(name = "inscp_scp_amt") + private BigDecimal inscpScpAmt; + + // 10. 实际支付起付线(数值型,16位含2位小数) + @JSONField(name = "act_pay_dedc") + private BigDecimal actPayDedc; + + // 11. 基本医疗保险统筹基金支出(数值型,16位含2位小数,必填) + @JSONField(name = "hifp_pay") + private BigDecimal hifpPay; + + // 12. 统筹基金支付比例(数值型,5位含4位小数,必填) + @JSONField(name = "pool_prop_selfpay") + private BigDecimal poolPropSelfpay; + + // 13. 公务员医疗补助支出(数值型,16位含2位小数,必填) + @JSONField(name = "cvlserv_pay") + private BigDecimal cvlservPay; + + // 14. 企业补充医保支出(数值型,16位含2位小数,必填) + @JSONField(name = "hifes_pay") + private BigDecimal hifesPay; + + // 15. 居民大病保险支出(数值型,16位含2位小数,必填) + @JSONField(name = "hifmi_pay") + private BigDecimal hifmiPay; + + // 16. 职工大额医疗补助支出(数值型,16位含2位小数,必填) + @JSONField(name = "hifob_pay") + private BigDecimal hifobPay; + + // 17. 医疗救助基金支出(数值型,16位含2位小数,必填) + @JSONField(name = "maf_pay") + private BigDecimal mafPay; + + // 18. 其他支出(数值型,16位含2位小数,必填) + @JSONField(name = "oth_pay") + private BigDecimal othPay; + + // 19. 基金支付总额(数值型,16位含2位小数,必填) + @JSONField(name = "fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + // 20. 个人负担总金额(数值型,16位含2位小数,必填) + @JSONField(name = "psn_part_amt") + private BigDecimal psnPartAmt; + + // 21. 个人账户支出(数值型,16位含2位小数,必填) + @JSONField(name = "acct_pay") + private BigDecimal acctPay; + + // 22. 余额(数值型,16位含2位小数,必填) + @JSONField(name = "balc") + private BigDecimal balc; + + // 23. 个人账户共济支付(数值型,16位含2位小数,必填) + @JSONField(name = "acct_mulaid_pay") + private BigDecimal acctMulaidPay; + + // 24. 医院负担金额(数值型,16位含2位小数,必填) + @JSONField(name = "hosp_part_amt") + private BigDecimal hospPartAmt; + + // 25. 医药机构结算ID(字符型,30位,必填) + @JSONField(name = "medins_setl_id") + private String medinsSetlId; + + // 26. 个人现金支出(数值型,16位含2位小数,必填) + @JSONField(name = "pdn_cash_pay") + private BigDecimal pdnCashPay; + + // 27. 伤残人员医疗补助支出(数值型,16位含2位小数,必填) + @JSONField(name = "hifdm_pay") + private BigDecimal hifdmPay; + + //结算详细信息 + @JSONField(name = "setldetail") + private List setldetail;//结算详细信息 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg.java new file mode 100644 index 00000000..1bd684e9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg.java @@ -0,0 +1,116 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【2201】【2202】挂号 退号 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ClinicReg extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + //就诊ID + @JSONField(name="mdtrt_id") + private String mdtrtId; + //参保地医保区划 + @JSONField(serialize=false) + private String insuplcAdmdvs; + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + //险种类型 + //@Dict(dictCode = "insutype") + @JSONField(name="insutype") + private String insutype; + //医疗类别 + //@Dict(dictCode = "med_type") + @JSONField(serialize=false) + private String medType; + //挂号时间 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JSONField(name="begntime") + private Date begntime; + //就诊凭证类型 + @Dict(dictCode = "mdtrt_cert_type") + @JSONField(name="mdtrt_cert_type") + private String mdtrtCertType; + //就诊凭证编号 + @JSONField(name="mdtrt_cert_no") + private String mdtrtCertNo; +// //证件加密串 +// @JSONField(serialize=false) +// @TableField(exist = false) +// private String mdtrtCertNoEncrypt; + //住院/门诊号 + @JSONField(name="ipt_otp_no") + private String iptOtpNo;//使用bus_no + //医师编码 + //@Dict(dictTable = "business_pub_medicalstaff", dictText = "name", dictCode = "id") + @JSONField(name="atddr_no") + private String atddrNo; + //医师姓名 + @JSONField(name="dr_name") + private String drName; + //科室编码 + //@Dict(dictTable = "business_pub_dept", dictText = "hosp_dept_name", dictCode = "id") + @JSONField(name="dept_code") + private String deptCode; + //科室名称 + @JSONField(name="dept_name") + private String deptName; + //科别 + @Dict(dictCode = "dept") + @JSONField(name="caty") + private String caty; + //挂号费 + @JSONField(serialize=false) + private Double regFee; + //检查费 + @JSONField(serialize=false) + private Double checkFee; + //应收金额 + @JSONField(serialize=false) + private Double totalFee; + //状态,0-挂号,1-看诊,2-费用明细,3-预结算,4-结算 + @JSONField(serialize=false) + @Dict(dictCode = "clinc_status") + private String status; + + @JSONField(name="psn_cert_type") + @TableField(exist = false) + private String psnCertType; + @JSONField(name="certno") + @TableField(exist = false) + private String certno; + @JSONField(name="psn_type") + @TableField(exist = false) + private String psnType; + @JSONField(name="psn_name") + @TableField(exist = false) + private String psnName; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg2201Output.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg2201Output.java new file mode 100644 index 00000000..8e215ea8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ClinicReg2201Output.java @@ -0,0 +1,66 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@Accessors(chain = true) +public class ClinicReg2201Output { + private static final long serialVersionUID = 1L; + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + //就诊ID + private String mdtrtId; + //参保地医保区划 + @JSONField(serialize=false) + private String insuplcAdmdvs; + //人员编号 + private String psnNo; + //险种类型 + private String insutype; + //医疗类别 + @JSONField(serialize=false) + private String medType; + //挂号时间 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date begntime; + //就诊凭证类型 + private String mdtrtCertType; + //就诊凭证编号 + private String mdtrtCertNo; + //证件加密串 + @JSONField(serialize=false) + @TableField(exist = false) + private String mdtrtCertNoEncrypt; + //住院/门诊号 + private String iptOtpNo; + //医师编码 + private String atddrNo; + //医师姓名 + private String drName; + //科室编码 + private String deptCode; + //科室名称 + private String deptName; + //科别 + private String caty; + //挂号费 + private Double regFee; + //检查费 + private Double checkFee; + //应收金额 + private Double totalFee; + //状态,0-挂号,1-看诊,2-费用明细,3-预结算,4-结算 + private String status; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/DispenseInventory3505Dto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/DispenseInventory3505Dto.java new file mode 100644 index 00000000..3a8a7472 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/DispenseInventory3505Dto.java @@ -0,0 +1,103 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 药品发放和库存表连接信息 + * + * @author wangyang + * @date 2025-03-14 + */ +@Data +@Accessors(chain = true) +public class DispenseInventory3505Dto { + + /** 药品发放表主键ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long dispenseId; + + /** 就诊id */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 药品请求表主键ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long medReqId; + + /** 病人id */ + @JsonSerialize(using = ToStringSerializer.class) + private Long patientId; + + /** 请求单位编码 */ + private String dispenseUnitCode; + + /** 请求数量 */ + private Integer dispenseQuantity; + + /** 发放数量 */ + private Integer dispenseStatus; + + /** 库存项目表主键ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long inventoryId; + + /** 拆零单位 */ + private String inventoryUnitCode; + + /** 当前库存数量(拆零单位) */ + private BigDecimal inventoryQuantity; + + /** 拆零比 */ + private BigDecimal partPercent; + + /** 批号 */ + private String lotNumber; + + /** 生产日期 */ + private Date productionDate; + + /** 发药时间 */ + private Date dispenseTime; + + /** 有效期止 */ + private Date expirationDate; + + /** 追溯码 */ + private String traceNo; + + /** 医保编码 */ + private String ybNo; + + /** 就诊编号 */ + private String encounterNo; + + /** 药品编码 */ + private String medicationNo; + + /** 执业资格证号 */ + private String pharPracCertNo; + + /** 发药编号 */ + private String dispenseNo; + + /** 处方标志 */ + private Integer rxFlag; + + /** 配药人 */ + private String preparerName; + + /** 发药人 */ + private String dispenseName; + + /** 开方人 */ + private String practitionerName; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceChargeDetailDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceChargeDetailDto.java new file mode 100644 index 00000000..0cab43db --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceChargeDetailDto.java @@ -0,0 +1,34 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 收费项目明细 + * + * @author yuxj + * @date 2025-04-22 + */ +@Data +@Accessors(chain = true) +public class EleInvoiceChargeDetailDto { + + // 医疗收费项目类别; + private String ybType; + // 数量 + private Integer number; + // 金额 + private BigDecimal amt; + // 自费金额 + private BigDecimal selfAmt; + // 收费项目名称 + private String chargeName; + // 收费项目代码 + private String chargeCode; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceListDetailDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceListDetailDto.java new file mode 100644 index 00000000..44b64464 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceListDetailDto.java @@ -0,0 +1,46 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 清单项目明细 + * + * @author yuxj + * @date 2025-04-22 + */ +@Data +@Accessors(chain = true) +public class EleInvoiceListDetailDto { + // 明细流水号 + private Long listDetailNo; + // 医疗收费项目类别; + private String ybType; + // 药品编码 + private String code; + // 药品名称 + private String name; + // 医保项目编码 + private String ybCode; + // 计量单位 + private String unit; + // 单价 + private BigDecimal std; + // 数量 + private Integer number; + // 金额 + private BigDecimal amt; + // 自费金额 + private BigDecimal selfAmt; + // 医保药品分类 + private Integer medicalCareType; + // 收费项目名称 + private String chargeName; + // 收费项目代码 + private String chargeCode; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePatientInfoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePatientInfoDto.java new file mode 100644 index 00000000..2e68db0d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePatientInfoDto.java @@ -0,0 +1,75 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * 患者信息 + * + * @author yuxj + * @date 2025-04-22 + */ +@Data +@Accessors(chain = true) +public class EleInvoicePatientInfoDto { + // 患者id + private Long payerId; + + // 患者姓名 + private String payer; + + // 患者院内编码/病历号 + private String caseNumber; + + // 性别 + private Integer genderEnum; + private String genderEnum_enumText; + + // 生日 + private Date birthDate; + + // 电话 + private String tel; + + // 身份证号 + private String cardNo; + + // 就诊编码 + private String encounterBusNo; + + // 就诊日期 + private String consultationDate; + + // 住院日期 + private String inHospitalDate; + + // 出院日期 + private String outHospitalDate; + + // 就诊科室名称 + private String patientCategory; + + // 就诊科室编码 + private String patientCategoryCode; + + // 医疗机构类型 + private String medicalInstitution; + + // 医保区域编码 + private String medCareAreaCode; + + // 入院科室编码 + private String categoryCode; + // 入院科室名称 + private String category; + // 出院科室编码 + private String leaveCategoryCode; + // 出院科室名称 + private String leaveCategory; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePaymentInfoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePaymentInfoDto.java new file mode 100644 index 00000000..ebceafc8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoicePaymentInfoDto.java @@ -0,0 +1,60 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 付款信息 + * + * @author yuxj + * @date 2025-04-22 + */ +@Data +@Accessors(chain = true) +public class EleInvoicePaymentInfoDto { + // 付款状态 + private Integer paymentStatus; + + // 发票id + private Long invoiceId; + + // 发票状态 + private Integer invoiceStatus; + + // 结算id + private Long paymentId; + + // 支付的业务标识符(用于显示,支付流水号) + private String busNo; + + // 收费员 + private String payee; + + // 开票总金额 + private BigDecimal totalAmt; + + // 个人现金支付金额 + private BigDecimal rmbCashPayAmount; + // 个人现金支付金额(微信) + private BigDecimal wxPayAmount; + // 个人现金支付金额(支付宝) + private BigDecimal aliPayAmount; + // 个人现金支付金额(银联) + private BigDecimal debitPayAmount; + // 个人医保账户支付 + private BigDecimal zhPayAmount; + // 基金支付总额 + private BigDecimal ybFundFayAmount; + // 其他(如医院负担金额) + private BigDecimal otherPayAmount; + // 账户共济支付金额 + private BigDecimal aelfYbZhGjValue; + + // 付款账单集合 + private String chargeItemIds; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceResultDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceResultDto.java new file mode 100644 index 00000000..d1b7b93b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/EleInvoiceResultDto.java @@ -0,0 +1,73 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.openhis.common.enums.InvoiceStatus; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 返回信息 + * + * @author yuxj + * @date 2025-04-22 + */ +@Data +@Accessors(chain = true) +public class EleInvoiceResultDto { + + private Long id; + + /** 患者ID */ + private Long patientId; + + /** 状态 */ + private InvoiceStatus statusEnum; + + /** 类别 */ + private String typeCode; + + /** 取消原因 */ + private String cancelledReason; + + /** 收费项 */ + private String chargeItemIds; + + /** 发票净额总记 */ + private BigDecimal totalNet; + + /** 发票总计金额 */ + private BigDecimal totalGross; + + /** 付款详情 */ + private String paymentTerms; + + /** 账单批次号 */ + private String batchCode; + + /** 结算批次号 */ + private String qrCode; + + /** 发票编号 */ + private String busNo; + + /** 开票员 */ + private Long invoicingStaffId; + /** 电子票据代码 */ + private String billBatchCode; + /** 电子票据号码 */ + private String billNo; + /** 电子校验码 */ + private String random; + /** 电子票据生成时间 */ + private String billCreateTime; + /** 电子票据二维码图片数据 */ + private String billQrCode; + /** 电子票据H5页面URL */ + private String pictureUrl; + /** 电子票据外网H5页面URL */ + private String pictureNetUrl; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/File9101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/File9101Param.java new file mode 100644 index 00000000..4e38f16d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/File9101Param.java @@ -0,0 +1,14 @@ +package com.openhis.yb.dto; + +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +@Data +public class File9101Param { + + private MultipartFile file; + + private String filename; + + private String fixmedinsCode; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileDownload.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileDownload.java new file mode 100644 index 00000000..582d6bf8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileDownload.java @@ -0,0 +1,26 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【9102】下载实体 + */ +@Data +@Accessors(chain = true) +public class FileDownload { + @JSONField(serialize = false) + private String code; + @JSONField(name = "ver") + private String version; + @JSONField(name = "filename") + private String filename; + @JSONField(name = "file_qury_no") + private String fileQuryNo; + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileResult.java new file mode 100644 index 00000000..12d047ae --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FileResult.java @@ -0,0 +1,43 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【9101】【9102】公用 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FileResult { + + // 文件查询号 + @JSONField(name="file_qury_no") + private String fileQuryNo; + + // 文件名称 + @JSONField(name="filename") + private String filename; + + // 下载截止时间 + @JSONField(name="dld_endtime") + private Date dldEndtime; + + // 文件数据 + @JSONField(serialize=false) + private byte[] fileData; + + // 医药机构编号 + @JSONField(name="fixmedins_code") + private String fixmedinsCode; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Param.java new file mode 100644 index 00000000..4585aacb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Param.java @@ -0,0 +1,53 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【13203】医药机构费用结算日对账结果查询 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Financial13203Param { + + // 对账日期,格式:YYYY-MM-DD + @JSONField(name = "stmt_date") + private String stmtDate; + + // 明细对账结果,1:不平,0:平 + @JSONField(name = "stmt_rslt") + private String stmtRslt; + + // 查询页面数据量,最大100 + @JSONField(name = "page_size") + private String pageSize; + + // 页数,默认1 + @JSONField(name = "page_num") + private String pageNum; + + // 清算机构编码 + @JSONField(name = "clr_optins") + private String clrOptins; + + // 清算类别 + @JSONField(name = "clr_type") + private String clrType; + + // 险种 + @JSONField(name = "insutype") + private String insutype; + + // 就医类别,2:本地就医,3:省内异地就医,4:跨省就医 + @JSONField(name = "clr_pay_loc") + private String clrPayLoc; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Result.java new file mode 100644 index 00000000..18ce4215 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203Result.java @@ -0,0 +1,58 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【13203】医药机构费用结算日对账结果查询-输出参数 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Financial13203Result { + + // 退费标识 + @JSONField(name = "refd_setl_flag") + private String refdSetlFlag; + + // 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 就诊流水号 + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 结算ID + @JSONField(name = "setl_id") + private String setlId; + + // 人员名称 + @JSONField(name = "psn_name") + private String psnName; + + // 对账结果 + @JSONField(name = "stmt_rslt") + private String stmtRslt; + + // 总医疗费 + @JSONField(name = "medfee_sumamt") + private String medfeeSumamt; + + // 清算机构编码 + @JSONField(name = "clr_optins") + private String clrOptins; + + // 报文ID + @JSONField(name = "msg_id") + private String msgId; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203WebParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203WebParam.java new file mode 100644 index 00000000..1f1d0107 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial13203WebParam.java @@ -0,0 +1,49 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +/** + * 【13202】前台入参 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Data +public class Financial13203WebParam { + + // 对账日期,格式:YYYY-MM-DD + @JSONField(name = "stmt_date") + private String stmtDate; + + // 明细对账结果,1:不平,0:平 + @JSONField(name = "stmt_rslt") + private String stmtRslt; + + // 查询页面数据量,最大100 + @JSONField(name = "page_size") + private String pageSize; + + // 页数,默认1 + @JSONField(name = "page_num") + private String pageNum; + + // 清算机构编码 + @JSONField(name = "clr_optins") + private String clrOptins; + + // 清算类别 + @JSONField(name = "clr_type") + private String clrType; + + // 险种 + @JSONField(name = "insutype") + private String insutype; + + // 就医类别,2:本地就医,3:省内异地就医,4:跨省就医 + @JSONField(name = "clr_pay_loc") + private String clrPayLoc; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Output.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Output.java new file mode 100644 index 00000000..7dd63c76 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Output.java @@ -0,0 +1,19 @@ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Financial3201Output { + + //结算经办机构 + private String setlOptins; + //对账结果 + private String stmtRslt; + //对账结果说明 + private String stmtRsltDscr; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Param.java new file mode 100644 index 00000000..01c12bb9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3201Param.java @@ -0,0 +1,81 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.annotation.Excel; +import com.core.common.core.domain.HisBaseEntity; +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3201】月结对账 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Financial3201Param extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //定点医药机构编号 + @Excel(name = "定点医药机构编号", width = 15) + @JSONField(serialize=false) + private String fixmedinsCode; + //定点医药机构名称 + @Excel(name = "定点医药机构名称", width = 15) + @JSONField(serialize=false) + private String fixmedinsName; + //医保区划 + @Excel(name = "医保区划", width = 15) + @JSONField(serialize=false) + private String admvs; + //险种 + @Excel(name = "险种", width = 15, dictType = "insutype") + @Dict(dictCode = "insutype") + @JSONField(name="insutype") + private String insutype; + //清算类别 + @Excel(name = "清算类别", width = 15, dictType = "clr_type") + @Dict(dictCode = "clr_type") + @JSONField(name="clr_type") + private String clrType; + //结算经办机构 + @Excel(name = "结算经办机构", width = 15) + @JSONField(name="setl_optins") + private String setlOptins; + //对账开始日期 + @Excel(name = "对账开始日期", width = 15, dateFormat = "yyyy-MM-dd") + @JSONField(name="stmt_begndate") + private String stmtBegndate; + //对账结束日期 + @Excel(name = "对账结束日期", width = 15, dateFormat = "yyyy-MM-dd") + @JSONField(name="stmt_enddate") + private String stmtEnddate; + //医疗费总额 + @Excel(name = "医疗费总额", width = 15) + @JSONField(name="medfee_sumamt") + private Double medfeeSumamt; + //基金支付总额 + @Excel(name = "基金支付总额", width = 15) + @JSONField(name="fund_pay_sumamt") + private Double fundPaySumamt; + //个人账户支付金额 + @Excel(name = "个人账户支付金额", width = 15) + @JSONField(name="acct_pay") + private Double acctPay; + //定点医药机构结算笔数 + @Excel(name = "定点医药机构结算笔数", width = 15) + @JSONField(name="fixmedins_setl_cnt") + private Integer fixmedinsSetlCnt; + + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs;//区划 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileParam.java new file mode 100644 index 00000000..b604eead --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileParam.java @@ -0,0 +1,76 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 【3202】文件输入实体 + * + * @author SunJQ + * @date 2025-04-22 + */ +@Getter +@Setter +@Accessors(chain = true) +public class Financial3202FileParam { + // 1. 结算ID(字符型,30位,必填) + @JSONField(name = "setl_id") + private String setlId; + + // 2. 就诊ID(字符型,30位,必填) + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 3. 人员编号(字符型,30位,必填) + @JSONField(name = "psn_no") + private String psnNo; + + // 4. 医疗费总额(数值型,16位含2位小数,必填) + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + // 5. 基金支付总额(数值型,16位含2位小数,必填) + @JSONField(name = "fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + // 6. 个人账户支出(数值型,16位含2位小数,必填) + @JSONField(name = "acct_pay") + private BigDecimal acctPay; + + // 7. 退费结算标志(字符型,3位,必填) + @JSONField(name = "refd_setl_flag") + private String refdSetlFlag; + + @Override + public String toString() { + return setlId + "," + mdtrtId + "," + psnNo + "," + medfeeSumamt + "," + fundPaySumamt + "," + acctPay + "," + refdSetlFlag; + } + + public String getTxt() { + return setlId + "\t" + mdtrtId + "\t" + psnNo + "\t" + medfeeSumamt + "\t" + fundPaySumamt + "\t" + acctPay + "\t" + refdSetlFlag; + } + + public Financial3202FileParam() { + } + + public Financial3202FileParam(String setlId, String mdtrtId, String psnNo, BigDecimal medfeeSumamt, BigDecimal fundPaySumamt, BigDecimal acctPay, String refdSetlFlag) { + this.setlId = setlId; + this.mdtrtId = mdtrtId; + this.psnNo = psnNo; + this.medfeeSumamt = medfeeSumamt; + this.fundPaySumamt = fundPaySumamt; + this.acctPay = acctPay; + this.refdSetlFlag = refdSetlFlag; + } + + private String patientName; + private String setlTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileResult.java new file mode 100644 index 00000000..a6865cb9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202FileResult.java @@ -0,0 +1,56 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import java.math.BigDecimal; + +/** + * 【3202】文件输出实体 + * + * @author SunJQ + * @date 2025-04-22 + */ +public class Financial3202FileResult { + // 1. 人员编号(字符型,30位,必填) + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 就诊ID(字符型,30位,非必填) + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 3. 结算ID(字符型,30位,非必填) + @JSONField(name = "setl_id") + private String setlId; + + // 4. 发送方报文ID(字符型,30位,必填) + @JSONField(name = "msgid") + private String msgid; + + // 5. 对账结果(字符型,6位,必填) + @JSONField(name = "stmt_rslt") + private String stmtRslt; + + // 6. 退费结算标志(字符型,3位,必填) + @JSONField(name = "refd_setl_flag") + private String refdSetlFlag; + + // 7. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 8. 医疗费总额(数值型,16位含2位小数,非必填) + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + // 9. 基金支付总额(数值型,16位含2位小数,非必填) + @JSONField(name = "fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + // 10. 个人账户支出(数值型,16位含2位小数,非必填) + @JSONField(name = "acct_pay") + private BigDecimal acctPay; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202OtherParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202OtherParam.java new file mode 100644 index 00000000..a6cd3a32 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3202OtherParam.java @@ -0,0 +1,21 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import liquibase.pro.packaged.D; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class Financial3202OtherParam extends Financial3202FileParam { + + // 7. 现金支付金额(数值型,16位含2位小数,必填) + private BigDecimal cashPayamt; + + private BigDecimal medSumfee; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AParam.java new file mode 100644 index 00000000..fa8b60a9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AParam.java @@ -0,0 +1,75 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import org.springframework.format.annotation.DateTimeFormat; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.annotation.Excel; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3203A】清算 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Financial3203AParam extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + // 1. 清算类别(字符型,30位,必填) + @JSONField(name = "clr_type") + private String clrType; + + // 2. 医疗费总额(数值型,16位含2位小数,必填) + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + // 3. 医保认可费用总额(数值型,16位含2位小数,必填) + @JSONField(name = "med_sumfee") + private BigDecimal medSumfee; + + // 4. 基金申报总额(数值型,16位含2位小数,必填) + @JSONField(name = "fund_appy_sum") + private BigDecimal fundAppySum; + + // 5. 现金支付金额(数值型,16位含2位小数,必填) + @JSONField(name = "cash_payamt") + private BigDecimal cashPayamt; + + // 6. 个人账户支出(数值型,16位含2位小数,必填) + @JSONField(name = "acct_pay") + private BigDecimal acctPay; + + // 7. 开始日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "begndate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date begndate; + + // 8. 结束日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "enddate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date enddate; + + // 9. 清算机构(字符型,6位,必填) + @JSONField(name = "clr_optins") + private String clrOptins; // 必须是准确的6位编码 +// +// // 统筹区号,仅传参用 +// @JSONField(deserialize = false) +// private String admvs; // 必须是准确的6位编码 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AWebParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AWebParam.java new file mode 100644 index 00000000..673dc148 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203AWebParam.java @@ -0,0 +1,37 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotNull; +import java.util.Date; +import java.util.List; + +/** + * 【3203A】前台入参 + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +@Accessors(chain = true) +public class Financial3203AWebParam { + + /** 清算类别 */ + @NotNull + private String clrType; + /** 开始时间 */ + @NotNull + private Date stmtBegnDate; + /** 结束时间 */ + @NotNull + private Date stmtEndDate; + /** 清算机构 */ + @NotNull + private String clrOptins; + + List settlementIdList; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Dto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Dto.java new file mode 100644 index 00000000..b7df06bf --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Dto.java @@ -0,0 +1,39 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 【3203】后台计算结果 DB映射实体 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Data +public class Financial3203Dto { + // 清算人次 + private Long psntime; + // 医保认可费用总额(数值型,16位含2位小数,必填) + private BigDecimal medSumfee; + // 现金支付金额(数值型,16位含2位小数,必填) + private BigDecimal cashPayamt; + // 个人账户支出(数值型,16位含2位小数,必填) + private BigDecimal acctPay; + /** 医疗费用总额 */ + private BigDecimal medFeeSumAmt; + /** 基金支付总额 */ + private BigDecimal fundPaySumAmt; + /** 个人账户支付总额 */ + private BigDecimal acctGjPay; + /** 现金支付总额 */ + private BigDecimal selfPayCash; + /** 微信支付总额 */ + private BigDecimal selfPayVX; + /** 阿里支付总额 */ + private BigDecimal selfPayALI; + /** 银行卡支付总额 */ + private BigDecimal selfPayUNION; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Param.java new file mode 100644 index 00000000..ba206d9e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203Param.java @@ -0,0 +1,72 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【3203】清算申请 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Financial3203Param { + private static final long serialVersionUID = 1L; + + // 1. 清算类别(字符型,30位,必填) + @JSONField(name = "clr_type") + private String clrType; + + // 10. 清算方式(字符型,30位,必填) + @JSONField(name = "clr_way") + private String clrWay; + + // 2. 医疗费总额(数值型,16位含2位小数,必填) + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + // 3. 医保认可费用总额(数值型,16位含2位小数,必填) + @JSONField(name = "med_sumfee") + private BigDecimal medSumfee; + + // 4. 基金申报总额(数值型,16位含2位小数,必填) + @JSONField(name = "fund_appy_sum") + private BigDecimal fundAppySum; + + // 5. 现金支付金额(数值型,16位含2位小数,必填) + @JSONField(name = "cash_payamt") + private BigDecimal cashPayamt; + + // 6. 个人账户支出(数值型,16位含2位小数,必填) + @JSONField(name = "acct_pay") + private BigDecimal acctPay; + + // 7. 开始日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "begndate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date begndate; + + // 8. 结束日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "enddate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date enddate; + + // 9. 清算年月 + @JSONField(name = "setlym") + private String setlym; + + // 11. 清算人次 + @JSONField(name = "psntime") + private Long psntime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203WebParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203WebParam.java new file mode 100644 index 00000000..7c1c7dae --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3203WebParam.java @@ -0,0 +1,42 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * 【3203】前台入参 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Data +public class Financial3203WebParam { + + // 清算类别(字符型,30位,必填) + @JSONField(name = "clr_type") + private String clrType; + + // 清算方式(字符型,30位,必填) + @JSONField(name = "clr_way") + private String clrWay; + + // 开始日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "begndate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date begndate; + + // 结束日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "enddate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date enddate; + + // 清算年月 + @JSONField(name = "setlym") + private String setlym; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3204Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3204Param.java new file mode 100644 index 00000000..edf81763 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Financial3204Param.java @@ -0,0 +1,32 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3204A】清算申请撤销 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Financial3204Param { + /** + * 机构清算申请事件ID + */ + @JSONField(name = "clr_appy_evt_id") + private String clrAppyEvtId; + /** + * 清算机构 + */ + @JSONField(name = "clr_optins") + private String clrOptins; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialClearing3203AWebParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialClearing3203AWebParam.java new file mode 100644 index 00000000..a2cc8b73 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialClearing3203AWebParam.java @@ -0,0 +1,19 @@ +package com.openhis.yb.dto; + +import lombok.Data; + +import java.util.Date; + +@Data +public class FinancialClearing3203AWebParam { + + /** 结算经办机构 */ + private String setlOptins; + /** 清算类别 */ + private String clrType; + /** 开始时间 */ + private String stmtBegnDate;//年月日 + /** 结束时间 */ + private String stmtEndDate; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Param.java new file mode 100644 index 00000000..f8a15810 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Param.java @@ -0,0 +1,68 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3202】医药机构费用结算对明细账 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FinancialSettlement3202Param { + // 1. 结算经办机构(字符型,6位,必填) + @JSONField(name = "setl_optins") + private String setlOptins; + + // 2. 文件查询号(字符型,30位,必填) + @JSONField(name = "file_qury_no") + private String fileQuryNo; + + // 3. 对账开始日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "stmt_begndate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date stmtBegndate; + + // 4. 对账结束日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "stmt_enddate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date stmtEnddate; + + // 5. 医疗费总额(数值型,16位含2位小数,必填) + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + // 6. 基金支付总额(数值型,16位含2位小数,必填) + @JSONField(name = "fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + // 7. 现金支付金额(数值型,16位含2位小数,必填) + @JSONField(name = "cash_payamt") + private BigDecimal cashPayamt; + + // 8. 定点医药机构结算笔数(数值型,10位,必填) + @JSONField(name = "fixmedins_setl_cnt") + private Integer fixmedinsSetlCnt; + + // 9. 清算类别(字符型,6位,必填) + @JSONField(name = "clr_type") + private String clrType; + + // 10. 退费结算标志(字符型,3位,必填) + @JSONField(name = "refd_setl_flag") + private String refdSetlFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Result.java new file mode 100644 index 00000000..4ba19c16 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3202Result.java @@ -0,0 +1,37 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3202】医药机构费用结算对明细账-文件输出实体 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FinancialSettlement3202Result { + // 1. 文件查询号(字符型,30位,必填) + @JSONField(name = "file_qury_no") + private String fileQuryNo; + + // 2. 文件名称(字符型,200位,必填) + @JSONField(name = "filename") + private String filename; + + // 3. 下载截止时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "dld_endtime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dldEndtime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AParam.java new file mode 100644 index 00000000..bc895b4b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AParam.java @@ -0,0 +1,40 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + *【3209A】查询跨省三方对账未成功数据(吉林省)-输入参数 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FinancialSettlement3209AParam { + + // 清算类别 + @JSONField(name = "clr_type") + private String clrType; + + // 开始日期 + @JSONField(name = "begndate") + private Date begndate; + + // 结束日期 + @JSONField(name = "enddate") + private Date enddate; + + // 清算机构 + @JSONField(name = "clr_optins") + private String clrOptins; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AResult.java new file mode 100644 index 00000000..3e5d3156 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FinancialSettlement3209AResult.java @@ -0,0 +1,28 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3209A】查询跨省三方对账未成功数据(吉林省)-输出参数] + * + * @author SunJQ + * @date 2025-04-21 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FinancialSettlement3209AResult { + // 结算ID + @JSONField(name = "setlId") + private String setlId; + + // 参保地区划 + @JSONField(name = "insuAdmdvs") + private String insuAdmdvs; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiConsultation3101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiConsultation3101Param.java new file mode 100644 index 00000000..db81d384 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiConsultation3101Param.java @@ -0,0 +1,46 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.List; +import java.util.Set; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3101】明细审核事前分析服务(输入-规则分析信息) + * 【3102】明细审核事中分析服务(输入-规则分析信息) + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiConsultation3101Param { + + // 1. 系统编码 + @JSONField(name = "syscode") + private String syscode; + + // 2. 参保人信息 + @JSONField(name = "patient_dtos") + private List patientDtos; + + // 3. 规则标识集合(非必填) + @JSONField(name = "rule_ids") + private Set ruleIds; + + // 4. 任务ID + @JSONField(name = "task_id") + private String taskId; + + // 5. 触发场景 + @JSONField(name = "trig_scen") + private String trigScen; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiDiagnose3101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiDiagnose3101Param.java new file mode 100644 index 00000000..d2272093 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiDiagnose3101Param.java @@ -0,0 +1,57 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【3101】明细审核事前分析服务(输入-诊断信息) + * 【3102】明细审核事中分析服务(输入-诊断信息) + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiDiagnose3101Param { + + // 1. 诊断标识 + @JSONField(name = "dise_id") + private String diseId; + + // 2. 出入诊断类别 + @JSONField(name = "inout_dise_type") + private String inoutDiseType; + + // 3. 主诊断标志 + @JSONField(name = "maindise_flag") + private String maindiseFlag; + + // 4. 诊断排序号 + @JSONField(name = "dias_srt_no") + private String diasSrtNo; + + // 5. 诊断(疾病)编码 + @JSONField(name = "dise_codg") + private String diseCodg; + + // 6. 诊断(疾病)名称 + @JSONField(name = "dise_name") + private String diseName; + + // 7. 诊断日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "dise_date") + private Date diseDate; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiEncounter3101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiEncounter3101Param.java new file mode 100644 index 00000000..de6ddaee --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiEncounter3101Param.java @@ -0,0 +1,167 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【3101】明细审核事前分析服务(输入-就诊信息) + * 【3102】明细审核事中分析服务(输入-就诊信息) + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiEncounter3101Param { + // 1. 就诊标识 + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 医疗服务机构标识 + @JSONField(name = "medins_id") + private String medinsId; + + // 3. 医疗机构名称 + @JSONField(name = "medins_name") + private String medinsName; + + // 4. 医疗机构行政区划编码 + @JSONField(name = "medins_admdvs") + private String medinsAdmdvs; + + // 5. 医疗服务机构类型 + @JSONField(name = "medins_type") + private String medinsType; + + // 6. 医疗机构等级 + @JSONField(name = "medins_lv") + private String medinsLv; + + // 7. 病区标识 + @JSONField(name = "wardarea_codg") + private String wardareaCodg; + + // 8. 病房号 + @JSONField(name = "wardno") + private String wardno; + + // 9. 病床号 + @JSONField(name = "bedno") + private String bedno; + + // 10. 入院日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "adm_date") + private Date admDate; + + // 11. 出院日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "dscg_date") + private Date dscgDate; + + // 12. 主诊断编码 + @JSONField(name = "dscg_main_dise_codg") + private String dscgMainDiseCodg; + + // 13. 主诊断名称 + @JSONField(name = "dscg_main_dise_name") + private String dscgMainDiseName; + + // 14. 诊断信息DTO + @JSONField(name = "fsi_diagnose_dtos") + private List fsiDiagnoseDtos; + + // 15. 医师标识 + @JSONField(name = "dr_codg") + private String drCodg; + + // 16. 入院科室标识 + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + // 17. 入院科室名称 + @JSONField(name = "adm_dept_name") + private String admDeptName; + + // 18. 出院科室标识 + @JSONField(name = "dscg_dept_codg") + private String dscgDeptCodg; + + // 19. 出院科室名称 + @JSONField(name = "dscg_dept_name") + private String dscgDeptName; + + // 20. 就诊类型 + @JSONField(name = "med_mdtrt_type") + private String medMdtrtType; + + // 21. 医疗类别 + @JSONField(name = "med_type") + private String medType; + + // 22. 处方(医嘱)信息 + @JSONField(name = "fsi_order_dtos") + private List fsiOrderDtos; + + // 23. 生育状态 + @JSONField(name = "matn_stas") + private String matnStas; + + // 24. 总费用 + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + // 25. 自费金额 + @JSONField(name = "ownpay_amt") + private BigDecimal ownpayAmt; + + // 26. 自付金额 + @JSONField(name = "selfpay_amt") + private BigDecimal selfpayAmt; + + // 27. 个人账户支付金额 + @JSONField(name = "acct_payamt") + private BigDecimal acctPayamt; + + // 28. 救助金支付金额 + @JSONField(name = "ma_amt") + private BigDecimal maAmt; + + // 29. 统筹金支付金额 + @JSONField(name = "hifp_payamt") + private BigDecimal hifpPayamt; + + // 30. 结算总次数 + @JSONField(name = "setl_totlnum") + private Integer setlTotlnum; + + // 31. 险种 + @JSONField(name = "insutype") + private String insutype; + + // 32. 报销标志 + @JSONField(name = "reim_flag") + private String reimFlag; + + // 33. 异地结算标志 + @JSONField(name = "out_setl_flag") + private String outSetlFlag; + + // 34. 手术操作集合 + @JSONField(name = "fsi_operation_dtos") + private List fsiOperationDtos; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103DataParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103DataParam.java new file mode 100644 index 00000000..06a5db46 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103DataParam.java @@ -0,0 +1,27 @@ +package com.openhis.yb.dto; + +import java.util.List; +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3103】事前事中服务反馈服务(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiFeedback3103DataParam { + // 1. 反馈类型 + @JSONField(name = "warn_type") + private String warnType; + + // 2. 处理数据集合 + @JSONField(name = "warns") + private List warns; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103WarnsParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103WarnsParam.java new file mode 100644 index 00000000..f23de393 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiFeedback3103WarnsParam.java @@ -0,0 +1,31 @@ +package com.openhis.yb.dto; + +import java.util.List; +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3103】事前事中服务反馈服务(输入-反馈处理数据) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiFeedback3103WarnsParam { + // 1. 违规标识 + @JSONField(name = "warn_rslt_id") + private String warnRsltId; + + // 2. 处理方式 + @JSONField(name = "dspo_way") + private String dspoWay; + + // 3. 处理原因 + @JSONField(name = "dspo_way_rea") + private String dspoWayRea; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOperation3101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOperation3101Param.java new file mode 100644 index 00000000..dd7b8bae --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOperation3101Param.java @@ -0,0 +1,67 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.Date; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【3101】明细审核事前分析服务(输入-手术操作信息) + * 【3102】明细审核事中分析服务(输入-手术操作信息) + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiOperation3101Param { + + // 1. 手术操作ID + @JSONField(name = "setl_list_oprn_id") + private String setlListOprnId; + + // 2. 手术操作代码 + @JSONField(name = "oprn_code") + private String oprnCode; + + // 3. 手术操作名称 + @JSONField(name = "oprn_name") + private String oprnName; + + // 4. 主手术操作标志 + @JSONField(name = "main_oprn_flag") + private String mainOprnFlag; + + // 5. 手术操作日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "oprn_date") + private Date oprnDate; + + // 6. 麻醉方式 + @JSONField(name = "anst_way") + private String anstWay; + + // 7. 术者医师姓名 + @JSONField(name = "oper_dr_name") + private String operDrName; + + // 8. 术者医师代码 + @JSONField(name = "oper_dr_code") + private String operDrCode; + + // 9. 麻醉医师姓名 + @JSONField(name = "anst_dr_name") + private String anstDrName; + + // 10. 麻醉医师代码 + @JSONField(name = "anst_dr_code") + private String anstDrCode; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOrder3101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOrder3101Param.java new file mode 100644 index 00000000..a3c945f3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiOrder3101Param.java @@ -0,0 +1,168 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【3101】明细审核事前分析服务(输入-处方(医嘱)信息) + * 【3102】明细审核事中分析服务(输入-处方(医嘱)信息) + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiOrder3101Param { + + // 1. 处方(医嘱)标识 + @JSONField(name = "rx_id") + private String rxId; + + // 2. 处方号 + @JSONField(name = "rxno") + private String rxno;//2025/05/05 李要求该字段对应耗材时使用buz_no,药品时使用处方号 + + // 3. 组编号 + @JSONField(name = "grpno") + private String grpno; + + // 4. 是否为长期医嘱 [1=是,0=否] + @JSONField(name = "long_drord_flag") + private String longDrordFlag; + + // 5. 目录类别(参考字典表) + @JSONField(name = "hilist_type") + private String hilistType; + + // 6. 收费类别(参考字典表) + @JSONField(name = "chrg_type") + private String chrgType; + + // 7. 医嘱行为(参考字典表) + @JSONField(name = "drord_bhvr") + private String drordBhvr; + + // 8. 医保目录代码(国家统一标准编码) + @JSONField(name = "hilist_code") + private String hilistCode; + + // 9. 医保目录名称(国家统一标准名称) + @JSONField(name = "hilist_name") + private String hilistName; + + // 10. 医保目录(药品)剂型(国家统一标准药品剂型) + @JSONField(name = "hilist_dosform") + private String hilistDosform; + + // 11. 医保目录等级 + @JSONField(name = "hilist_lv") + private String hilistLv; + + // 12. 医保目录价格 + @JSONField(name = "hilist_pric") + private BigDecimal hilistPric; + + // 13. 一级医院目录价格 + @JSONField(name = "lv1_hosp_item_pric") + private BigDecimal lv1HospItemPric; + + // 14. 二级医院目录价格 + @JSONField(name = "lv2_hosp_item_pric") + private BigDecimal lv2HospItemPric; + + // 15. 三级医院目录价格 + @JSONField(name = "lv3_hosp_item_pric") + private BigDecimal lv3HospItemPric; + + // 16. 医保目录备注 + @JSONField(name = "hilist_memo") + private String hilistMemo; + + // 17. 医院目录代码 + @JSONField(name = "hosplist_code") + private String hosplistCode; + + // 18. 医院目录名称 + @JSONField(name = "hosplist_name") + private String hosplistName; + + // 19. 医院目录(药品)剂型 + @JSONField(name = "hosplist_dosform") + private String hosplistDosform; + + // 20. 数量 + @JSONField(name = "cnt") + private BigDecimal cnt; + + // 21. 单价 + @JSONField(name = "pric") + private BigDecimal pric; + + // 22. 总费用 + @JSONField(name = "sumamt") + private BigDecimal sumamt; + + // 23. 自费金额 + @JSONField(name = "ownpay_amt") + private BigDecimal ownpayAmt; + + // 24. 自付金额 + @JSONField(name = "selfpay_amt") + private BigDecimal selfpayAmt; + + // 25. 规格 + @JSONField(name = "spec") + private String spec; + + // 26. 数量单位 + @JSONField(name = "spec_unt") + private String specUnt; + + // 27. 医嘱开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "drord_begn_date") + private Date drordBegnDate; + + // 28. 医嘱停止日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "drord_stop_date") + private Date drordStopDate; + + // 29. 下达医嘱的科室标识 + @JSONField(name = "drord_dept_codg") + private String drordDeptCodg; + + // 30. 下达医嘱科室名称 + @JSONField(name = "drord_dept_name") + private String drordDeptName; + + // 31. 开处方(医嘱)医生标识 + @JSONField(name = "drord_dr_codg") + private String drordDrCodg; + + // 32. 开处方(医嘱)医生姓名 + @JSONField(name = "drord_dr_name") + private String drordDrName; + + // 33. 开处方(医嘱)医职称 + @JSONField(name = "drord_dr_profttl") + private String drordDrProfttl; + + // 34. 是否当前处方(医嘱)[1=是,0=否] + @JSONField(name = "curr_drord_flag") + private String currDrordFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiPatient3101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiPatient3101Param.java new file mode 100644 index 00000000..ca338601 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiPatient3101Param.java @@ -0,0 +1,61 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.Date; +import java.util.List; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【3101】明细审核事前分析服务(输入-参保人信息) + * 【3102】明细审核事中分析服务(输入-参保人信息) + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiPatient3101Param { + + // 1. 参保人标识 + @JSONField(name = "patn_id") + private String patnId; + + // 2. 姓名 + @JSONField(name = "patn_name") + private String patnName; + + // 3. 性别 + @JSONField(name = "gend") + private String gend; + + // 4. 出生日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "brdy") + private Date brdy; + + // 5. 统筹区编码 + @JSONField(name = "poolarea") + private String poolarea; + + // 6. 当前就诊标识 + @JSONField(name = "curr_mdtrt_id") + private String currMdtrtId; + + // 7. 就诊信息集合 + @JSONField(name = "fsi_encounter_dtos") + private List fsiEncounterDtos; + +// // 8. 医院信息集合(非必填项) +// @JSONField(name = "fsi_his_data_dto") +// private FsiHisData fsiHisDataDto; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolation3101Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolation3101Result.java new file mode 100644 index 00000000..6ea0cccf --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolation3101Result.java @@ -0,0 +1,72 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.List; +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3101】明细审核事前分析服务(输出-违规信息) + * 【3102】明细审核事中分析服务(输出-违规信息) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiViolation3101Result { + // 1. 违规标识 + @JSONField(name = "jr_id") + private String jrId; + + // 2. 规则ID + @JSONField(name = "rule_id") + private String ruleId; + + // 3. 规则名称 + @JSONField(name = "rule_name") + private String ruleName; + + // 4. 违规内容 + @JSONField(name = "vola_cont") + private String volaCont; + + // 5. 参保人ID + @JSONField(name = "patn_id") + private String patnId; + + // 6. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 7. 违规明细 + @JSONField(name = "judge_result_detail_dtos") + private List judgeResultDetailDtos; + + // 8. 违规金额 + @JSONField(name = "vola_amt") + private BigDecimal volaAmt; + + // 9. 违规金额计算状态 + @JSONField(name = "vola_amt_stas") + private String volaAmtStas; + + // 10. 严重程度 + @JSONField(name = "sev_deg") + private String sevDeg; + + // 11. 违规依据 + @JSONField(name = "vola_evid") + private String volaEvid; + + // 12. 违规行为分类 + @JSONField(name = "vola_bhvr_type") + private String volaBhvrType; + + // 13. 任务ID + @JSONField(name = "task_id") + private String taskId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolationDetail3101Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolationDetail3101Result.java new file mode 100644 index 00000000..4ac35dda --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/FsiViolationDetail3101Result.java @@ -0,0 +1,43 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3101】明细审核事前分析服务(输出-违规明细信息) + * 【3102】明细审核事中分析服务(输出-违规明细信息) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FsiViolationDetail3101Result { + // 1. 违规明细标识 + @JSONField(name = "jrd_id") + private String jrdId; + + // 2. 参保人标识 + @JSONField(name = "patn_id") + private String patnId; + + // 3. 就诊标识 + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 4. 处方(医嘱)标识 + @JSONField(name = "rx_id") + private String rxId; + + // 5. 违规明细类型 + @JSONField(name = "vola_item_type") + private String volaItemType; + + // 6. 违规金额 + @JSONField(name = "vola_amt") + private BigDecimal volaAmt; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401DiseInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401DiseInfoParam.java new file mode 100644 index 00000000..f0d13869 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401DiseInfoParam.java @@ -0,0 +1,70 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2401】入院办理(输入-入院诊断信息) + * + * @author yuanzs + * @date 2025-05-07 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2401DiseInfoParam { + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 诊断类别 + @JSONField(name = "diag_type") + private String diagType; + + // 3. 主诊断标志 + @JSONField(name = "maindiag_flag") + private String maindiagFlag; + + // 4. 诊断排序号 + @JSONField(name = "diag_srt_no") + private BigDecimal diagSrtNo; + + // 5. 诊断代码 + @JSONField(name = "diag_code") + private String diagCode; + + // 6. 诊断名称 + @JSONField(name = "diag_name") + private String diagName; + + // 7. 入院病情 + @JSONField(name = "adm_cond") + private String admCond; + + // 8. 诊断科室 + @JSONField(name = "diag_dept") + private String diagDept; + + // 9. 诊断医生编码 + @JSONField(name = "dise_dor_no") + private String diseDorNo; + + // 10. 诊断医生姓名 + @JSONField(name = "dise_dor_name") + private String diseDorName; + + // 11. 诊断时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "diag_time") + private Date diagTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401MdtInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401MdtInfoParam.java new file mode 100644 index 00000000..7de95660 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2401MdtInfoParam.java @@ -0,0 +1,193 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2401】入院办理 + * + * @author yuanzs + * @date 2025-05-07 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2401MdtInfoParam { + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 3. 联系人姓名 + @JSONField(name = "coner_name") + private String conerName; + + // 4. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 5. 开始时间(入院时间) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "begntime") + private Date begntime; + + // 6. 就诊凭证类型 + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; + + // 7. 就诊凭证编号 + @JSONField(name = "mdtrt_cert_no") + private String mdtrtCertNo; + + // 8. 医疗类别 + @JSONField(name = "med_type") + private String medType; + + // 9. 住院号 + @JSONField(name = "ipt_no") + private String iptNo; + + // 10. 病历号 + @JSONField(name = "medrcdno") + private String medrcdno; + + // 11. 主治医生编码 + @JSONField(name = "atddr_no") + private String atddrNo; + + // 12. 主诊医师姓名 + @JSONField(name = "chfpdr_name") + private String chfpdrName; + + // 13. 入院诊断描述 + @JSONField(name = "adm_diag_dscr") + private String admDiagDscr; + + // 14. 入院科室编码 + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + // 15. 入院科室名称 + @JSONField(name = "adm_dept_name") + private String admDeptName; + + // 16. 入院床位 + @JSONField(name = "adm_bed") + private String admBed; + + // 17. 住院主诊断代码 + @JSONField(name = "dscg_maindiag_code") + private String dscgMaindiagCode; + + // 18. 住院主诊断名称 + @JSONField(name = "dscg_maindiag_name") + private String dscgMaindiagName; + + // 19. 主要病情描述 + @JSONField(name = "main_cond_dscr") + private String mainCondDscr; + + // 20. 病种编码 + @JSONField(name = "dise_codg") + private String diseCodg; + + // 21. 病种名称 + @JSONField(name = "dise_name") + private String diseName; + + // 22. 手术操作代码 + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + // 23. 手术操作名称 + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + // 24. 计划生育服务证号 + @JSONField(name = "fpsc_no") + private String fpscNo; + + // 25. 生育类别 + @JSONField(name = "matn_type") + private String matnType; + + // 26. 计划生育手术类别 + @JSONField(name = "birctrl_type") + private String birctrlType; + + // 27. 晚育标志 + @JSONField(name = "latechb_flag") + private String latechbFlag; + + // 28. 孕周数 + @JSONField(name = "geso_val") + private BigDecimal gesoVal; + + // 29. 胎次 + @JSONField(name = "fetts") + private BigDecimal fetts; + + // 30. 胎儿数 + @JSONField(name = "fetus_cnt") + private BigDecimal fetusCnt; + + // 31. 早产标志 + @JSONField(name = "pret_flag") + private String pretFlag; + + // 32. 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "birctrl_matn_date") + private Date birctrlMatnDate; + + // 33. 病种类型 + @JSONField(name = "dise_type_code") + private String diseTypeCode; + + // 34. 字段扩展 + @JSONField(name = "exp_content") + private String expContent; + + // 35. 参保地医保区划 + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs; + + // 36. 就医地医保区划 + @JSONField(name = "mdtrtarea_admvs") + private String mdtrtareaAdmvs; + + // 37. 外伤标识(仅对异地根据情况填写) + @JSONField(name = "trum_flag") + private String trumFlag; + + // 38. 涉及第三方标志(仅对异地根据情况填写) + @JSONField(name = "rel_ttp_flag") + private String relTtpFlag; + + // 39. 就诊人群类型(仅对异地根据情况填写) + @JSONField(name = "mdtrt_grp_type") + private String mdtrtGrpType; + + // 40. 入院诊断信息集合 + private List diseInfoParams; + + // 41. 就诊ID(输出) + @JSONField(name = "mdtrtId") + private String mdtrt_id; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DiseInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DiseInfoParam.java new file mode 100644 index 00000000..2cdc0d4e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DiseInfoParam.java @@ -0,0 +1,72 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2402】出院办理(输入-出院诊断信息) + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2402DiseInfoParam { + + // 1. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 诊断类别 + @JSONField(name = "diag_type") + private String diagType; + + // 4. 主诊断标志 + @JSONField(name = "maindiag_flag") + private String maindiagFlag; + + // 5. 诊断排序号 + @JSONField(name = "diag_srt_no") + private BigDecimal diagSrtNo; + + // 6. 诊断代码 + @JSONField(name = "diag_code") + private String diagCode; + + // 7. 诊断名称 + @JSONField(name = "diag_name") + private String diagName; + + // 8. 诊断科室 + @JSONField(name = "diag_dept") + private String diagDept; + + // 9. 诊断医生编码 + @JSONField(name = "dise_dor_no") + private String diseDorNo; + + // 10. 诊断医生姓名 + @JSONField(name = "dise_dor_name") + private String diseDorName; + + // 11. 诊断时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "diag_time") + private Date diagTime; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DscgInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DscgInfoParam.java new file mode 100644 index 00000000..b11ba22c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2402DscgInfoParam.java @@ -0,0 +1,131 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2402】出院办理 + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2402DscgInfoParam { + // 1. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 4. 结束时间(出院时间) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "endtime") + private Date endtime; + + // 5. 病种编码 + @JSONField(name = "dise_codg") + private String diseCodg; + + // 6. 病种名称 + @JSONField(name = "dise_name") + private String diseName; + + // 7. 手术操作代码(日间手术病种时必填) + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + // 8. 手术操作名称 + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + // 9. 计划生育服务证号 + @JSONField(name = "fpsc_no") + private String fpscNo; + + // 10. 生育类别 + @JSONField(name = "matn_type") + private String matnType; + + // 11. 计划生育手术类别 + @JSONField(name = "birctrl_type") + private String birctrlType; + + // 12. 晚育标志 + @JSONField(name = "latechb_flag") + private String latechbFlag; + + // 13. 孕周数 + @JSONField(name = "esso_val") + private BigDecimal essoVal; + + // 14. 胎次 + @JSONField(name = "fetts") + private BigDecimal fetts; + + // 15. 胎儿数 + @JSONField(name = "fetus_cnt") + private BigDecimal fetusCnt; + + // 16. 早产标志 + @JSONField(name = "pret_flag") + private String pretFlag; + + // 17. 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "birctrl_matn_date") + private Date birctrlMatnDate; + + // 18. 伴有并发症标志 + @JSONField(name = "cop_flag") + private String copFlag; + + // 19. 出院科室编码 + @JSONField(name = "dscg_dept_codg") + private String dscgDeptCodg; + + // 20. 出院科室名称 + @JSONField(name = "dscg_dept_name") + private String dscgDeptName; + + // 21. 出院床位 + @JSONField(name = "dscg_bed") + private String dscgBed; + + // 22. 离院方式 + @JSONField(name = "dscg_way") + private String dscgWay; + + // 23. 死亡日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "die_date") + private Date dieDate; + + // 24. 字段扩展 + @JSONField(name = "exp_content") + private String expContent; + + // 25. 出院诊断信息 + private List diseInfoParams; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403AdmInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403AdmInfoParam.java new file mode 100644 index 00000000..6673bd8a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403AdmInfoParam.java @@ -0,0 +1,182 @@ +package com.openhis.yb.dto; + +import java.util.Date; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2403】住院信息变更 + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2403AdmInfoParam { + + // 1. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 联系人姓名 + @JSONField(name = "coner_name") + private String conerName; + + // 4. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 5. 开始时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "begntime") + private Date begntime; + + // 6. 结束时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "endtime") + private Date endtime; + + // 7. 就诊凭证类型 + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; + + // 8. 医疗类别 + @JSONField(name = "med_type") + private String medType; + + // 9. 住院/门诊号 + @JSONField(name = "ipt_otp_no") + private String iptOtpNo; + + // 10. 病历号 + @JSONField(name = "medrcdno") + private String medrcdno; + + // 11. 主治医生编码 + @JSONField(name = "atddr_no") + private String atddrNo; + + // 12. 主诊医师姓名 + @JSONField(name = "chfpdr_name") + private String chfpdrName; + + // 13. 入院诊断描述 + @JSONField(name = "adm_diag_dscr") + private String admDiagDscr; + + // 14. 入院科室编码 + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + // 15. 入院科室名称 + @JSONField(name = "adm_dept_name") + private String admDeptName; + + // 16. 入院床位 + @JSONField(name = "adm_bed") + private String admBed; + + // 17. 住院主诊断代码 + @JSONField(name = "dscg_maindiag_code") + private String dscgMaindiagCode; + + // 18. 住院主诊断名称 + @JSONField(name = "dscg_maindiag_name") + private String dscgMaindiagName; + + // 19. 主要病情描述 + @JSONField(name = "main_cond_dscr") + private String mainCondDscr; + + // 20. 病种编码 + @JSONField(name = "dise_codg") + private String diseCodg; + + // 21. 病种名称 + @JSONField(name = "dise_name") + private String diseName; + + // 22. 手术操作代码 + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + // 23. 手术操作名称 + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + // 24. 计划生育服务证号 + @JSONField(name = "fpsc_no") + private String fpscNo; + + // 25. 生育类别 + @JSONField(name = "matn_type") + private String matnType; + + // 26. 计划生育手术类别 + @JSONField(name = "birctrl_type") + private String birctrlType; + + // 27. 晚育标志 + @JSONField(name = "latechb_flag") + private String latechbFlag; + + // 28. 孕周数 + @JSONField(name = "esso_val") + private Integer essoVal; + + // 29. 胎次 + @JSONField(name = "fetts") + private Integer fetts; + + // 30. 胎儿数 + @JSONField(name = "fetus_cnt") + private Integer fetusCnt; + + // 31. 早产标志 + @JSONField(name = "pret_flag") + private String pretFlag; + + // 32. 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "birctrl_matn_date") + private Date birctrlMatnDate; + + // 33. 病种编号 + @JSONField(name = "dise_type_code") + private String diseTypeCode; + + // 34. 字段扩展 + @JSONField(name = "exp_content") + private String expContent; + + // 35. 外伤标识(仅对异地根据情况填写) + @JSONField(name = "trum_flag") + private String trumFlag; + + // 36. 涉及第三方标志(仅对异地根据情况填写) + @JSONField(name = "rel_ttp_flag") + private String relTtpFlag; + + // 37. 就诊人群类型(仅对异地根据情况填写) + @JSONField(name = "mdtrt_grp_type") + private String mdtrtGrpType; + + // 38. 入院诊断信息集合 + private List diseInfoParams; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403DiseInfoParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403DiseInfoParam.java new file mode 100644 index 00000000..32dbec40 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2403DiseInfoParam.java @@ -0,0 +1,76 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2403】住院信息变更(输入-入院诊断信息) + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2403DiseInfoParam { + + // 1. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 诊断类别 + @JSONField(name = "diag_type") + private String diagType; + + // 4. 主诊断标志 + @JSONField(name = "maindiag_flag") + private String maindiagFlag; + + // 5. 诊断排序号 + @JSONField(name = "diag_srt_no") + private BigDecimal diagSrtNo; + + // 6. 诊断代码 + @JSONField(name = "diag_code") + private String diagCode; + + // 7. 诊断名称 + @JSONField(name = "diag_name") + private String diagName; + + // 8. 入院病情 + @JSONField(name = "adm_cond") + private String admCond; + + // 9. 诊断科室 + @JSONField(name = "diag_dept") + private String diagDept; + + // 10. 诊断医生编码 + @JSONField(name = "dise_dor_no") + private String diseDorNo; + + // 11. 诊断医生姓名 + @JSONField(name = "dise_dor_name") + private String diseDorName; + + // 12. 诊断时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "diag_time") + private Date diagTime; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2404AdmCnlParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2404AdmCnlParam.java new file mode 100644 index 00000000..4b5c5fc0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2404AdmCnlParam.java @@ -0,0 +1,32 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2404】入院撤销 + * 【2405】出院撤销 + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2404AdmCnlParam { + + // 1. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 字段扩展 + @JSONField(name = "exp_content") + private String expContent; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2406SmAttrUpParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2406SmAttrUpParam.java new file mode 100644 index 00000000..fc636ad0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2406SmAttrUpParam.java @@ -0,0 +1,62 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2401】就医特殊属性上传 + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2406SmAttrUpParam { + + // 1. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 人员证件类型 + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 4. 证件号码 + @JSONField(name = "certno") + private String certno; + + // 5. 人员姓名 + @JSONField(name = "psn_name") + private String psnName; + + // 6. 住院/门诊号 + @JSONField(name = "ipt_otp_no") + private String iptOtpNo; + + // 7. 就医人员特殊标识类型 + @JSONField(name = "ipt_psn_sp_flag_type") + private String iptPsnSpFlagType; + + // 8. 就医人员特殊标识 + @JSONField(name = "ipt_psn_sp_flag") + private String iptPsnSpFlag; + + // 9. 备注 + @JSONField(name = "memo") + private String memo; + + // 10. 医保区划 + @JSONField(name = "admdvs") + private String admdvs; + + // 11. 就医人员特殊标识明细id(输出) + @JSONField(name = "ipt_psn_sp_flag_detl_id") + private String iptPsnSpFlagDetlId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectParam.java new file mode 100644 index 00000000..a9857539 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectParam.java @@ -0,0 +1,78 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2407】就医特殊属性查询(输入) + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2407SmAttrSelectParam { + + // 1. 分页条数 + @JSONField(name = "page_num") + private BigDecimal pageNum; + + // 2. 分页大小 + @JSONField(name = "page_size") + private BigDecimal pageSize; + + // 3. 就医人员特殊标识明细id + @JSONField(name = "ipt_psn_sp_flag_detl_id") + private String iptPsnSpFlagDetlId; + + // 4. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 5. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 6. 人员证件类型 + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 7. 证件号码 + @JSONField(name = "certno") + private String certno; + + // 8. 人员姓名 + @JSONField(name = "psn_name") + private String psnName; + + // 9. 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 10. 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 11. 住院/门诊号 + @JSONField(name = "ipt_otp_no") + private String iptOtpNo; + + // 12. 就医人员特殊标识类型 + @JSONField(name = "ipt_psn_sp_flag_type") + private String iptPsnSpFlagType; + + // 13. 就医人员特殊标识 + @JSONField(name = "ipt_psn_sp_flag") + private String iptPsnSpFlag; + + // 14. 医保区划 + @JSONField(name = "admdvs") + private String admdvs; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectResult.java new file mode 100644 index 00000000..c3c9db41 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospAdm2407SmAttrSelectResult.java @@ -0,0 +1,67 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2407】就医特殊属性查询(输出) + * + * @author yuanzs + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospAdm2407SmAttrSelectResult { + + // 1. 就医人员特殊标识明细id + @JSONField(name = "ipt_psn_sp_flag_detl_id") + private String iptPsnSpFlagDetlId; + + // 2. 就诊ID + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + // 3. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 4. 人员证件类型 + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 5. 证件号码 + @JSONField(name = "certno") + private String certno; + + // 6. 人员姓名 + @JSONField(name = "psn_name") + private String psnName; + + // 7. 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 8. 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 9. 住院/门诊号 + @JSONField(name = "ipt_otp_no") + private String iptOtpNo; + + // 10. 就医人员特殊标识类型 + @JSONField(name = "ipt_psn_sp_flag_type") + private String iptPsnSpFlagType; + + // 11. 就医人员特殊标识 + @JSONField(name = "ipt_psn_sp_flag") + private String iptPsnSpFlag; + + // 12. 医保区划 + @JSONField(name = "admdvs") + private String admdvs; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401AParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401AParam.java new file mode 100644 index 00000000..8f90de10 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401AParam.java @@ -0,0 +1,19 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import java.util.Date; +import java.util.List; + +/** + * 【3401A】科室信息上传(批量) + * + * @author SunJQ + * @date 2025-04-28 + */ +public class HospDept3401AParam { + private List deptinfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401Param.java new file mode 100644 index 00000000..ca69fb72 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3401Param.java @@ -0,0 +1,89 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import java.util.Date; + +/** + * 【3401】科室信息上传 + * + * @author SunJQ + * @date 2025-04-28 + */ +public class HospDept3401Param { + + // 1. 医院科室编码(院内唯一编码) + @JSONField(name = "hosp_dept_codg") // JSON字段名映射 + private String hospDeptCodg; + + // 2. 科别(参照科室代码) + @JSONField(name = "caty") + private String caty; + + // 3. 医院科室名称 + @JSONField(name = "hosp_dept_name") + private String hospDeptName; + + // 4. 开始时间(日期时间格式) + @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss") // 指定时间格式 + private Date begnTime; + + // 5. 结束时间(日期时间格式) + @JSONField(name = "endtime", format = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + + // 6. 科室简介 + @JSONField(name = "itro") + private String itro; + + // 7. 科室负责人姓名 + @JSONField(name = "dept_resper_name") + private String deptResperName; + + // 8. 科室负责人电话 + @JSONField(name = "dept_resper_tel") + private String deptResperTel; + + // 9. 科室医疗服务范围 + @JSONField(name = "dept_med_serv_scp") + private String deptMedServScp; + + // 10. 科室成立日期(日期格式) + @JSONField(name = "dept_estbdat", format = "yyyy-MM-dd") + private Date deptEstbdat; + + // 11. 批准床位数量(长整型) + @JSONField(name = "aprv_bed_cnt") + private Long aprvBedCnt; + + // 12. 医保认可床位数(长整型) + @JSONField(name = "hi_crtf_bed_cnt") + private Long hiCrtfBedCnt; + + // 13. 统筹区编号 + @JSONField(name = "poolarea_no") + private String poolareaNo; + + // 14. 医师人数(整型) + @JSONField(name = "dr_psncnt") + private Integer drPsncnt; + + // 15. 药师人数(整型) + @JSONField(name = "phar_psncnt") + private Integer pharPsncnt; + + // 16. 护士人数(整型) + @JSONField(name = "nurs_psncnt") + private Integer nursPsncnt; + + // 17. 技师人数(整型) + @JSONField(name = "tecn_psncnt") + private Integer tecnPsncnt; + + // 18. 备注 + @JSONField(name = "memo") + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3402Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3402Param.java new file mode 100644 index 00000000..6e505cf3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3402Param.java @@ -0,0 +1,89 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import java.util.Date; + +/** + * 【3402】科室信息变更 + * + * @author SunJQ + * @date 2025-04-28 + */ +public class HospDept3402Param { + + // 1. 医院科室编码(院内唯一编码) + @JSONField(name = "hosp_dept_codg") + private String hospDeptCodg; + + // 2. 医院科室名称 + @JSONField(name = "hosp_dept_name") + private String hospDeptName; + + // 3. 开始时间(日期时间格式) + @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss") + private Date begnTime; + + // 4. 结束时间(日期时间格式) + @JSONField(name = "endtime", format = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + + // 5. 科室简介 + @JSONField(name = "itro") + private String itro; + + // 6. 科室负责人姓名 + @JSONField(name = "dept_resper_name") + private String deptResperName; + + // 7. 科室负责人电话 + @JSONField(name = "dept_resper_tel") + private String deptResperTel; + + // 8. 科室医疗服务范围 + @JSONField(name = "dept_med_serv_scp") + private String deptMedServScp; + + // 9. 科别(参照科室代码) + @JSONField(name = "caty") + private String caty; + + // 10. 科室成立日期(日期格式) + @JSONField(name = "dept_estbdat", format = "yyyy-MM-dd") + private Date deptEstbdat; + + // 11. 批准床位数量(长整型) + @JSONField(name = "aprv_bed_cnt") + private Long aprvBedCnt; + + // 12. 医保认可床位数(长整型) + @JSONField(name = "hi_crtf_bed_cnt") + private Long hiCrtfBedCnt; + + // 13. 统筹区编号 + @JSONField(name = "poolarea_no") + private String poolareaNo; + + // 14. 医师人数(整型) + @JSONField(name = "dr_psncnt") + private Integer drPsncnt; + + // 15. 药师人数(整型) + @JSONField(name = "phar_psncnt") + private Integer pharPsncnt; + + // 16. 护士人数(整型) + @JSONField(name = "nurs_psncnt") + private Integer nursPsncnt; + + // 17. 技师人数(整型) + @JSONField(name = "tecn_psncnt") + private Integer tecnPsncnt; + + // 18. 备注 + @JSONField(name = "memo") + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3403Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3403Param.java new file mode 100644 index 00000000..092b4708 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospDept3403Param.java @@ -0,0 +1,28 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import java.util.Date; + +/** + * 【3403】科室信息撤销 + * + * @author SunJQ + * @date 2025-04-28 + */ +public class HospDept3403Param { + // 1. 医院科室编码(院内唯一编码) + @JSONField(name = "hosp_dept_codg") + private String hospDeptCodg; + + // 2. 医院科室名称 + @JSONField(name = "hosp_dept_name") + private String hospDeptName; + + // 3. 开始时间(日期时间格式) + @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss") + private Date begnTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501ARefmedinParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501ARefmedinParam.java new file mode 100644 index 00000000..be46c2bd --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501ARefmedinParam.java @@ -0,0 +1,109 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2501A】转院备案(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospTrf2501ARefmedinParam { + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 3. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 4. 联系地址 + @JSONField(name = "addr") + private String addr; + + // 5. 参保机构医保区划 + @JSONField(name = "insu_optins") + private String insuOptins; + + // 6. 诊断代码 + @JSONField(name = "diag_code") + private String diagCode; + + // 7. 诊断名称 + @JSONField(name = "diag_name") + private String diagName; + + // 8. 疾病病情描述 + @JSONField(name = "dise_cond_dscr") + private String diseCondDscr; + + // 9. 转往定点医药机构编号 + @JSONField(name = "reflin_medins_no") + private String reflinMedinsNo; + + // 10. 转往医院名称 + @JSONField(name = "reflin_medins_name") + private String reflinMedinsName; + + // 11. 就医地行政区划 + @JSONField(name = "mdtrtarea_admdvs") + private String mdtrtareaAdmdvs; + + // 12. 医院同意转院标志 + @JSONField(name = "hosp_agre_refl_flag") + private String hospAgreReflFlag; + + // 13. 转院类型 + @JSONField(name = "refl_type") + private String reflType; + + // 14. 转院日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "refl_date") + private Date reflDate; + + // 15. 转院原因 + @JSONField(name = "refl_rea") + private String reflRea; + + // 16. 转院意见 + @JSONField(name = "refl_opnn") + private String reflOpnn; + + // 17. 开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "begndate") + private Date begndate; + + // 18. 结束日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "enddate") + private Date enddate; + + // 19. 转院前就诊id + @JSONField(name = "refl_old_mdtrt_id") + private String reflOldMdtrtId; + + // 20. 待遇申报明细流水号(输出) + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501RefmedinParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501RefmedinParam.java new file mode 100644 index 00000000..15498c57 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrf2501RefmedinParam.java @@ -0,0 +1,108 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 【2501】转院备案(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class HospTrf2501RefmedinParam { + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 3. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 4. 联系地址 + @JSONField(name = "addr") + private String addr; + + // 5. 参保机构医保区划 + @JSONField(name = "insu_optins") + private String insuOptins; + + // 6. 诊断代码 + @JSONField(name = "diag_code") + private String diagCode; + + // 7. 诊断名称 + @JSONField(name = "diag_name") + private String diagName; + + // 8. 疾病病情描述 + @JSONField(name = "dise_cond_dscr") + private String diseCondDscr; + + // 9. 转往定点医药机构编号 + @JSONField(name = "reflin_medins_no") + private String reflinMedinsNo; + + // 10. 转往医院名称 + @JSONField(name = "reflin_medins_name") + private String reflinMedinsName; + + // 11. 就医地行政区划 + @JSONField(name = "mdtrtarea_admdvs") + private String mdtrtareaAdmdvs; + + // 12. 医院同意转院标志 + @JSONField(name = "hosp_agre_refl_flag") + private String hospAgreReflFlag; + + // 13. 转院类型 + @JSONField(name = "refl_type") + private String reflType; + + // 14. 转院日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "refl_date") + private Date reflDate; + + // 15. 转院原因 + @JSONField(name = "refl_rea") + private String reflRea; + + // 16. 转院意见 + @JSONField(name = "refl_opnn") + private String reflOpnn; + + // 17. 开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "begndate") + private Date begndate; + + // 18. 结束日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "enddate") + private Date enddate; + + // 19. 转诊使用标志 + @JSONField(name = "refl_used_flag") + private String reflUsedFlag; + + // 20. 待遇申报明细流水号(输出) + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrfCxl2502Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrfCxl2502Param.java new file mode 100644 index 00000000..bc847a6f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/HospTrfCxl2502Param.java @@ -0,0 +1,31 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2502】转院备案撤销(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) + +public class HospTrfCxl2502Param { + // 1. 待遇申报明细流水号 + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 备注 + @JSONField(name = "memo") + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101Output.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101Output.java new file mode 100644 index 00000000..c47a612d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101Output.java @@ -0,0 +1,68 @@ +package com.openhis.yb.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + *【1101】获取身份信息 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Info1101Output extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //人员编号 + private String psnNo; + //人员证件类型 + private String psnCertType; + //证件号码 + private String certno; + //人员姓名 + private String psnName; + //性别 + private String gend; + //民族 + private String naty; + //出生日期 + private Date brdy; + //年龄 + private Double age; + //参保地医保区划 + private String insuplcAdmdvs; + //险种类型 + private String insutype; + //余额 + private String balc; + //人员类别 + @TableField(exist = false) + private String psnType; + + //人员参保状态 + @TableField(exist = false) + private String psnInsuStas; + + //个人参保日期 + @TableField(exist = false) + private String psnInsuDate; + + //公务员标志 + @TableField(exist = false) + private String cvlservFlag; + + //单位名称 + @TableField(exist = false) + private String empName; + //特慢病 + @TableField(exist = false) + private List feedetail; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101PerinfoResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101PerinfoResult.java new file mode 100644 index 00000000..822a19dc --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101PerinfoResult.java @@ -0,0 +1,58 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【1101】获取身份信息 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Info1101PerinfoResult extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //人员编号 + @JSONField(name="psn_no") + private String psnNo; + //人员证件类型 + @JSONField(name="psn_cert_type") + private String psnCertType; + //证件号码 + @JSONField(name="certno") + private String certno; + //人员姓名 + @JSONField(name="psn_name") + private String psnName; + //性别 + @JSONField(name="gend") + private String gend; + //民族 + @JSONField(name="naty") + private String naty; + //出生日期 + @JSONField(name="brdy") + private Date brdy; + //年龄 + @JSONField(name="age") + private Double age; + //参保地医保区划 + @JSONField(serialize = false) + private String insuplcAdmdvs; + //险种类型 + @JSONField(serialize = false) + private String insutype; + //余额 + @JSONField(serialize = false) + private String balc; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101ReadcardParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101ReadcardParam.java new file mode 100644 index 00000000..be52d7b9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info1101ReadcardParam.java @@ -0,0 +1,45 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【1101】获取身份信息 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Info1101ReadcardParam extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + //就诊凭证类型 + @JSONField(name="mdtrt_cert_type") + private String mdtrtCertType; + //就诊凭证编号 + @JSONField(name="mdtrt_cert_no") + private String mdtrtCertNo; + //卡识别码 + @JSONField(name="card_sn") + private String cardSn; + //开始时间 + @JSONField(name="begntime") + private String begntime; + //人员证件类型 + @JSONField(name="psn_cert_type") + private String psnCertType; + //证件号码 + @JSONField(name="certno") + private String certno; + //人员姓名 + @JSONField(name="psn_name") + private String psnName; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301Param.java new file mode 100644 index 00000000..6249e9eb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301Param.java @@ -0,0 +1,14 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Info5301Param { + @JSONField(name = "psn_no") + private String psnNo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301SpecialConditionResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301SpecialConditionResult.java new file mode 100644 index 00000000..000c0bc6 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Info5301SpecialConditionResult.java @@ -0,0 +1,21 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Info5301SpecialConditionResult { + + private static final long serialVersionUID = 1L; + + //门慢门特病种目录代码 + private String opspDiseCode; + //门慢门特病种名称 + private String opspDiseName; + //开始日期 + private String begndate; + //结束日期 + private String enddate; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/InvoiceBaseInfoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/InvoiceBaseInfoDto.java new file mode 100644 index 00000000..2425fb11 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/InvoiceBaseInfoDto.java @@ -0,0 +1,104 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 电子发票基础信息查询实体 + * + * @author SunJQ + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +public class InvoiceBaseInfoDto { + //主键 + @TableId(type = IdType.ASSIGN_ID) + @JSONField(serialize=false) + private String id; + + private String setlId;//结算id + + private String mdtrtId; // 就诊ID + + private String psnName; // 人员姓名 + + private String psnCertType; // 人员证件类型 + + private String certno; // 证件号码 + + private String insutype; // 险种类型 + + private String psnType; // 人员类别 + + private String cvlservFlag; // 公务员标志 + + private Date setlTime; // 结算时间 + + private String mdtrtCertType; // 就诊凭证类型 + + private String medType; // 医疗类别 + + private BigDecimal medfeeSumamt; // 医疗费总额 + + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + private BigDecimal preselfpayAmt; // 先行自付金额 + + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + private BigDecimal actPayDedc; // 实际支付起付线 + + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + private BigDecimal mafPay; // 医疗救助基金支出 + + private BigDecimal othPay; // 其他支出 + + private BigDecimal fundPaySumamt; // 基金支付总额 + + private BigDecimal psnPartAmt; // 个人负担总金额 + + private BigDecimal acctPay; // 个人账户支出 + + private BigDecimal psnCashPay; // 个人现金支出 + + private BigDecimal hospPartAmt; // 医院负担金额 + + private BigDecimal balc; // 余额 + + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + private String medinsSetlId; // 医药机构结算ID + + private String clrOptins; // 清算经办机构 + + private String clrWay; // 清算方式 + + private String clrType; // 清算类别 + + private BigDecimal hifdmPay; // 伤残人员医疗保障基金支出 + + private String paymentNo;//结算业务流水号 Payment与ClinicSettle是1:N +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Param.java new file mode 100644 index 00000000..9ee3efb1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Param.java @@ -0,0 +1,58 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25007】生育津贴登记(输入) + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MatAllowReg25007Param { + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 生育类别 + @JSONField(name = "matn_type") + private String matnType; + + // 3. 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "birctrl_matn_date") + private Date birctrlMatnDate; + + // 4. 孕周数 + @JSONField(name = "geso_val") + private BigDecimal gesoVal; + + // 5. 胎次 + @JSONField(name = "fetts") + private BigDecimal fetts; + + // 6. 胎儿数 + @JSONField(name = "fetus_cnt") + private BigDecimal fetusCnt; + + // 7. 经办人姓名 + @JSONField(name = "opter_name") + private String opterName; + + // 8. 结算ID + @JSONField(name = "setl_id") + private String setlId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Result.java new file mode 100644 index 00000000..ae620f04 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowReg25007Result.java @@ -0,0 +1,84 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25007】生育津贴登记(输出) + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MatAllowReg25007Result { + // 1. 生育津贴登记ID + @JSONField(name = "matn_alwn_reg_id") + private String matnAlwnRegId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 人员姓名 + @JSONField(name = "psn_name") + private String psnName; + + // 4. 生育类别 + @JSONField(name = "matn_type") + private String matnType; + + // 5. 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "birctrl_matn_date") + private Date birctrlMatnDate; + + // 6. 孕周数 + @JSONField(name = "geso_val") + private BigDecimal gesoVal; + + // 7. 胎次 + @JSONField(name = "fetts") + private BigDecimal fetts; + + // 8. 胎儿数 + @JSONField(name = "fetus_cnt") + private BigDecimal fetusCnt; + + // 9. 结算ID + @JSONField(name = "setl_id") + private String setlId; + + // 10. 有效标志 + @JSONField(name = "vali_flag") + private String valiFlag; + + // 11. 审核标志 + @JSONField(name = "rchk_flag") + private String rchkFlag; + + // 12. 审核意见 + @JSONField(name = "memo") + private String memo; + + // 13. 经办人姓名 + @JSONField(name = "opter_name") + private String opterName; + + // 14. 经办时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "opt_time") + private Date optTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowRegSel25008Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowRegSel25008Param.java new file mode 100644 index 00000000..52120d4a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MatAllowRegSel25008Param.java @@ -0,0 +1,84 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25008】生育津贴登记信息查询(输出) + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MatAllowRegSel25008Param { + // 1. 生育津贴登记ID + @JSONField(name = "matn_alwn_reg_id") + private String matnAlwnRegId; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 人员姓名 + @JSONField(name = "psn_name") + private String psnName; + + // 4. 生育类别 + @JSONField(name = "matn_type") + private String matnType; + + // 5. 计划生育手术或生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "birctrl_matn_date") + private Date birctrlMatnDate; + + // 6. 孕周数 + @JSONField(name = "geso_val") + private BigDecimal gesoVal; + + // 7. 胎次 + @JSONField(name = "fetts") + private BigDecimal fetts; + + // 8. 胎儿数 + @JSONField(name = "fetus_cnt") + private BigDecimal fetusCnt; + + // 9. 结算ID + @JSONField(name = "setl_id") + private String setlId; + + // 10. 有效标志 + @JSONField(name = "vali_flag") + private String valiFlag; + + // 11. 审核标志 + @JSONField(name = "rchk_flag") + private String rchkFlag; + + // 12. 审核意见 + @JSONField(name = "memo") + private String memo; + + // 13. 经办人姓名 + @JSONField(name = "opter_name") + private String opterName; + + // 14. 经办时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "opt_time") + private Date optTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3503Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3503Param.java new file mode 100644 index 00000000..e49ba619 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3503Param.java @@ -0,0 +1,113 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3503】商品采购 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Medical3503Param { + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 随货单号(字符型,50位,非必填) + @JSONField(name = "dynt_no") + private String dyntNo; + + // 5. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 6. 供应商名称(字符型,200位,必填) + @JSONField(name = "spler_name") + private String splerName; + + // 7. 供应商许可证号(字符型,50位,非必填) + @JSONField(name = "spler_pmtno") + private String splerPmtno; + + // 8. 生产批号(字符型,30位,必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 9. 生产厂家名称(字符型,200位,必填) + @JSONField(name = "prodentp_name") + private String prodentpName; + + // 10. 批准文号(字符型,100位,必填) + @JSONField(name = "aprvno") + private String aprvno; + + // 11. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 12. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 13. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 14. 采购/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "purc_retn_cnt") + private BigDecimal purcRetnCnt; + + // 15. 采购发票编码(字符型,50位,非必填) + @JSONField(name = "purc_invo_codg") + private String purcInvoCodg; + + // 16. 采购发票号(字符型,50位,非必填) + @JSONField(name = "purc_invo_no") + private String purcInvoNo; + + // 17. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 18. 采购/退货入库时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "purc_retn_stoin_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date purcRetnStoinTime; + + // 19. 采购/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "purc_retn_opter_name") + private String purcRetnOpterName; + + // 20. 商品赠送标志(字符型,3位,必填) + @JSONField(name = "prod_geay_flag") + private String prodGeayFlag; + + // 21. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Param.java new file mode 100644 index 00000000..91a7d592 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Param.java @@ -0,0 +1,179 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3505】商品销售 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Medical3505Param { + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 5. 开方医师证件类型(字符型,6位,非必填) + @JSONField(name = "prsc_dr_cert_type") + private String prscDrCertType; + + // 6. 开方医师证件号码(字符型,50位,非必填) + @JSONField(name = "prsc_dr_certno") + private String prscDrCertno; + + // 7. 开方医师姓名(字符型,50位,必填) + @JSONField(name = "prsc_dr_name") + private String prscDrName; + + // 8. 药师证件类型(字符型,6位,非必填) + @JSONField(name = "phar_cert_type") + private String pharCertType; + + // 9. 药师证件号码(字符型,50位,非必填) + @JSONField(name = "phar_certno") + private String pharCertno; + + // 10. 药师姓名(字符型,50位,必填) + @JSONField(name = "phar_name") + private String pharName; + + // 11. 药师执业资格证号(字符型,50位,必填) + @JSONField(name = "phar_prac_cert_no") + private String pharPracCertNo; + + // 12. 医保费用结算类型(字符型,6位,必填) + @JSONField(name = "hi_feesetl_type") + private String hiFeesetlType; + + // 13. 结算ID(字符型,30位,非必填) + @JSONField(name = "setl_id") + private String setlId; + + // 14. 就医流水号(字符型,30位,必填) + @JSONField(name = "mdtrt_sn") + private String mdtrtSn; + + // 15. 人员编号(字符型,30位,非必填) + @JSONField(name = "psn_no") + private String psnNo; + + // 16. 人员证件类型(字符型,6位,必填) + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 17. 证件号码(字符型,50位,非必填) + @JSONField(name = "certno") + private String certno; + + // 18. 人员姓名(字符型,50位,非必填) + @JSONField(name = "psn_name") + private String psnName; + + // 19. 生产批号(字符型,30位,必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 20. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 21. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 22. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 23. 拆零标志(字符型,3位,必填) + @JSONField(name = "trdn_flag") + private String trdnFlag; + + // 24. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 25. 处方号(字符型,40位,非必填) + @JSONField(name = "rxno") + private String rxno; + + // 26. 外购处方标志(字符型,3位,必填) + @JSONField(name = "rx_circ_flag") + private String rxCircFlag; + + // 27. 零售单据号(字符型,40位,必填) + @JSONField(name = "rtal_docno") + private String rtalDocno; + + // 29. 销售出库单据号(字符型,40位,非必填) + @JSONField(name = "stoout_no") + private String stooutNo; + + // 30. 批次号(字符型,30位,非必填) + @JSONField(name = "bchno") + private String bchno; + + // 32. 药品条形码(字符型,30位,非必填) + @JSONField(name = "drug_prod_barc") + private String drugProdBarc; + + // 33. 货架位(字符型,20位,非必填) + @JSONField(name = "shelf_posi") + private String shelfPosi; + + // 34. 销售/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "sel_retn_cnt") + private BigDecimal selRetnCnt; + + // 35. 销售/退货时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "sel_retn_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date selRetnTime; + + // 36. 销售/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "sel_retn_opter_name") + private String selRetnOpterName; + + // 37. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 38. 就诊结算类型(字符型,6位,非必填) + @JSONField(name = "mdtrt_setl_type") + private String mdtrtSetlType; + + // 39. 溯源码节点信息(字符型,长度未明确) + @JSONField(name = "drugtracinfo") + private JSONArray drugtracinfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Result.java new file mode 100644 index 00000000..b678d268 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3505Result.java @@ -0,0 +1,29 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3505】【3506】商品销售 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Medical3505Result { + + // 返回结果 + @JSONField(name = "retRslt") + private String retRslt; + + // 返回信息 + @JSONField(name = "msgRslt") + private String msgRslt; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3506Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3506Param.java new file mode 100644 index 00000000..afcee8bb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3506Param.java @@ -0,0 +1,118 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3506】商品销售退货 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Medical3506Param { + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 5. 结算ID(字符型,30位,非必填) + @JSONField(name = "setl_id") + private String setlId; + + // 6. 人员编号(字符型,30位,非必填) + @JSONField(name = "psn_no") + private String psnNo; + + // 7. 人员证件类型(字符型,6位,必填) + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 8. 证件号码(字符型,50位,非必填) + @JSONField(name = "certno") + private String certno; + + // 9. 人员姓名(字符型,50位,非必填) + @JSONField(name = "psn_name") + private String psnName; + + // 10. 生产批号(字符型,30位,必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 11. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 12. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 13. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 14. 拆零标志(字符型,3位,必填) + @JSONField(name = "trdn_flag") + private String trdnFlag; + + // 15. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 16. 销售/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "sel_retn_cnt") + private BigDecimal selRetnCnt; + + // 17. 销售/退货时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "sel_retn_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date selRetnTime; + + // 18. 销售/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "sel_retn_opter_name") + private String selRetnOpterName; + + // 19. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 20. 商品销售流水号(字符型,50位,非必填) + @JSONField(name = "medins_prod_sel_no") + private String medinsProdSelNo; + + // 21. 就医流水号(字符型,30位,必填) + @JSONField(name = "mdtrt_sn") + private String mdtrtSn; + + // 22. 溯源码节点信息(字符型,长度未明确) + @JSONField(name = "drugtracinfo") + private JSONArray drugtracinfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3507Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3507Param.java new file mode 100644 index 00000000..1c408ae6 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3507Param.java @@ -0,0 +1,29 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3507】商品信息删除 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Medical3507Param { + + // 定点医药机构批次流水号 + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 进销存数据类型 + @JSONField(name = "inv_data_type") + private String invDataType; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Param.java new file mode 100644 index 00000000..ac10bc8f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Param.java @@ -0,0 +1,102 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3508】定点医药机构商品库存信息查询 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Medical3508Param { + // 定点医药机构编号 + private String fixmedinsCode; + + // 医药机构目录编码 + private String medinsListCodg; + + // 定点医药机构批次流水号 + private String fixmedinsBchno; + + // 开始日期 + private Date begndate; + + // 结束日期 + private Date enddate; + + // 定点医药机构商品库存流水号 + private String medinsProdInvNo; + + // 医疗目录编码 + private String medListCodg; + + // 医药机构目录名称 + private String medinsListName; + + // 处方药标志 + private String rxFlag; + + // 目录特项标志 + private String listSpItemFlag; + + // 拆零标志 + private String trdnFlag; + + // 库存日期 + private Date invdate; + + // 生产批号 + private String manuLotnum; + + // 生产日期 + private Date manuDate; + + // 有效期止 + private Date expyEnd; + + // 备注 + private String memo; + + // 有效标志 + private String valiFlag; + + // 数据唯一记录号 + private String rid; + + // 创建人ID + private String crterId; + + // 创建人姓名 + private String crterName; + + // 创建机构编号 + private String crteOptinsNo; + + // 经办人ID + private String opterId; + + // 经办人姓名 + private String opterName; + + // 经办机构编号 + private String optinsNo; + + // 统筹区编号 + private String poolareaNo; + + // 说明:medins_list_codg和fixmedins_bchno为互斥必填项,至少传其中一个字段 +} + diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Result.java new file mode 100644 index 00000000..d543c985 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Medical3508Result.java @@ -0,0 +1,104 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3508】定点医药机构商品库存信息查询 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Medical3508Result { + + // 有效期止 + private Date expyEnd; + + // 医疗目录编码 + private String medListCodg; + + // 统筹区编号 + private String poolareaNo; + + // 创建机构编号 + private String crteOptinsNo; + + // 库存数量 + private BigDecimal invCnt; + + // 医药机构目录编码 + private String medinsListCodg; + + // 备注 + private String memo; + + // 数据更新时间 + private Date updtTime; + + // 生产日期 + private Date manuDate; + + // 经办人姓名 + private String opterName; + + // 数据唯一记录号 + private String rid; + + // 数据创建时间 + private Date crteTime; + + // 库存日期 + private Date invdate; + + // 有效标志 + private String valiFlag; + + // 定点医药机构编号 + private String fixmedinsCode; + + // 处方药标志 + private String rxFlag; + + // 目录特项标志 + private String listSpItemFlag; + + // 定点医药机构批次流水号 + private String fixmedinsBchno; + + // 经办时间 + private Date optTime; + + // 经办人ID + private String opterId; + + // 生产批号 + private String manuLotnum; + + // 医药机构目录名称 + private String medinsListName; + + // 创建人姓名 + private String crterName; + + // 定点医药机构商品库存流水号 + private String medinsProdInvNo; + + // 创建人ID + private String crterId; + + // 经办机构编号 + private String optinsNo; + + // 拆零标志 + private String trdnFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301ListParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301ListParam.java new file mode 100644 index 00000000..c8e3a248 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301ListParam.java @@ -0,0 +1,16 @@ +package com.openhis.yb.dto; + +import lombok.Data; + +import java.util.List; + +/** + * MedicalDirectory3301ListParam + * + * @author Wuser + * @date 2025/5/24 + */ +@Data +public class MedicalDirectory3301ListParam { + List data; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301Param.java new file mode 100644 index 00000000..ff605385 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3301Param.java @@ -0,0 +1,69 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3301】目录对照上传 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MedicalDirectory3301Param { + + // 定点医药机构目录编号 + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 定点医药机构目录名称 + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 目录类别 + @JSONField(name = "list_type") + private String listType; + + // 医疗目录编码 + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 开始日期 + @JSONField(name = "begndate") + private String begndate; + + // 结束日期 + @JSONField(name = "enddate") + private String enddate; + + // 批准文号 + private String aprvno; + + // 剂型 + private String dosform; + + // 除外内容 + private String exctCont; + + // 项目内涵 + private String itemCont; + + // 计价单位 + private String prcunt; + + // 规格 + private String spec; + + // 包装规格 + private String pacspec; + + // 备注 + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3302Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3302Param.java new file mode 100644 index 00000000..e9c50b06 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalDirectory3302Param.java @@ -0,0 +1,32 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3302】目录对照撤销 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MedicalDirectory3302Param { + + // 定点医药机构编号 + private String fixmedinsCode; + + // 定点医药机构目录编号 + private String fixmedinsHilistId; + + // 目录类别 + private String listType; + + // 医疗目录编码 + private String medListCodg; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3501Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3501Param.java new file mode 100644 index 00000000..f6727fc4 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3501Param.java @@ -0,0 +1,72 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3501】商品盘存上传 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MedicalInventory3501Param { + + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 5. 盘存日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "invdate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date invdate; + + // 6. 库存数量(数值型,16位含2位小数,必填) + @JSONField(name = "inv_cnt") + private BigDecimal invCnt; + + // 7. 生产批号(字符型,30位,非必填) + @JSONField(name = "manu_lotnum") + private String manuLotnum; + + // 8. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 9. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 10. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 11. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3502Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3502Param.java new file mode 100644 index 00000000..72858b78 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalInventory3502Param.java @@ -0,0 +1,81 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【3502】商品库存变更 + * + * @author SunJQ + * @date 2025-04-16 + */ + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MedicalInventory3502Param { + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 库存变更类型(字符型,6位,必填) + @JSONField(name = "inv_chg_type") + private String invChgType; + + // 3. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 4. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 5. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 6. 单价(数值型,16位含6位小数,必填) + @JSONField(name = "pric") + private BigDecimal pric; + + // 7. 数量(数值型,16位含4位小数,必填) + @JSONField(name = "cnt") + private BigDecimal cnt; + + // 8. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 9. 库存变更时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "inv_chg_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date invChgTime; + + // 10. 库存变更经办人姓名(字符型,50位,非必填) + @JSONField(name = "inv_chg_opter_name") + private String invChgOpterName; + + // 11. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 12. 拆零标志(字符型,2位,必填) + @JSONField(name = "trdn_flag") + private String trdnFlag; + + // 13. 溯源码节点信息(字符型,长度未明确) + @JSONField(name = "drugtracinfo") + private JSONArray drugtracinfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalPurchase3504Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalPurchase3504Param.java new file mode 100644 index 00000000..5350b037 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalPurchase3504Param.java @@ -0,0 +1,95 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【3504】商品采购退货 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MedicalPurchase3504Param { + // 1. 医疗目录编码(字符型,50位,必填) + @JSONField(name = "med_list_codg") + private String medListCodg; + + // 2. 定点医药机构目录编号(字符型,30位,必填) + @JSONField(name = "fixmedins_hilist_id") + private String fixmedinsHilistId; + + // 3. 定点医药机构目录名称(字符型,200位,必填) + @JSONField(name = "fixmedins_hilist_name") + private String fixmedinsHilistName; + + // 4. 定点医药机构批次流水号(字符型,30位,必填) + @JSONField(name = "fixmedins_bchno") + private String fixmedinsBchno; + + // 5. 供应商名称(字符型,200位,必填) + @JSONField(name = "spler_name") + private String splerName; + + // 6. 供应商许可证号(字符型,50位,非必填) + @JSONField(name = "spler_pmtno") + private String splerPmtno; + + // 7. 生产日期(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "manu_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date manuDate; + + // 8. 有效期止(日期型,必填,格式:yyyy-MM-dd) + @JSONField(name = "expy_end") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expyEnd; + + // 9. 最终成交单价(数值型,16位含6位小数,非必填) + @JSONField(name = "finl_trns_pric") + private BigDecimal finlTrnsPric; + + // 10. 采购/退货数量(数值型,16位含4位小数,必填) + @JSONField(name = "purc_retn_cnt") + private BigDecimal purcRetnCnt; + + // 11. 采购发票编码(字符型,50位,非必填) + @JSONField(name = "purc_invo_codg") + private String purcInvoCodg; + + // 12. 采购发票号(字符型,50位,必填) + @JSONField(name = "purc_invo_no") + private String purcInvoNo; + + // 13. 处方药标志(字符型,3位,必填) + @JSONField(name = "rx_flag") + private String rxFlag; + + // 14. 采购/退货入库时间(日期时间型,必填,格式:yyyy-MM-dd HH:mm:ss) + @JSONField(name = "purc_retn_stoin_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date purcRetnStoinTime; + + // 15. 采购/退货经办人姓名(字符型,50位,必填) + @JSONField(name = "purc_retn_opter_name") + private String purcRetnOpterName; + + // 16. 备注(字符型,500位,非必填) + @JSONField(name = "memo") + private String memo; + + // 20. 商品采购流水号(字符型,50位,非必填) + @JSONField(name = "medins_prod_purc_no") + private String medinsProdPurcNo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalTraceNoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalTraceNoDto.java new file mode 100644 index 00000000..2d6c3bb0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/MedicalTraceNoDto.java @@ -0,0 +1,28 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * 药品追溯码dto + * + * @author zwh + * @date 2025-05-28 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MedicalTraceNoDto { + + // 药品追溯码(字符型,100) + @JSONField(name = "drug_trac_codg") + private String drugTracCodg; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PatientInfoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PatientInfoDto.java new file mode 100644 index 00000000..83836218 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PatientInfoDto.java @@ -0,0 +1,84 @@ +package com.openhis.yb.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; +import java.util.List; + +@Data +@Accessors(chain = true) +public class PatientInfoDto { + + //患者信息 + /** ID */ + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 活动标记 */ + private Integer activeFlag; + + /** 临时标识 */ + private Integer tempFlag; + + /** 患者姓名 */ + private String name; + + /** 患者院内编码/病历号 */ + private String busNo; + + /** 性别编码 */ + private Integer genderEnum; + + /** 生日 */ + private Date birthDate; + + /** 民族 */ + private String nationalityCode; + + /** 身份证号 */ + private String idCard; + + /** 拼音码 */ + private String pyStr; + + /** 五笔码 */ + private String wbStr; + + /** 机构Id */ + private Long organizationId; + + /** 特慢病等 */ + private List feedetail; + + //医保信息 2025/05/23 弃用,费用性质固定,如农大只有省医保,费用性质只显示省医保和自费即可,由@GetMapping(value = "/contract-list")接口提供数据 + /** 合同Id */ + private Long contractId;//弃用 2025/05/23 + + /** 合同名称 */ + private String contractName;//弃用 2025/05/23 + + /** 状态 */ + private Integer statusEnum;//弃用 2025/05/23 + + /** 合同的类别 */ + private Integer categoryEnum;//弃用 2025/05/23 + + /** 合同编码 */ + private String contractBusNo;//弃用 2025/05/23 2025/07/23 因考虑住院部分代码开发,非常规门诊转住院的情况下需要刷卡识别身份获取省市医保 + + /** 机构 */ + private Long contractOrgId;//弃用 2025/05/23 + + /** 是否医保 */ + private Integer ybFlag;//弃用 2025/05/23 + + /** 医保区划 */ + private String admVs;//弃用 2025/05/23 + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDecDetailUniAccountDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDecDetailUniAccountDto.java new file mode 100644 index 00000000..b3a9c46d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDecDetailUniAccountDto.java @@ -0,0 +1,31 @@ +package com.openhis.yb.dto; + +import com.openhis.financial.domain.PaymentRecDetail; + +import lombok.Data; + +/** + * 付款详情关联账户的sql查询结果集 + */ +@Data +public class PaymentDecDetailUniAccountDto extends PaymentRecDetail { + /** + * 合同编号 + */ + private String contractNo; + + // 险种类型 + private String insutype; + + // 医疗类别 + private String medType; + + // 医疗费用总额 + private String medfeeSumamt; + + // 医疗费用总额(有退费) + private String returnMedfeeSumamt; + + // 门诊还是住院 + private Integer kindEnum; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDetailDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDetailDto.java new file mode 100644 index 00000000..f6507fbc --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDetailDto.java @@ -0,0 +1,37 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; + +import com.openhis.common.annotation.Dict; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 支付详情 + * + * @author SunJQ + * @date 2025-03-29 + */ +@Data +@Accessors(chain = true) +public class PaymentDetailDto { + + /** 支付类型 */ + @Dict(dictCode = "pay_enum") + private Integer payEnum; + private String payEnum_dictText; + + /** 金额 */ + private BigDecimal amount; + + /** 找零 */ + private BigDecimal returnAmount; + + /** 交款 */ + private BigDecimal chargeAmount; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDto.java new file mode 100644 index 00000000..af0f22d7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentDto.java @@ -0,0 +1,45 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.List; + +import javax.validation.constraints.NotEmpty; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 付款入参 + * + * @author SunJQ + * @date 2025-03-29 + */ +@Data +@Accessors(chain = true) +public class PaymentDto { + + /** + * 付款id + */ + private Long id;// paymentId + + /** 就诊ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 收费项 */ + private List chargeItemIds;// 收费时传收费的项目,退费时传退费的项目,2025/05/07去掉notEmpty的注解,与前端约定此字段必传,可以是空集合 + + /** 支付详细 */ + @NotEmpty + private List paymentDetails; + + private String ybMdtrtCertType;// 社保卡/身份证/电子医保码 + + private String busiCardInfo;// 社保卡号/身份证号/ecToken +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentInpatientDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentInpatientDto.java new file mode 100644 index 00000000..dcc0bfed --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentInpatientDto.java @@ -0,0 +1,55 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.List; + +import javax.validation.constraints.NotEmpty; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 付款入参 + * + * @author SunJQ + * @date 2025-03-29 + */ +@Data +@Accessors(chain = true) +public class PaymentInpatientDto { + + /** + * 付款id(业务单) + */ + private Long id;// paymentId + + /** + * 付款id(预交金原单) + */ + private Long oldId; + + /** + * 付款id(多退少补单) + */ + private Long newId; + + /** 就诊ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 收费项 */ + private List chargeItemIds;// 收费时传收费的项目,退费时传退费的项目,2025/05/07去掉notEmpty的注解,与前端约定此字段必传,可以是空集合 + + /** 支付详细 */ + @NotEmpty + private List paymentDetails; + + private String ybMdtrtCertType;// 社保卡/身份证/电子医保码 + + private String busiCardInfo;// 社保卡号/身份证号/ecToken +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentSettleDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentSettleDto.java new file mode 100644 index 00000000..f9d321d0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PaymentSettleDto.java @@ -0,0 +1,19 @@ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +@Data +@Accessors(chain = true) +public class PaymentSettleDto { + + private Date endTime; + + private Date startTime; + + private Long enterId; + + private String contractNo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalCnl25004Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalCnl25004Param.java new file mode 100644 index 00000000..adb2dd17 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalCnl25004Param.java @@ -0,0 +1,27 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25004】人员生育审批撤销 + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersBirthApprovalCnl25004Param { + + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 待遇申报明细流水号 + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalSel25005Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalSel25005Param.java new file mode 100644 index 00000000..9da7a5a3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthApprovalSel25005Param.java @@ -0,0 +1,66 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25005】人员生育审批查询 + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersBirthApprovalSel25005Param { + // 1. 人员编号(既是输入参数也是输出参数) + @JSONField(name = "psn_no") + private String psnNo; + + // --- 输出参数 --- + + // 1. 待遇申报明细流水号(字符型,30位,必填) + @JSONField(name = "trtDclaDetlSn") + private String trtDclaDetlSn; + + // 2. 险种类型(字符型,6位,必填) + @JSONField(name = "insutype") + private String insutype; + + // 3. 人员证件号码(字符型,30位,必填) + @JSONField(name = "certno") + private String certno; + + // 4. 审批定点医药机构编号(字符型,30位,必填) + @JSONField(name = "fixmedinscode") + private String fixmedinscode; + + // 5. 审批定点医药机构名称(字符型,200位,必填) + @JSONField(name = "fixmedinsname") + private String fixmedinsname; + + // 6. 人员姓名(字符型,50位,必填) + @JSONField(name = "psn_name") + private String psnName; + + // 7. 开始时间(日期型,必填) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "begndate") + private Date begndate; + + // 8. 终止时间(日期型,必填) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "enddate") + private Date enddate; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthRecord25003Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthRecord25003Param.java new file mode 100644 index 00000000..c8d96bd8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersBirthRecord25003Param.java @@ -0,0 +1,126 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25003】人员生育备案 + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersBirthRecord25003Param { + + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 3. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 4. 参保机构医保区划 + @JSONField(name = "insu_admdvs") + private String insuAdmdvs; + + // 5. 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 6. 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 7. 孕周数 + @JSONField(name = "esso_val") + private Integer essoVal; + + // 8. 生育待遇申报人类别 + @JSONField(name = "matn_trt_dclaer_type") + private String matnTrtDclaerType; + + // 9. 末次月经日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "last_mena_date") + private Date lastMenaDate; + + // 10. 预计生育日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "plan_matn_date") + private Date planMatnDate; + + // 11. 申报日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "dcla_date") + private Date dclaDate; + + // 12. 配偶姓名 + @JSONField(name = "spus_name") + private String spusName; + + // 13. 配偶证件类型 + @JSONField(name = "spus_cert_type") + private String spusCertType; + + // 14. 配偶证件号码 + @JSONField(name = "spus_certno") + private String spusCertno; + + // 15. 生育类别 + @JSONField(name = "matn_type") + private String matnType; + + // 16. 胎次 + @JSONField(name = "fetts") + private BigDecimal fetts; + + // 17. 计划生育服务证号 + @JSONField(name = "fpsc_no") + private String fpscNo; + + // 18. 开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "begndate") + private Date begndate; + + // 19. 结束日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "enddate") + private Date enddate; + + // 20. 联系地址 + @JSONField(name = "addr") + private String addr; + + // --- 输出参数 --- + + // 1. 待遇申报明细流水号 + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String outputPsnNo; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDis2503Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDis2503Param.java new file mode 100644 index 00000000..0fa509f4 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDis2503Param.java @@ -0,0 +1,83 @@ +package com.openhis.yb.dto; + +import java.util.Date; +import com.alibaba.fastjson2.annotation.JSONField; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【2503】人员慢特病备案(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersChrDis2503Param { + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 3. 门慢门特病种目录代码 + @JSONField(name = "opsp_dise_code") + private String opspDiseCode; + + // 4. 门慢门特病种名称 + @JSONField(name = "opsp_dise_name") + private String opspDiseName; + + // 5. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 6. 联系地址 + @JSONField(name = "addr") + private String addr; + + // 7. 参保机构医保区划 + @JSONField(name = "insu_optins") + private String insuOptins; + + // 8. 鉴定定点医药机构编号 + @JSONField(name = "ide_fixmedins_no") + private String ideFixmedinsNo; + + // 9. 鉴定定点医药机构名称 + @JSONField(name = "ide_fixmedins_name") + private String ideFixmedinsName; + + // 10. 医院鉴定日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "hosp_ide_date") + private Date hospIdeDate; + + // 11. 诊断医师编码 + @JSONField(name = "diag_dr_codg") + private String diagDrCodg; + + // 12. 诊断医师姓名 + @JSONField(name = "diag_dr_name") + private String diagDrName; + + // 13. 开始日期 + @JSONField(name = "begndate", format = "yyyy-MM-dd") + private Date begndate; + + // 15. 结束日期 + @JSONField(name = "enddate", format = "yyyy-MM-dd") + private Date enddate; + + // 16. 待遇申报明细流水号(输出) + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDisCxl2504Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDisCxl2504Param.java new file mode 100644 index 00000000..ee75f633 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersChrDisCxl2504Param.java @@ -0,0 +1,30 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2504】人员慢特病备案撤销(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersChrDisCxl2504Param { + // 1. 待遇申报明细流水号 + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 备注 + @JSONField(name = "memo") + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPt2505Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPt2505Param.java new file mode 100644 index 00000000..c5d2184e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPt2505Param.java @@ -0,0 +1,100 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import com.alibaba.fastjson2.JSONObject; + +import com.alibaba.fastjson2.annotation.JSONField; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【2505】人员定点备案(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersDesigPt2505Param { + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 3. 联系地址 + @JSONField(name = "addr") + private String addr; + + // 4. 业务申请类型 + @JSONField(name = "biz_appy_type") + private String bizAppyType; + + // 5. 开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "begndate") + private Date begndate; + + // 6. 结束日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "enddate") + private Date enddate; + + // 7. 代办人姓名 + @JSONField(name = "agnter_name") + private String agnterName; + + // 8. 代办人证件类型 + @JSONField(name = "agnter_cert_type") + private String agnterCertType; + + // 9. 代办人证件号码 + @JSONField(name = "agnter_certno") + private String agnterCertno; + + // 10. 代办人联系方式 + @JSONField(name = "agnter_tel") + private String agnterTel; + + // 11. 代办人联系地址 + @JSONField(name = "agnter_addr") + private String agnterAddr; + + // 12. 代办人关系 + @JSONField(name = "agnter_rlts") + private String agnterRlts; + + // 13. 定点排序号 + @JSONField(name = "fix_srt_no") + private String fixSrtNo; + + // 14. 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 15. 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 16. 备注 + @JSONField(name = "memo") + private String memo; + + // 17. 扩展字段 + @JSONField(name = "extData") + private JSONObject extData; + + // 18. 待遇申报明细流水号(输出) + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPtCxl2506Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPtCxl2506Param.java new file mode 100644 index 00000000..2dfb8244 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersDesigPtCxl2506Param.java @@ -0,0 +1,30 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【2506】人员定点备案撤销(输入) + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersDesigPtCxl2506Param { + // 1. 待遇申报明细流水号 + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 备注(填写撤销原因) + @JSONField(name = "memo") + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedApprovalCnl25006Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedApprovalCnl25006Param.java new file mode 100644 index 00000000..737d58aa --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedApprovalCnl25006Param.java @@ -0,0 +1,26 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25006】人员特药审批撤销 + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersMedApprovalCnl25006Param { + // 1. 人员编号(字符型,30位,必填) + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 待遇申报明细流水号(字符型,30位,必填) + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedRecord25001Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedRecord25001Param.java new file mode 100644 index 00000000..ea145a91 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedRecord25001Param.java @@ -0,0 +1,86 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25001】人员特药备案 + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersMedRecord25001Param { + + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 3. 参保机构医保区划 + @JSONField(name = "insu_admdv") + private String insuAdmdv; + + // 4. 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 5. 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 6. 目录类别 + @JSONField(name = "list_type") + private String listType; + + // 7. 医保目录编码 + @JSONField(name = "hilist_code") + private String hilistCode; + + // 8. 医保目录名称 + @JSONField(name = "hilist_name") + private String hilistName; + + // 9. 数量 + @JSONField(name = "cnt") + private BigDecimal cnt; + + // 10. 数量单位 + @JSONField(name = "cnt_prcunt") + private String cntPrcunt; + + // 11. 开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "begndate") + private Date begndate; + + // 12. 结束日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "enddate") + private Date enddate; + + // 13. 诊断代码 + @JSONField(name = "diag_code") + private String diagCode; + + // 14. 诊断名称 + @JSONField(name = "diag_name") + private String diagName; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Param.java new file mode 100644 index 00000000..0b92c546 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Param.java @@ -0,0 +1,39 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25002】人员特药备案查询(输入) + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersMedSelect25002Param { + + // 1. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 2. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 3. 用作比较的时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "compare_date") + private Date compareDate; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Result.java new file mode 100644 index 00000000..0fda0c07 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersMedSelect25002Result.java @@ -0,0 +1,91 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【25002】人员特药备案查询(输出) + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersMedSelect25002Result { + + // 1. 待遇申报明细流水号 + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; + + // 2. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 3. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 4. 参保地医保区划 + @JSONField(name = "insu_admdv") + private String insuAdmdv; + + // 5. 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 6. 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 7. 目录类别 + @JSONField(name = "list_type") + private String listType; + + // 8. 医保目录编码 + @JSONField(name = "hilist_code") + private String hilistCode; + + // 9. 医保目录名称 + @JSONField(name = "hilist_name") + private String hilistName; + + // 10. 人员姓名 + @JSONField(name = "psn_name") + private String psnName; + + // 11. 开始时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "begndate") + private Date begndate; + + // 12. 终止时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "enddate") + private Date enddate; + + // 13. 经办人id + @JSONField(name = "opter_id") + private String opterId; + + // 14. 经办人姓名 + @JSONField(name = "opter_name") + private String opterName; + + // 15. 经办时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "opt_time") + private Date optTime; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersUnintInj2507Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersUnintInj2507Param.java new file mode 100644 index 00000000..8d2790ce --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PersUnintInj2507Param.java @@ -0,0 +1,168 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 【2507】人员意外伤害备案(输入) + * + * @author gaoyy + * @date 2025-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PersUnintInj2507Param { + // 1. 申报来源 + @JSONField(name = "dcla_souc") + private String dclaSouc; + + // 2. 险种类型 + @JSONField(name = "insutype") + private String insutype; + + // 3. 人员编号 + @JSONField(name = "psn_no") + private String psnNo; + + // 4. 人员参保关系ID + @JSONField(name = "psn_insu_rlts_id") + private String psnInsuRltsId; + + // 5. 人员证件类型 + @JSONField(name = "psn_cert_type") + private String psnCertType; + + // 6. 证件号码 + @JSONField(name = "certno") + private String certno; + + // 7. 人员姓名 + @JSONField(name = "psn_name") + private String psnName; + + // 8. 性别 + @JSONField(name = "gend") + private String gend; + + // 9. 民族 + @JSONField(name = "naty") + private String naty; + + // 10. 出生日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "brdy") + private Date brdy; + + // 11. 联系电话 + @JSONField(name = "tel") + private String tel; + + // 12. 联系地址 + @JSONField(name = "addr") + private String addr; + + // 13. 参保所属医保区划 + @JSONField(name = "insu_admdvs") + private String insuAdmdvs; + + // 14. 单位编号 + @JSONField(name = "emp_no") + private String empNo; + + // 15. 单位名称 + @JSONField(name = "emp_name") + private String empName; + + // 16. 就医地医保区划 + @JSONField(name = "mdtrtarea_admdvs") + private String mdtrtareaAdmdvs; + + // 17. 定点医药机构编号 + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + // 18. 定点医药机构名称 + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + // 19. 医院等级 + @JSONField(name = "hosp_lv") + private String hospLv; + + // 20. 入院时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "adm_time") + private Date admTime; + + // 21. 受伤时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(name = "trum_time") + private Date trumTime; + + // 22. 受伤地点 + @JSONField(name = "trum_site") + private String trumSite; + + // 23. 致伤原因 + @JSONField(name = "trum_rea") + private String trumRea; + + // 24. 审核支付标志 + @JSONField(name = "chk_pay_flag") + private String chkPayFlag; + + // 25. 代办人姓名 + @JSONField(name = "agnter_name") + private String agnterName; + + // 26. 代办人证件类型 + @JSONField(name = "agnter_cert_type") + private String agnterCertType; + + // 27. 代办人证件号码 + @JSONField(name = "agnter_certno") + private String agnterCertno; + + // 28. 代办人联系方式 + @JSONField(name = "agnter_tel") + private String agnterTel; + + // 29. 代办人联系地址 + @JSONField(name = "agnter_addr") + private String agnterAddr; + + // 30. 代办人关系 + @JSONField(name = "agnter_rlts") + private String agnterRlts; + + // 31. 开始日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "begndate") + private Date begndate; + + // 32. 结束日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JSONField(name = "enddate") + private Date enddate; + + // 33. 备注 + @JSONField(name = "memo") + private String memo; + + // 34. 待遇申报明细流水号(输出) + @JSONField(name = "trt_dcla_detl_sn") + private String trtDclaDetlSn; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PrePaymentDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PrePaymentDto.java new file mode 100644 index 00000000..91c6c1e2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/PrePaymentDto.java @@ -0,0 +1,46 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.List; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 预结算入参 + * + * @author SunJQ + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +public class PrePaymentDto { + + /** 收款员 */ + private Long entererId; + + /** 支付的患者ID */ + @NotNull + private Long patientId; + + /** 就诊ID */ + private Long encounterId; + + /** 收费项 */ + @NotEmpty + private List chargeItemIds;// + + /** + * 类型 医保挂号时使用 + */ + private String ybMdtrtCertType;// 社保卡/身份证/电子医保码 + /** + * 类型 医保挂号时使用 + */ + private String busiCardInfo;// 社保卡号/身份证号/ecToken +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Result.java new file mode 100644 index 00000000..598c523d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Result.java @@ -0,0 +1,48 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +@ApiModel(value="接口返回对象", description="接口返回对象") +@JsonIgnoreProperties(ignoreUnknown = true) +public class Result implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 成功标志 + */ + @ApiModelProperty(value = "成功标志") + private boolean success = true; + + /** + * 返回处理消息 + */ + @ApiModelProperty(value = "返回处理消息") + private String message = "操作成功!"; + + /** + * 返回代码 + */ + @ApiModelProperty(value = "返回代码") + private Integer code = 0; + + /** + * 返回数据对象 data + */ + @ApiModelProperty(value = "返回数据对象") + private T result; + + /** + * 时间戳 + */ + @ApiModelProperty(value = "时间戳") + private long timestamp ; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ResultBody.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ResultBody.java new file mode 100644 index 00000000..6b1f0eae --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/ResultBody.java @@ -0,0 +1,39 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +/** + * 医保结果 + */ +@Data +public class ResultBody { + + /** 交易状态码 */ + @JSONField(name="infcode") + private String infcode; + /** 发送方报文ID */ + @JSONField(name="warnMsg") + private String warn_msg; + /** 数字签名信息 */ + @JSONField(name="cainfo") + private String cainfo; + /** 错误信息 */ + @JSONField(name="err_msg") + private String errMsg; + /** 接收报文时间 */ + @JSONField(name="refmsg_time") + private String refmsgTime; + /** 签名类型 */ + @JSONField(name="signtype") + private String signtype; + /** 响应报文时间 */ + @JSONField(name="respond_time") + private String respondTime; + /** 接收方报文ID */ + @JSONField(name="inf_refmsgid") + private String infRefmsgid; + /** 交易输出 */ + @JSONField(name="output") + private String output; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201DetailDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201DetailDto.java new file mode 100644 index 00000000..46ce73f9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201DetailDto.java @@ -0,0 +1,39 @@ +package com.openhis.yb.dto; + +import com.openhis.common.annotation.Dict; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class Settlement3201DetailDto { + + /** 医疗费用总额 */ + private BigDecimal medFeeSumAmt; + /** 基金支付总额 */ + private BigDecimal fundPaySumAmt; + /** 个人账户支付总额 */ + private BigDecimal acctPay; + /** 个人账户支付总额 */ + private BigDecimal acctGjPay; + /** 定点医药机构结算笔数 */ + private Integer fixMedInsSetlCnt; + @Dict(dictCode = "bus_no" , dictTable = "fin_contract" , dictText = "contract_name") + private String contractNo; + private String contractNo_dictText; + @Dict(dictCode = "insutype") + private Integer insutype; + private String insutype_dictText; + @Dict(dictCode = "clr_type") + private String clrType; + private String clrType_dictText; + + public Settlement3201DetailDto() { + this.medFeeSumAmt = BigDecimal.ZERO; + this.fundPaySumAmt = BigDecimal.ZERO; + this.acctPay = BigDecimal.ZERO; + this.acctGjPay = BigDecimal.ZERO; + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201Dto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201Dto.java new file mode 100644 index 00000000..e416133f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201Dto.java @@ -0,0 +1,28 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 【3201】后台计算结果 DB映射实体 + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +public class Settlement3201Dto { + /** 医疗费用总额 */ + private BigDecimal medFeeSumAmt; + /** 基金支付总额 */ + private BigDecimal fundPaySumAmt; + /** 个人账户支付总额 */ + private BigDecimal acctPay; + /** 个人账户支付总额 */ + private BigDecimal acctGjPay; + /** 定点医药机构结算笔数 */ + private Integer fixMedInsSetlCnt; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201WebParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201WebParam.java new file mode 100644 index 00000000..2f70156c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3201WebParam.java @@ -0,0 +1,38 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 【3201】前台入参 + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +public class Settlement3201WebParam { + + /** 险种 */ + @NotNull + private String insuType; + /** 清算类别 */ + @NotNull + private String clrType;//住院或门诊 + /** 合同id */ + @NotNull + private String contractNo; + /** 医院id */ + @NotNull + private Long orgId; + /** 开始时间 */ + @NotNull + private String stmtBegnDate; + /** 结束时间 */ + @NotNull + private String stmtEndDate; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202Dto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202Dto.java new file mode 100644 index 00000000..8832bd71 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202Dto.java @@ -0,0 +1,45 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 【3201】后台计算结果 DB映射实体 + * + * @author SunJQ + * @date 2025-04-15 + */ +@Data +public class Settlement3202Dto { + /** 医疗费用总额 */ + + private BigDecimal medFeeSumAmt; + /** 基金支付总额 */ + + private BigDecimal fundPaySumAmt; + /** 个人账户支付总额 */ + + private BigDecimal acctPay; + /** 个人账户支付总额 */ + + private BigDecimal acctGjPay; + /** 现金支付总额 */ + + private BigDecimal selfPayCash; + /** 微信支付总额 */ + + private BigDecimal selfPayVX; + /** 阿里支付总额 */ + + private BigDecimal selfPayALI; + /** 银行卡支付总额 */ + + private BigDecimal selfPayUNION; + /** 定点医药机构结算笔数 */ + + private Integer fixMedInsSetlCnt; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202WebParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202WebParam.java new file mode 100644 index 00000000..9d129ac3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3202WebParam.java @@ -0,0 +1,37 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 【3202】前台入参 + * + * @author SunJQ + * @date 2025-04-17 + */ +@Data +public class Settlement3202WebParam { + /** 结算经办机构 */ + private String setlOptins;//前台传入,注意:先上传文件后核对明细的 + /** 清算类别 */ + private String clrType; + /** 文件查询号 */ + private String fileQuryNo; + /** 开始时间 */ + //@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") + //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private String stmtBegnDate; + /** 结束时间 */ + //@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") + //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private String stmtEndDate; + /** 医院id */ + private Long orgId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3209AWebParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3209AWebParam.java new file mode 100644 index 00000000..4d666ffe --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Settlement3209AWebParam.java @@ -0,0 +1,30 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; + +import java.util.Date; + +/** + * [3209A]前台传参 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Data +public class Settlement3209AWebParam { + + // 清算类别 + private String clrType; + + // 开始日期 + private Date begndate; + + // 结束日期 + private Date enddate; + + // 清算机构 + private String clrOptins; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign.java new file mode 100644 index 00000000..57000ece --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign.java @@ -0,0 +1,62 @@ +package com.openhis.yb.dto; + +import java.io.Serializable; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *【9001】【9002】签到 签退 + * + * @author SunJQ + * @date 2025-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class Sign extends HisBaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + /**主键*/ + @TableId(type = IdType.ASSIGN_UUID) + @JSONField(serialize=false) + private String id; + /**操作员编号*/ + @JSONField(name="opter_no") + private String opterNo; + /**签到编号*/ + @JSONField(name="sign_no") + private String signNo; + /**签到时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JSONField(serialize=false) + private java.util.Date signTime; + /**签退时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JSONField(serialize=false) + private java.util.Date signOutTime; + /**状态,0-新建,1-签到,2-签退*/ + @JSONField(serialize=false) + private String status; + /** 签到MAC地址 */ + @JSONField(name="mac") + private String mac; + /** 签到IP地址 */ + @JSONField(name="ip") + private String ip; +// +// /**租户ID*/ +// private String tenantId; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign1101Param.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign1101Param.java new file mode 100644 index 00000000..1dc5e821 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign1101Param.java @@ -0,0 +1,19 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Sign1101Param { + /**操作员编号*/ + @JSONField(name="opter_no") + private String opterNo; + /** 签到MAC地址 */ + @JSONField(name="mac") + private String mac; + /** 签到IP地址 */ + @JSONField(name="ip") + private String ip; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign9001Result.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign9001Result.java new file mode 100644 index 00000000..32f6340b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Sign9001Result.java @@ -0,0 +1,24 @@ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Sign9001Result { + /**签到编号*/ + @JSONField(name="signNo") + private String signNo; + + /**操作员编号*/ + @JSONField(name="opterNo") + private String opterNo; + + @JSONField(name="signTime") + private java.util.Date signTime; + + @JSONField(name="status") + private String status; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/SupplyItemDetail3503Dto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/SupplyItemDetail3503Dto.java new file mode 100644 index 00000000..77450d72 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/SupplyItemDetail3503Dto.java @@ -0,0 +1,126 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 供应单据及供应项相关详细信息 dto + * + * @author zwh + * @date 2025-03-06 + */ +@Data +@Accessors(chain = true) +public class SupplyItemDetail3503Dto { + + /** ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long supplyId; + + /** 项目 */ + private String itemTable; + + /** 物品编码 */ + private Long itemId; + + /** 数量 */ + private BigDecimal itemQuantity; + + /** 项目单位 */ + private String itemUnit; + + /** 单价 */ + private BigDecimal price; + + /** 总价 */ + private BigDecimal totalPrice; + + /** 审批人 */ + private Long approverId; + + /** 源仓库 */ + private Long sourceLocationId; + + /** 源仓位 */ + private Long sourceLocationStoreId; + + /** 目的仓库 */ + private Long purposeLocationId; + + /** 目的仓位 */ + private Long purposeLocationStoreId; + + /** 供应商id */ + private Long supplierId; + + /** 供应商 */ + private String supplierName; + + /** 经手人 */ + private String practitionerName; + + /** 产品批号 */ + private String lotNumber; + + /** 追溯码 */ + private String traceNo; + + /** 发票码 */ + private String invoiceNo; + + /** 项目医保码 */ + private String ybNo; + + /** 单据号 */ + private String busNo; + + /** 项目编号 */ + private String itemBusNo; + + /** 开始时间 */ + private Date startTime; + + /** 结束时间 */ + private Date endTime; + + /** 服务id */ + private Long serviceId; + + /** 项目名称 */ + private String name; + + /** 拼音码 */ + private String pyStr; + + /** 五笔码 */ + private String wbStr; + + /** 常规单位 */ + private String unitCode; + + /** 最小单位 */ + private String minUnitCode; + + /** 拆零比 */ + private BigDecimal partPercent; + + /** 项目类型 */ + private String itemCategory; + + /** 处方标志 */ + private Integer rxFlag; + + /** 批准文号 */ + private String approvalNumber; + + /** 生产厂商文本 */ + private String manufacturerText; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionDetailInfoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionDetailInfoDto.java new file mode 100644 index 00000000..b11177c5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionDetailInfoDto.java @@ -0,0 +1,101 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.openhis.common.annotation.Dict; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 医保电子处方信息 + * + * @author yuxj + * @date 2025-05-06 + */ +@Data +@Accessors(chain = true) +public class VeriPrescriptionDetailInfoDto { + + /** 处方号 */ + private String prescriptionNo; + /** 门诊号 */ + private String iptOtpNo; + /** 请求数量 */ + private Integer quantity; + /** 请求单位 */ + @Dict(dictCode = "unit_code") + private String unitCode; + private String unitCode_dictText; + /** 审核状态 */ + private Integer statusEnum; + private String statusEnum_enumText; + + /* --处方信息-- */ + /** 药品名 */ + private String medicationName; + /** 药品规格 */ + private String drugSpecification; + /** 药品剂量 */ + private BigDecimal medDosage; + /** 药品剂量单位 */ + @Dict(dictCode = "unit_code") + private String medDosageUnitCode; + private String medDosageUnitCode_dictText; + /** 使用频次 */ + @Dict(dictCode = "rate_code") + private String medFrequency; + private String medFrequency_dictText; + /** 途径 */ + @Dict(dictCode = "method_code") + private String medRoute; + private String medRoute_dictText; + /** 取药状态 */ + private String medStatus; + /** 处方状态 */ + private String prescriptionStatus; + /** 处方类别 */ + private Integer rxTypeCode; + private String rxTypeCode_enumText; + /** 支持用药信息 */ + private String supportInfo; + /** 服药时间(开始) */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date effectiveDoseStart; + /** 服药时间(结束) */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date effectiveDoseEnd; + /** 给药间隔 */ + private String dispenseInterval; + /** 单次发药数 */ + private Integer dispensePerQuantity; + /** 每次发药供应天数 */ + private Integer dispensePerDuration; + + /* --就诊信息-- */ + /** 患者姓名 */ + private String patnName; + /** 身份证号 */ + private String certno; + /** 开方医生名 */ + private String practitionerName; + /** 挂号科室 */ + private String mdtrtDeptName; + /** 开单科室 */ + private String prscDeptName; + /** 挂号日期 */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date mdtrtTime; + /** 处方开立日期 */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date prscTime; + + /* --诊断信息-- */ + /** 诊断名 */ + private String conditionName; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionInfoDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionInfoDto.java new file mode 100644 index 00000000..781adb91 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionInfoDto.java @@ -0,0 +1,53 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * 医保电子处方信息 + * + * @author yuxj + * @date 2025-05-06 + */ +@Data +@Accessors(chain = true) +public class VeriPrescriptionInfoDto { + + /** 处方号 */ + private String prescriptionNo; + /** 门诊号 */ + private String iptOtpNo; + /** 姓名 */ + private String patientName; + /** 证件号 */ + private String certno; + /** 取药状态 */ + private String medStatus; + /** 状态 */ + private Integer statusEnum; + private String statusEnum_enumText; + /** 开单科室 */ + private String prscDeptName; + /** 挂号日期 */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date mdtrtTime; + /** 处方开立日期 */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date prscTime; + + /** 租户ID */ + private Integer tenantId; + /** 电子凭证线上身份核验流水号 */ + private String authNo; + /** 电子凭证令牌 */ + private String ecToken; + /** 医保处方编号 */ + private String hiRxno; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionParam.java new file mode 100644 index 00000000..31508fc4 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/VeriPrescriptionParam.java @@ -0,0 +1,21 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 医保电子处方信息查询条件 + * + * @author yuxj + * @date 2025-05-06 + */ +@Data +@Accessors(chain = true) +public class VeriPrescriptionParam { + + /** 门诊号/姓名 */ + private String name; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetail.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetail.java new file mode 100644 index 00000000..56945856 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetail.java @@ -0,0 +1,194 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Accessors(chain = true) +//@TableName("yb_inpatient_fee_detail") // 替换为实际表名 +public class Yb2301InputFeeDetail { + + /** + * 费用明细流水号 + * 单次就诊内唯一 + */ + @JsonProperty("feedetl_sn") + private String feedetlSn; + + /** + * 原费用流水号 + * 退单时传入被退单的费用明细流水号 + */ + @JsonProperty("init_feedetl_sn") + private String initFeedetlSn; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 医嘱号 + */ + @JsonProperty("drord_no") + private String drordNo; + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 医疗类别 + */ + @JsonProperty("med_type") + private String medType; + + /** + * 费用发生时间 + * 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("fee_ocur_time") + private Date feeOcurTime; + + /** + * 医保目录编码 + */ + @JsonProperty("med_list_codg") + private String medListCodg; + + /** + * 医药机构目录编码 + */ + @JsonProperty("medins_list_codg") + private String medinsListCodg; + + /** + * 明细项目费用总额 + */ + @JsonProperty("det_item_fee_sumamt") + private BigDecimal detItemFeeSumamt; + + /** + * 数量 + * 退单时数量填写负数 + */ + @JsonProperty("cnt") + private BigDecimal cnt; + + /** + * 单价 + */ + @JsonProperty("pric") + private BigDecimal pric; + + /** + * 开单科室编码 + */ + @JsonProperty("bilg_dept_codg") + private String bilgDeptCodg; + + /** + * 开单科室名称 + */ + @JsonProperty("bilg_dept_name") + private String bilgDeptName; + + /** + * 开单医生编码 + */ + @JsonProperty("bilg_dr_codg") + private String bilgDrCodg; + + /** + * 开单医师姓名 + */ + @JsonProperty("bilg_dr_name") + private String bilgDrName; + + /** + * 受单科室编码 + */ + @JsonProperty("acord_dept_codg") + private String acordDeptCodg; + + /** + * 受单科室名称 + */ + @JsonProperty("acord_dept_name") + private String acordDeptName; + + /** + * 受单医生编码 + */ + @JsonProperty("orders_dr_code") + private String ordersDrCode; + + /** + * 受单医生姓名 + */ + @JsonProperty("orders_dr_name") + private String ordersDrName; + + /** + * 医院审批标志 + */ + @JsonProperty("hosp_appr_flag") + private String hospApprFlag; + + /** + * 中药使用方式 + */ + @JsonProperty("tcmdrug_used_way") + private String tcmdrugUsedWay; + + /** + * 外检标志 + */ + @JsonProperty("etip_flag") + private String etipFlag; + + /** + * 外检医院编码 + */ + @JsonProperty("etip_hosp_code") + private String etipHospCode; + + /** + * 出院带药标志 + */ + @JsonProperty("dscg_tkdrug_flag") + private String dscgTkdrugFlag; + + /** + * 生育费用标志 + */ + @JsonProperty("matn_fee_flag") + private String matnFeeFlag; + + /** + * 备注 + */ + @JsonProperty("memo") + private String memo; + + /** + * 组套编号 + */ + @JsonProperty("comb_no") + private String combNo; + + /** + * 字段扩展 + * 格式:JSON + */ + @JsonProperty("exp_content") + private String expContent; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetailModel.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetailModel.java new file mode 100644 index 00000000..e1a6f370 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301InputFeeDetailModel.java @@ -0,0 +1,29 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.List; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【2301】参数 + * + * @author SunJQ + * @date 2025-08-09 + */ +@Data +@Accessors(chain = true) +public class Yb2301InputFeeDetailModel { + /** + * 费用明细 + */ + List feedetail; + + /** + * 参保地 + */ + String insuplcAdmdvs; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301OutputResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301OutputResult.java new file mode 100644 index 00000000..e49d91c2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2301OutputResult.java @@ -0,0 +1,124 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class Yb2301OutputResult { + + /** + * 费用明细流水号 + */ + @JsonProperty("feedetl_sn") + private String feedetlSn; + + /** + * 明细项目费用总额 + */ + @JsonProperty("det_item_fee_sumamt") + private BigDecimal detItemFeeSumamt; + + /** + * 数量 + */ + @JsonProperty("cnt") + private BigDecimal cnt; + + /** + * 单价 + */ + @JsonProperty("pric") + private BigDecimal pric; + + /** + * 定价上限金额 + */ + @JsonProperty("pric_uplmt_amt") + private BigDecimal pricUplmtAmt; + + /** + * 自付比例 + */ + @JsonProperty("selfpay_prop") + private BigDecimal selfpayProp; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价金额 + */ + @JsonProperty("overlmt_amt") + private BigDecimal overlmtAmt; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 收费项目等级 + */ + @JsonProperty("chrgitm_lv") + private String chrgitmLv; + + /** + * 医疗收费项目类别 + */ + @JsonProperty("med_chrgitm_type") + private String medChrgitmType; + + /** + * 基本药物标志 + */ + @JsonProperty("bas_medn_flag") + private String basMednFlag; + + /** + * 医保谈判药品标志 + */ + @JsonProperty("hi_nego_drug_flag") + private String hiNegoDrugFlag; + + /** + * 儿童用药标志 + */ + @JsonProperty("chld_medc_flag") + private String chldMedcFlag; + + /** + * 目录特项标志 + */ + @JsonProperty("list_sp_item_flag") + private String listSpItemFlag; + + /** + * 限制使用标志 + */ + @JsonProperty("lmt_used_flag") + private String lmtUsedFlag; + + /** + * 直报标志 + */ + @JsonProperty("drt_reim_flag") + private String drtReimFlag; + + /** + * 备注 + */ + @JsonProperty("memo") + private String memo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2302InputInpatient.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2302InputInpatient.java new file mode 100644 index 00000000..5884763b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2302InputInpatient.java @@ -0,0 +1,35 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Yb2302InputInpatient { + /** + * 费用明细流水号 + * 单次就诊内唯一 + */ + @JsonProperty("feedetl_sn") + private String feedetlSn; + + /** + * 人员编号 + * 退单时传入被退单的费用明细流水号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 字段扩展 + */ + @JsonProperty("exp_content") + private String expContent; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303InputInpatient.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303InputInpatient.java new file mode 100644 index 00000000..4233bc37 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303InputInpatient.java @@ -0,0 +1,123 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Accessors(chain = true) +public class Yb2303InputInpatient { + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 就诊凭证类型 + */ + @JsonProperty("mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 就诊凭证编号 + * 就诊凭证类型为“01”时填写电子凭证令牌,为“02”时填写身份证号,为“03”时填写社会保障卡卡号 + */ + @JsonProperty("mdtrt_cert_no") + private String mdtrtCertNo; + + /** + * 医疗费总额 + */ + @JsonProperty("medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 个人结算方式 + */ + @JsonProperty("psn_setlway") + private String psnSetlway; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 个人账户使用标志 + */ + @JsonProperty("acct_used_flag") + private String acctUsedFlag; + + /** + * 险种类型 + */ + @JsonProperty("insutype") + private String insutype; + + /** + * 参保地医保区划 + */ + @JsonProperty("insuplc_admdvs") + private String insuplcAdmdvs; + + /** + * 就医地医保区划 + */ + @JsonProperty("mdtrtarea_admvs") + private String mdtrtareaAdmvs; + + /** + * 发票号 + */ + @JsonProperty("invono") + private String invono; + + /** + * 中途结算标志 + */ + @JsonProperty("mid_setl_flag") + private String midSetlFlag; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价金额 + */ + @JsonProperty("overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 出院时间 + * 格式:yyyy-MM-dd + */ + @JsonProperty("dscgTime") + private Date dscgTime; + + /** + * 字段扩展 + */ + @JsonProperty("exp_content") + private String expContent; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303OutputSetInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303OutputSetInfo.java new file mode 100644 index 00000000..961811c7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2303OutputSetInfo.java @@ -0,0 +1,292 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Yb2303OutputSetInfo { + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 人员姓名 + */ + @JsonProperty("psn_name") + private String psnName; + + /** + * 人员证件类型 + */ + @JsonProperty("psn_cert_type") + private String psnCertType; + + /** + * 证件号码 + */ + @JsonProperty("certno") + private String certno; + + /** + * 性别 + */ + @JsonProperty("gend") + private String gend; + + /** + * 民族 + */ + @JsonProperty("naty") + private String naty; + + /** + * 出生日期 格式:yyyy-MM-dd + */ + @JsonProperty("brdy") + private Date brdy; + + /** + * 年龄 + */ + @JsonProperty("age") + private BigDecimal age; + + /** + * 险种类型 + */ + @JsonProperty("insutype") + private String insutype; + + /** + * 人员类别 + */ + @JsonProperty("psn_type") + private String psnType; + + /** + * 公务员标志 + */ + @JsonProperty("cvlserv_flag") + private String cvlservFlag; + + /** + * 结算时间 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("setl_time") + private Date setlTime; + + /** + * 就诊凭证类型 + */ + @JsonProperty("mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 医疗类别 + */ + @JsonProperty("med_type") + private String medType; + + /** + * 医疗费总额 + */ + @JsonProperty("medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价自费费用 + */ + @JsonProperty("overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 实际支付起付线 + */ + @JsonProperty("act_pay_dedc") + private BigDecimal actPayDedc; + + /** + * 基本医疗保险统筹基金支出 + */ + @JsonProperty("hifp_pay") + private BigDecimal hifpPay; + + /** + * 基本医疗保险统筹基金支付比例 + */ + @JsonProperty("pool_prop_selfpay") + private BigDecimal poolPropSelfpay; + + /** + * 公务员医疗补助资金支出 + */ + @JsonProperty("cvlserv_pay") + private BigDecimal cvlservPay; + + /** + * 企业补充医疗保险基金支出 + */ + @JsonProperty("hifes_pay") + private BigDecimal hifesPay; + + /** + * 居民大病保险资金支出 + */ + @JsonProperty("hifmi_pay") + private BigDecimal hifmiPay; + + /** + * 职工大额医疗费用补助基金支出 + */ + @JsonProperty("hifob_pay") + private BigDecimal hifobPay; + + /** + * 医疗救助基金支出 + */ + @JsonProperty("maf_pay") + private BigDecimal mafPay; + + /** + * 其他支出 + */ + @JsonProperty("oth_pay") + private BigDecimal othPay; + + /** + * 基金支付总额 + */ + @JsonProperty("fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + /** + * 个人负担总金额 + */ + @JsonProperty("psn_part_amt") + private BigDecimal psnPartAmt; + + /** + * 个人账户支出 + */ + @JsonProperty("acct_pay") + private BigDecimal acctPay; + + /** + * 个人现金支出 + */ + @JsonProperty("psn_cash_pay") + private BigDecimal psnCashPay; + + /** + * 医院负担金额 + */ + @JsonProperty("hosp_part_amt") + private BigDecimal hospPartAmt; + + /** + * 余额 + */ + @JsonProperty("balc") + private BigDecimal balc; + + /** + * 个人账户共济支付金额 + */ + @JsonProperty("acct_mulaid_pay") + private BigDecimal acctMulaidPay; + + /** + * 医药机构结算ID 存放发送方报文ID + */ + @JsonProperty("medins_setl_id") + private String medinsSetlId; + + /** + * 清算经办机构 + */ + @JsonProperty("clr_optins") + private String clrOptins; + + /** + * 清算方式 + */ + @JsonProperty("clr_way") + private String clrWay; + + /** + * 清算类别 + */ + @JsonProperty("clr_type") + private String clrType; + + /** + * 伤残人员医疗保障基金支出 1.5.4新增 + */ + @JsonProperty("hifdm_pay") + private BigDecimal hifdmPay; + + /** + * 基金支付详情 + */ + @JSONField(name = "setldetail") + private List setldetail; + + public Yb2303OutputSetInfo() { + this.medfeeSumamt = BigDecimal.ZERO; + this.fulamtOwnpayAmt = BigDecimal.ZERO; + this.overlmtSelfpay = BigDecimal.ZERO; + this.preselfpayAmt = BigDecimal.ZERO; + this.inscpScpAmt = BigDecimal.ZERO; + this.actPayDedc = BigDecimal.ZERO; + this.hifpPay = BigDecimal.ZERO; + this.poolPropSelfpay = BigDecimal.ZERO; + this.cvlservPay = BigDecimal.ZERO; + this.hifesPay = BigDecimal.ZERO; + this.hifmiPay = BigDecimal.ZERO; + this.hifobPay = BigDecimal.ZERO; + this.mafPay = BigDecimal.ZERO; + this.othPay = BigDecimal.ZERO; + this.fundPaySumamt = BigDecimal.ZERO; + this.psnPartAmt = BigDecimal.ZERO; + this.acctPay = BigDecimal.ZERO; + this.psnCashPay = BigDecimal.ZERO; + this.hospPartAmt = BigDecimal.ZERO; + this.balc = BigDecimal.ZERO; + this.acctMulaidPay = BigDecimal.ZERO; + this.hifdmPay = BigDecimal.ZERO; + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputExpContent.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputExpContent.java new file mode 100644 index 00000000..2a4bafd3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputExpContent.java @@ -0,0 +1,31 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.math.BigDecimal; + +public class Yb2304InputExpContent { + /** + * 实际就医区划 + */ + @JsonProperty("med_admdvs") + private BigDecimal medAdmdvs; + + /** + * 外报就医医院编号 + */ + @JsonProperty("med_hosp_no") + private BigDecimal medHospNo; + + /** + * 外报就医医院名称 + */ + @JsonProperty("med_hosp_name") + private BigDecimal medHospName; + + /** + * 外报类型 + */ + @JsonProperty("out_submit_type") + private String outSubmitType; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputInpatient.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputInpatient.java new file mode 100644 index 00000000..2dc87b6d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304InputInpatient.java @@ -0,0 +1,115 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class Yb2304InputInpatient { + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 就诊凭证类型 + */ + @JsonProperty("mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 就诊凭证编号 + * 就诊凭证类型为“01”时填写电子凭证令牌,为“02”时填写身份证号,为“03”时填写社会保障卡卡号 + */ + @JsonProperty("mdtrt_cert_no") + private String mdtrtCertNo; + + /** + * 医疗费总额 + */ + @JsonProperty("medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 个人结算方式 + */ + @JsonProperty("psn_setlway") + private String psnSetlway; + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 险种类型 + */ + @JsonProperty("insutype") + private String insutype; + + /** + * 个人账户使用标志 + */ + @JsonProperty("acct_used_flag") + private String acctUsedFlag; + + /** + * 参保地医保区划 + */ + @JsonProperty("insuplc_admdvs") + private String insuplcAdmdvs; + + /** + * 就医地医保区划 + */ + @JsonProperty("mdtrtarea_admvs") + private String mdtrtareaAdmvs; + + /** + * 发票号 + */ + @JsonProperty("invono") + private String invono; + + /** + * 中途结算标志 + */ + @JsonProperty("mid_setl_flag") + private String midSetlFlag; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价金额 + */ + @JsonProperty("overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 字段扩展 + */ + @JsonProperty("exp_content") + private String expContent; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304OutputSetlInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304OutputSetlInfo.java new file mode 100644 index 00000000..de231002 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2304OutputSetlInfo.java @@ -0,0 +1,279 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.math.BigDecimal; +import java.util.Date; + +public class Yb2304OutputSetlInfo { + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 结算ID + */ + @JsonProperty("setl_id") + private String setlId; + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 人员姓名 + */ + @JsonProperty("psn_name") + private String psnName; + + /** + * 人员证件类型 + */ + @JsonProperty("psn_cert_type") + private String psnCertType; + + /** + * 证件号码 + */ + @JsonProperty("certno") + private String certno; + + /** + * 性别 + */ + @JsonProperty("gend") + private String gend; + + /** + * 民族 + */ + @JsonProperty("naty") + private String naty; + + /** + * 出生日期 + * 格式:yyyy-MM-dd + */ + @JsonProperty("brdy") + private Date brdy; + + /** + * 年龄 + */ + @JsonProperty("age") + private BigDecimal age; + + /** + * 险种类型 + */ + @JsonProperty("insutype") + private String insutype; + + /** + * 人员类别 + */ + @JsonProperty("psn_type") + private String psnType; + + /** + * 公务员标志 + */ + @JsonProperty("cvlserv_flag") + private String cvlservFlag; + + /** + * 结算时间 + * 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("setl_time") + private Date setlTime; + + /** + * 就诊凭证类型 + */ + @JsonProperty("mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 医疗类别 + */ + @JsonProperty("med_type") + private String medType; + + /** + * 医疗费总额 + */ + @JsonProperty("medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价自费费用 + */ + @JsonProperty("overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 实际支付起付线 + */ + @JsonProperty("act_pay_dedc") + private BigDecimal actPayDedc; + + /** + * 基本医疗保险统筹基金支出 + */ + @JsonProperty("hifp_pay") + private BigDecimal hifpPay; + + /** + * 基本医疗保险统筹基金支付比例 + */ + @JsonProperty("pool_prop_selfpay") + private BigDecimal poolPropSelfpay; + + /** + * 公务员医疗补助资金支出 + */ + @JsonProperty("cvlserv_pay") + private BigDecimal cvlservPay; + + /** + * 企业补充医疗保险基金支出 + */ + @JsonProperty("hifes_pay") + private BigDecimal hifesPay; + + /** + * 居民大病保险资金支出 + */ + @JsonProperty("hifmi_pay") + private BigDecimal hifmiPay; + + /** + * 职工大额医疗费用补助基金支出 + */ + @JsonProperty("hifob_pay") + private BigDecimal hifobPay; + + /** + * 医疗救助基金支出 + */ + @JsonProperty("maf_pay") + private BigDecimal mafPay; + + /** + * 医院负担金额(原始) + */ + @JsonProperty("hosp_part_amt_old") + private BigDecimal hospPartAmtOld; + + /** + * 其他支出 + */ + @JsonProperty("oth_pay") + private BigDecimal othPay; + + /** + * 基金支付总额 + */ + @JsonProperty("fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + /** + * 个人负担总金额 + */ + @JsonProperty("psn_part_amt") + private BigDecimal psnPartAmt; + + /** + * 个人账户支出 + */ + @JsonProperty("acct_pay") + private BigDecimal acctPay; + + /** + * 个人现金支出 + */ + @JsonProperty("psn_cash_pay") + private BigDecimal psnCashPay; + + /** + * 余额 + */ + @JsonProperty("balc") + private BigDecimal balc; + + /** + * 个人账户共济支付金额 + */ + @JsonProperty("acct_mulaid_pay") + private BigDecimal acctMulaidPay; + + /** + * 医药机构结算ID + * 存放发送方报文ID + */ + @JsonProperty("medins_setl_id") + private String medinsSetlId; + + /** + * 清算经办机构 + */ + @JsonProperty("clr_optins") + private String clrOptins; + + /** + * 清算方式 + */ + @JsonProperty("clr_way") + private String clrWay; + + /** + * 清算类别 + */ + @JsonProperty("clr_type") + private String clrType; + + /** + * 字段扩展 + * 1.5.4新增 + */ + @JsonProperty("exp_content") + private String expContent; + + /** + * 伤残人员医疗保障基金支出 + * 1.5.4新增 + */ + @JsonProperty("hifdm_pay") + private BigDecimal hifdmPay; + + /** + * 医院负担金额 + * 1.5.4新增 + */ + @JsonProperty("hosp_part_amt") + private BigDecimal hospPartAmt; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305InputInpatient.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305InputInpatient.java new file mode 100644 index 00000000..add6df8f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305InputInpatient.java @@ -0,0 +1,35 @@ +package com.openhis.yb.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class Yb2305InputInpatient { + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 结算ID + */ + @JsonProperty("setl_Id") + private String setlId; + + /** + * 人员编号 + */ + @JsonProperty("psn_no") + private String psnNo; + + /** + * 字段扩展 + */ + @JsonProperty("exp_content") + private String expContent; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305OutputSetlInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305OutputSetlInfo.java new file mode 100644 index 00000000..9d3f9c59 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2305OutputSetlInfo.java @@ -0,0 +1,224 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Yb2305OutputSetlInfo { + + /** + * 就诊ID + */ + @JsonProperty("mdtrt_id") + private String mdtrtId; + + /** + * 结算ID + */ + @JsonProperty("setl_id") + private String setlId; + + /** + * 清算经办机构 + */ + @JsonProperty("clr_optins") + private String clrOptins; + + /** + * 结算时间 格式:yyyy-MM-dd HH:mm:ss + */ + @JsonProperty("setl_time") + private Date setlTime; + + /** + * 医疗费总额 + */ + @JsonProperty("medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 全自费金额 + */ + @JsonProperty("fulamt_ownpay_amt") + private BigDecimal fulamtOwnpayAmt; + + /** + * 超限价自费费用 + */ + @JsonProperty("overlmt_selfpay") + private BigDecimal overlmtSelfpay; + + /** + * 先行自付金额 + */ + @JsonProperty("preselfpay_amt") + private BigDecimal preselfpayAmt; + + /** + * 符合政策范围金额 + */ + @JsonProperty("inscp_scp_amt") + private BigDecimal inscpScpAmt; + + /** + * 实际支付起付线 + */ + @JsonProperty("act_pay_dedc") + private BigDecimal actPayDedc; + + /** + * 基本医疗保险统筹基金支出 + */ + @JsonProperty("hifp_pay") + private BigDecimal hifpPay; + + /** + * 基本医疗保险统筹基金支付比例 + */ + @JsonProperty("pool_prop_selfpay") + private BigDecimal poolPropSelfpay; + + /** + * 公务员医疗补助资金支出 + */ + @JsonProperty("cvlserv_pay") + private BigDecimal cvlservPay; + + /** + * 企业补充医疗保险基金支出 + */ + @JsonProperty("hifes_pay") + private BigDecimal hifesPay; + + /** + * 居民大病保险资金支出 + */ + @JsonProperty("hifmi_pay") + private BigDecimal hifmiPay; + + /** + * 职工大额医疗费用补助基金支出 + */ + @JsonProperty("hifob_pay") + private BigDecimal hifobPay; + + /** + * 医疗救助基金支出 + */ + @JsonProperty("maf_pay") + private BigDecimal mafPay; + + /** + * 其他支出 + */ + @JsonProperty("oth_pay") + private BigDecimal othPay; + + /** + * 基金支付总额 + */ + @JsonProperty("fund_pay_sumamt") + private BigDecimal fundPaySumamt; + + /** + * 个人负担总金额 + */ + @JsonProperty("psn_part_amt") + private BigDecimal psnPartAmt; + + /** + * 个人账户支出 + */ + @JsonProperty("acct_pay") + private BigDecimal acctPay; + + /** + * 个人现金支出 + */ + @JsonProperty("psn_cash_pay") + private BigDecimal psnCashPay; + + /** + * 医院负担金额 + */ + @JsonProperty("hosp_part_amt") + private BigDecimal hospPartAmt; + + /** + * 余额 + */ + @JsonProperty("balc") + private BigDecimal balc; + + /** + * 个人账户共济支付金额 + */ + @JsonProperty("acct_mulaid_pay") + private BigDecimal acctMulaidPay; + + /** + * 医药机构结算ID 存放发送方报文ID + */ + @JsonProperty("medins_setl_id") + private String medinsSetlId; + + /** + * 伤残人员医疗保障基金支出 + */ + @JsonProperty("hifdm_pay") + private BigDecimal hifdmPay; + + /** + * 人员参保关系ID + */ + @JsonProperty("psn_insu_rlts_id") + private String psnInsuRltsId; + + /** + * 参保机构行政区划 + */ + @JsonProperty("insu_admdvs") + private String insuAdmdvs; + + /** + * 开始日期 + */ + @JsonProperty("begndate") + private Date begndate; + + /** + * 结算日期 + */ + @JsonProperty("enddate") + private Date enddate; + + /** + * 就诊凭证编号 + */ + @JsonProperty("mdtrt_cert_no") + private String mdtrtCertNo; + + /** + * 结算类别 + */ + @JsonProperty("setl_type") + private String setlType; + + /** + * 本次起付线 + */ + @JsonProperty("crt_dedc") + private BigDecimal crtDedc; + + /** + * 发票号 + */ + @JsonProperty("invono") + private String invono; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientDiseInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientDiseInfo.java new file mode 100644 index 00000000..77f617c3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientDiseInfo.java @@ -0,0 +1,82 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import java.util.Date; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +public class Yb2401InputInpatientDiseInfo { + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 诊断类别 + */ + @JSONField(name = "diag_type") + private String diagType; + + /** + * 主诊断标志 + */ + @JSONField(name = "maindiag_flag") + private String maindiagFlag; + + /** + * 诊断排序号 + */ + @JSONField(name = "diag_srt_no") + private Integer diagSrtNo; + + /** + * 诊断代码 + */ + @JSONField(name = "diag_code") + private String diagCode; + + /** + * 诊断名称 + */ + @JSONField(name = "diag_name") + private String diagName; + + /** + * 入院病情 + */ + @JSONField(name = "adm_cond") + private String admCond; + + /** + * 诊断科室 + */ + @JSONField(name = "diag_dept") + private String diagDept; + + /** + * 诊断医生编码 + */ + @JSONField(name = "dise_dor_no") + private String diseDorNo; + + /** + * 诊断医生姓名 + */ + @JSONField(name = "dise_dor_name") + private String diseDorName; + + /** + * 诊断时间(格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "diag_time", format = "yyyy-MM-dd HH:mm:ss") + private Date diagTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientMdtrtInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientMdtrtInfo.java new file mode 100644 index 00000000..b5129361 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientMdtrtInfo.java @@ -0,0 +1,239 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import liquibase.pro.packaged.A; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ + +@Data +@Accessors(chain = true) +public class Yb2401InputInpatientMdtrtInfo { + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 险种类型 + */ + @JSONField(name = "insutype") + private String insutype; + + /** + * 联系人姓名 + */ + @JSONField(name = "coner_name") + private String conerName; + + /** + * 联系电话 + */ + @JSONField(name = "tel") + private String tel; + + /** + * 开始时间(入院时间,格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss") + private Date begntime; + + /** + * 就诊凭证类型 + */ + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 就诊凭证编号(就诊凭证类型为“01”时填写电子凭证令牌,为“02”时填写身份证号,为“03”时填写社会保障卡卡号) + */ + @JSONField(name = "mdtrt_cert_no") + private String mdtrtCertNo; + + /** + * 医疗类别 + */ + @JSONField(name = "med_type") + private String medType; + + /** + * 住院号(院内就诊流水号) + */ + @JSONField(name = "ipt_no") + private String iptNo; + + /** + * 病历号 + */ + @JSONField(name = "medrcdno") + private String medrcdno; + + /** + * 主治医生编码 + */ + @JSONField(name = "atddr_no") + private String atddrNo; + + /** + * 主诊医师姓名 + */ + @JSONField(name = "chfpdr_name") + private String chfpdrName; + + /** + * 入院诊断描述 + */ + @JSONField(name = "adm_diag_dscr") + private String admDiagDscr; + + /** + * 入院科室编码 + */ + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + /** + * 入院科室名称 + */ + @JSONField(name = "adm_dept_name") + private String admDeptName; + + /** + * 入院床位 + */ + @JSONField(name = "adm_bed") + private String admBed; + + /** + * 住院主诊断代码 + */ + @JSONField(name = "dscg_maindiag_code") + private String dscgMaindiagCode; + + /** + * 住院主诊断名称 + */ + @JSONField(name = "dscg_maindiag_name") + private String dscgMaindiagName; + + /** + * 主要病情描述 + */ + @JSONField(name = "main_cond_dscr") + private String mainCondDscr; + + /** + * 病种编码(按照标准编码填写:按病种结算病种目录代码(bydise_setl_list_code)、日间手术病种目录代码(daysrg_dise_list_code)) + */ + @JSONField(name = "dise_codg") + private String diseCodg; + + /** + * 病种名称 + */ + @JSONField(name = "dise_name") + private String diseName; + + /** + * 手术操作代码(日间手术病种时必填) + */ + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + /** + * 手术操作名称 + */ + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 计划生育服务证号 + */ + @JSONField(name = "fpsc_no") + private String fpscNo; + + /** + * 生育类别 + */ + @JSONField(name = "matn_type") + private String matnType; + + /** + * 计划生育手术类别 + */ + @JSONField(name = "birctrl_type") + private String birctrlType; + + /** + * 晚育标志 + */ + @JSONField(name = "latechb_flag") + private String latechbFlag; + + /** + * 孕周数 + */ + @JSONField(name = "geso_val") + private Integer gesoVal; + + /** + * 胎次 + */ + @JSONField(name = "fetts") + private Integer fetts; + + /** + * 胎儿数 + */ + @JSONField(name = "fetus_cnt") + private Integer fetusCnt; + + /** + * 早产标志 + */ + @JSONField(name = "pret_flag") + private String pretFlag; + + /** + * 计划生育手术或生育日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "birctrl_matn_date", format = "yyyy-MM-dd") + private Date birctrlMatnDate; + + /** + * 病种类型 + */ + @JSONField(name = "dise_type_code") + private String diseTypeCode; + + /** + * 字段扩展 + */ + @JSONField(name = "exp_content") + private String expContent; + + /** + * 参保地医保区划 + */ + @JSONField(name = "insuplc_admdvs") + private String insuplcAdmdvs; + + /** + * 就医地医保区划 + */ + @JSONField(name = "mdtrtarea_admvs") + private String mdtrtareaAdmvs; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientTrumContent.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientTrumContent.java new file mode 100644 index 00000000..1d6ea7db --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2401InputInpatientTrumContent.java @@ -0,0 +1,38 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.core.common.annotation.DataSource; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2401InputInpatientTrumContent { + /** + * 外伤标识(外伤就医时必填) + */ + @JSONField(name = "trum_flag") + private String trumFlag; + + /** + * 涉及第三方标志(承诺是否涉及第三方,trum_flag外伤标志为“1“时,此项为必填。0 代表不涉及第三方,1代表涉及第三方) + */ + @JSONField(name = "rel_ttp_flag") + private String relTtpFlag; + + /** + * 就诊人群类型 + */ + @JSONField(name = "mdtrt_grp_type") + private String mdtrtGrpType; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDiseInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDiseInfo.java new file mode 100644 index 00000000..4b4a655c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDiseInfo.java @@ -0,0 +1,88 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.core.common.annotation.DataSource; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2402InputInpatientDiseInfo { + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 诊断类别 + */ + @JSONField(name = "diag_type") + private String diagType; + + /** + * 主诊断标志 + */ + @JSONField(name = "maindiag_flag") + private String maindiagFlag; + + /** + * 诊断排序号 + */ + @JSONField(name = "diag_srt_no") + private Integer diagSrtNo; + + /** + * 诊断代码 + */ + @JSONField(name = "diag_code") + private String diagCode; + + /** + * 诊断名称 + */ + @JSONField(name = "diag_name") + private String diagName; + + /** + * 诊断科室 + */ + @JSONField(name = "diag_dept") + private String diagDept; + + /** + * 诊断医生编码 + */ + @JSONField(name = "dise_dor_no") + private String diseDorNo; + + /** + * 诊断医生姓名 + */ + @JSONField(name = "dise_dor_name") + private String diseDorName; + + /** + * 诊断时间(格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "diag_time", format = "yyyy-MM-dd HH:mm:ss") + private Date diagTime; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDscgInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDscgInfo.java new file mode 100644 index 00000000..c937858f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputInpatientDscgInfo.java @@ -0,0 +1,164 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2402InputInpatientDscgInfo { + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 险种类型 + */ + @JSONField(name = "insutype") + private String insutype; + + /** + * 结束时间(出院时间,格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "endtime", format = "yyyy-MM-dd HH:mm:ss") + private Date endtime; + + /** + * 病种编码(按照标准编码填写:按病种结算病种目录代码(bydise_setl_list_code)、日间手术病种目录代码(daysrg_dise_list_code)) + */ + @JSONField(name = "dise_codg") + private String diseCodg; + + /** + * 病种名称 + */ + @JSONField(name = "dise_name") + private String diseName; + + /** + * 手术操作代码(日间手术病种时必填) + */ + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + /** + * 手术操作名称 + */ + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 计划生育服务证号 + */ + @JSONField(name = "fpsc_no") + private String fpscNo; + + /** + * 生育类别 + */ + @JSONField(name = "matn_type") + private String matnType; + + /** + * 计划生育手术类别 + */ + @JSONField(name = "birctrl_type") + private String birctrlType; + + /** + * 晚育标志 + */ + @JSONField(name = "latechb_flag") + private String latechbFlag; + + /** + * 孕周数 + */ + @JSONField(name = "esso_val") + private Integer essoVal; + + /** + * 胎次 + */ + @JSONField(name = "fetts") + private Integer fetts; + + /** + * 胎儿数 + */ + @JSONField(name = "fetus_cnt") + private Integer fetusCnt; + + /** + * 早产标志 + */ + @JSONField(name = "pret_flag") + private String pretFlag; + + /** + * 计划生育手术或生育日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "birctrl_matn_date", format = "yyyy-MM-dd") + private Date birctrlMatnDate; + + /** + * 伴有并发症标志 + */ + @JSONField(name = "cop_flag") + private String copFlag; + + /** + * 出院科室编码 + */ + @JSONField(name = "dscg_dept_codg") + private String dscgDeptCodg; + + /** + * 出院科室名称 + */ + @JSONField(name = "dscg_dept_name") + private String dscgDeptName; + + /** + * 出院床位 + */ + @JSONField(name = "dscg_bed") + private String dscgBed; + + /** + * 离院方式 + */ + @JSONField(name = "dscg_way") + private String dscgWay; + + /** + * 死亡日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "die_date", format = "yyyy-MM-dd") + private Date dieDate; + + /** + * 字段扩展 + */ + @JSONField(name = "exp_content") + private String expContent; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputParam.java new file mode 100644 index 00000000..191c91bb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2402InputParam.java @@ -0,0 +1,26 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import lombok.Data; + +import java.util.List; + +/** + * 2402接口封装类 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +public class Yb2402InputParam { + /** + * 出院诊断 + */ + List yb2402InputInpatientDiseInfo; + /** + * 出院信息 + */ + Yb2402InputInpatientDscgInfo yb2402InputInpatientDscgInfo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputAdmInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputAdmInfo.java new file mode 100644 index 00000000..f15225a1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputAdmInfo.java @@ -0,0 +1,226 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2403InputAdmInfo { + + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 联系人姓名 + */ + @JSONField(name = "coner_name") + private String conerName; + + /** + * 联系电话 + */ + @JSONField(name = "tel") + private String tel; + + /** + * 开始时间(格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "begntime", format = "yyyy-MM-dd HH:mm:ss") + private Date begntime; + + /** + * 结束时间(格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "endtime", format = "yyyy-MM-dd HH:mm:ss") + private Date endtime; + + /** + * 就诊凭证类型 + */ + @JSONField(name = "mdtrt_cert_type") + private String mdtrtCertType; + + /** + * 医疗类别 + */ + @JSONField(name = "med_type") + private String medType; + + /** + * 住院/门诊号 + */ + @JSONField(name = "ipt_otp_no") + private String iptOtpNo; + + /** + * 病历号 + */ + @JSONField(name = "medrcdno") + private String medrcdno; + + /** + * 主治医生编码 + */ + @JSONField(name = "atddr_no") + private String atddrNo; + + /** + * 主诊医师姓名 + */ + @JSONField(name = "chfpdr_name") + private String chfpdrName; + + /** + * 入院诊断描述 + */ + @JSONField(name = "adm_diag_dscr") + private String admDiagDscr; + + /** + * 入院科室编码 + */ + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + /** + * 入院科室名称 + */ + @JSONField(name = "adm_dept_name") + private String admDeptName; + + /** + * 入院床位 + */ + @JSONField(name = "adm_bed") + private String admBed; + + /** + * 住院主诊断代码 + */ + @JSONField(name = "dscg_maindiag_code") + private String dscgMaindiagCode; + + /** + * 住院主诊断名称 + */ + @JSONField(name = "dscg_maindiag_name") + private String dscgMaindiagName; + + /** + * 主要病情描述 + */ + @JSONField(name = "main_cond_dscr") + private String mainCondDscr; + + /** + * 病种编码(按照标准编码填写:按病种结算病种目录代码(bydise_setl_list_code)、日间手术病种目录代码(daysrg_dise_list_code)) + */ + @JSONField(name = "dise_codg") + private String diseCodg; + + /** + * 病种名称 + */ + @JSONField(name = "dise_name") + private String diseName; + + /** + * 手术操作代码(日间手术病种时必填) + */ + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + /** + * 手术操作名称 + */ + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 计划生育服务证号 + */ + @JSONField(name = "fpsc_no") + private String fpscNo; + + /** + * 生育类别 + */ + @JSONField(name = "matn_type") + private String matnType; + + /** + * 计划生育手术类别 + */ + @JSONField(name = "birctrl_type") + private String birctrlType; + + /** + * 晚育标志 + */ + @JSONField(name = "latechb_flag") + private String latechbFlag; + + /** + * 孕周数 + */ + @JSONField(name = "esso_val") + private Integer essoVal; + + /** + * 胎次 + */ + @JSONField(name = "fetts") + private Integer fetts; + + /** + * 胎儿数 + */ + @JSONField(name = "fetus_cnt") + private Integer fetusCnt; + + /** + * 早产标志 + */ + @JSONField(name = "pret_flag") + private String pretFlag; + + /** + * 计划生育手术或生育日期(格式:yyyy-MM-dd) + */ + @JSONField(name = "birctrl_matn_date", format = "yyyy-MM-dd") + private Date birctrlMatnDate; + + /** + * 病种编号 + */ + @JSONField(name = "dise_type_code") + private String diseTypeCode; + + /** + * 字段扩展 + */ + @JSONField(name = "exp_content") + private String expContent; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputDiseInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputDiseInfo.java new file mode 100644 index 00000000..527eedda --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputDiseInfo.java @@ -0,0 +1,92 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2403InputDiseInfo { + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 诊断类别 + */ + @JSONField(name = "diag_type") + private String diagType; + + /** + * 主诊断标志 + */ + @JSONField(name = "maindiag_flag") + private String maindiagFlag; + + /** + * 诊断排序号 + */ + @JSONField(name = "diag_srt_no") + private Integer diagSrtNo; + + /** + * 诊断代码 + */ + @JSONField(name = "diag_code") + private String diagCode; + + /** + * 诊断名称 + */ + @JSONField(name = "diag_name") + private String diagName; + + /** + * 入院病情 + */ + @JSONField(name = "adm_cond") + private String admCond; + + /** + * 诊断科室 + */ + @JSONField(name = "diag_dept") + private String diagDept; + + /** + * 诊断医生编码 + */ + @JSONField(name = "dise_dor_no") + private String diseDorNo; + + /** + * 诊断医生姓名 + */ + @JSONField(name = "dise_dor_name") + private String diseDorName; + + /** + * 诊断时间(格式:yyyy-MM-dd HH:mm:ss) + */ + @JSONField(name = "diag_time", format = "yyyy-MM-dd HH:mm:ss") + private Date diagTime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputMdtrtGrpContent.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputMdtrtGrpContent.java new file mode 100644 index 00000000..ca99e2e7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputMdtrtGrpContent.java @@ -0,0 +1,20 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +public class Yb2403InputMdtrtGrpContent { + + @JSONField(name = "mdtrt_grp_type") + private String mdtrtGrpType; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputParam.java new file mode 100644 index 00000000..acafa1e9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputParam.java @@ -0,0 +1,30 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.List; + +import lombok.Data; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Data +public class Yb2403InputParam { + /** + * + */ + Yb2403InputAdmInfo yb2403InputAdmInfo; + /** + * + */ + List yb2403InputDiseInfo; + /** + * + */ + Yb2403InputMdtrtGrpContent yb2403InputMdtrtGrpContent; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputTrumContent.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputTrumContent.java new file mode 100644 index 00000000..99847a6a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2403InputTrumContent.java @@ -0,0 +1,30 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2403InputTrumContent { + /** + * 外伤标识(外伤就医时必填) + */ + @JSONField(name = "trum_flag") + private String trumFlag; + + /** + * 涉及第三方标志(承诺是否涉及第三方,trum_flag外伤标志为“1“时,此项为必填。0 代表不涉及第三方,1代表涉及第三方) + */ + @JSONField(name = "rel_ttp_flag") + private String relTtpFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2404InputInpatient.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2404InputInpatient.java new file mode 100644 index 00000000..b018a616 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2404InputInpatient.java @@ -0,0 +1,36 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2404InputInpatient { + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 字段扩展 + */ + @JSONField(name = "exp_content") + private String expContent; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2405InputInpatient.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2405InputInpatient.java new file mode 100644 index 00000000..fa78ab38 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb2405InputInpatient.java @@ -0,0 +1,39 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-29 + */ +@Data +@Accessors(chain = true) +public class Yb2405InputInpatient { + + /** + * 就诊ID + */ + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 字段扩展 + */ + @JSONField(name = "exp_content") + private String expContent; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterDiagnoseInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterDiagnoseInfo.java new file mode 100644 index 00000000..f0ccf5d3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterDiagnoseInfo.java @@ -0,0 +1,52 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】就诊诊断信息 + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101AdapterEncounterDiagnoseInfo { + + /** + * 诊断标识:诊断记录唯一标识 + */ + private String diseId; + + /** + * 住院患者疾病诊断类型代码 + */ + private String iptDiseTypeCode; + + /** + * 主诊断标志:参考字典表 + */ + private String maindiseFlag; + + /** + * 诊断排序号:例如:1,2,3… + */ + private String diasSrtNo; + + /** + * 诊断(疾病)编码 + */ + private String diseCodg; + + /** + * 诊断(疾病)名称 + */ + private String diseName; + + /** + * 诊断日期 + */ + private Date diseDate; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterPatientInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterPatientInfo.java new file mode 100644 index 00000000..1df006df --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterEncounterPatientInfo.java @@ -0,0 +1,128 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】就诊患者信息 + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101AdapterEncounterPatientInfo { + + /** + * 参保人标识:参保人唯一ID + */ + private String patnId; + + /** + * 姓名 + */ + private String patnName; + + /** + * 性别 + */ + private String gend; + + /** + * 出生日期 + */ + private Date brdy; + + /** + * 统筹区编码:参保人所属统筹区 + */ + private String poolarea; + + /** + * 就诊标识:就诊记录唯一ID + */ + private String mdtrtId; + + /** + * 合同ID + */ + private Long contractId; + + /** + * 医疗服务机构标识:定点医疗机构ID + */ + private String medinsId; + + /** + * 医疗机构名称 + */ + private String medinsName; + + /** + * 医疗机构行政区划编码 + */ + private String medinsAdmdvs; + + /** + * 入院日期 + */ + private Date admDate; + + /** + * 出院日期 + */ + private Date dscgDate; + + /** + * 医师标识:医生唯一ID + */ + private String drCodg; + + /** + * 入院科室标识:科室唯一ID + */ + private String admDeptCodg; + + /** + * 入院科室名称 + */ + private String admDeptName; + + /** + * 出院科室标识:科室唯一ID + */ + private String dscgDeptCodg; + + /** + * 出院科室名称 + */ + private String dscgDeptName; + + /** + * 医疗类别:参考字典表 + */ + private String medType; + + /** + * 自费金额 + */ + private BigDecimal ownpayAmt; + + /** + * 自付金额 + */ + private BigDecimal selfpayAmt; + + /** + * 结算总次数 + */ + private Integer setlTotlnum; + + /** + * 险种:参考字典表 + */ + private String insutype; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterOrderInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterOrderInfo.java new file mode 100644 index 00000000..d8fbe06e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101AdapterOrderInfo.java @@ -0,0 +1,118 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】处方(医嘱)信息 + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101AdapterOrderInfo { + + /** + * 处方(医嘱)标识:处方(医嘱)记录唯一ID + */ + private String rxId; + + /** + * 处方号 + */ + private String rxno; + + /** + * 组编号 + */ + private String grpno; + + /** + * 治疗类型 + */ + private Integer therapyEnum; + + /** + * 目录类别:参考字典表 + */ + private String ybType; + + /** + * 医保目录代码:国家统一标准编码 + */ + private String hilistCode; + + /** + * 医保目录名称:国家统一标准名称 + */ + private String hilistName; + + /** + * 医保目录(药品)剂型:国家统一标准药品剂型 + */ + private String hilistDosform; + + /** + * 医保目录等级 + */ + private String hilistLv; + + /** + * 数量 + */ + private Integer cnt; + + /** + * 单价 + */ + private BigDecimal pric; + + /** + * 总费用 + */ + private BigDecimal sumamt; + + /** + * 规格:例如:0.25g×12片/盒 + */ + private String spec; + + /** + * 数量单位:例如:盒 + */ + private String specUnt; + + /** + * 医嘱开始日期:格式:yyyy-MM-dd HH:mm:ss + */ + private Date drordBegnDate; + + /** + * 下达医嘱的科室标识 + */ + private String drordDeptCodg; + + /** + * 下达医嘱科室名称 + */ + private String drordDeptName; + + /** + * 开处方(医嘱)医生标识 + */ + private String drordDrCodg; + + /** + * 开处方(医嘱)医生姓名 + */ + private String drordDrName; + + /** + * 开处方(医嘱)医职称:参考字典表 + */ + private String drordDrProfttl; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputData.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputData.java new file mode 100644 index 00000000..e1a0bcf5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputData.java @@ -0,0 +1,58 @@ +package com.openhis.yb.dto; + +import java.util.List; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输入-规则分析信息(节点标识:data) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101InputData { + + /** + * 系统编码:调用方系统简码标识 + */ + @NotBlank + @Length(max = 10) + @JSONField(name = "syscode") + private String syscode; + + /** + * 参保人信息 + */ + @NotEmpty + @JSONField(name = "patient_dtos") + private List patientDtos; + + /** + * 规则标识集合 + */ + @JSONField(name = "rule_ids") + private List ruleIds; + + /** + * 任务ID:每次请求的唯一标识 + */ + @JSONField(name = "task_id") + private String taskId; + + /** + * 触发场景:此值与ruleIds指定其一即可,请优先指定此值 + */ + @Length(max = 3) + @JSONField(name = "trig_scen") + private String trigScen; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiDiagnoseDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiDiagnoseDto.java new file mode 100644 index 00000000..a8153257 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiDiagnoseDto.java @@ -0,0 +1,81 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输入-诊断信息(节点标识:fsi_diagnose_dtos) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101InputFsiDiagnoseDto { + + /** + * 诊断标识:诊断记录唯一标识 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "dise_id") + private String diseId; + + /** + * 出入诊断类别:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "inout_dise_type") + private String inoutDiseType; + + /** + * 主诊断标志:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "maindise_flag") + private String maindiseFlag; + + /** + * 诊断排序号:例如:1,2,3… + */ + @NotBlank + @Length(max = 2) + @JSONField(name = "dias_srt_no") + private String diasSrtNo; + + /** + * 诊断(疾病)编码 + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "dise_codg") + private String diseCodg; + + /** + * 诊断(疾病)名称 + */ + @NotBlank + @Length(max = 200) + @JSONField(name = "dise_name") + private String diseName; + + /** + * 诊断日期:格式:yyyy-MM-dd HH:mm:ss + */ + @NotNull + @JSONField(name = "dise_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date diseDate; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiEncounterDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiEncounterDto.java new file mode 100644 index 00000000..7cb2c7d7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiEncounterDto.java @@ -0,0 +1,283 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输入-就诊信息(节点标识:fsi_encounter_dtos) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101InputFsiEncounterDto { + + /** + * 就诊标识:就诊记录唯一ID + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 医疗服务机构标识:定点医疗机构ID + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "medins_id") + private String medinsId; + + /** + * 医疗机构名称 + */ + @NotBlank + @Length(max = 200) + @JSONField(name = "medins_name") + private String medinsName; + + /** + * 医疗机构行政区划编码 + */ + @NotBlank + @Length(max = 6) + @JSONField(name = "medins_admdvs") + private String medinsAdmdvs; + + /** + * 医疗服务机构类型:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "medins_type") + private String medinsType; + + /** + * 医疗机构等级:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "medins_lv") + private String medinsLv; + + /** + * 病区标识 + */ + @Length(max = 20) + @JSONField(name = "wardarea_codg") + private String wardareaCodg; + + /** + * 病房号 + */ + @Length(max = 20) + @JSONField(name = "wardno") + private String wardno; + + /** + * 病床号 + */ + @Length(max = 20) + @JSONField(name = "bedno") + private String bedno; + + /** + * 入院日期 + */ + @NotNull + @JSONField(name = "adm_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date admDate; + + /** + * 出院日期 + */ + @NotNull + @JSONField(name = "dscg_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dscgDate; + + /** + * 主诊断编码:例如:I63.9 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "dscg_main_dise_codg") + private String dscgMainDiseCodg; + + /** + * 主诊断名称:例如:脑梗塞 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "dscg_main_dise_name") + private String dscgMainDiseName; + + /** + * 诊断信息集合 + */ + @NotEmpty + @JSONField(name = "fsi_diagnose_dtos") + private List fsiDiagnoseDtos; + + /** + * 医师标识:医生唯一ID + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "dr_codg") + private String drCodg; + + /** + * 入院科室标识:科室唯一ID + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + /** + * 入院科室名称 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "adm_dept_name") + private String admDeptName; + + /** + * 出院科室标识:科室唯一ID + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "dscg_dept_codg") + private String dscgDeptCodg; + + /** + * 出院科室名称 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "dscg_dept_name") + private String dscgDeptName; + + /** + * 就诊类型:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "med_mdtrt_type") + private String medMdtrtType; + + /** + * 医疗类别:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "med_type") + private String medType; + + /** + * 处方(医嘱)信息集合 + */ + @NotEmpty + @JSONField(name = "fsi_order_dtos") + private List fsiOrderDtos; + + /** + * 生育状态:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "matn_stas") + private String matnStas; + + /** + * 总费用 + */ + @NotNull + @JSONField(name = "medfee_sumamt") + private BigDecimal medfeeSumamt; + + /** + * 自费金额 + */ + @NotNull + @JSONField(name = "ownpay_amt") + private BigDecimal ownpayAmt; + + /** + * 自付金额 + */ + @NotNull + @JSONField(name = "selfpay_amt") + private BigDecimal selfpayAmt; + + /** + * 个人账户支付金额 + */ + @JSONField(name = "acct_payamt") + private BigDecimal acctPayamt; + + /** + * 救助金支付金额 + */ + @JSONField(name = "ma_amt") + private BigDecimal maAmt; + + /** + * 统筹金支付金额 + */ + @JSONField(name = "hifp_payamt") + private BigDecimal hifpPayamt; + + /** + * 结算总次数 + */ + @NotNull + @JSONField(name = "setl_totlnum") + private Integer setlTotlnum; + + /** + * 险种:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "insutype") + private String insutype; + + /** + * 报销标志:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "reim_flag") + private String reimFlag; + + /** + * 异地结算标志:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "out_setl_flag") + private String outSetlFlag; + + /** + * 手术操作集合 + */ + @JSONField(name = "fsi_operation_dtos") + private List fsiOperationDtos; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOperationDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOperationDto.java new file mode 100644 index 00000000..5a70885b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOperationDto.java @@ -0,0 +1,94 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import javax.validation.constraints.NotBlank; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输入-手术操作信息(节点标识:fsi_operation_dtos) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101InputFsiOperationDto { + + /** + * 手术操作ID + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "setl_list_oprn_id") + private String setlListOprnId; + + /** + * 手术操作代码 + */ + @Length(max = 30) + @JSONField(name = "oprn_code") + private String oprnCode; + + /** + * 手术操作名称 + */ + @Length(max = 500) + @JSONField(name = "oprn_name") + private String oprnName; + + /** + * 主手术操作标志 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "main_oprn_flag") + private String mainOprnFlag; + + /** + * 手术操作日期 + */ + @JSONField(name = "oprn_date") + private Date oprnDate; + + /** + * 麻醉方式 + */ + @Length(max = 30) + @JSONField(name = "anst_way") + private String anstWay; + + /** + * 术者医师姓名 + */ + @Length(max = 50) + @JSONField(name = "oper_dr_name") + private String operDrName; + + /** + * 术者医师代码 + */ + @Length(max = 30) + @JSONField(name = "oper_dr_code") + private String operDrCode; + + /** + * 麻醉医师姓名 + */ + @Length(max = 50) + @JSONField(name = "anst_dr_name") + private String anstDrName; + + /** + * 麻醉医师代码 + */ + @Length(max = 30) + @JSONField(name = "anst_dr_code") + private String anstDrCode; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOrderDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOrderDto.java new file mode 100644 index 00000000..7c09fca3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputFsiOrderDto.java @@ -0,0 +1,281 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输入-处方(医嘱)信息(节点标识:fsi_order_dtos) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101InputFsiOrderDto { + + /** + * 处方(医嘱)标识:处方(医嘱)记录唯一ID + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "rx_id") + private String rxId; + + /** + * 处方号 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "rxno") + private String rxno; + + /** + * 组编号 + */ + @Length(max = 20) + @JSONField(name = "grpno") + private String grpno; + + /** + * 是否为长期医嘱:[1=是,0=否] + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "long_drord_flag") + private String longDrordFlag; + + /** + * 目录类别:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "hilist_type") + private String hilistType; + + /** + * 收费类别:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "chrg_type") + private String chrgType; + + /** + * 医嘱行为:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "drord_bhvr") + private String drordBhvr; + + /** + * 医保目录代码:国家统一标准编码 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "hilist_code") + private String hilistCode; + + /** + * 医保目录名称:国家统一标准名称 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "hilist_name") + private String hilistName; + + /** + * 医保目录(药品)剂型:国家统一标准药品剂型 + */ + @Length(max = 50) + @JSONField(name = "hilist_dosform") + private String hilistDosform; + + /** + * 医保目录等级 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "hilist_lv") + private String hilistLv; + + /** + * 医保目录价格 + */ + @NotNull + @JSONField(name = "hilist_pric") + private BigDecimal hilistPric; + + /** + * 一级医院目录价格 + */ + @JSONField(name = "lv1_hosp_item_pric") + private BigDecimal lv1HospItemPric; + + /** + * 二级医院目录价格 + */ + @JSONField(name = "lv2_hosp_item_pric") + private BigDecimal lv2HospItemPric; + + /** + * 三级医院目录价格 + */ + @JSONField(name = "lv3_hosp_item_pric") + private BigDecimal lv3HospItemPric; + + /** + * 医保目录备注 + */ + @Length(max = 200) + @JSONField(name = "hilist_memo") + private String hilistMemo; + + /** + * 医院目录代码 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "hosplist_code") + private String hosplistCode; + + /** + * 医院目录名称 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "hosplist_name") + private String hosplistName; + + /** + * 医院目录(药品)剂型 + */ + @Length(max = 20) + @JSONField(name = "hosplist_dosform") + private String hosplistDosform; + + /** + * 数量 + */ + @NotNull + @JSONField(name = "cnt") + private BigDecimal cnt; + + /** + * 单价 + */ + @NotNull + @JSONField(name = "pric") + private BigDecimal pric; + + /** + * 总费用 + */ + @NotNull + @JSONField(name = "sumamt") + private BigDecimal sumamt; + + /** + * 自费金额 + */ + @NotNull + @JSONField(name = "ownpay_amt") + private BigDecimal ownpayAmt; + + /** + * 自付金额 + */ + @NotNull + @JSONField(name = "selfpay_amt") + private BigDecimal selfpayAmt; + + /** + * 规格:例如:0.25g×12片/盒 + */ + @NotBlank + @Length(max = 100) + @JSONField(name = "spec") + private String spec; + + /** + * 数量单位:例如:盒 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "spec_unt") + private String specUnt; + + /** + * 医嘱开始日期:格式:yyyy-MM-dd HH:mm:ss + */ + @NotNull + @JSONField(name = "drord_begn_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date drordBegnDate; + + /** + * 医嘱停止日期:格式:yyyy-MM-dd HH:mm:ss + */ + @JSONField(name = "drord_stop_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String drordStopDate; + + /** + * 下达医嘱的科室标识 + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "drord_dept_codg") + private String drordDeptCodg; + + /** + * 下达医嘱科室名称 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "drord_dept_name") + private String drordDeptName; + + /** + * 开处方(医嘱)医生标识 + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "drord_dr_codg") + private String drordDrCodg; + + /** + * 开处方(医嘱)医生姓名 + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "drord_dr_name") + private String drordDrName; + + /** + * 开处方(医嘱)医职称:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "drord_dr_profttl") + private String drordDrProfttl; + + /** + * 是否当前处方(医嘱):本次处方(医嘱)标记[1=是,0=否] + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "curr_drord_flag") + private String currDrordFlag; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputPatientDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputPatientDto.java new file mode 100644 index 00000000..874075bb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101InputPatientDto.java @@ -0,0 +1,88 @@ +package com.openhis.yb.dto; + +import java.util.Date; +import java.util.List; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输入-参保人信息(节点标识:patient_dtos) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101InputPatientDto { + + /** + * 参保人标识:参保人唯一ID + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "patn_id") + private String patnId; + + /** + * 姓名 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "patn_name") + private String patnName; + + /** + * 性别:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "gend") + private String gend; + + /** + * 出生日期:格式:yyyy-MM-dd + */ + @NotNull + @JSONField(name = "brdy") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date brdy; + + /** + * 统筹区编码:参保人所属统筹区 + */ + @NotBlank + @Length(max = 10) + @JSONField(name = "poolarea") + private String poolarea; + + /** + * 当前就诊标识:本次就诊记录唯一ID + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "curr_mdtrt_id") + private String currMdtrtId; + + /** + * 就诊信息集合 + */ + @NotEmpty + @JSONField(name = "fsi_encounter_dtos") + private List fsiEncounterDtos; + + /** + * 医院信息 + */ + @JSONField(name = "fsi_his_data_dto") + private String fsiHisDataDto; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputJudgeResultDetailDto.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputJudgeResultDetailDto.java new file mode 100644 index 00000000..e24926f3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputJudgeResultDetailDto.java @@ -0,0 +1,69 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输出-违规明细信息(节点标识:judge_result_detail_dtos) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101OutputJudgeResultDetailDto { + + /** + * 违规明细标识:违规明细唯一标识 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "jrd_id") + private String jrdId; + + /** + * 参保人标识 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "patn_id") + private String patnId; + + /** + * 就诊标识 + */ + @Length(max = 50) + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 处方(医嘱)标识 + */ + @Length(max = 50) + @JSONField(name = "rx_id") + private String rxId; + + /** + * 违规明细类型:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "vola_item_type") + private String volaItemType; + + /** + * 违规金额 + */ + @NotNull + @JSONField(name = "vola_amt") + private BigDecimal volaAmt; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputResult.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputResult.java new file mode 100644 index 00000000..8a57cc56 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3101OutputResult.java @@ -0,0 +1,124 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.List; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3101】输出-违规信息(节点标识:result) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3101OutputResult { + + /** + * 违规标识:计算结果记录唯一ID + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "jr_id") + private String jrId; + + /** + * 规则ID:例如:R01 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "rule_id") + private String ruleId; + + /** + * 规则名称:例如:配伍禁忌 + */ + @NotBlank + @Length(max = 200) + @JSONField(name = "rule_name") + private String ruleName; + + /** + * 违规内容:例如:患者处方中存在配伍禁忌的药品【A药】、【B药】。 + */ + @NotBlank + @Length(max = 500) + @JSONField(name = "vola_cont") + private String volaCont; + + /** + * 参保人ID:(注意:当是多患者导致违规时,这里是其中一个患者ID) + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "patn_id") + private String patnId; + + /** + * 就诊ID:(注意:当是多就诊导致违规时,这里是其中一个就诊ID) + */ + @Length(max = 50) + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 违规明细集合 + */ + @NotEmpty + @JSONField(name = "judge_result_detail_dtos") + private List judgeResultDetailDtos; + + /** + * 违规金额 + */ + @NotNull + @JSONField(name = "vola_amt") + private BigDecimal volaAmt; + + /** + * 违规金额计算状态:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "vola_amt_stas") + private String volaAmtStas; + + /** + * 严重程度:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "sev_deg") + private String sevDeg; + + /** + * 违规依据 + */ + @Length(max = 500) + @JSONField(name = "vola_evid") + private String volaEvid; + + /** + * 违规行为分类:参考字典表 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "vola_bhvr_type") + private String volaBhvrType; + + /** + * 规则ID:例如:R01 + */ + @JSONField(name = "task_id") + private String taskId; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputData.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputData.java new file mode 100644 index 00000000..dc559ab2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputData.java @@ -0,0 +1,39 @@ +package com.openhis.yb.dto; + +import java.util.List; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3103】输入(节点标识:data) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3103InputData { + + /** + * 反馈类型:1.事前 2.事中 + */ + @NotBlank + @Length(max = 6) + @JSONField(name = "warn_type") + private String warnType; + + /** + * 处理数据集合 + */ + @NotEmpty + @JSONField(name = "warns") + private List warns; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputWarn.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputWarn.java new file mode 100644 index 00000000..754ff685 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb3103InputWarn.java @@ -0,0 +1,42 @@ +package com.openhis.yb.dto; + +import javax.validation.constraints.NotBlank; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【3103】输入(节点标识:warns) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb3103InputWarn { + + /** + * 违规标识:事前提醒,事中预警出参结果唯一标识 + */ + @NotBlank + @Length(max = 40) + @JSONField(name = "warn_rslt_id") + private String warnRsltId; + + /** + * 处理方式:1.继续执行医嘱 2.返回修改医嘱 + */ + @NotBlank + @JSONField(name = "dspo_way") + private String dspoWay; + + /** + * 处理原因:如果为dspoWay 为1必填 (20250630修改) + */ + @JSONField(name = "dspo_way_rea") + private String dspoWayRea; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AAdapterSettleInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AAdapterSettleInfo.java new file mode 100644 index 00000000..58608b9f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AAdapterSettleInfo.java @@ -0,0 +1,67 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】结算清单信息 + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AAdapterSettleInfo { + + /** + * 人员编号 + */ + private String psnNo; + + /** + * 就诊ID + */ + private String mdtrtId; + + /** + * 结算ID + */ + private String setlId; + + /** + * 国籍 + */ + private String ntly; + + /** + * 职业 + */ + private String prfs; + + /** + * 出院科别:参照科室代码(dept) + */ + private String dscgCaty; + + /** + * 票据代码 + */ + private String billCode; + + /** + * 票据号码 + */ + private String billNo; + + /** + * 业务流水号 + */ + private String bizSn; + + /** + * 结算日期 + */ + private Date setlDate; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputBldinfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputBldinfo.java new file mode 100644 index 00000000..060f7ee7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputBldinfo.java @@ -0,0 +1,40 @@ +package com.openhis.yb.dto; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】输血信息(节点标识:bldinfo) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AInputBldinfo { + + /** + * 输血品种 + */ + @Length(max = 3) + @JSONField(name = "bld_cat") + private String bldCat; + + /** + * 输血量 + */ + @Length(max = 6) + @JSONField(name = "bld_amt") + private Integer bldAmt; + + /** + * 输血计量单位 + */ + @Length(max = 3) + @JSONField(name = "bld_unt") + private String bldUnt; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputDiseinfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputDiseinfo.java new file mode 100644 index 00000000..4434c8c3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputDiseinfo.java @@ -0,0 +1,61 @@ +package com.openhis.yb.dto; + +import javax.validation.constraints.NotBlank; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】住院诊断信息(节点标识:diseinfo) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AInputDiseinfo { + + /** + * 诊断类别 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "diag_type") + private String diagType; + + /** + * 诊断代码 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "diag_code") + private String diagCode; + + /** + * 诊断名称 + */ + @NotBlank + @Length(max = 100) + @JSONField(name = "diag_name") + private String diagName; + + /** + * 入院病情类型 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "adm_cond_type") + private String admCondType; + + /** + * 主诊断标志 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "maindiag_flag") + private String maindiagFlag; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputIcuinfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputIcuinfo.java new file mode 100644 index 00000000..d58ac044 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputIcuinfo.java @@ -0,0 +1,54 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import javax.validation.constraints.NotBlank; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】重症监护信息(节点标识:icuinfo) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AInputIcuinfo { + + /** + * 重症监护病房类型:使用字典ICU_TYPE + */ + @NotBlank + @Length(max = 6) + @JSONField(name = "scs_cutd_ward_type") + private String scsCutdWardType; + + /** + * 手术操作开始时间 + */ + @JSONField(name = "scs_cutd_inpool_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date scsCutdInpoolTime; + + /** + * 手术操作结束时间 + */ + @JSONField(name = "scs_cutd_exit_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date scsCutdExitTime; + + /** + * 重症监护合计时长:格式:天数/小时数/分钟数 例:1/13/24 + */ + @NotBlank + @Length(max = 10) + @JSONField(name = "scs_cutd_sum_dura") + private String scsCutdSumDura; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOprninfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOprninfo.java new file mode 100644 index 00000000..af61e15e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOprninfo.java @@ -0,0 +1,98 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import javax.validation.constraints.NotBlank; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】手术操作信息(节点标识:oprninfo) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AInputOprninfo { + + /** + * 手术操作类别 + */ + @NotBlank + @Length(max = 3) + @JSONField(name = "oprn_oprt_type") + private String oprnOprtType; + + /** + * 手术操作名称 + */ + @NotBlank + @Length(max = 500) + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 手术操作代码 + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + + /** + * 麻醉方式:参照麻醉-方法代码 + */ + @Length(max = 6) + @JSONField(name = "anst_way") + private String anstWay; + + /** + * 术者医师代码 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "oper_dr_code") + private String operDrCode; + + /** + * 麻醉医师代码 + */ + @Length(max = 20) + @JSONField(name = "anst_dr_code") + private String anstDrCode; + + /** + * 手术操作开始时间 + */ + @JSONField(name = "oprn_oprt_begntime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date oprnOprtBegntime; + + /** + * 手术操作结束时间 + */ + @JSONField(name = "oprn_oprt_endtime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date oprnOprtEndtime; + + /** + * 麻醉开始时间 + */ + @JSONField(name = "anst_begntime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date anstBegntime; + + /** + * 麻醉结束时间 + */ + @JSONField(name = "anst_endtime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date anstEndtime; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOpspdiseinfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOpspdiseinfo.java new file mode 100644 index 00000000..869353d1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputOpspdiseinfo.java @@ -0,0 +1,53 @@ +package com.openhis.yb.dto; + +import javax.validation.constraints.NotBlank; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】门诊慢特病诊断信息(节点标识:opspdiseinfo) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AInputOpspdiseinfo { + + /** + * 诊断名称:与结算时慢特病保持一致 + */ + @NotBlank + @Length(max = 100) + @JSONField(name = "diag_name") + private String diagName; + + /** + * 诊断代码:与结算时慢特病保持一致 + */ + @NotBlank + @Length(max = 20) + @JSONField(name = "diag_code") + private String diagCode; + + /** + * 手术操作名称 + */ + @NotBlank + @Length(max = 500) + @JSONField(name = "oprn_oprt_name") + private String oprnOprtName; + + /** + * 手术操作代码 + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "oprn_oprt_code") + private String oprnOprtCode; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputSetlinfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputSetlinfo.java new file mode 100644 index 00000000..8aa147cb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AInputSetlinfo.java @@ -0,0 +1,446 @@ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】结算清单信息(节点标识setlinfo) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AInputSetlinfo { + + /** + * 人员编号 + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 就诊ID + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "mdtrt_id") + private String mdtrtId; + + /** + * 结算ID + */ + @NotBlank + @Length(max = 30) + @JSONField(name = "setl_id") + private String setlId; + + /** + * 医保编号 + */ + @Length(max = 30) + @JSONField(name = "hi_no") + private String hiNo; + + /** + * 病案号 + */ + @Length(max = 30) + @JSONField(name = "medcasno") + private String medcasno; + + /** + * 申报时间:结算清单上报时间,接收时自动填充 + */ + @JSONField(name = "dcla_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dclaTime; + + /** + * 国籍 + */ + @NotBlank + @Length(max = 6) + @JSONField(name = "ntly") + private String ntly; + + /** + * 职业 + */ + @NotBlank + @Length(max = 6) + @JSONField(name = "prfs") + private String prfs; + + /** + * 现住址 + */ + @Length(max = 200) + @JSONField(name = "curr_addr") + private String currAddr; + + /** + * 单位名称 + */ + @Length(max = 200) + @JSONField(name = "emp_name") + private String empName; + + /** + * 单位地址 + */ + @Length(max = 200) + @JSONField(name = "emp_addr") + private String empAddr; + + /** + * 单位电话 + */ + @Length(max = 50) + @JSONField(name = "emp_tel") + private String empTel; + + /** + * 邮编 + */ + @Length(max = 6) + @JSONField(name = "poscode") + private String poscode; + + /** + * 联系人姓名 + */ + @Length(max = 50) + @JSONField(name = "coner_name") + private String conerName; + + /** + * 与患者关系:当coner_name非空时必填 + */ + @NotBlank + @Length(max = 6) + @JSONField(name = "patn_rlts") + private String patnRlts; + + /** + * 联系人地址:当coner_name非空时必填 + */ + @NotBlank + @Length(max = 200) + @JSONField(name = "coner_addr") + private String conerAddr; + + /** + * 联系人电话:当coner_name非空时必填 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "coner_tel") + private String conerTel; + + /** + * 新生儿入院类型 + */ + @Length(max = 50) + @JSONField(name = "nwb_adm_type") + private String nwbAdmType; + + /** + * 新生儿出生体重:精确到10克(g) + */ + @JSONField(name = "nwb_bir_wt") + private BigDecimal nwbBirWt; + + /** + * 新生儿入院体重:精确到10克(g) + */ + @JSONField(name = "nwb_adm_wt") + private BigDecimal nwbAdmWt; + + /** + * 多新生儿出生体重 + */ + @Length(max = 50) + @JSONField(name = "mul_nwb_bir_wt") + private String mulNwbBirWt; + + /** + * 多新生儿入院体重 + */ + @Length(max = 50) + @JSONField(name = "mul_nwb_adm_wt") + private String mulNwbAdmWt; + + /** + * 门诊慢特病诊断科别 + */ + @Length(max = 50) + @JSONField(name = "opsp_diag_caty") + private String opspDiagCaty; + + /** + * 门诊慢特病就诊日期 + */ + @JSONField(name = "opsp_mdtrt_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date opspMdtrtDate; + + /** + * 入院途径 + */ + @Length(max = 30) + @JSONField(name = "adm_way") + private String admWay; + + /** + * 治疗类别 + */ + @Length(max = 3) + @JSONField(name = "trt_type") + private String trtType; + + /** + * 入院时间 + */ + @JSONField(name = "adm_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date admTime; + + /** + * 转科科别:参照科室代码(dept),如果超过一次以上的转科,用“→”转接表示 + */ + @Length(max = 50) + @JSONField(name = "refldept_dept") + private String refldeptDept; + + /** + * 出院时间 + */ + @JSONField(name = "dscg_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dscgTime; + + /** + * 出院科别:参照科室代码(dept) + */ + @NotBlank + @Length(max = 6) + @JSONField(name = "dscg_caty") + private String dscgCaty; + + /** + * 门(急)诊诊断(西医诊断) + */ + @Length(max = 200) + @JSONField(name = "otp_wm_dise") + private String otpWmDise; + + /** + * 西医疾病代码 + */ + @Length(max = 20) + @JSONField(name = "wm_dise_code") + private String wmDiseCode; + + /** + * 门(急)诊诊断(中医诊断) + */ + @Length(max = 200) + @JSONField(name = "otp_tcm_dise") + private String otpTcmDise; + + /** + * 中医疾病代码 + */ + @Length(max = 20) + @JSONField(name = "tcm_dise_code") + private String tcmDiseCode; + + /** + * 呼吸机使用时长:格式:天数/小时数/分钟数 例:1/13/24 + */ + @Length(max = 10) + @JSONField(name = "vent_used_dura") + private String ventUsedDura; + + /** + * 颅脑损伤患者入院前昏迷时长:格式:天数/小时数/分钟数 例:1/13/24 + */ + @Length(max = 10) + @JSONField(name = "pwcry_bfadm_coma_dura") + private String pwcryBfadmComaDura; + + /** + * 颅脑损伤患者入院后昏迷时长:格式:天数/小时数/分钟数 例:1/13/24 + */ + @Length(max = 10) + @JSONField(name = "pwcry_afadm_coma_dura") + private String pwcryAfadmComaDura; + + /** + * 特级护理天数 + */ + @JSONField(name = "spga_nurscare_days") + private BigDecimal spgaNurscareDays; + + /** + * 一级护理天数 + */ + @JSONField(name = "lv1_nurscare_days") + private BigDecimal lv1NurscareDays; + + /** + * 二级护理天数 + */ + @JSONField(name = "scd_nurscare_days") + private BigDecimal scdNurscareDays; + + /** + * 三级护理天数 + */ + @JSONField(name = "lv3_nurscare_days") + private Integer lv3NurscareDays; + + /** + * 离院方式 + */ + @Length(max = 3) + @JSONField(name = "dscg_way") + private String dscgWay; + + /** + * 拟接收机构名称:说明当离院方式为“2”时,如果接收患者的医疗机构明确,需要填写转入医疗机构的名称; 当离院方式为“3”时,如果接收患者的社区卫生服务机构明确,需要填写社区卫生服务机构/乡镇卫生院名称 + */ + @Length(max = 100) + @JSONField(name = "acp_medins_name") + private String acpMedinsName; + + /** + * 拟接收机构代码:当离院方式为“2”或“3”时,如果接收患者的医疗机构或社区卫生服务机构明确,需要填写机构对应的医保定点医疗机构代码 + */ + @Length(max = 30) + @JSONField(name = "acp_optins_code") + private String acpOptinsCode; + + /** + * 票据代码 + */ + @Length(max = 50) + @JSONField(name = "bill_code") + private String billCode; + + /** + * 票据号码 + */ + @Length(max = 30) + @JSONField(name = "bill_no") + private String billNo; + + /** + * 业务流水号 + */ + @Length(max = 50) + @JSONField(name = "biz_sn") + private String bizSn; + + /** + * 出院31天内再住院计划标志 + */ + @Length(max = 3) + @JSONField(name = "days_rinp_flag_31") + private String daysRinpFlag31; + + /** + * 出院31天内再住院计划目的 + */ + @Length(max = 200) + @JSONField(name = "days_rinp_pup_31") + private String daysRinpPup31; + + /** + * 主诊医师代码:主诊医师在《医保医师代码》中的代码,在就医地未完成标准化前,可传医师在就医地系统中的唯一编号 + */ + @Length(max = 30) + @JSONField(name = "chfpdr_code") + private String chfpdrCode; + + /** + * 结算开始日期 + */ + @NotNull + @JSONField(name = "setl_begn_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date setlBegnDate; + + /** + * 结算结束日期 + */ + @NotNull + @JSONField(name = "setl_end_date") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date setlEndDate; + + /** + * 医疗机构填报部门 + */ + @NotBlank + @Length(max = 100) + @JSONField(name = "medins_fill_dept") + private String medinsFillDept; + + /** + * 医疗机构填报人 + */ + @NotBlank + @Length(max = 50) + @JSONField(name = "medins_fill_psn") + private String medinsFillPsn; + + /** + * 责任护士代码 + */ + @Length(max = 50) + @JSONField(name = "resp_nurs_code") + private String respNursCode; + + /** + * 状态分类 + */ + @Length(max = 10) + @JSONField(name = "stas_type") + private String stasType; + + /** + * 医保支付方式 + */ + @Length(max = 3) + @JSONField(name = "hi_paymtd") + private String hiPaymtd; + + /** + * 入院科室编码 + */ + @Length(max = 30) + @JSONField(name = "adm_dept_codg") + private String admDeptCodg; + + /** + * 入院科室名称 + */ + @Length(max = 100) + @JSONField(name = "adm_dept_name") + private String admDeptName; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AOutputData.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AOutputData.java new file mode 100644 index 00000000..583c517b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb4101AOutputData.java @@ -0,0 +1,29 @@ +package com.openhis.yb.dto; + +import javax.validation.constraints.NotBlank; + +import org.hibernate.validator.constraints.Length; + +import com.alibaba.fastjson2.annotation.JSONField; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【4101A】输出(节点标识:data) + * + * @author GuoRui + */ +@Data +@Accessors(chain = true) +public class Yb4101AOutputData { + + /** + * 清单流水号 + */ + @NotBlank + @Length(max = 9) + @JSONField(name = "setl_list_id") + private String setlListId; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205InputSpecialDisease.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205InputSpecialDisease.java new file mode 100644 index 00000000..4eb90135 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205InputSpecialDisease.java @@ -0,0 +1,43 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 医保5205接口请求参数 + * + * @author SunJQ + * @date 2025-09-22 + */ +@Data +@Accessors(chain = true) +public class Yb5205InputSpecialDisease { + + /** + * 患者编号 + */ + private String psnNo; + + /** + * 开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date begntime; + + /** + * 结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date endtime; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205OutputSpecialDisease.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205OutputSpecialDisease.java new file mode 100644 index 00000000..c84e462c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/Yb5205OutputSpecialDisease.java @@ -0,0 +1,219 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson.annotation.JSONField; + +import lombok.Data; + +/** + * 【5205】接口返回结果 + * + * @author SunJQ + * @date 2025-09-22 + */ +@Data +public class Yb5205OutputSpecialDisease { + + /** + * 费用明细流水号 + */ + @JSONField(name = "feedetl_sn") + private String feedetlSn; + + /** + * 处方/医嘱号 + */ + @JSONField(name = "rx_drord_no") + private String rxDrordNo; + + /** + * 定点医药机构编号 + */ + @JSONField(name = "fixmedins_code") + private String fixmedinsCode; + + /** + * 定点医药机构名称 + */ + @JSONField(name = "fixmedins_name") + private String fixmedinsName; + + /** + * 人员编号 + */ + @JSONField(name = "psn_no") + private String psnNo; + + /** + * 医疗类别 + */ + @JSONField(name = "med_type") + private String medType; + + /** + * 费用发生时间 + */ + @JSONField(name = "fee_ocur_time", format = "yyyy-MM-dd HH:mm:ss") + private Date feeOcurTime; + + /** + * 数量 + */ + @JSONField(name = "cnt") + private BigDecimal cnt; + + /** + * 单价 + */ + @JSONField(name = "pric") + private BigDecimal pric; + + /** + * 收费项目等级 + */ + @JSONField(name = "chrgitm_lv") + private String chrgitmLv; + + /** + * 医保目录编码 + */ + @JSONField(name = "hilist_code") + private String hilistCode; + + /** + * 医保目录名称 + */ + @JSONField(name = "hilist_name") + private String hilistName; + + /** + * 目录类别 + */ + @JSONField(name = "list_type") + private String listType; + + /** + * 医疗目录编码 + */ + @JSONField(name = "med_list_codg") + private String medListCodg; + + /** + * 医药机构目录编码 + */ + @JSONField(name = "medins_list_codg") + private String medinsListCodg; + + /** + * 医药机构目录名称 + */ + @JSONField(name = "medins_list_name") + private String medinsListName; + + /** + * 医疗收费项目类别 + */ + @JSONField(name = "med_chrgitm_type") + private String medChrgitmType; + + /** + * 商品名 + */ + @JSONField(name = "prodname") + private String prodname; + + /** + * 规格 + */ + @JSONField(name = "spec") + private String spec; + + /** + * 剂型名称 + */ + @JSONField(name = "dosform_name") + private String dosformName; + + /** + * 限制使用标志 + */ + @JSONField(name = "lmt_used_flag") + private String lmtUsedFlag; + + /** + * 医院制剂标志 + */ + @JSONField(name = "hosp_prep_flag") + private String hospPrepFlag; + + /** + * 医院审批标志 + */ + @JSONField(name = "hosp_appr_flag") + private String hospApprFlag; + + /** + * 中药使用方式 + */ + @JSONField(name = "tcmdrug_used_way") + private String tcmdrugUsedWay; + + /** + * 生产地类别 + */ + @JSONField(name = "prodplac_type") + private String prodplacType; + + /** + * 基本药物标志 + */ + @JSONField(name = "bas_medn_flag") + private String basMednFlag; + + /** + * 医保谈判药品标志 + */ + @JSONField(name = "hi_nego_drug_flag") + private String hiNegoDrugFlag; + + /** + * 儿童用药标志 + */ + @JSONField(name = "chld_medc_flag") + private String chldMedcFlag; + + /** + * 外检标志 + */ + @JSONField(name = "etip_flag") + private String etipFlag; + + /** + * 外检医院编码 + */ + @JSONField(name = "etip_hosp_code") + private String etipHospCode; + + /** + * 出院带药标志 + */ + @JSONField(name = "dscg_tkdrug_flag") + private String dscgTkdrugFlag; + + /** + * 目录特项标志 + */ + @JSONField(name = "list_sp_item_flag") + private String listSpItemFlag; + + /** + * 生育费用标志 + */ + @JSONField(name = "matn_fee_flag") + private String matnFeeFlag; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/extData.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/extData.java new file mode 100644 index 00000000..4696931b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/dto/extData.java @@ -0,0 +1,96 @@ +package com.openhis.yb.dto; + +import java.util.Date; + +import org.springframework.format.annotation.DateTimeFormat; + +import com.alibaba.fastjson2.JSONObject; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【吉林省本地化】输入补充字段 + * + * @author gaoyy + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class extData { + // 1. 就医地分中心 + @JSONField(name = "mdtrtarea_subcent") + private String mdtrtareaSubcent; + + // 2. 参保地分中心 + @JSONField(name = "insuplc_subcent") + private String insuplcSubcent; + + // 3. 急诊核定流水号 + @JSONField(name = "er_crtf_evtsn") + private String erCrtfEvtsn; + + // 4. 就诊科室 + @JSONField(name = "dept_name") + private String deptName; + + // 5. 使用方法 + @JSONField(name = "used_mtd") + private String usedMtd; + + // 6. 现病史 + @JSONField(name = "psndisehis") + private String psndisehis; + + // 7. 生命体征 + @JSONField(name = "life_symptom") + private String lifeSymptom; + + // 8. 临床病症 + @JSONField(name = "clnc_cond") + private String clncCond; + + // 9. 门(急)诊诊断 + @JSONField(name = "disediag") + private String disediag; + + // 10. 入院诊断 + @JSONField(name = "adm_disediag_name") + private String admDisediagName; + + // 11. 判定依据 + @JSONField(name = "evid") + private String evid; + + // 12. 首诊医生 + @JSONField(name = "fst_doctor") + private String fstDoctor; + + // 13. 科主任 + @JSONField(name = "deptort") + private String deptort; + + // 14. 就诊时间(入院时间)(表示:YYYYMMDDHH24MISS) + @JSONField(name = "adm_date") + private String admDate; + + // 15. 姓名 + @JSONField(name = "name") + private String name; + + // 16. 身份证 + @JSONField(name = "certno") + private String certno; + + // 17. 年龄 + @JSONField(name = "age") + private String age; + + // 18. 性别(1:男,2:女) + @JSONField(name = "gend") + private String gend; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicPreSettleMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicPreSettleMapper.java new file mode 100644 index 00000000..6b4e603a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicPreSettleMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.ClinicPreSettle; +import org.springframework.stereotype.Repository; + + +/** + * 【请填写功能名称】Mapper接口 + * + * @author system + * @date 2025-04-20 + */ +@Repository +public interface ClinicPreSettleMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicSettleMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicSettleMapper.java new file mode 100644 index 00000000..692e2640 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicSettleMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.ClinicSettle; +import org.springframework.stereotype.Repository; + + +/** + * 【请填写功能名称】Mapper接口 + * + * @author system + * @date 2025-04-20 + */ +@Repository +public interface ClinicSettleMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnRegMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnRegMapper.java new file mode 100644 index 00000000..459df21f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnRegMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import com.openhis.yb.domain.ClinicUnReg; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 撤销挂号记录Mapper接口 + * + * @author system + * @date 2025-04-21 + */ +@Repository +public interface ClinicUnRegMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnSettleMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnSettleMapper.java new file mode 100644 index 00000000..a048eb2c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/ClinicUnSettleMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import com.openhis.yb.domain.ClinicUnSettle; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author system + * @date 2025-04-20 + */ +@Repository +public interface ClinicUnSettleMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/DirectoryCheckRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/DirectoryCheckRecordMapper.java new file mode 100644 index 00000000..94ca1db2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/DirectoryCheckRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.DirectoryCheckRecord; + +/** + * 医保Mapper接口 + * + * @author system + * @date 2025-04-27 + */ +@Repository +public interface DirectoryCheckRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialApplyRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialApplyRecordMapper.java new file mode 100644 index 00000000..25705c0f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialApplyRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.FinancialApplyRecord; + +/** + * 医保财务申请记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface FinancialApplyRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialReconcileRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialReconcileRecordMapper.java new file mode 100644 index 00000000..4049f19d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/FinancialReconcileRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.FinancialReconcileRecord; + +/** + * ybMapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface FinancialReconcileRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientFeeDetailMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientFeeDetailMapper.java new file mode 100644 index 00000000..c2cf1b4d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientFeeDetailMapper.java @@ -0,0 +1,10 @@ +package com.openhis.yb.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InpatientFeeDetail; +import com.openhis.yb.domain.InventoryChangeRecord; +import org.springframework.stereotype.Repository; + +@Repository +public interface InpatientFeeDetailMapper extends BaseMapper { +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientRegMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientRegMapper.java new file mode 100644 index 00000000..6baffce4 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientRegMapper.java @@ -0,0 +1,19 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.FinancialReconcileRecord; +import com.openhis.yb.domain.InpatientReg; +import org.springframework.stereotype.Repository; + +/** + * TODO:请概括描述当前接口的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Repository +public interface InpatientRegMapper extends BaseMapper { +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientSettleMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientSettleMapper.java new file mode 100644 index 00000000..78ca6ac3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InpatientSettleMapper.java @@ -0,0 +1,10 @@ +package com.openhis.yb.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InpatientFeeDetail; +import com.openhis.yb.domain.InpatientSettle; +import org.springframework.stereotype.Repository; + +@Repository +public interface InpatientSettleMapper extends BaseMapper { +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryChangeRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryChangeRecordMapper.java new file mode 100644 index 00000000..d0cd518c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryChangeRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InventoryChangeRecord; + +/** + * 库存信息变更记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface InventoryChangeRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryCheckRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryCheckRecordMapper.java new file mode 100644 index 00000000..66881597 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryCheckRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InventoryCheckRecord; + +/** + * 库存盘点记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface InventoryCheckRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryDelRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryDelRecordMapper.java new file mode 100644 index 00000000..b257b3aa --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryDelRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InventoryDelRecord; + +/** + * 库存删除记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface InventoryDelRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseRecordMapper.java new file mode 100644 index 00000000..c6f5e789 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InventoryPurchaseRecord; + +/** + * 库存采购/退货记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface InventoryPurchaseRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseReturnRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseReturnRecordMapper.java new file mode 100644 index 00000000..b3f73983 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventoryPurchaseReturnRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InventoryPurchaseReturnRecord; + +/** + * 采购/退货记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface InventoryPurchaseReturnRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleRecordMapper.java new file mode 100644 index 00000000..73c11710 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InventorySaleRecord; + +/** + * 销售/退货记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface InventorySaleRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleReturnRecordMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleReturnRecordMapper.java new file mode 100644 index 00000000..75065c5a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/InventorySaleReturnRecordMapper.java @@ -0,0 +1,17 @@ +package com.openhis.yb.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InventorySaleReturnRecord; + +/** + * 销售/退货记录Mapper接口 + * + * @author system + * @date 2025-04-30 + */ +@Repository +public interface InventorySaleReturnRecordMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/MedicalInsuranceMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/MedicalInsuranceMapper.java new file mode 100644 index 00000000..4b802d97 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/MedicalInsuranceMapper.java @@ -0,0 +1,60 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.mapper; + + +import com.openhis.yb.dto.*; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.Date; +import java.util.List; + +/** + * mapper提供sql服务 + * + * @author SunJQ + * @date 2025-04-29 + */ +@Repository +public interface MedicalInsuranceMapper { + /** + * 计算对账金额 + * + * @param stmtBegnDate 开始时间 + * @param stmtEndDate 结束时间 + * @param tenantId 租户id + * @param orgId 医院id + * @param InsuType 险种 + * @param clrType 门诊/住院 + * @param admVs 清算机构 + * @return 查询结果 + */ + Settlement3201Dto get3201Param(@Param("startTime") Date stmtBegnDate, @Param("endTime") Date stmtEndDate, + @Param("tenantId") Integer tenantId, @Param("orgId") Long orgId, @Param("InsuType") String InsuType, + @Param("clrType") Integer clrType, @Param("admVs") String admVs, @Param("zhPay") Integer zhPay, + @Param("zhGjPay") Integer zhGjPay, @Param("ybFund") Integer ybFund); + + Settlement3202Dto get3202Param(@Param("startTime") String stmtBegnDate, @Param("endTime") String stmtEndDate, + @Param("tenantId") Integer tenantId, @Param("orgId") Long orgId, @Param("clrType") String clrType, + @Param("admVs") String admVs, @Param("zhPay") Integer zhPay, @Param("zhGjPay") Integer zhGjPay, + @Param("cash") Integer cash, @Param("cashVX") Integer cashVX, @Param("cashAli") Integer cashAli, + @Param("cashUNIN") Integer cashUNIN, @Param("ybFund") Integer ybFund); + + Financial3203Dto get3203Param(@Param("startTime") Date begndate, @Param("endTime") Date enddate, + @Param("tenantId") Integer tenantId, @Param("clrType") String clrType, @Param("zhPay") Integer zhPay, + @Param("zhGjPay") Integer zhGjPay, @Param("cash") Integer cash, @Param("cashVX") Integer cashVX, + @Param("cashAli") Integer cashAli, @Param("cashUNIN") Integer cashUNIN, @Param("ybFund") Integer ybFund); + + + List get3201ParamList(@Param("startTime") String stmtBegnDate, @Param("endTime") String stmtEndDate, + @Param("tenantId") Integer tenantId, @Param("orgId") Long orgId, @Param("InsuType") String InsuType, + @Param("clrType") String clrType, @Param("admVs") String admVs, @Param("zhPay") Integer zhPay, + @Param("zhGjPay") Integer zhGjPay, @Param("ybFund") Integer ybFund); + + + List getPaymentDecDetailUniAccountDtoListByPaymentIdList( + @Param("idList")List idList, @Param("startTime")Date startTime, + @Param("endTime")Date endTime, @Param("draft")Integer draft); +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/PerinfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/PerinfoMapper.java new file mode 100644 index 00000000..c1168fe7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/PerinfoMapper.java @@ -0,0 +1,11 @@ +package com.openhis.yb.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.InfoPerson; +import org.springframework.stereotype.Repository; + +/** + * 身份信息-Mapper + */ +@Repository +public interface PerinfoMapper extends BaseMapper { +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/RegMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/RegMapper.java new file mode 100644 index 00000000..c2f81e55 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/RegMapper.java @@ -0,0 +1,13 @@ +package com.openhis.yb.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.ClinicReg; +import org.springframework.stereotype.Repository; + +/** + * 挂号管理-Mapper + */ +@Repository +public interface RegMapper extends BaseMapper { + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/SignMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/SignMapper.java new file mode 100644 index 00000000..84ad6e3c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/mapper/SignMapper.java @@ -0,0 +1,12 @@ +package com.openhis.yb.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.yb.domain.Sign; +import org.springframework.stereotype.Repository; + +/** + * 签到管理-Mapper + */ +@Repository +public interface SignMapper extends BaseMapper { +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/CancelRegPaymentModel.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/CancelRegPaymentModel.java new file mode 100644 index 00000000..f35e3bcf --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/CancelRegPaymentModel.java @@ -0,0 +1,53 @@ +package com.openhis.yb.model; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.openhis.yb.dto.PaymentDetailDto; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + +@Data +public class CancelRegPaymentModel { + /** + * id + */ + private Long id; + + /** 收款员 */ + private Long entererId; + + /** 支付的患者ID */ + @NotNull + private Long patientId; + + /** 应收金额 */ + private BigDecimal tenderedAmount; + + /** 找零金额 */ + private BigDecimal returnedAmount; + + /** 付款总额 */ + private BigDecimal displayAmount; + + /** 就诊ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 收费项 */ + private List chargeItemIds;//收费时传收费的项目,退费时传退费的项目,2025/05/07去掉notEmpty的注解,与前端约定此字段必传,可以是空集合 + + /** 支付详细 */ + @NotEmpty + private List paymentDetails; + + /** 支付批次号 */ + private String chrgBchno;//医保预结算时返回,医保结算时必传,否则结算时一直预结算 + + private String setlId;//结算id + + private String contractNo;//合同編號 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderModel.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderModel.java new file mode 100644 index 00000000..260b0687 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderModel.java @@ -0,0 +1,126 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.model; + +import com.openhis.yb.dto.Clinic2206FundPaymentResult; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 【2207】医保预结算的输出参数 + * + * @author SunJQ + * @date 2025-05-08 + */ +@Data +@Accessors(chain = true) +public class Clinic2207OrderModel { + // 主键字段 + private String mdtrtId; // 就诊ID + + private String setlId;// 结算id + + private String psnNo; // 人员编号 + + private String psnName; // 人员姓名 + + private String psnCertType; // 人员证件类型 + + private String certno; // 证件号码 + + private String gend; // 性别 + + private String naty; // 民族 + + private Date brdy; // 出生日期 + + private BigDecimal age; // 年龄 + + private String insutype; // 险种类型 + + private String psnType; // 人员类别 + + private String cvlservFlag; // 公务员标志 + + private Date setlTime; // 结算时间 + + private String mdtrtCertType; // 就诊凭证类型 + + private String medType; // 医疗类别 + + private BigDecimal medfeeSumamt; // 医疗费总额 + + private BigDecimal fulamtOwnpayAmt; // 全自费金额 + + private BigDecimal overlmtSelfpay; // 超限价自费费用 + + private BigDecimal preselfpayAmt; // 先行自付金额 + + private BigDecimal inscpScpAmt; // 符合政策范围金额 + + private BigDecimal actPayDedc; // 实际支付起付线 + + private BigDecimal hifpPay; // 基本医疗保险统筹基金支出 + + private BigDecimal poolPropSelfpay; // 基本医疗保险统筹基金支付比例 + + private BigDecimal cvlservPay; // 公务员医疗补助资金支出 + + private BigDecimal hifesPay; // 企业补充医疗保险基金支出 + + private BigDecimal hifmiPay; // 居民大病保险资金支出 + + private BigDecimal hifobPay; // 职工大额医疗费用补助基金支出 + + private BigDecimal mafPay; // 医疗救助基金支出 + + private BigDecimal othPay; // 其他支出 + + private BigDecimal fundPaySumamt; // 基金支付总额 + + private BigDecimal psnPartAmt; // 个人负担总金额 + + private BigDecimal acctPay; // 个人账户支出 + + private BigDecimal psnCashPay; // 个人现金支出 + + private BigDecimal hospPartAmt; // 医院负担金额 + + private BigDecimal balc; // 余额 + + private BigDecimal acctMulaidPay; // 个人账户共济支付金额 + + private String medinsSetlId; // 医药机构结算ID 存放发送方报文ID + + private String clrOptins; // 清算经办机构 + + private String clrWay; // 清算方式 + + private String clrType; // 清算类别 + + private BigDecimal hifdmPay; // 伤残人员医疗保障基金支出 + + private String expContent; // 字段扩展 + + private List setldetail;// 结算详细信息 + + private String chrgBchno; // 收费批次号 + + public Clinic2207OrderModel() { + this.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")); + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderParam.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderParam.java new file mode 100644 index 00000000..93ee8869 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/Clinic2207OrderParam.java @@ -0,0 +1,88 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 【2207】 + * + * @author SunJQ + * @date 2025-05-06 + */ +@Data +@Accessors(chain = true) +public class Clinic2207OrderParam { + + @JsonProperty("psn_no") + private String psnNo;// 人员编号 + + // 参保地医保区划 + @JsonProperty("insuplc_admdvs") + private String insuplcAdmdvs; + + @JsonProperty("mdtrt_cert_type") + private String mdtrtCertType;// 就诊凭证类型 + + @JsonProperty("mdtrt_cert_no") + private String mdtrtCertNo;// 就诊凭证编号 + + @JsonProperty("med_type") + private String medType;// 医疗类别 + + @JsonProperty("medfee_sumamt") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00") + private Double medfeeSumamt;// 医疗费总额 + + @JsonProperty("psn_setlway") + private String psnSetlway;// 个人结算方式 + + @JsonProperty("mdtrt_id") + private String mdtrtId;// 就诊ID + + @JsonProperty("chrg_bchno") + private String chrgBchno;// 收费批次号 + + @JsonProperty("insutype") + private String insutype;// 险种类型 + + @JsonProperty("acct_used_flag") + private String acctUsedFlag;// 个人账户使用标志 + + @JsonProperty("invono") + private String invono;// 发票号 + + @JsonProperty("fulamt_ownpay_amt") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00") + private Double fulamtOwnpayAmt;// 全自费金额 + + @JsonProperty("overlmt_selfpay") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00") + private Double overlmtSelfpay;// 超限价金额 + + @JsonProperty("preselfpay_amt") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00") + private Double preselfpayAmt;// 先行自付金额 + + @JsonProperty("inscp_scp_amt") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00") + private Double inscpScpAmt;// 符合政策范围金额 + + @JsonProperty("exp_content") + private String expContent;// 字段扩展 + + @JsonProperty("pub_hosp_rfom_flag") + private String pubHospRfomFlag;// 公立医院改革标志 + + @JsonProperty("minpacunt_drug_trac_cnt") + private Integer minpacuntDrugTracCnt;// 本次结算应上传最小包装药品追溯码数量 + + @JsonProperty("mcs_trac_cnt") + private Integer mcsTracCnt;// 本次结算应上传耗材追溯码数量 + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/OutpatientRegistrationModel.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/OutpatientRegistrationModel.java new file mode 100644 index 00000000..4e295fbe --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/model/OutpatientRegistrationModel.java @@ -0,0 +1,19 @@ +package com.openhis.yb.model; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OutpatientRegistrationModel { + //就诊凭证类型 + private String mdtrtCertType; + //卡密 + private String busiCardInfo; + //结算方式 + private String psnSetlWay; + //总价 + private BigDecimal totalPrice; + //合同編號 + private String contractNo; +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicPreSettleService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicPreSettleService.java new file mode 100644 index 00000000..8008af06 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicPreSettleService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.ClinicPreSettle; + +/** + * 【请填写功能名称】Service接口 + * + * @author system + * @date 2025-04-20 + */ +public interface IClinicPreSettleService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicSettleService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicSettleService.java new file mode 100644 index 00000000..3ec9af30 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicSettleService.java @@ -0,0 +1,39 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.ClinicReg; +import com.openhis.yb.domain.ClinicSettle; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author system + * @date 2025-04-20 + */ +public interface IClinicSettleService extends IService { + + /** + * 通过结算id查询 + * + * @param paymentId 结算id + * @return + */ + ClinicSettle getByPaymentId(Long paymentId); + + /** + * 通过结算id查询 + * + * @param settleId 结算id + * @return + */ + ClinicSettle getBySettleId(String settleId); + + /** + * + * @param settleIds + * @return + */ + List getBySettleIds(List settleIds); +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnRegService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnRegService.java new file mode 100644 index 00000000..a6fdc557 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnRegService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.ClinicUnReg; + +/** + * 撤销挂号记录Service接口 + * + * @author system + * @date 2025-04-21 + */ +public interface IClinicUnRegService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnSettleService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnSettleService.java new file mode 100644 index 00000000..1894ac18 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IClinicUnSettleService.java @@ -0,0 +1,23 @@ +package com.openhis.yb.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.ClinicUnSettle; + +/** + * 【请填写功能名称】Service接口 + * + * @author system + * @date 2025-04-20 + */ +public interface IClinicUnSettleService extends IService { + + /** + * 根据settleId查询集合 + * + * @param settleIds 集合 + * @return 集合 + */ + List getBySettleIds(List settleIds); +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IDirectoryCheckRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IDirectoryCheckRecordService.java new file mode 100644 index 00000000..fd653768 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IDirectoryCheckRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.DirectoryCheckRecord; + +/** + * 医保Service接口 + * + * @author system + * @date 2025-04-27 + */ +public interface IDirectoryCheckRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialApplyRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialApplyRecordService.java new file mode 100644 index 00000000..076c2686 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialApplyRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.FinancialApplyRecord; + +/** + * 医保财务申请记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IFinancialApplyRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialReconcileRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialReconcileRecordService.java new file mode 100644 index 00000000..841982ae --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IFinancialReconcileRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.FinancialReconcileRecord; + +/** + * ybService接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IFinancialReconcileRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientFeeDetailService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientFeeDetailService.java new file mode 100644 index 00000000..80bee252 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientFeeDetailService.java @@ -0,0 +1,8 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InfoPerson; +import com.openhis.yb.domain.InpatientFeeDetail; + +public interface IInpatientFeeDetailService extends IService { +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientRegService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientRegService.java new file mode 100644 index 00000000..79d69e5a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientRegService.java @@ -0,0 +1,25 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InpatientReg; +import com.openhis.yb.domain.InventorySaleReturnRecord; + +/** + * TODO:请概括描述当前接口的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-31 + */ + +public interface IInpatientRegService extends IService { + + /** + * 根据busNo查询住院挂号信息 + * @param busNo 业务流水号 + * @return 医保住院挂号信息 + */ + InpatientReg getInpatientRegByIptNo(String busNo); +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientSettleService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientSettleService.java new file mode 100644 index 00000000..58545a98 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInpatientSettleService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InpatientSettle; + +public interface IInpatientSettleService extends IService { + /** + * 根据医保结算id找到住院结算id + * @param ybSettleIds + * @return + */ + InpatientSettle getBySettleId(String ybSettleIds); + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryChangeRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryChangeRecordService.java new file mode 100644 index 00000000..b1f46cb1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryChangeRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InventoryChangeRecord; + +/** + * 库存信息变更记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IInventoryChangeRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryCheckRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryCheckRecordService.java new file mode 100644 index 00000000..fd40a5b7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryCheckRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InventoryCheckRecord; + +/** + * 库存盘点记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IInventoryCheckRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryDelRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryDelRecordService.java new file mode 100644 index 00000000..f3938a7f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryDelRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InventoryDelRecord; + +/** + * 库存删除记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IInventoryDelRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseRecordService.java new file mode 100644 index 00000000..34de41cd --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InventoryPurchaseRecord; + +/** + * 库存采购/退货记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IInventoryPurchaseRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseReturnRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseReturnRecordService.java new file mode 100644 index 00000000..0e32daf0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventoryPurchaseReturnRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InventoryPurchaseReturnRecord; + +/** + * 采购/退货记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IInventoryPurchaseReturnRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleRecordService.java new file mode 100644 index 00000000..dd93de62 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InventorySaleRecord; + +/** + * 销售/退货记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IInventorySaleRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleReturnRecordService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleReturnRecordService.java new file mode 100644 index 00000000..a82351e2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IInventorySaleReturnRecordService.java @@ -0,0 +1,14 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InventorySaleReturnRecord; + +/** + * 销售/退货记录Service接口 + * + * @author system + * @date 2025-04-30 + */ +public interface IInventorySaleReturnRecordService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IPerinfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IPerinfoService.java new file mode 100644 index 00000000..1b64a0ac --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IPerinfoService.java @@ -0,0 +1,44 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.InfoPerson; + +/** + * @Description: 人员基础信息 + * @Author: jeecg-boot + * @Date: 2021-08-27 + * @Version: V1.0 + */ +public interface IPerinfoService extends IService { + + InfoPerson getPerInfoByIdCard(String idCard, Integer tenantId); + + InfoPerson getByPsnNo(String psnNo); + + /** + * 是否异地就医(省内异地) + * + * @param psnNo 人员编号 + * @param admVs 就异地统筹区号 + * @return + */ + boolean assessIntraCrossRegionalSettlement(String psnNo, String admVs); + + /** + * 是否异地就医(省外异地) + * + * @param psnNo 人员编号 + * @param admVs 就异地统筹区号 + * @return + */ + boolean assessInterCrossRegionalSettlement(String psnNo, String admVs); + + /** + * 是否异地就医 + * + * @param psnNo 人员编号 + * @param admVs 就异地统筹区号 + * @return + */ + boolean assessCrossRegionalSettlement(String psnNo, String admVs); +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IRegService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IRegService.java new file mode 100644 index 00000000..0204a5ba --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/IRegService.java @@ -0,0 +1,23 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.workflow.domain.SupplyRequest; +import com.openhis.yb.domain.ClinicReg; + +import java.util.List; + +/** + * 挂号管理-服务接口 + */ +public interface IRegService extends IService { + void updateStatus(Long id,String status); + + /** + * 通过单据号查询 + * + * @param busNo 单据号 + * @return + */ + ClinicReg getByBusNo(String busNo); + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/ISignService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/ISignService.java new file mode 100644 index 00000000..ac59b7e1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/ISignService.java @@ -0,0 +1,11 @@ +package com.openhis.yb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.yb.domain.Sign; + +/** + * 签到管理-服务接口 + */ +public interface ISignService extends IService { + +} 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 new file mode 100644 index 00000000..a2971941 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbDao.java @@ -0,0 +1,2800 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.service; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.constraints.NotNull; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.exception.ServiceException; +import com.core.common.utils.AssignSeqUtil; +import com.core.common.utils.DateUtils; +import com.core.common.utils.SecurityUtils; +import com.core.common.utils.StringUtils; +import com.core.system.service.impl.SysUserServiceImpl; +import com.openhis.administration.domain.*; +import com.openhis.administration.dto.ChargeItemBaseInfoDto; +import com.openhis.administration.service.*; +import com.openhis.clinical.domain.Condition; +import com.openhis.clinical.domain.ConditionDefinition; +import com.openhis.clinical.service.IConditionDefinitionService; +import com.openhis.clinical.service.IConditionService; +import com.openhis.common.constant.CommonConstants; +import com.openhis.common.constant.YbCommonConstants; +import com.openhis.common.enums.*; +import com.openhis.common.enums.ybenums.*; +import com.openhis.common.utils.HisPageUtils; +import com.openhis.common.utils.HisQueryUtils; +import com.openhis.financial.domain.Contract; +import com.openhis.financial.domain.PaymentRecDetail; +import com.openhis.financial.domain.PaymentReconciliation; +import com.openhis.financial.service.IContractService; +import com.openhis.financial.service.IPaymentRecDetailService; +import com.openhis.financial.service.IPaymentReconciliationService; +import com.openhis.medication.service.IMedicationDispenseService; +import com.openhis.workflow.service.IDeviceDispenseService; +import com.openhis.workflow.service.IServiceRequestService; +import com.openhis.yb.domain.*; +import com.openhis.yb.domain.ClinicReg; +import com.openhis.yb.dto.*; +import com.openhis.yb.dto.Sign; +import com.openhis.yb.mapper.MedicalInsuranceMapper; +import com.openhis.yb.model.Clinic2207OrderModel; +import com.openhis.yb.model.Clinic2207OrderParam; +import com.openhis.yb.service.impl.DirectoryCheckRecordServiceImpl; +import com.openhis.yb.util.YbParamBuilderUtil; + +/** + * 医保表的增删改查接口 + * + * @author SunJQ + * @date 2025-04-11 + */ +@Service +public class YbDao { + /******************************** 业务服务 ***********************************/ + @Autowired + private IPaymentRecDetailService iPaymentRecDetailService; + @Autowired + private IPaymentReconciliationService iPaymentReconciliationService; + @Autowired + private SysUserServiceImpl userService; + @Autowired + private IPractitionerService iPractitionerService; + @Autowired + private IEncounterService iEncounterService; + @Autowired + private IEncounterParticipantService iEncounterParticipantService; + @Autowired + private IAccountService iAccountService; + @Autowired + private IEncounterDiagnosisService iEncounterDiagnosisService; + @Autowired + private IConditionService iConditionService; + @Autowired + private IConditionDefinitionService iConditionDefinitionService; + @Autowired + private IOrganizationService iOrganizationService; + @Autowired + private ILocationService iLocationService; + @Autowired + private IEncounterLocationService iEncounterLocationService; + @Autowired + private IAccountService accountService; + @Autowired + private IChargeItemService iChargeItemService; + @Autowired + private AssignSeqUtil assignSeqUtil; + @Autowired + private IInvoiceService invoiceService; + @Autowired + private IPatientService iPatientService; + @Autowired + private IContractService iContractService; + @Autowired + private MedicalInsuranceMapper medicalInsuranceMapper; + + /****************************** 基础医保服务 *********************************/ + + @Autowired + private IPerinfoService iPerinfoService; + @Autowired + private IRegService iRegService; + @Autowired + private IInpatientRegService iInpatientRegService; + @Autowired + private IInpatientSettleService inpatientSettleService; + @Autowired + private IClinicUnRegService iClinicUnRegService; + @Autowired + private ISignService iSignService; + @Autowired + private IClinicPreSettleService iClinicPreSettleService; + @Autowired + private IClinicSettleService iClinicSettleService; + @Autowired + private IClinicUnSettleService iClinicUnSettleService; + @Autowired + private DirectoryCheckRecordServiceImpl directoryCheckRecordService; + @Autowired + private IInventorySaleReturnRecordService iInventorySaleReturnRecordService; + @Autowired + private IInventorySaleRecordService iInventorySaleRecordService; + @Autowired + private IInventoryPurchaseReturnRecordService iInventoryPurchaseReturnRecordService; + @Autowired + private IInventoryPurchaseRecordService iInventoryPurchaseRecordService; + @Autowired + private IInventoryDelRecordService iInventoryDelRecordService; + @Autowired + private IInventoryCheckRecordService iInventoryCheckRecordService; + @Autowired + private IInventoryChangeRecordService iInventoryChangeRecordService; + @Autowired + private IFinancialReconcileRecordService iFinancialReconcileRecordService; + @Autowired + private IFinancialApplyRecordService iFinancialApplyRecordService; + @Autowired + private IInpatientFeeDetailService inpatientFeeDetailService; + @Autowired + private YbParamBuilderUtil ybUtil; + @Autowired + private IMedicationDispenseService medicationDispenseService; + @Autowired + private IDeviceDispenseService deviceDispenseService; + @Autowired + private IServiceRequestService serviceRequestService; + + /** + * 获取读卡信息 + * + * @return 【1101】入参 + */ + public Info1101ReadcardParam getReadCard(String certType, String certNo) { + return ybUtil.getReadCard(certType, certNo); + } + + /** + * 保存数据 + * + * @param readcard 读卡信息 + * @param perInfo 身份信息 + */ + public void saveReadcardAndPerinfo(Info1101ReadcardParam readcard, Info1101Output perInfo) { + InfoPerson infoPerson = new InfoPerson(); + BeanUtils.copyProperties(readcard, infoPerson); + BeanUtils.copyProperties(perInfo, infoPerson); + infoPerson.setResult1101(JSON.toJSONString(perInfo)).setParam1101(JSON.toJSONString(readcard)); + iPerinfoService.save(infoPerson); + } + + /** + * 【2201】医保挂号 + * + * @param encounterId 就诊id + * @param tenantId 租户 + * @return 【2201】入参 + */ + public ClinicReg getReg(YbMdtrtCertType ybMdtrtCertTypeLong, String busiCardInfo, Long encounterId, + YbMedType medType, Integer tenantId) { + return ybUtil.getReg(ybMdtrtCertTypeLong, busiCardInfo, encounterId, medType, tenantId); + } + + /** + * 保存挂号信息 + * + * @param regResult 2201挂号信息 + */ + 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)); + 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())); + if (one == null) { + throw new ServiceException("查询医保信息为空"); + } + iRegService.updateStatus(one.getId(), YbCommonConstants.ClincStatusConst.CANCLE); + } + + /** + * 【2203】就诊信息上传 + * + * @param encounterId 就诊id + * @param tenantId 租户 + * @return 【2203】就诊信息 + */ + public Clinic2203MedicalParam getClinicMedical2203Param(Long encounterId, Integer tenantId, + ClinicReg2201Output reg2201Output, YbMedType ybMedType) { + return ybUtil.getClinicMedical2203Param(encounterId, tenantId, reg2201Output, ybMedType); + } + + /** + * 【2204】诊断信息上传 + * + * @param tenantId 租户id + * @param chargeItemIds 收费项id集合 + * @return 【2204】参数 + */ + + public Clinic2204OrderParam getClinicOrder2204Param(Integer tenantId, List chargeItemIds, + ClinicReg2201Output reg2201Output) { + return ybUtil.getClinicOrder2204Param(tenantId, chargeItemIds, reg2201Output); + } + + /** + * 【2206】预结算 + * + * @param payFee 应收金额 + * @param chrgBchno 收费批次号(payment的busNo) + * @return 【2206】预结算 + */ + public Clinic2206OrderParam getClinicOrder2206Param(BigDecimal payFee, ClinicReg2201Output reg, String chrgBchno, + String busiCardInfo) { + return ybUtil.getClinicOrder2206Param(payFee, reg, chrgBchno, busiCardInfo); + } + + /** + * 【2205】费用明细撤销 + * + * @param encounterId 就诊id + * @param chrgBchno 收费批次号 + * @return 【2205】参数 + */ + public Clinic2205OrderParam getClinic2205OrderParam(Long encounterId, String chrgBchno) { + return ybUtil.getClinic2205OrderParam(encounterId, chrgBchno); + } + + /** + * 【2207】结算 + * + * @param encounterId 就诊id + * @param tenantId 租户id + * @param psnSetlWay 支付方式 + * @param chrgBchno 收费批次号(payment的busNo) + * @return 【2207】结算 + */ + public Clinic2207OrderParam getClinicOrder2207(Long encounterId, Integer tenantId, String psnSetlWay, + 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) { + // 保存结算信息 + ClinicSettle clinicSettle = new ClinicSettle(); + BeanUtils.copyProperties(clinic2207OrderResult, clinicSettle); + clinicSettle.setParam2207(JSON.toJSONString(clinicOrder2207)) + .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) { + + ClinicUnSettle clinicSettle = new ClinicUnSettle(); + BeanUtils.copyProperties(clinic2207OrderResult, clinicSettle); + clinicSettle.setParam2208(JSON.toJSONString(clinicOrder2207)) + .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())); + // 新增详情信息 + PaymentRecDetail paymentRecDetail; + List addDetailList = new ArrayList<>(); + for (PaymentRecDetail paymentDetail : paymentRecDetails) { + paymentRecDetail = new PaymentRecDetail(); + com.core.common.utils.bean.BeanUtils.copyProperties(paymentDetail, paymentRecDetail); + paymentRecDetail.setPredecessorId(paymentReconciliation.getId()); + paymentRecDetail.setAccountId(paymentDetail.getAccountId() == null ? 0 : paymentDetail.getAccountId()); + paymentRecDetail.setResultEnum(PaymentResult.REFUNDED.getValue()); + paymentRecDetail.setAmount(paymentRecDetail.getAmount().multiply(new BigDecimal("-1"))); + addDetailList.add(paymentRecDetail); + } + iPaymentRecDetailService.saveBatch(addDetailList); + + // 修改详情信息 + List list = new ArrayList<>(); + for (PaymentRecDetail item : paymentRecDetails) { + item.setResultEnum(1); + list.add(item); + } + iPaymentRecDetailService.updateBatchById(list); + } + + /** + * 根据医保2207结果和前台参数添加结算记录 + * + * @param clinicOrder2207Result + * @param payment + * @param paymentDetails + */ + private void saveBy2207Result(Clinic2207OrderResult clinicOrder2207Result, PaymentReconciliation payment, + List paymentDetails) { + // 保存付款详情 + List paymentRecDetails = new ArrayList<>(); + BigDecimal amount = BigDecimal.ZERO; + String AccountEnum = "04"; + Account account = accountService.getById(payment.getAccountId()); + AccountEnum = account.getTypeCode(); + PaymentRecDetail paymentRecDetail; + for (PaymentDetailDto paymentDetail : paymentDetails) { + 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()); + } + 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()); + } + 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()); + } + 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()); + } + paymentRecDetails.add(paymentRecDetail); + amount = amount.add(paymentDetail.getAmount()); + } + // 个人现金支出 + BigDecimal psnCashPay = clinicOrder2207Result.getPsnCashPay(); + if (psnCashPay.compareTo(amount) != 0) { + throw new ServiceException("金额校验失败"); + } + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + paymentRecDetails.add(detail); + } + + } + + /** + * 根据医保2207结果和前台参数添加结算记录(弃用)该方法内赋值有错误,若启用或copy需要重新定义里面的赋值内容 + * + * @param clinic2208UnSetlInfoResult + * @param payment + * @param paymentDetails + */ + private void saveBy2208Result(Clinic2208UnSetlInfoResult clinic2208UnSetlInfoResult, PaymentReconciliation payment, + List paymentDetails) { + // 保存付款详情 todo:医保反结是否是负数 + ArrayList paymentRecDetails = new ArrayList<>(); + BigDecimal amount = BigDecimal.ZERO; + String AccountEnum = "04"; + for (PaymentDetailDto paymentDetail : paymentDetails) { + PaymentRecDetail paymentRecDetail = new PaymentRecDetail(); + com.core.common.utils.bean.BeanUtils.copyProperties(paymentDetail, paymentRecDetail); + paymentRecDetail.setReconciliationId(payment.getId()); + paymentRecDetail.setPredecessorId(payment.getId()); + paymentRecDetail.setResultEnum(PaymentResult.PAID.getValue()); + paymentRecDetails.add(paymentRecDetail); + amount = amount.add(paymentDetail.getAmount()); + } + // 个人负担总金额 + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + paymentRecDetails.add(detail); + } + + } + + /** + * 保存预结算接口的记录信息 + * + * @param clinic2206OrderParam 2206医保入参 + * @param clinic2206OrderResult 2206医保输出 + * @param clinic2203MedicalParam 2203医保入参 + * @param clinic2204OrderParam 2204医保入参 + * @param clinic2204OrderResult 2204医保输出 + */ + public void saveClinicOrder2206Param(Clinic2206OrderParam clinic2206OrderParam, + 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()); + + iClinicPreSettleService.save(clinicPreSettle); + } + + /** + * 保存签到信息 + * + * @param signParam 【9001】参数 + * @param signResult 【9001】参数 + */ + public void saveSign(Sign signParam, Sign9001Result signResult) { + com.openhis.yb.domain.Sign sign = new com.openhis.yb.domain.Sign(); + BeanUtils.copyProperties(signParam, sign); + BeanUtils.copyProperties(signResult, sign); + sign.setSignNo(signResult.getSignNo()).setOpterNo(signParam.getOpterNo()); + iSignService.save(sign); + } + + /** + * 取消挂号 + * + * @param regResult 【2202】参数 + */ + public void saveUnReg(ClinicReg2201Output regResult) { + ClinicUnReg clinicUnReg = new ClinicUnReg(); + BeanUtils.copyProperties(regResult, clinicUnReg); + clinicUnReg.setUnRegTime(new Date()); + iClinicUnRegService.save(clinicUnReg); + } + + /** + * 【2208】医保反结算 + * + * @param tenantId 租户id + * @param settleId 结算id + * @return 【2208】参数 + */ + public Clinic2208UnSetlInfoParam getClinicOrder2208(Integer tenantId, String settleId) { + return ybUtil.getClinicOrder2208(tenantId, settleId); + } + + /** + * 【3301】目录对照 + * + * @param tableName 表名 + * @param id 主键 + * @return 【3301】入参 + */ + public MedicalDirectory3301Param getMedicalDirectory3301Param(String tableName, Long id) { + return ybUtil.getMedicalDirectory3301Param(tableName, id); + } + + /** + * 【3301】医保目录对照参数作成(药品) + * + * @param categoryCode 药品分类 + * @param busNo 药品编号 + * @param name 药品编号 + * @param ybNo 医保编码 + * @return 医保目录对照参数 + */ + public MedicalDirectory3301Param getMedicalDirectory3301ParamMedication(String categoryCode, String busNo, + String name, String ybNo) { + return ybUtil.getMedicalDirectory3301ParamMedication(categoryCode, busNo, name, ybNo); + } + + /** + * 【3302】目录对照撤销 + * + * @param tableName 表名 + * @param id 主键 + * @return + */ + public MedicalDirectory3302Param getMedicalDirectory3302Param(String tableName, Long id) { + return ybUtil.getMedicalDirectory3302Param(tableName, id); + } + + /** + * 【3302】医保目录对照撤销参数作成(药品) + * + * @param categoryCode 药品分类 + * @param busNo 药品编号 + * @param ybNo 医保编码 + * @return 医保目录对照撤销参数 + */ + public MedicalDirectory3302Param getMedicalDirectory3302ParamMedication(String categoryCode, String busNo, + String ybNo) { + return ybUtil.getMedicalDirectory3302ParamMedication(categoryCode, busNo, ybNo); + } + + /** + * 【3201】医药机构费用结算对总账 + * + * @param reconciliation3201Param 参数信息 + * @return 入参 + */ + public Financial3201Param getFinancial3201Param(Settlement3201WebParam reconciliation3201Param) { + String insuType = reconciliation3201Param.getInsuType(); + if (StringUtils.isEmpty(insuType)) { + // insuType = "310"; + // reconciliation3201Param.setInsuType("310"); + throw new ServiceException("请选择险种类型"); + } + String clrType = reconciliation3201Param.getClrType(); + if (StringUtils.isEmpty(clrType)) { + throw new ServiceException("请选择医疗类型:住院/门诊"); + } + String contractNo = reconciliation3201Param.getContractNo(); + if (StringUtils.isEmpty(contractNo)) { + throw new ServiceException("请选择合同类型"); + } + Settlement3201DetailDto settlement3201DetailDto = null; + List settlement3201DetailDtos = + this.reconcileGeneralLedgerDetail(reconciliation3201Param); + for (Settlement3201DetailDto item : settlement3201DetailDtos) { + if (contractNo.equals(item.getContractNo()) && insuType.equals(item.getInsutype().toString()) + && clrType.equals(item.getClrType())) { + settlement3201DetailDto = item; + } + } + if (settlement3201DetailDto == null) { + throw new ServiceException("未查询到相关信息"); + } + return ybUtil.getFinancial3201Param(reconciliation3201Param, settlement3201DetailDto); + } + + /** + * 保存记录 + * + * @param tableName 表名 + * @param id 主键id + * @param s 类型 3301/3302 + * @param medicalDirectory3301Param 参数信息 + */ + public void saveDirectoryHistory(String tableName, Long id, Integer s, + MedicalDirectory3301Param medicalDirectory3301Param) { + Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); + DirectoryCheckRecord directoryCheckRecord = new DirectoryCheckRecord(); + directoryCheckRecord.setTableName(tableName).setTableId(id).setOrgId(hospitalId).setType(s) + .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) { + Long hospitalId = SecurityUtils.getLoginUser().getHospitalId(); + DirectoryCheckRecord directoryCheckRecord = new DirectoryCheckRecord(); + directoryCheckRecord.setTableName(tableName).setTableId(id).setOrgId(hospitalId).setType(s) + .setParam(JSON.toJSONString(medicalDirectory3302Param)); + directoryCheckRecordService.save(directoryCheckRecord); + } + + /** + * 【9001】签到 + * + * @param id 员工id + * @return 9001参数 + */ + public Sign getSignParam(String id, String mac, String ip) { + Practitioner practitioner = iPractitionerService.getById(Long.valueOf(id)); + if (practitioner == null) { + throw new ServiceException("未查询到员工信息"); + } + Sign sign = new Sign(); + sign.setOpterNo(practitioner.getBusNo()).setMac(mac.replace(" ", "+")).setIp(ip) + .setOpterNo(String.valueOf(practitioner.getId())); + return sign; + } + + /** + * 保存3201的信息 + * + * @param financial3201Output 对账结果信息 + */ + public void saveReconcileGeneralLedger(Financial3201Output financial3201Output, + Financial3201Param financial3201Param) { + FinancialReconcileRecord financialReconcileRecord = new FinancialReconcileRecord(); + BeanUtils.copyProperties(financial3201Output, financialReconcileRecord); + financialReconcileRecord.setParam(JSON.toJSONString(financial3201Output)); + financialReconcileRecord.setFixmedinsName(financial3201Param.getFixmedinsName()); + financialReconcileRecord.setAcctPay(financial3201Param.getAcctPay()); + financialReconcileRecord.setFundPaySumamt(financial3201Param.getFundPaySumamt()); + financialReconcileRecord.setFixmedinsCode(financial3201Param.getFixmedinsCode()); + financialReconcileRecord.setClrType(financial3201Param.getClrType()); + financialReconcileRecord.setFixmedinsSetlCnt(financial3201Param.getFixmedinsSetlCnt()); + financialReconcileRecord.setMedfeeSumamt(financial3201Param.getMedfeeSumamt()); + financialReconcileRecord.setSetlOptins(financial3201Param.getSetlOptins()); + iFinancialReconcileRecordService.save(financialReconcileRecord); + } + + /** + * 【3202】明细对账 + * + * @param settlement3202WebParam 前台参数 + * @return 3202参数 + */ + public FinancialSettlement3202Param getFinancialSettlement3202Param(Settlement3202WebParam settlement3202WebParam) { + return ybUtil.getFinancialSettlement3202Param(settlement3202WebParam); + } + + /** + * 【3209A】查询跨省三方对账未成功数据(吉林省) + * + * @param settlement3209AWebParam 前台参数 + * @return 结果 + */ + public FinancialSettlement3209AParam + getFinancialSettlement3209AParam(Settlement3209AWebParam settlement3209AWebParam) { + return ybUtil.getFinancialSettlement3209AParam(settlement3209AWebParam); + } + + /** + * 【3203A】清算申请(吉林省) + * + * @param financial3203AWebParam 前台参数 + * @return 结果 + */ + public Financial3203AParam getFinancial3203AParam(Financial3203AWebParam financial3203AWebParam) { + // 查询3202的所有实体记录 + 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())); + // 将 Date 转换为 LocalDate(Java 8+) + // LocalDate begnLocalDate = financial3203AWebParam.getStmtBegnDate().toInstant() + // .atZone(ZoneId.systemDefault()) + // .toLocalDate(); + // LocalDate endLocalDate = financial3203AWebParam.getStmtEndDate().toInstant() + // .atZone(ZoneId.systemDefault()) + // .toLocalDate(); + + // 格式化为 "yyyy-MM-dd" + // 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()); + return busMonthSetlApply; + } + + /** + * 自动申请清算 + * + * @param financial3202FileParams + * @param beginTime + * @param endTime + * @param clrType + * @param clrOptins + * @return + */ + public Financial3203AParam getFinancial3203AParam(List financial3202FileParams, + String beginTime, String endTime, String clrType, String clrOptins) { + if (financial3202FileParams.isEmpty()) { + throw new ServiceException("无医保结算数据"); + } + Financial3203AParam financial3203AParam = getInitFinancial3203AParam(financial3202FileParams); + + getFinancial3203AParamForTime(financial3203AParam, beginTime, endTime); + + return financial3203AParam.setClrType(clrType).setClrOptins(clrOptins); + } + + /** + * 自动申请清算 + * + * @param financial3203AParam + * @param beginTime + * @param endTime + * @return + */ + public Financial3203AParam getFinancial3203AParamForTime(Financial3203AParam financial3203AParam, + @NotNull String beginTime, @NotNull String endTime) { + + // 定义日期时间格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + // 解析成 LocalDateTime(包含日期+时间) + LocalDateTime begnLocalDateTime = LocalDateTime.parse(beginTime, formatter); + LocalDateTime endLocalDateTime = LocalDateTime.parse(endTime, formatter); + + // 转换成 LocalDate(自动丢弃时间部分) + LocalDate begnLocalDate = begnLocalDateTime.toLocalDate(); + LocalDate endLocalDate = endLocalDateTime.toLocalDate(); + + // 格式化为 "yyyy-MM-dd" + DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String begnDateStr = begnLocalDate.format(dateFormatter); + String endDateStr = endLocalDate.format(dateFormatter); + + // Financial3203AParam busMonthSetlApply = new Financial3203AParam(); + // 再赋值 + financial3203AParam.setBegndate(DateUtils.dateTime("yyyy-MM-dd", begnDateStr)) + .setEnddate(DateUtils.dateTime("yyyy-MM-dd", endDateStr)); + return financial3203AParam; + } + + /** + * 【3203A】Financial3203AParam清算申请参数处理(吉林省) + * + * @param financial3202FileParams 入参 + * @return 结果 + */ + public Financial3203AParam getInitFinancial3203AParam(List financial3202FileParams) { + + BigDecimal medfeeSumamt = BigDecimal.ZERO; + BigDecimal fundPaySumamt = BigDecimal.ZERO; + BigDecimal medSumfee = BigDecimal.ZERO; + BigDecimal acctPay = BigDecimal.ZERO; + BigDecimal cashPay = BigDecimal.ZERO; + for (Financial3202FileParam financial3202FileParam : financial3202FileParams) { + if (financial3202FileParam instanceof Financial3202OtherParam otherParam) { + medfeeSumamt = medfeeSumamt.add(otherParam.getMedfeeSumamt()); + fundPaySumamt = fundPaySumamt.add(otherParam.getFundPaySumamt()); + acctPay = acctPay.add(otherParam.getAcctPay()); + cashPay = cashPay.add(otherParam.getCashPayamt()); + medSumfee = medSumfee.add(otherParam.getMedSumfee()); + } + } + // 赋值 + Financial3203AParam busMonthSetlApply = new Financial3203AParam(); + busMonthSetlApply.setMedfeeSumamt(medfeeSumamt).setMedSumfee(medSumfee).setCashPayamt(cashPay) + .setAcctPay(acctPay); + // .setClrType(financial3203AWebParam.getClrType()) + // .setClrOptins(financial3203AWebParam.getClrOptins()) + // .setBegndate(DateUtils.dateTime("yyyy-MM-dd", begnDateStr)) + // .setEnddate(DateUtils.dateTime("yyyy-MM-dd", endDateStr)); + return busMonthSetlApply; + } + + /** + * 【3205A】清算申请状态查询(吉林省) + * + * @param clearing3205AWebParma 前台参数 + * @return 结果 + */ + public Clearing3205AParma getClearing3205AParma(Clearing3205AWebParma clearing3205AWebParma) { + return ybUtil.getClearing3205AParma(clearing3205AWebParma); + } + + /** + * 【3501】商品盘存上传 + * + * @param id 供应申请id + * @param talentId 租户id + * @return 结果 + */ + public MedicalInventory3501Param getMedicalInventory3501Param(Long id, Integer talentId) { + return ybUtil.getMedicalInventory3501Param(id, talentId); + } + + /** + * 【3502】库存信息变更 + * + * @param id 供应链发放id + * @param invChgType 变更类型 参考枚举 + * @param talentId 租户id + * @return 结果 + */ + public MedicalInventory3502Param getMedicalInventory3502Param(Long id, String invChgType, Integer talentId) { + return ybUtil.getMedicalInventory3502Param(id, invChgType, talentId); + } + + /** + * 【3503】商品采购 + * + * @param id 供应发放id + * @param talentId 租户id + * @return 结果 + */ + public Medical3503Param getMedical3503Param(Long id, Integer talentId) { + return ybUtil.getMedical3503Param(id, talentId); + } + + /** + * 【3504】商品采购退货 + * + * @param id 供应发放id + * @param talentId 租户id + * @return 结果 + */ + public MedicalPurchase3504Param getMedicalPurchase3504Param(Long id, Integer talentId) { + return ybUtil.getMedicalPurchase3504Param(id, talentId); + } + + /** + * 【3505】商品销售 + * + * @param id 发放id + * @param ListType 耗材/药品 + * @param talentId 租户id + * @return 结果 + */ + public Medical3505Param getMedical3505Param(Long id, String ListType, Integer talentId) { + return ybUtil.getMedical3505Param(id, ListType, talentId); + } + + /** + * 【3506】商品销售退货 + * + * @param id 对应发放业务的主键id + * @param ListType 目录种类 + * @param talentId 租户id + * @return 3506参数 + */ + public Medical3506Param getMedical3506Param(Long id, String ListType, Integer talentId) { + return ybUtil.getMedical3506Param(id, ListType, talentId); + } + + /** + * 【3507】商品信息删除参数 + * + * @param id 库存项目id + * @param invDataType 进销存类型 + * @return 3507参数 + */ + public Medical3507Param getMedical3507Param(Long id, String invDataType) { + return ybUtil.getMedical3507Param(id, invDataType); + } + + /** + * 保存清算申请参数 + * + * @param financial3203AParam 3203A入参 + * @param s 一包返回结果 + */ + public void save3203AFinancialClearingApplycation(Financial3203AParam financial3203AParam, String s) { + FinancialApplyRecord financialApplyRecord = new FinancialApplyRecord(); + BeanUtils.copyProperties(financial3203AParam, financialApplyRecord); + financialApplyRecord.setParam(JSON.toJSONString(financial3203AParam)).setOutResult(s) + .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)); + } + + /** + * 保存数据 + * + * @param medicalInventory3501Param 3501参数 + */ + + public void saveInventoryCheckRecord(MedicalInventory3501Param medicalInventory3501Param, String resultMessage) { + InventoryCheckRecord inventoryCheckRecord = new InventoryCheckRecord(); + BeanUtils.copyProperties(medicalInventory3501Param, inventoryCheckRecord); + inventoryCheckRecord.setParam(JSON.toJSONString(medicalInventory3501Param)); + inventoryCheckRecord.setResult(JSON.toJSONString(resultMessage)); + iInventoryCheckRecordService.save(inventoryCheckRecord); + } + + /** + * 保存数据 + * + * @param medical3507Param 3507参数 + */ + public void saveInventoryDelRecord(Medical3507Param medical3507Param) { + InventoryDelRecord inventoryDelRecord = new InventoryDelRecord(); + BeanUtils.copyProperties(medical3507Param, inventoryDelRecord); + inventoryDelRecord.setParam(JSON.toJSONString(medical3507Param)); + iInventoryDelRecordService.save(inventoryDelRecord); + } + + /** + * 保存数据 + * + * @param medical3506Param 3506参数 + */ + public void saveInventorySaleReturnRecord(Medical3506Param medical3506Param, String retRslt) { + InventorySaleReturnRecord inventorySaleReturnRecord = new InventorySaleReturnRecord(); + BeanUtils.copyProperties(medical3506Param, inventorySaleReturnRecord); + inventorySaleReturnRecord.setParam(JSON.toJSONString(medical3506Param)); + inventorySaleReturnRecord.setOutResult(JSON.toJSONString(retRslt)); + iInventorySaleReturnRecordService.save(inventorySaleReturnRecord); + } + + /** + * 保存数据 + * + * @param medical3505Param 3505参数 + */ + public void saveInventorySaleRecord(Medical3505Param medical3505Param, String retRslt) { + InventorySaleRecord inventorySaleRecord = new InventorySaleRecord(); + BeanUtils.copyProperties(medical3505Param, inventorySaleRecord); + inventorySaleRecord.setParam(JSON.toJSONString(medical3505Param)); + inventorySaleRecord.setOutResult(JSON.toJSONString(retRslt)); + inventorySaleRecord.setDrugtracinfo(JSON.toJSONString(medical3505Param.getDrugtracinfo())); + iInventorySaleRecordService.save(inventorySaleRecord); + } + + /** + * 保存数据 + * + * @param medicalPurchase3504Param 3504参数 + */ + public void saveInventoryPurchaseReturnRecord(MedicalPurchase3504Param medicalPurchase3504Param, + String resultMessage) { + InventoryPurchaseReturnRecord inventoryPurchaseReturnRecord = new InventoryPurchaseReturnRecord(); + BeanUtils.copyProperties(medicalPurchase3504Param, inventoryPurchaseReturnRecord); + inventoryPurchaseReturnRecord.setParam(JSON.toJSONString(medicalPurchase3504Param)); + inventoryPurchaseReturnRecord.setOutResult(JSON.toJSONString(resultMessage)); + iInventoryPurchaseReturnRecordService.save(inventoryPurchaseReturnRecord); + } + + /** + * 保存数据 + * + * @param medical3503Param 3503参数 + */ + public void saveInventoryPurchaseRecord(Medical3503Param medical3503Param, String resultMessage) { + InventoryPurchaseRecord inventoryPurchaseRecord = new InventoryPurchaseRecord(); + BeanUtils.copyProperties(medical3503Param, inventoryPurchaseRecord); + inventoryPurchaseRecord.setParam(JSON.toJSONString(medical3503Param)); + inventoryPurchaseRecord.setOutResult(JSON.toJSONString(resultMessage)); + iInventoryPurchaseRecordService.save(inventoryPurchaseRecord); + } + + /** + * 保存数据 + * + * @param medicalInventory3502Param 3502参数 + */ + public void saveInventoryChangeRecord(MedicalInventory3502Param medicalInventory3502Param, String resultMessage) { + InventoryChangeRecord inventoryChangeRecord = new InventoryChangeRecord(); + BeanUtils.copyProperties(medicalInventory3502Param, inventoryChangeRecord); + inventoryChangeRecord.setParam(JSON.toJSONString(medicalInventory3502Param)); + inventoryChangeRecord.setResult(JSON.toJSONString(resultMessage)); + iInventoryChangeRecordService.save(inventoryChangeRecord); + } + + /** + * 保存医保结算参数等信息(挂号用) + * + * @param paymentNo + * @param clinicOrder2207 + * @param clinic2206OrderResult + */ + public void saveClinic2207Record(String paymentNo, Clinic2207OrderParam clinicOrder2207, + Clinic2207OrderModel clinic2206OrderResult) { + ClinicSettle clinicSettle = new ClinicSettle(); + BeanUtils.copyProperties(clinic2206OrderResult, clinicSettle); + clinicSettle.setParam2207(JSON.toJSONString(clinicOrder2207)) + .setResult2207(JSON.toJSONString(clinic2206OrderResult)).setPaymentNo(paymentNo); + iClinicSettleService.save(clinicSettle); + } + + /** + * 保存医保结算参数等信息(常规结算用) + * + * @param clinicOrder2207 + * @param clinic2206OrderResult + */ + public void saveClinic2207Record(Clinic2207OrderParam clinicOrder2207, Clinic2207OrderModel clinic2206OrderResult) { + ClinicSettle clinicSettle = new ClinicSettle(); + BeanUtils.copyProperties(clinic2206OrderResult, clinicSettle); + clinicSettle.setParam2207(JSON.toJSONString(clinicOrder2207)) + .setResult2207(JSON.toJSONString(clinic2206OrderResult)); + iClinicSettleService.save(clinicSettle); + } + + public PatientInfoDto getPatent(Info1101Output perInfo) { + // 查患者信息 + Patient patient = + iPatientService.getOne(new LambdaQueryWrapper().eq(Patient::getIdCard, perInfo.getCertno())); + if (patient == null) { + patient = new Patient(); + // 处理性别字段 + YbGender ybGender = YbGender.getByValue(perInfo.getGend()); + AdministrativeGender administrativeGender; + switch (ybGender) { + case MALE: + administrativeGender = AdministrativeGender.MALE; + break; + case FEMALE: + administrativeGender = AdministrativeGender.FEMALE; + break; + default: + administrativeGender = AdministrativeGender.UNKNOWN; + break; + } + // 新建患者 + patient.setIdCard(perInfo.getCertno()).setName(perInfo.getPsnName()) + .setGenderEnum(administrativeGender.getValue()).setActiveFlag(0).setTempFlag(0) + .setOrganizationId(SecurityUtils.getLoginUser().getOrgId()).setBirthDate(perInfo.getBrdy()); + iPatientService.savePatient(patient); + } + // 赋值 + PatientInfoDto patientInfoDto = new PatientInfoDto(); + BeanUtils.copyProperties(patient, patientInfoDto); + // 查合同 2025/05/23 弃用,费用性质固定,如农大只有省医保,费用性质只显示省医保和自费即可,由@GetMapping(value = "/contract-list")接口提供数据 + Contract contract = iContractService + .getOne(new LambdaQueryWrapper().eq(Contract::getAdmVs, perInfo.getInsuplcAdmdvs())); + if (contract != null) { + // BeanUtils.copyProperties(contract, patientInfoDto); + patientInfoDto.setContractBusNo(contract.getBusNo()); + } + patientInfoDto.setId(patient.getId()).setFeedetail(perInfo.getFeedetail()); + + return patientInfoDto; + } + + public ClinicReg getUnReg(Long encounterId, Integer tenantId) { + + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("查询不到就诊信息"); + } + + 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()); + if (clinicReg == null) { + throw new ServiceException("未生成2202参数"); + } + return clinicReg; + } + + public List reconcileGeneralLedgerDetail(Settlement3201WebParam settlement3201WebParam) { + // 获取条件 + String clrType = settlement3201WebParam.getClrType();// 住院 or 门诊 + Integer kindEnum; + if (clrType.equals(YbClrType.OUTPATIENT_CLINIC.getValue())) { + kindEnum = PaymentKind.OUTPATIENT_CLINIC.getValue(); + } else if (clrType.equals(YbClrType.INPATIENT_CARE.getValue())) { + kindEnum = PaymentKind.INPATIENT_CLINIC.getValue(); + } else { + throw new ServiceException("请选择门诊或住院"); + } + String contractNo = settlement3201WebParam.getContractNo();// 省市医保 + String insuType = settlement3201WebParam.getInsuType();// 职工 or 居民保险 + String stmtBegnDate = settlement3201WebParam.getStmtBegnDate();// 开始时间 + String stmtEndDate = settlement3201WebParam.getStmtEndDate();// 结束时间 + Date startDate = DateUtils.parseDate(stmtBegnDate); + Date endDate = DateUtils.parseDate(stmtEndDate); + // 处理时间 + if (StringUtils.isEmpty(stmtBegnDate) || StringUtils.isEmpty(stmtEndDate)) { + // 获取当前日期 + LocalDate currentDate = LocalDate.now(); + + if (StringUtils.isEmpty(stmtBegnDate)) { + // 获取当月的开始时间(当月的1号 00:00:00) + LocalDateTime startOfMonth = LocalDateTime.of(currentDate, LocalTime.MIN); + startDate = Date.from(startOfMonth.atZone(ZoneId.systemDefault()).toInstant()); + stmtBegnDate = DateUtils.parseDateToStr("yyyy-MM-dd hh:mm:ss.SSS", startDate); + } + + if (StringUtils.isEmpty(stmtEndDate)) { + // 获取当月的结束时间(当月的最后一天 23:59:59) + LocalDate endOfMonthDate = currentDate.withDayOfMonth(currentDate.lengthOfMonth()); + LocalDateTime endOfMonth = LocalDateTime.of(endOfMonthDate, LocalTime.MAX); + endDate = Date.from(endOfMonth.atZone(ZoneId.systemDefault()).toInstant()); + stmtEndDate = DateUtils.parseDateToStr("yyyy-MM-dd hh:mm:ss.SSS", endDate); + } + } + // 查询该段时间内的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)); + // 过滤医保结算id + 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 paymentRecDetailList = iPaymentRecDetailService.list(new + // LambdaQueryWrapper().in(PaymentRecDetail::getReconciliationId, + // paymentReconciliationIdList)); + // List accountIds = + // paymentRecDetailList.stream().map(PaymentRecDetail::getAccountId).collect(Collectors.toList()); + // List accountList = accountService.list(new LambdaQueryWrapper().in(Account::getId, + // accountIds)); + // 查询支付详情记录信息 + List paymentDecDetailUniAccountDtos = + medicalInsuranceMapper.getPaymentDecDetailUniAccountDtoListByPaymentIdList(paymentReconciliationIdList, + startDate, endDate, PaymentStatus.DRAFT.getValue()); + // 声明变量 + List settlement3201DetailDtos = new ArrayList<>(); + // Settlement3201DetailDto settlement3201ProEMPOutDto = new Settlement3201DetailDto();//省医保门诊职工 + // Settlement3201DetailDto settlement3201CityEMPOutDto = new Settlement3201DetailDto();//市医保门诊居民 + // Settlement3201DetailDto settlement3201ProRESOutDto = new Settlement3201DetailDto();//省医保门诊职工 + // Settlement3201DetailDto settlement3201CityRESOutDto = new Settlement3201DetailDto();//市医保门诊居民 + // Settlement3201DetailDto settlement3201ProEMPInDto = new Settlement3201DetailDto();//省医保住院职工 + // Settlement3201DetailDto settlement3201CityEMPInDto = new Settlement3201DetailDto();//市医保住院居民 + // Settlement3201DetailDto settlement3201ProRESInDto = new Settlement3201DetailDto();//省医保住院职工 + // Settlement3201DetailDto settlement3201CityRESInDto = new Settlement3201DetailDto();//市医保住院居民 + Settlement3201DetailDto settlement3201Dto;// 声明变量 + // 分组处理 + // for (PaymentDecDetailUniAccountDto paymentDecDetailUniAccountDto : paymentDecDetailUniAccountDtos) { + // if(StringUtils.isEmpty(paymentDecDetailUniAccountDto.getContractNo())){ + // System.out.println(paymentDecDetailUniAccountDto.getId()); + // } + // } + for (PaymentDecDetailUniAccountDto paymentDecDetailUniAccountDto : paymentDecDetailUniAccountDtos) { + if (StringUtils.isEmpty(paymentDecDetailUniAccountDto.getContractNo())) { + System.out.println(paymentDecDetailUniAccountDto.getId() + "payment主键:" + + paymentDecDetailUniAccountDto.getReconciliationId()); + } + } + + Map> paymentDecDetailUniAccountDtoMapGroupByContract = + paymentDecDetailUniAccountDtos.stream() + .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getContractNo)); + // 分省市医保 + for (Map.Entry> stringListEntry : paymentDecDetailUniAccountDtoMapGroupByContract + .entrySet()) { + if (CommonConstants.BusinessName.DEFAULT_CONTRACT_NO.equals(stringListEntry.getKey())) { + continue; + } + if (stringListEntry.getValue().isEmpty()) { + continue; + } + if (!StringUtils.isEmpty(contractNo) && !stringListEntry.getKey().equals(contractNo)) { + continue; + } + // 分住院门诊 + Map> paymentDecDetailUniAccountDtoMapGroupByMedType = + stringListEntry.getValue().stream() + .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getKindEnum)); + for (Map.Entry> listEntry : paymentDecDetailUniAccountDtoMapGroupByMedType + .entrySet()) { + if (listEntry.getValue().isEmpty()) { + continue; + } + if (!StringUtils.isEmpty(clrType) && !listEntry.getKey().equals(kindEnum)) { + continue; + } + // 分职工居民 + Map> collect = listEntry.getValue().stream() + .collect(Collectors.groupingBy(PaymentDecDetailUniAccountDto::getInsutype)); + for (Map.Entry> entry : collect.entrySet()) { + if (entry.getValue().isEmpty()) { + continue; + } + if (!StringUtils.isEmpty(insuType) && !entry.getKey().equals(insuType)) { + continue; + } + int count = 0; + settlement3201Dto = new Settlement3201DetailDto(); + settlement3201Dto.setContractNo(stringListEntry.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()) { + settlement3201Dto.setClrType(YbClrType.INPATIENT_CARE.getValue()); + } + for (PaymentDecDetailUniAccountDto paymentDecDetailUniAccountDto : entry.getValue()) { + if (YbPayment.YB_FUND_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) { + // 基金支付 + settlement3201Dto.setFundPaySumAmt( + paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getFundPaySumAmt())); + if (BigDecimal.ZERO.compareTo(paymentDecDetailUniAccountDto.getAmount()) >= 0 + && paymentDecDetailUniAccountDto.getReturnMedfeeSumamt() != null) { + // 合计医疗费用 + settlement3201Dto.setMedFeeSumAmt( + 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())); + } + count++; + } + if (YbPayment.SELF_YB_ZH_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) { + // 账户支付 + settlement3201Dto.setAcctPay( + paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getAcctPay())); + } + if (YbPayment.SELF_YB_ZH_GJ_VALUE.getValue() + .equals(paymentDecDetailUniAccountDto.getPayEnum())) { + // 账户共济支付 + settlement3201Dto.setAcctGjPay( + paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getAcctGjPay())); + } + // if (YbPayment.SELF_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum()) + // || YbPayment.OTHER_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum()) + // || YbPayment.YB_FUND_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) { + // // 合计医疗费用 + // settlement3201Dto.setMedFeeSumAmt( + // paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getMedFeeSumAmt())); + // } + } + // 结算笔数 + settlement3201Dto.setFixMedInsSetlCnt(count); + settlement3201DetailDtos.add(settlement3201Dto); + } + } + } + // 返回参数 + return settlement3201DetailDtos; + } + + public ClinicReg2201Output getClinicRegByEncounterId(Long encounterId) { + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + 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失败,此处打补丁赋值 + return clinicReg2201Output; + } + + public ClinicReg get2202Reg(Long id, Integer tenantId) { + Encounter encounter = iEncounterService.getById(id); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + return iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, encounter.getBusNo())); + } + + /** + * 系統數據比較 + * + * @param settlement3202WebParam + */ + public List paymentCompareYbSettle(Settlement3202WebParam settlement3202WebParam) { + // 比较yb_clinic_settle表和payment系列表数据是否一致 + String stmtBegnDate = String.valueOf(settlement3202WebParam.getStmtBegnDate()); + String stmtEndDate = String.valueOf(settlement3202WebParam.getStmtEndDate()); + if (StringUtils.isEmpty(stmtBegnDate) || StringUtils.isEmpty(stmtEndDate)) { + throw new ServiceException("未选择开始与结束时间"); + } + + Date startDate = DateUtils.parseDate(stmtBegnDate); + 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())); + 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()); + if (settleIdList.isEmpty()) { + throw new ServiceException("该时间内无医保付款记录"); + } + + // 查询医保表数据 + List clinicSettles = + iClinicSettleService.list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settleIdList)); + List clinicUnSettles = iClinicUnSettleService + .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settleIdList)); + + // payment的id集合 + 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())); + if (paymentRecDetailList.isEmpty()) { + throw new ServiceException("该时间内无付款明细记录"); + } + // 该部分代码为辅助调试时使用,无任何业务处理 start + // for (PaymentRecDetail paymentRecDetail : paymentRecDetailList) { + // if (StringUtils.isEmpty(paymentRecDetail.getPayTransText())) { + // System.out.println("*******************************************************************"); + // System.out.println(paymentRecDetail.getId() + "主键:" + paymentRecDetail.getReconciliationId()); + // System.out.println(JSON.toJSONString(paymentRecDetail)); + // // throw new ServiceException("paymentDetail无返回交易码"); + // } + // } + // end + + Map> paymentRecDetailMapBySettleId = + paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); + + List financial3202FileParamList = new ArrayList<>(); + Financial3202FileParam financial3202FileParam; + for (Map.Entry> stringListEntry : paymentRecDetailMapBySettleId.entrySet()) { + // 获取settleId + String settleId = stringListEntry.getKey(); + 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(); + if (!settleOptional.isPresent() && !unSettleOptional.isPresent()) { + throw new ServiceException("付款详情中结算id在医保记录中不存在,错误信息:paymentId:" + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + } + if (settleOptional.isPresent() && unSettleOptional.isPresent()) { + throw new ServiceException("付款详情中结算id在医保记录中同时存在正结和反结,错误信息:paymentId:" + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + } + // 校对金额 + BigDecimal medfeeSumamt = BigDecimal.ZERO; + BigDecimal fundPaySumamt = BigDecimal.ZERO; + BigDecimal acctPay = BigDecimal.ZERO; + String refdSetlFlag = Whether.NO.getCode();// 1 是退费; 0否 + String psnNo = ""; + String mdtrtId = ""; + String patientName = ""; + String setlTime = ""; + + for (PaymentRecDetail paymentRecDetail : stringListEntry.getValue()) { + if (YbPayment.YB_FUND_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + medfeeSumamt = medfeeSumamt.add(paymentRecDetail.getAmount()); + fundPaySumamt = fundPaySumamt.add(paymentRecDetail.getAmount()); + } + if (YbPayment.SELF_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + medfeeSumamt = medfeeSumamt.add(paymentRecDetail.getAmount()); + } + // if(YbPayment.OTHER_PAY.getValue().equals(paymentRecDetail.getPayEnum())){ + // medfeeSumamt = medfeeSumamt.add(paymentRecDetail.getAmount()); + // } + if (YbPayment.SELF_YB_ZH_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + acctPay = acctPay.add(paymentRecDetail.getAmount()); + } + } + + if (settleOptional.isPresent()) { + ClinicSettle clinicSettle = settleOptional.get(); + if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { + throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + } + if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { + throw new ServiceException("医保正结记录与业务记录医疗总金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() + + " 医疗总金额:" + clinicSettle.getMedfeeSumamt() + " payment记录医疗总金额:" + medfeeSumamt); + } + if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { + throw new ServiceException("医保正结记录与业务记录基金金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() + + " 基金金额:" + 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); + patientName = clinic2207OrderModel.getPsnName(); + setlTime = String.valueOf(clinic2207OrderModel.getSetlTime()); + } + + if (unSettleOptional.isPresent()) { + ClinicUnSettle clinicSettle = unSettleOptional.get(); + if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { + throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + } + if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { + throw new ServiceException("医保反结记录与业务记录医疗费用总金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() + + " 医疗费用总金额:" + clinicSettle.getMedfeeSumamt() + " payment记录医疗费用总金额:" + medfeeSumamt); + } + if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { + throw new ServiceException("医保反结记录与业务记录基金金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() + + " 基金金额:" + clinicSettle.getFundPaySumamt() + " payment记录基金金额:" + fundPaySumamt); + } + refdSetlFlag = Whether.YES.getCode(); + String param2208 = clinicSettle.getParam2208(); + Clinic2208UnSetlInfoParam clinic2208UnSetlInfoParam = + JSON.parseObject(param2208, Clinic2208UnSetlInfoParam.class); + psnNo = clinic2208UnSetlInfoParam.getPsnNo(); + mdtrtId = clinic2208UnSetlInfoParam.getMdtrtId(); + Clinic2208UnSetlInfoOutput clinic2207OrderModel = + JSON.parseObject(clinicSettle.getResult2208(), Clinic2208UnSetlInfoOutput.class); + // patientName = clinic2207OrderModel.getPsnName(); + setlTime = String.valueOf(clinic2207OrderModel.getSetlTime()); + } + + financial3202FileParam = new Financial3202FileParam(); + + financial3202FileParam.setSetlId(settleId).setAcctPay(acctPay).setFundPaySumamt(fundPaySumamt) + .setMdtrtId(mdtrtId).setPsnNo(psnNo).setMedfeeSumamt(medfeeSumamt).setRefdSetlFlag(refdSetlFlag) + .setPatientName(patientName).setSetlTime(setlTime); + + financial3202FileParamList.add(financial3202FileParam); + } + + return financial3202FileParamList; + } + + /** + * 系統數據比較 + * + * @param settlementIdList + */ + public List paymentCompareYbSettle(List settlementIdList) { + // 比较yb_clinic_settle表和payment系列表数据是否一致 + // 查询医保表数据 + List clinicSettles = iClinicSettleService + .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settlementIdList)); + List clinicUnSettles = iClinicUnSettleService + .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)); + if (paymentRecDetailList.isEmpty()) { + throw new ServiceException("该时间内无付款明细记录"); + } + // 该部分代码为辅助调试时使用,无任何业务处理 start + for (PaymentRecDetail paymentRecDetail : paymentRecDetailList) { + if (StringUtils.isEmpty(paymentRecDetail.getPayTransText())) { + System.out.println(JSON.toJSONString(paymentRecDetail)); + throw new ServiceException("paymentDetail无返回交易码"); + } + } + // end + + Map> paymentRecDetailMapBySettleId = + paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); + + List financial3202FileParamList = new ArrayList<>(); + Financial3202OtherParam financial3202OtherParam; + for (Map.Entry> stringListEntry : paymentRecDetailMapBySettleId.entrySet()) { + // 获取settleId + String settleId = stringListEntry.getKey(); + 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(); + if (!settleOptional.isPresent() && !unSettleOptional.isPresent()) { + throw new ServiceException("付款详情中结算id在医保记录中不存在,错误信息:paymentId:" + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + } + if (settleOptional.isPresent() && unSettleOptional.isPresent()) { + throw new ServiceException("付款详情中结算id在医保记录中同时存在正结和反结,错误信息:paymentId:" + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + } + // 校对金额 + BigDecimal medfeeSumamt = BigDecimal.ZERO; + BigDecimal fundPaySumamt = BigDecimal.ZERO; + BigDecimal acctPay = BigDecimal.ZERO; + BigDecimal cashPay = BigDecimal.ZERO; + BigDecimal medSumfee = BigDecimal.ZERO; + String refdSetlFlag = Whether.NO.getCode();// 1 是退费; 0否 + String psnNo = ""; + String mdtrtId = ""; + + for (PaymentRecDetail paymentRecDetail : stringListEntry.getValue()) { + if (YbPayment.YB_FUND_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + medfeeSumamt = medfeeSumamt.add(paymentRecDetail.getAmount()); + fundPaySumamt = fundPaySumamt.add(paymentRecDetail.getAmount()); + } + if (YbPayment.SELF_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + medfeeSumamt = medfeeSumamt.add(paymentRecDetail.getAmount()); + } + // if(YbPayment.OTHER_PAY.getValue().equals(paymentRecDetail.getPayEnum())){ + // medfeeSumamt = medfeeSumamt.add(paymentRecDetail.getAmount()); + // } + if (YbPayment.SELF_YB_ZH_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + acctPay = acctPay.add(paymentRecDetail.getAmount()); + } + if (YbPayment.SELF_CASH_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + cashPay = cashPay.add(paymentRecDetail.getAmount()); + } + if (YbPayment.INSCP_SCP_AMT.getValue().equals(paymentRecDetail.getPayEnum())) { + medSumfee = medSumfee.add(paymentRecDetail.getAmount()); + } + } + + if (settleOptional.isPresent()) { + ClinicSettle clinicSettle = settleOptional.get(); + if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { + throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + } + if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { + throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() + + " 账户支付:" + clinicSettle.getMedfeeSumamt() + " payment记录账户支付金额:" + medfeeSumamt); + } + if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { + throw new ServiceException("医保正结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSetlId() + + " 账户支付:" + clinicSettle.getFundPaySumamt() + " payment记录账户支付金额:" + fundPaySumamt); + } + String param2207 = clinicSettle.getParam2207(); + Clinic2207OrderParam clinic2207OrderParam = JSON.parseObject(param2207, Clinic2207OrderParam.class); + psnNo = clinic2207OrderParam.getPsnNo(); + mdtrtId = clinic2207OrderParam.getMdtrtId(); + } + + if (unSettleOptional.isPresent()) { + ClinicUnSettle clinicSettle = unSettleOptional.get(); + if (clinicSettle.getAcctPay().compareTo(acctPay) != 0) { + throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() + + " 账户支付:" + clinicSettle.getAcctPay() + " payment记录账户支付金额:" + acctPay); + } + if (clinicSettle.getMedfeeSumamt().compareTo(medfeeSumamt) != 0) { + throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() + + " 账户支付:" + clinicSettle.getMedfeeSumamt() + " payment记录账户支付金额:" + medfeeSumamt); + } + if (clinicSettle.getFundPaySumamt().compareTo(fundPaySumamt) != 0) { + throw new ServiceException("医保反结记录与业务记录账户支付金额不等!请核对!错误信息:医保结算id:" + clinicSettle.getSettleId() + + " 账户支付:" + clinicSettle.getFundPaySumamt() + " payment记录账户支付金额:" + fundPaySumamt); + } + refdSetlFlag = Whether.YES.getCode(); + String param2208 = clinicSettle.getParam2208(); + Clinic2208UnSetlInfoParam clinic2208UnSetlInfoParam = + JSON.parseObject(param2208, Clinic2208UnSetlInfoParam.class); + psnNo = clinic2208UnSetlInfoParam.getPsnNo(); + mdtrtId = clinic2208UnSetlInfoParam.getMdtrtId(); + } + + financial3202OtherParam = new Financial3202OtherParam(); + + financial3202OtherParam.setSetlId(settleId).setAcctPay(acctPay).setFundPaySumamt(fundPaySumamt) + .setMdtrtId(mdtrtId).setPsnNo(psnNo).setMedfeeSumamt(medfeeSumamt).setRefdSetlFlag(refdSetlFlag); + financial3202OtherParam.setCashPayamt(cashPay).setMedSumfee(medSumfee); + financial3202FileParamList.add(financial3202OtherParam); + } + + return financial3202FileParamList; + } + + /** + * 获取3202的现金支付金额 + * + * @param settlementIdList + */ + public FinancialSettlement3202Param getFinancialSettlement3202Param(List settlementIdList, BigDecimal a, + BigDecimal b) { + + // Financial3202OtherParam financial3202OtherParam = new Financial3202OtherParam(); + BigDecimal cashPay = BigDecimal.ZERO; + + // 比较yb_clinic_settle表和payment系列表数据是否一致 + // 查询医保表数据 + List clinicSettles = iClinicSettleService + .list(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settlementIdList)); + List clinicUnSettles = iClinicUnSettleService + .list(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settlementIdList)); + // 防空指针 + if (clinicSettles == null) { + clinicSettles = new ArrayList<>(); + } + 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()); + clinicSettleTime.addAll(clinicUnSettleTime); + + Date stmtBegndate = null; + Date stmtEnddate = null; + + // 获取最早的日期 + Optional minDate = clinicSettleTime.stream().min(Date::compareTo); + + // 获取最晚的日期 + Optional maxDate = clinicSettleTime.stream().max(Date::compareTo); + + if (!minDate.isPresent() || !maxDate.isPresent()) { + throw new ServiceException("未查询到医保结算时间"); + } + stmtBegndate = minDate.get(); + stmtEnddate = maxDate.get(); + + // 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)); + if (paymentRecDetailList.isEmpty()) { + throw new ServiceException("该时间内无付款明细记录"); + } + // 该部分代码为辅助调试时使用,无任何业务处理 start + for (PaymentRecDetail paymentRecDetail : paymentRecDetailList) { + if (StringUtils.isEmpty(paymentRecDetail.getPayTransNo())) { + System.out.println(JSON.toJSONString(paymentRecDetail)); + throw new ServiceException("paymentDetail无返回交易码"); + } + } + // end + + Map> paymentRecDetailMapBySettleId = + paymentRecDetailList.stream().collect(Collectors.groupingBy(PaymentRecDetail::getPayTransText)); + + // List financial3202FileParamList = new ArrayList<>(); + // Financial3202FileParam financial3202FileParam; + for (Map.Entry> stringListEntry : paymentRecDetailMapBySettleId.entrySet()) { + // 获取settleId + String settleId = stringListEntry.getKey(); + 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(); + if (!settleOptional.isPresent() && !unSettleOptional.isPresent()) { + throw new ServiceException("付款详情中结算id在医保记录中不存在,错误信息:paymentId:" + + stringListEntry.getValue().get(0).getReconciliationId() + ";医保结算id" + settleId); + } + if (settleOptional.isPresent() && unSettleOptional.isPresent()) { + throw new ServiceException("付款详情中结算id在医保记录中同时存在正结和反结,错误信息:paymentId:" + + 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())) { + cashPay = cashPay.add(paymentRecDetail.getAmount()); + } + } + } + + FinancialSettlement3202Param financialSettlement3202Param = new FinancialSettlement3202Param(); + financialSettlement3202Param.setCashPayamt(cashPay).setMedfeeSumamt(a).setFundPaySumamt(b) + .setStmtBegndate(stmtBegndate).setStmtEnddate(stmtEnddate); + + return financialSettlement3202Param; + } + + public void uploadFinancialSettlement3202Param(FinancialSettlement3202Param financialSettlement3202Param) { + + } + + public Page getFinancial3203APage(String searchKey, Integer pageNo, Integer pageSize, + HttpServletRequest request) { + + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(new FinancialApplyRecord(), + searchKey, new HashSet<>(Arrays.asList("out_result")), null); + // 设置排序 + queryWrapper.orderByDesc("create_time"); + + // 申请信息 + Page financialApplyRecordPage = HisPageUtils.selectPage( + iFinancialApplyRecordService.getBaseMapper(), queryWrapper, pageNo, pageSize, FinancialApplyRecord.class); + + return financialApplyRecordPage; + } + + /** + * 根据申请结算ID查找申请结算记录 + * + * @param clrAppyEvtId + * @return + */ + public FinancialApplyRecord getFinancial3204ParamByClrAppyEvtId(String clrAppyEvtId) { + + FinancialApplyRecord financialApplyRecord = iFinancialApplyRecordService + .getOne(new LambdaQueryWrapper().eq(FinancialApplyRecord::getOutResult, clrAppyEvtId) + .orderByDesc(FinancialApplyRecord::getId).last(YbCommonConstants.sqlConst.LIMIT1)); + + if (financialApplyRecord == null) { + throw new ServiceException("未查询到申请记录"); + } + return financialApplyRecord; + } + + /** + * 【2301】住院费用明细上传 + * + * @param encounterId 就诊id + * @return 2301入参 + */ + public Yb2301InputFeeDetailModel getYb2301FeeDetailParam(Long encounterId, List chargeItemIds) { + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到就诊记录"); + } + + InpatientReg inpatientReg = iInpatientRegService + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保就诊记录"); + } + + // 获取今天和昨天的上午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 chargeItemBaseInfoDtosList = new ArrayList<>(); + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { + if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + continue; + } + if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { + // 反序列化:将JSON数组字符串转为List<> + List chargeItemBaseInfoList = + JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); + } else { + chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); + } + } + Yb2301InputFeeDetail yb2301InputFeeDetail; + List yb2301InputFeeDetailList = new ArrayList(); + // int i = 1; + 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()); + + yb2301InputFeeDetailList.add(yb2301InputFeeDetail); + } + + Yb2301InputFeeDetailModel yb2301InputFeeDetailModel = new Yb2301InputFeeDetailModel(); + yb2301InputFeeDetailModel.setFeedetail(yb2301InputFeeDetailList) + .setInsuplcAdmdvs(inpatientReg.getInsuplcAdmdvs()); + return yb2301InputFeeDetailModel; + } + + /** + * 【2302】费用明细上传撤销 + * + * @param chargeItemId 收费项 + * @return 2302入参 + */ + public Yb2302InputInpatient getYb2302InpatientParam(Long chargeItemId) { + ChargeItem chargeItem = iChargeItemService.getById(chargeItemId); + if (chargeItem == null) { + throw new ServiceException("未查询到收费项信息"); + } + InpatientFeeDetail inpatientFeeDetail = inpatientFeeDetailService.getOne( + 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()); + + } + + /** + * 【2303】住院预结算 + * + * @param encounterId 就诊id + * @return 2303入参 + */ + public Yb2303InputInpatient getYb2303InpatientPram(Long encounterId, List chargeItemIds) { + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到挂号信息"); + } + InpatientReg inpatientReg = iInpatientRegService + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保就诊记录"); + } + InfoPerson infoPerson = iPerinfoService.getByPsnNo(inpatientReg.getPsnNo()); + if (infoPerson == null) { + throw new ServiceException("未查询到患者信息"); + } + // 获取今天和昨天的上午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 chargeItemBaseInfoDtos = + iChargeItemService.getChargeItemBaseInfoByIds(chargeItemIds); + List chargeItemBaseInfoDtosList = new ArrayList<>(); + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { + if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + continue; + } + if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { + // 反序列化:将JSON数组字符串转为List<> + List chargeItemBaseInfoList = + JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); + } else { + chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); + } + } + // 计算医疗总费用 + BigDecimal medfee_sumamt = BigDecimal.ZERO; + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) { + medfee_sumamt = medfee_sumamt.add(chargeItemBaseInfoDto.getTotalPrice()); + } + + 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()); + + // todo:中如结算标志需要判断一下,待2304接口开发完成后编辑 + + return yb2303InputInpatient; + } + + /** + * 【2304】住院结算 + * + * @param paymentDto 预结算参数 + * @return 2304入参 + */ + public Yb2304InputInpatient getYb2304InpatientParam(PaymentInpatientDto paymentDto) { + Encounter encounter = iEncounterService.getById(paymentDto.getEncounterId()); + if (encounter == null) { + throw new ServiceException("未查询到挂号信息"); + } + // 查询挂号信息 + InpatientReg inpatientReg = iInpatientRegService + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保就诊记录"); + } + InfoPerson infoPerson = iPerinfoService.getByPsnNo(inpatientReg.getPsnNo()); + if (infoPerson == null) { + throw new ServiceException("未查询到患者信息"); + } + + // 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 chargeItemBaseInfoDtosList = new ArrayList<>(); + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { + if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + continue; + } + if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { + // 反序列化:将JSON数组字符串转为List<> + List chargeItemBaseInfoList = + JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); + } else { + chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); + } + } + // 计算医疗总费用 + BigDecimal medfee_sumamt = BigDecimal.ZERO; + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) { + medfee_sumamt = medfee_sumamt.add(chargeItemBaseInfoDto.getTotalPrice()); + } + + 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()); + + // todo:中如结算标志需要判断一下,待2304接口开发完成后编辑 + + return yb2304InputInpatient; + } + + /** + * 【2305】撤销结算 + * + * @param inpatientSettle 结算实体 + * @return 2305入参 + */ + public Yb2305InputInpatient getYb2305InpatientParam(InpatientSettle inpatientSettle) { + + // inpatientSettle = inpatientSettleService.getBySettleId(ybSettleId); + Yb2305InputInpatient yb2305InputInpatient = new Yb2305InputInpatient(); + return yb2305InputInpatient.setMdtrtId(inpatientSettle.getMdtrtId()).setPsnNo(inpatientSettle.getPsnNo()) + .setSetlId(inpatientSettle.getSetlId()); + + } + + /** + * 【2401】 办理入院 + * + * @param encounterId 就诊id + * @return 2401参数 + */ + public Yb2401InputInpatientMdtrtInfo getYb2401InputInpatientMdtrtInfo(Long encounterId) { + + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + + Account account = iAccountService.getYbAccount(encounterId); + if (account == null) { + throw new ServiceException("未查询到医保账户信息"); + } + // if (account.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + // throw new ServiceException("挂号账户为自费账户,无法办理医保住院登记"); + // } + + Contract contract = iContractService.getContract(account.getContractNo()); + if (contract == null) { + throw new ServiceException("未查询到对应合同信息"); + } + + Patient patient = iPatientService.getById(encounter.getPatientId()); + if (patient == null) { + throw new ServiceException("未查询到患者信息"); + } + + InfoPerson infoPerson = + iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), SecurityUtils.getLoginUser().getTenantId()); + if (infoPerson == null) { + throw new ServiceException("未查询到患者的医保信息"); + } + + List diagnosisList = iEncounterDiagnosisService.getDiagnosisList(encounterId); + if (diagnosisList.isEmpty()) { + throw new ServiceException("未查询到诊断信息"); + } + + EncounterDiagnosis mainDiagnosis = iEncounterDiagnosisService.getMainDiagnosis(diagnosisList); + if (mainDiagnosis == null) { + throw new ServiceException("未查询到主诊断信息"); + } + + Condition condition = iConditionService.getById(mainDiagnosis.getConditionId()); + if (condition == null) { + throw new ServiceException("未查询到主诊断信息"); + } + + ConditionDefinition conditionDefinition = iConditionDefinitionService.getById(condition.getDefinitionId()); + if (conditionDefinition == null) { + throw new ServiceException("未查询到主诊断定义信息"); + } + + List encounterParticipantListByTypeCode = iEncounterParticipantService + .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); + if (encounterParticipantListByTypeCode.isEmpty()) { + throw new ServiceException("未查询到住院医生信息"); + } + + Practitioner practitioner = + iPractitionerService.getById(encounterParticipantListByTypeCode.get(0).getPractitionerId()); + if (practitioner == null) { + throw new ServiceException("未查询到住院医生信息"); + } + + List encounterLocationList = iEncounterLocationService.getEncounterLocationList(encounterId, + LocationForm.BED, EncounterActivityStatus.ACTIVE); + if (encounterLocationList.isEmpty()) { + throw new ServiceException("未查询到床位信息"); + } + + Organization organization = iOrganizationService.getById(practitioner.getOrgId()); + if (organization == null) { + throw new ServiceException("未查询到就诊科室信息"); + } + + 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()); + return yb2401InputInpatientMdtrtInfo; + } + + /** + * 【2402】办理出院 + * + * @param encounterId 就诊id + * @return 2402参数 + */ + public Yb2402InputParam getYb2402InputInpatientDscgInfo(Long encounterId) { + + Yb2402InputParam yb2402InputParam = new Yb2402InputParam(); + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + + InpatientReg inpatientReg = iInpatientRegService.getInpatientRegByIptNo(encounter.getBusNo()); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保挂号信息"); + } + + Account account = iAccountService.getAccountByEncounterFlag(encounterId); + if (account == null) { + throw new ServiceException("未查询到账户信息"); + } + if (account.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + throw new ServiceException("挂号账户为自费账户,无法办理医保住院登记"); + } + + Contract contract = iContractService.getContract(account.getContractNo()); + if (contract == null) { + throw new ServiceException("未查询到对应合同信息"); + } + + Patient patient = iPatientService.getById(encounter.getPatientId()); + if (patient == null) { + throw new ServiceException("未查询到患者信息"); + } + + // InfoPerson infoPerson = + // iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), SecurityUtils.getLoginUser().getTenantId()); + // if (infoPerson == null) { + // throw new ServiceException("未查询到患者的医保信息"); + // } + + List diagnosisList = + iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS); + if (diagnosisList.isEmpty()) { + throw new ServiceException("未查询到出院诊断信息"); + } + + // EncounterDiagnosis mainDiagnosis = iEncounterDiagnosisService.getMainDiagnosis(diagnosisList); + // if (mainDiagnosis == null) { + // throw new ServiceException("未查询到主诊断信息"); + // } + + List conditionList = iConditionService.getConditionListById( + diagnosisList.stream().map(EncounterDiagnosis::getConditionId).collect(Collectors.toList())); + if (conditionList.isEmpty()) { + throw new ServiceException("未查询到诊断信息"); + } + if (conditionList.size() != diagnosisList.size()) { + throw new ServiceException("数据异常:查询到诊断信息与诊断定义信息数量不相等"); + } + + List conditionDefinitionList = iConditionDefinitionService.getConditionDefinitionListByIds( + conditionList.stream().map(Condition::getDefinitionId).collect(Collectors.toList())); + if (conditionDefinitionList.isEmpty()) { + throw new ServiceException("未查询到主诊断定义信息"); + } + + List encounterParticipantListByTypeCode = iEncounterParticipantService + .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); + if (encounterParticipantListByTypeCode.isEmpty()) { + throw new ServiceException("未查询到住院医生信息"); + } + + 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); + if (encounterLocationList.isEmpty()) { + throw new ServiceException("未查询到床位信息"); + } + + List organizationList = iOrganizationService.getOrganizationListById( + 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:离院方式待办 + + 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())); + 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()); + } + EncounterParticipant encounterParticipant = encounterParticipantMapById.get(condition.getRecorderId()); + if (encounterParticipant == null) { + throw new ServiceException("数据异常:就诊诊断信息无法关联到医生信息;异常数据condition:" + condition.getId()); + } + Practitioner practitioner = practitionerMapById.get(encounterParticipant.getPractitionerId()); + if (practitioner == null) { + throw new ServiceException( + "数据异常:就诊诊断信息无法关联到医生信息;异常数据encounterParticipant:" + encounterParticipant.getId()); + } + ConditionDefinition conditionDefinition = conditionDefinitionMapById.get(condition.getDefinitionId()); + if (conditionDefinition == null) { + throw new ServiceException("数据异常:就诊诊断信息无法关联到诊断定义;异常数据condition:" + condition.getId()); + } + Organization organization = organizationMapById.get(practitioner.getOrgId()); + if (organization == null) { + throw new ServiceException("数据异常:医生信息无法关联到科室;异常数据practitioner:" + practitioner.getId()); + } + 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()); + + yb2402InputInpatientDiseInfos.add(yb2402InputInpatientDiseInfo); + } + + // 拼装参数 + yb2402InputParam.setYb2402InputInpatientDiseInfo(yb2402InputInpatientDiseInfos); + yb2402InputParam.setYb2402InputInpatientDscgInfo(yb2402InputInpatientDscgInfo); + + return yb2402InputParam; + } + + /** + * 【2403】接口参数 + * + * @param encounterId 就诊id + * @return 2403接口参数 + */ + public Yb2403InputParam getYb2403InputParam(Long encounterId) { + + Yb2403InputParam yb24032InputParam = new Yb2403InputParam(); + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + + InpatientReg inpatientReg = iInpatientRegService.getInpatientRegByIptNo(encounter.getBusNo()); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保挂号信息"); + } + + Account account = iAccountService.getAccountByEncounterFlag(encounterId); + if (account == null) { + throw new ServiceException("未查询到账户信息"); + } + if (account.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + throw new ServiceException("挂号账户为自费账户,无法办理医保住院登记"); + } + + Contract contract = iContractService.getContract(account.getContractNo()); + if (contract == null) { + throw new ServiceException("未查询到对应合同信息"); + } + + Patient patient = iPatientService.getById(encounter.getPatientId()); + if (patient == null) { + throw new ServiceException("未查询到患者信息"); + } + + // InfoPerson infoPerson = + // iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), SecurityUtils.getLoginUser().getTenantId()); + // if (infoPerson == null) { + // throw new ServiceException("未查询到患者的医保信息"); + // } + + List diagnosisList = + iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS); + if (diagnosisList.isEmpty()) { + throw new ServiceException("未查询到出院诊断信息"); + } + + EncounterDiagnosis mainDiagnosis = iEncounterDiagnosisService.getMainDiagnosis(diagnosisList); + if (mainDiagnosis == null) { + throw new ServiceException("未查询到主诊断信息"); + } + + List conditionList = iConditionService.getConditionListById( + 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(); + if (firstOptional.isEmpty()) { + throw new ServiceException("数据异常:主诊断关联不到诊断信息"); + } + Condition mainCondition = firstOptional.get(); + + List conditionDefinitionList = iConditionDefinitionService.getConditionDefinitionListByIds( + 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(); + if (optional.isEmpty()) { + throw new ServiceException("数据异常:主诊断关联不到诊断信息"); + } + ConditionDefinition mainConditionDefinition = optional.get(); + + List encounterParticipantListByTypeCode = iEncounterParticipantService + .getEncounterParticipantListByTypeCode(encounterId, ParticipantType.ADMITTING_DOCTOR); + if (encounterParticipantListByTypeCode.isEmpty()) { + throw new ServiceException("未查询到住院医生信息"); + } + + 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); + if (encounterLocationList.isEmpty()) { + throw new ServiceException("未查询到床位信息"); + } + + List organizationList = iOrganizationService.getOrganizationListById( + 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()); + + 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())); + 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()); + } + EncounterParticipant encounterParticipant = encounterParticipantMapById.get(condition.getRecorderId()); + if (encounterParticipant == null) { + throw new ServiceException("数据异常:就诊诊断信息无法关联到医生信息;异常数据condition:" + condition.getId()); + } + Practitioner practitioner = practitionerMapById.get(encounterParticipant.getPractitionerId()); + if (practitioner == null) { + throw new ServiceException( + "数据异常:就诊诊断信息无法关联到医生信息;异常数据encounterParticipant:" + encounterParticipant.getId()); + } + ConditionDefinition conditionDefinition = conditionDefinitionMapById.get(condition.getDefinitionId()); + if (conditionDefinition == null) { + throw new ServiceException("数据异常:就诊诊断信息无法关联到诊断定义;异常数据condition:" + condition.getId()); + } + Organization organization = organizationMapById.get(practitioner.getOrgId()); + if (organization == null) { + throw new ServiceException("数据异常:医生信息无法关联到科室;异常数据practitioner:" + practitioner.getId()); + } + 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()); + + yb2403InputDiseInfos.add(yb2403InputDiseInfo); + } + + // 拼装参数 + yb24032InputParam.setYb2403InputDiseInfo(yb2403InputDiseInfos); + yb24032InputParam.setYb2403InputAdmInfo(yb2403InputAdmInfo); + + return yb24032InputParam; + } + + /** + * 【2404】住院办理撤销 + * + * @param encounterId 就诊id + * @return 2404参数 + */ + public Yb2404InputInpatient getYb2404InputInpatient(Long encounterId) { + + Yb2404InputInpatient yb2404InputInpatient = new Yb2404InputInpatient(); + + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + + InpatientReg inpatientReg = iInpatientRegService.getInpatientRegByIptNo(encounter.getBusNo()); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保挂号信息"); + } + yb2404InputInpatient.setMdtrtId(inpatientReg.getMdtrtId()).setPsnNo(inpatientReg.getPsnNo()); + + return yb2404InputInpatient; + } + + /** + * 【2405】出院办理撤销 + * + * @param encounterId 就诊id + * @return 2405参数 + */ + public Yb2405InputInpatient getYb2405InputInpatient(Long encounterId) { + + Yb2405InputInpatient yb2405InputInpatient = new Yb2405InputInpatient(); + + Encounter encounter = iEncounterService.getById(encounterId); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + + InpatientReg inpatientReg = iInpatientRegService.getInpatientRegByIptNo(encounter.getBusNo()); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保挂号信息"); + } + yb2405InputInpatient.setMdtrtId(inpatientReg.getMdtrtId()).setPsnNo(inpatientReg.getPsnNo()); + + return yb2405InputInpatient; + } + + /** + * 【5205】结果 + * + * @param patientId 患者id + * @param begntime 开始时间 + * @param endtime 结束时间 + * @return 5205结果 + */ + public Yb5205InputSpecialDisease yb5205SpecialDiseaseDrugRecordSearch(Long patientId, Date begntime, Date endtime) { + + Patient patient = iPatientService.getById(patientId); + if (patient == null) { + throw new ServiceException("未查询到患者信息"); + } + InfoPerson perInfoByIdCard = iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), patient.getTenantId()); + if (perInfoByIdCard == null) { + throw new ServiceException("未查询到患者医保读卡信息"); + } + + Yb5205InputSpecialDisease yb5205InputSpecialDisease = new Yb5205InputSpecialDisease(); + yb5205InputSpecialDisease.setBegntime(begntime).setEndtime(endtime).setPsnNo(perInfoByIdCard.getPsnNo()); + + return yb5205InputSpecialDisease; + } +} 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 new file mode 100644 index 00000000..d2c4fa2a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbHttpUtils.java @@ -0,0 +1,1079 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.service; + +import static com.alibaba.fastjson2.JSON.parseObject; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Optional; + +import com.openhis.financial.service.impl.ContractServiceImpl; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +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; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.FileSystemResource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.core.common.exception.ServiceException; +import com.core.common.utils.SecurityUtils; +import com.core.common.utils.StringUtils; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.PropertyNamingStrategies; +import com.openhis.financial.domain.Contract; +import com.openhis.financial.service.IContractService; +import com.openhis.yb.domain.ClinicReg; +import com.openhis.yb.dto.*; +import com.openhis.yb.model.Clinic2207OrderModel; +import com.openhis.yb.model.Clinic2207OrderParam; +import com.openhis.yb.util.YbParamBuilderUtil; + +/** + * http请求接口 + * + * @author SunJQ + * @date 2025-04-11 + */ +@Service +public class YbHttpUtils { + + @Autowired + YbParamBuilderUtil ybParamBuilderUtil; + @Autowired + IContractService iContractService; + + Logger logger = LoggerFactory.getLogger(YbHttpUtils.class); + @Autowired + private ContractServiceImpl contractServiceImpl; + + public Info1101Output getPerInfo(Info1101ReadcardParam readcard) { + // 声明参数 + Result result = null; + Info1101Output perinfo = null; + // 发送请求 + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/getPatinfo", readcard, null); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(resultString)); + logger.info("【1101】返回参数:" + resultString); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(resultString, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + perinfo = parseObject(JSON.toJSONString(result.getResult()), Info1101Output.class); + } else { + throw new ServiceException(result.getMessage()); + } + + return perinfo; + } + + public ClinicReg2201Output reg(ClinicReg reg, Contract contract) { + // 声名参数 + Result result = null; + ClinicReg2201Output clinicReg2201Output = new ClinicReg2201Output(); + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/reg", reg, contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info("【2201】返回参数:" + s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + clinicReg2201Output = parseObject(JSON.toJSONString(result.getResult()), ClinicReg2201Output.class); + } else { + throw new ServiceException(result.getMessage()); + } + return clinicReg2201Output; + } + + public ClinicReg2201Output cancelReg(ClinicReg reg, Contract contract) { + // 声名参数 + Result result = null; + ClinicReg2201Output clinicReg2201Output = new ClinicReg2201Output(); + // 发送请求 + String s = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancelReg", reg, contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info("【2202】返回参数:" + JSON.toJSONString(s)); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + clinicReg2201Output = parseObject(JSON.toJSONString(result.getResult()), ClinicReg2201Output.class); + } else { + throw new ServiceException(result.getMessage()); + } + return clinicReg2201Output; + } + + public Clinic2204OrderResult upload2204Record(Clinic2204OrderParam clinic2204OrderParam, Contract contract) { + Clinic2204OrderResult clinicFeedetail2204Result = new Clinic2204OrderResult(); + // 声名参数 + Result result = null; + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload2204-record", + clinic2204OrderParam, contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info("【2204】返回参数:" + s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + clinicFeedetail2204Result = parseObject(JSON.toJSONString(result.getResult()), Clinic2204OrderResult.class); + } else { + throw new ServiceException(result.getMessage()); + } + + return clinicFeedetail2204Result; + + } + + public Clinic2206OrderOutput upload2206Record(Clinic2206OrderParam clinic2206OrderParam, Contract contract) { + + Clinic2206OrderOutput clinic2206OrderResult = new Clinic2206OrderOutput(); + // 声名参数 + Result result = null; + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/preSetl", + clinic2206OrderParam, contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【2206】返回参数:" + JSON.toJSONString(s)); + logger.info(s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + clinic2206OrderResult = parseObject(JSON.toJSONString(result.getResult()), Clinic2206OrderOutput.class); + } else { + throw new ServiceException(result.getMessage()); + } + + return clinic2206OrderResult; + } + + public Clinic2207OrderModel settle(Clinic2207OrderParam clinicOrder2207, Contract contract) { + + Clinic2207OrderModel clinic2206OrderResult = new Clinic2207OrderModel(); + // 声名参数 + Result result = null; + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/setl", clinicOrder2207, + contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info("【2207】返回参数:" + s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + clinic2206OrderResult = parseObject(JSON.toJSONString(result.getResult()), Clinic2207OrderModel.class); + } else { + throw new ServiceException(result.getMessage()); + } + + return clinic2206OrderResult; + } + + public Sign9001Result sign(Sign signParam, Contract contract) { + Sign9001Result sign = null; + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/signIn", signParam, contract); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(resultString)); + logger.info("【9001】返回参数:" + resultString); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + sign = parseObject(JSON.toJSONString(result.getResult()), Sign9001Result.class); + } else { + throw new ServiceException(result.getMessage()); + } + + return sign; + } + + public void unPreSettle(Clinic2205OrderParam clinic2205OrderParam, Contract contract) { + + // 声名参数 + Result result = null; + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/unPreSettle", + clinic2205OrderParam, contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info(s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + return; + } else { + throw new ServiceException(result.getMessage()); + } + } + + public Clinic2208UnSetlInfoOutput unSettle(Clinic2208UnSetlInfoParam clinicOrder2208, Contract contract) { + + Clinic2208UnSetlInfoOutput clinicOrder2206Result = new Clinic2208UnSetlInfoOutput(); + // 声名参数 + Result result = null; + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancelSetl", + clinicOrder2208, contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info("【2208】返回参数:" + s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + clinicOrder2206Result = + parseObject(JSON.toJSONString(result.getResult()), Clinic2208UnSetlInfoOutput.class); + } else { + throw new ServiceException(result.getMessage()); + } + return clinicOrder2206Result; + } + + public Result directoryCheck(MedicalDirectory3301ListParam medicalDirectory3301ListParam) { + + Clinic2208UnSetlInfoResult clinicOrder2206Result = new Clinic2208UnSetlInfoResult(); + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/directoryCheck", + medicalDirectory3301ListParam, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info("【3301】返回参数:" + s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result directoryUnCheck(MedicalDirectory3302Param medicalDirectory3302Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/directoryUnCheck", + medicalDirectory3302Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info("【3302】返回参数:" + s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result reconcileGeneralLedger(Financial3201Param financial3201Param) { + + // 此处先查询到合同并回填给入参对象 + Contract contract=iContractService.getContract(financial3201Param.getSetlOptins()); + if(contract==null){ + throw new ServiceException("未查询到合同信息"); + } + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/reconcile", + financial3201Param,contract); + + // 赋值(上述回填的两个参数医保不要,为了避免麻烦,在发送http后进行回填) + financial3201Param.setFixmedinsCode(contract.getFixmedinsCode()); + financial3201Param.setFixmedinsName(contract.getFixmedinsName()); + + // 医保回参逻辑处理 + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info(s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public FinancialSettlement3202Result reconcileGeneralLedgerDetail(FinancialSettlement3202Param financial3202Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/reconcile-detail", + financial3202Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info(s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + FinancialSettlement3202Result result = null; + try { + result = mapper.readValue(s, FinancialSettlement3202Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public List + threePartSearch(FinancialSettlement3209AParam financialSettlement3209AParam) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/three-part-search-err", + financialSettlement3209AParam, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println(JSON.toJSONString(s)); + logger.info(s); + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + List result = null; + try { + result = mapper.readValue(s, List.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public String applyFinancialClearing(Financial3203AParam financial3203AParam) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/apply-clearing", + financial3203AParam, iContractService.getContract(financial3203AParam.getClrOptins())); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + return s; + } + + public Result cancelFinancialClearing(Financial3204Param financial3204Param) { + + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-clearing", + financial3204Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Clearing3205AResult getFinancialClearingStatus(Clearing3205AParma clearing3205AParma) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/get-clearing-status", + clearing3205AParma, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Clearing3205AResult result = null; + try { + result = mapper.readValue(s, Clearing3205AResult.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result uploadInventoryCount(MedicalInventory3501Param medicalInventory3501Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload-inventory-count", + medicalInventory3501Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result updateInventoryCount(MedicalInventory3502Param medicalInventory3502Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/update-inventory", + medicalInventory3502Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result procurement(Medical3503Param medical3503Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/procurement", + medical3503Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result cancelProcurement(MedicalPurchase3504Param medicalPurchase3504Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/procurement-cancel", + medicalPurchase3504Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result merchandise(Medical3505Param medical3505Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/merchandise", + medical3505Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result cancelMerchandise(Medical3506Param medical3506Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-merchandise", + medical3506Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result deleteGoodsInfo(Medical3507Param medical3507Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/del-goods", + medical3507Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public MedicalInventory3511Output querySalesInfo(MedicalInventory3511Param medicalInventory3511Param) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-3511-info", + medicalInventory3511Param, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + // 转业务参数 + MedicalInventory3511Output medicalInventory3511Output = null; + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + medicalInventory3511Output = + parseObject(JSON.toJSONString(result.getResult()), MedicalInventory3511Output.class); + } else { + throw new ServiceException(result.getMessage()); + } + return medicalInventory3511Output; + } + + public Result getClrOptins(Clearing3206AParam clearing3206AParam) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/getclroptins", + clearing3206AParam, null); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + public Result upload2203Record(Clinic2203MedicalParam medical2203Param, Contract contract) { + // 发送请求 + String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload2203-record", + medical2203Param, contract); + if (StringUtils.isEmpty(s)) { + throw new ServiceException("未接收到医保返回参数"); + } + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(s, Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + /** + * 发送http请求(2025/05/02经测试,若以自带的工具类发送请求失败,故使用原peis系统中成功调用的写法重新封装) + * + * @param url 路径 + * @param o 参数 + * @return + */ + private String httpPost(String url, Object o, Contract contract) { + String resultString = ""; + // 拼参数 + BaseParam baseParam = new BaseParam(); + baseParam.setBaseInfo(ybParamBuilderUtil.getBaseInfo(parseObject(JSON.toJSONString(o)), contract)).setData(o); + logger.info("【请求路径】:" + url + ";【入参】: " + JSON.toJSONString(baseParam)); + // 创建Http请求 + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30000).setConnectionRequestTimeout(30000) + .setSocketTimeout(30000).build(); + CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build(); + CloseableHttpResponse response = null; + // 发送请求 + try { + HttpPost httpPost = new HttpPost(url); + StringEntity stringEntity = new StringEntity(JSON.toJSONString(baseParam), ContentType.APPLICATION_JSON); + httpPost.setEntity(stringEntity); + // 执行http请求 + response = httpClient.execute(httpPost); + if (response == null) { + throw new ServiceException("Http请求异常,未接受返回参数"); + } + resultString = EntityUtils.toString(response.getEntity(), "utf-8"); + } catch (Exception e) { + e.printStackTrace(); + throw new ServiceException("Http请求异常,请稍后再试。"); + } finally { + if (response != null) { + try { + response.close(); + } catch (IOException e) { + logger.error("关闭响应异常", e); + throw new ServiceException("未关闭系统资源:" + e.getStackTrace()); + } + } + } + return resultString; + } + + public List queryYbCatalogue(Catalogue1312QueryParam catalogue1312QueryParam) { + List outputList = new ArrayList<>(); + try { + + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/queryYbCatalogue", + catalogue1312QueryParam, null); + // System.out.println("--------1312resultString-------------" + resultString); + // 1. 解析外层 JSON + ObjectMapper mapper = new ObjectMapper(); + mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); // 启用 Snake Case 自动映射 + JsonNode rootNode = mapper.readTree(resultString); + String resultStr = rootNode.get("result").asText(); + + // 2. 解析 result 中的 JSON 数组 + outputList = mapper.readValue(resultStr, new TypeReference>() {}); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + return outputList; + } + + public ResponseEntity upload9101(MultipartFile file, String filename) { + + // File9101Param file9101Param = new File9101Param(); + // file9101Param.setFile(file); + // file9101Param.setFilename(filename); + List contractListByYb = iContractService.getContractListByYb(); + if (contractListByYb.isEmpty()) { + throw new ServiceException("未配置医保合同"); + } + // file9101Param.setFixmedinsCode(contractListByYb.get(0).getFixmedinsCode()); + // FileResult fileResult = null; + ResponseEntity response = null; + // 参数处理 + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + // 1. 保存到临时文件 + Path tempFile = Files.createTempFile("upload-", file.getOriginalFilename()); + file.transferTo(tempFile); + + // 2. 构建转发请求 + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.MULTIPART_FORM_DATA); + + MultiValueMap body = new LinkedMultiValueMap<>(); + body.add("file", new FileSystemResource(tempFile.toFile())); + body.add("fixmedinsCode", contractListByYb.get(0).getFixmedinsCode()); + body.add("userId", SecurityUtils.getUserId()); + body.add("admvs", contractListByYb.get(0).getAdmVs()); + + // 3. 转发并删除临时文件 + RestTemplate restTemplate = new RestTemplate(); + response = restTemplate.postForEntity( + SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/file-up2", + new HttpEntity<>(body, headers), String.class); + System.out.println(JSON.toJSONString(response)); + // 清理临时文件 + // Files.deleteIfExists(tempFile); + } catch (Exception e) { + e.printStackTrace(); + } + return response; + + // 2. 构建 Multipart 请求体 + // HttpHeaders headers = new HttpHeaders(); + // headers.setContentType(MediaType.MULTIPART_FORM_DATA); + // + // MultiValueMap body = new LinkedMultiValueMap<>(); + // body.add("file", new ByteArrayResource(file.getBytes()) { + // @Override + // public String getFilename() { + // return filename; // 保持原文件名 + // } + // }); + // + //// 3. 发送请求到目标服务 + // RestTemplate restTemplate = new RestTemplate(); + // HttpEntity> requestEntity = new HttpEntity<>(body, headers); + // ResponseEntity response = + // restTemplate.postForEntity(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/file-up2", + // requestEntity, String.class); + + // try { + // String resultString = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/file-up2", + // file9101Param,null); + // // System.out.println("--------1312resultString-------------" + resultString); + // // 1. 解析外层 JSON + // ObjectMapper mapper = new ObjectMapper(); + // mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); // 启用 Snake Case 自动映射 + // Result result = null; + // try { + // result = mapper.readValue(resultString, Result.class); + // } catch (Exception e) { + // e.printStackTrace(); + // } + // + // if (result == null) { + // throw new ServiceException("未接收到医保返回参数"); + // } else if (result.getCode() == 200) { + // System.out.println(JSON.toJSONString(result.getResult())); + // fileResult = JSON.parseObject(JSON.toJSONString(result.getResult()), FileResult.class); + // } else { + // throw new ServiceException(result.getMessage()); + // } + // return fileResult; + // }catch (Exception e){ + // e.printStackTrace(); + // } + // return fileResult; + } + + /** + * 【3101】明细审核事前事中分析服务 + * + * @param data 规则分析信息 + * @return 违规信息 + */ + public Yb3101OutputResult yb3101PreMidAnalysis(Yb3101InputData data) { + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/pre-mid-analysis", data, null); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【3101】返回参数:" + JSON.toJSONString(resultString)); + logger.info("【3101】返回参数:" + resultString); + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + return parseObject(JSON.toJSONString(result.getResult()), Yb3101OutputResult.class); + } else { + throw new ServiceException(result.getMessage()); + } + } + + /** + * 【3103】事前事中服务反馈服务 + * + * @param data 输入 + */ + public void yb3103PreMidFeedback(Yb3103InputData data) { + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/pre-mid-feedback", data, null); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【3103】返回参数:" + JSON.toJSONString(resultString)); + logger.info("【3103】返回参数:" + resultString); + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(JSON.toJSONString(result.getResult())); + } else { + throw new ServiceException(result.getMessage()); + } + } + + public List upload2301FeeDetail(Yb2301InputFeeDetailModel yb2301InputFeeDetailModel) { + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/upload-2301-fee-detail", + yb2301InputFeeDetailModel, null); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【2301】返回参数:" + JSON.toJSONString(resultString)); + logger.info("【2301】返回参数:" + resultString); + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + List yb2301OutputResults = new ArrayList<>(); + JSONObject jsonObject = parseObject(String.valueOf(result.getResult())); + System.out.println(JSON.toJSONString(result.getResult())); + JSONArray jsonArray = jsonObject.getJSONArray("result"); + for (Object o : jsonArray) { + yb2301OutputResults.add(JSON.parseObject(String.valueOf(o), Yb2301OutputResult.class)); + } + return yb2301OutputResults; + } else { + throw new ServiceException(result.getMessage()); + } + } + + public Yb2303OutputSetInfo inpatientPreSettle(Yb2303InputInpatient yb2303InputInpatient) { + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpa-pre-setl", + yb2303InputInpatient, null); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【2303】返回参数:" + JSON.toJSONString(resultString)); + logger.info("【2303】返回参数:" + resultString); + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + return mapper.readValue(String.valueOf(result.getResult()), Yb2303OutputSetInfo.class); + } else { + throw new ServiceException(result.getMessage()); + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + return null; + } + + public Yb2304OutputSetlInfo inpatientSettle(Contract contract, Yb2304InputInpatient yb2304InpatientParam) { + String resultString = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpa-setl", + yb2304InpatientParam, contract); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【2304】返回参数:" + JSON.toJSONString(resultString)); + logger.info("【2304】返回参数:" + resultString); + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + return mapper.readValue(String.valueOf(result.getResult()), Yb2304OutputSetlInfo.class); + } else { + throw new ServiceException(result.getMessage()); + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + return null; + } + + /** + * 【取消住院结算】 + * + * @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); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【2305】返回参数:" + JSON.toJSONString(resultString)); + logger.info("【2305】返回参数:" + resultString); + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + return mapper.readValue(String.valueOf(result.getResult()), Yb2305OutputSetlInfo.class); + } else { + throw new ServiceException(result.getMessage()); + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + return null; + } + + /** + * 【5205】人员慢特病用药记录查询 + * + * @param yb5205InputSpecialDisease + * @return + */ + public List + yb5205SpecialDiseaseDrugRecordSearch(Yb5205InputSpecialDisease yb5205InputSpecialDisease) { + String resultString = + httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/spe-disease-record-search", + yb5205InputSpecialDisease, null); + if (StringUtils.isEmpty(resultString)) { + throw new ServiceException("未接收到医保返回参数"); + } + System.out.println("【5205】返回参数:" + JSON.toJSONString(resultString)); + logger.info("【5205】返回参数:" + resultString); + ObjectMapper mapper = new ObjectMapper(); + Result result = null; + try { + result = mapper.readValue(resultString, Result.class); + if (result == null) { + throw new ServiceException("未接收到医保返回参数"); + } else if (result.getCode() == 200) { + System.out.println(result.getResult().toString()); + return JSON.parseArray(result.getResult().toString(), Yb5205OutputSpecialDisease.class); + } else { + throw new ServiceException(result.getMessage()); + } + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + return null; + } +} 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 new file mode 100644 index 00000000..a27c02d2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/YbManager.java @@ -0,0 +1,1034 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.service; + +import java.math.BigDecimal; +import java.util.*; +import java.util.concurrent.TimeUnit; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.core.common.core.domain.R; +import com.core.common.core.redis.RedisCache; +import com.core.common.exception.ServiceException; +import com.core.common.utils.AssignSeqUtil; +import com.core.common.utils.SecurityUtils; +import com.core.common.utils.StringUtils; +import com.core.system.service.impl.SysUserServiceImpl; +import com.core.web.controller.common.CommonController; +import com.openhis.administration.domain.Encounter; +import com.openhis.administration.domain.Organization; +import com.openhis.administration.domain.Patient; +import com.openhis.administration.domain.Practitioner; +import com.openhis.administration.dto.ChargeItemBaseInfoDto; +import com.openhis.administration.service.*; +import com.openhis.common.constant.CommonConstants; +import com.openhis.common.constant.YbCommonConstants; +import com.openhis.common.enums.AssignSeqEnum; +import com.openhis.common.enums.Whether; +import com.openhis.common.enums.ybenums.YbHospApprFlag; +import com.openhis.common.enums.ybenums.YbMdtrtCertType; +import com.openhis.common.enums.ybenums.YbMedType; +import com.openhis.common.enums.ybenums.YbPsnSetlWay; +import com.openhis.financial.domain.Contract; +import com.openhis.financial.domain.PaymentReconciliation; +import com.openhis.financial.model.PaymentResult; +import com.openhis.financial.service.IContractService; +import com.openhis.financial.service.IPaymentRecDetailService; +import com.openhis.financial.service.IPaymentReconciliationService; +import com.openhis.medication.service.IMedicationDispenseService; +import com.openhis.workflow.service.IDeviceDispenseService; +import com.openhis.workflow.service.IInventoryItemService; +import com.openhis.workflow.service.IServiceRequestService; +import com.openhis.yb.domain.*; +import com.openhis.yb.domain.ClinicReg; +import com.openhis.yb.dto.*; +import com.openhis.yb.model.CancelRegPaymentModel; +import com.openhis.yb.model.Clinic2207OrderModel; +import com.openhis.yb.model.Clinic2207OrderParam; +import com.openhis.yb.model.OutpatientRegistrationModel; +import com.openhis.yb.service.impl.DirectoryCheckRecordServiceImpl; +import com.openhis.yb.util.CommonConstant; +import com.openhis.yb.util.YbParamBuilderUtil; + +/** + * 医保服务(与ybController方法一致,原定是ui触发医保controller,2025/05/05由于缺少ui资源,欲使用对应的业务controller直接触发医保服务,故将其下沉到Service层) + * + * @author SunJQ + * @date 2025-05-05 + */ +@Service +public class YbManager { + + private static final Logger log = LoggerFactory.getLogger(CommonController.class); + @Autowired + private YbDao ybBaseService; + @Autowired + private YbHttpUtils ybHttpService; + @Autowired + private RedisCache redisCache; + @Autowired + private AssignSeqUtil assignSeqUtil; + /******************************** 业务服务 ***********************************/ + @Autowired + private IPaymentRecDetailService iPaymentRecDetailService; + @Autowired + private IPaymentReconciliationService iPaymentReconciliationService; + @Autowired + private SysUserServiceImpl userService; + @Autowired + private IPractitionerService iPractitionerService; + @Autowired + private IEncounterService iEncounterService; + @Autowired + private IAccountService accountService; + @Autowired + private IChargeItemService iChargeItemService; + @Autowired + private IInvoiceService invoiceService; + @Autowired + private IPatientService iPatientService; + @Autowired + private IContractService iContractService; + @Autowired + private IOrganizationService iOrganizationService; + @Autowired + private IInventoryItemService inventoryItemService; + /****************************** 基础医保服务 *********************************/ + + @Autowired + private IPerinfoService iPerinfoService; + @Autowired + private IRegService iRegService; + @Autowired + private IInpatientRegService inpatientRegService; + @Autowired + private IClinicUnRegService iClinicUnRegService; + @Autowired + private ISignService iSignService; + @Autowired + private IClinicPreSettleService iClinicPreSettleService; + @Autowired + private IClinicSettleService iClinicSettleService; + @Autowired + private IClinicUnSettleService iClinicUnSettleService; + @Autowired + private DirectoryCheckRecordServiceImpl directoryCheckRecordService; + @Autowired + private IInventorySaleReturnRecordService iInventorySaleReturnRecordService; + @Autowired + private IInventorySaleRecordService iInventorySaleRecordService; + @Autowired + private IInventoryPurchaseReturnRecordService iInventoryPurchaseReturnRecordService; + @Autowired + private IInventoryPurchaseRecordService iInventoryPurchaseRecordService; + @Autowired + private IInventoryDelRecordService iInventoryDelRecordService; + @Autowired + private IInventoryCheckRecordService iInventoryCheckRecordService; + @Autowired + private IInventoryChangeRecordService iInventoryChangeRecordService; + @Autowired + private IFinancialReconcileRecordService iFinancialReconcileRecordService; + @Autowired + private IFinancialApplyRecordService iFinancialApplyRecordService; + @Autowired + private YbParamBuilderUtil ybUtil; + @Autowired + private IMedicationDispenseService medicationDispenseService; + @Autowired + private IDeviceDispenseService deviceDispenseService; + @Autowired + private IServiceRequestService serviceRequestService; + + /** + * 【1101】 + * + * @return 结果 + */ + public R getPerInfo(String certType, String certNo) { + Info1101ReadcardParam readcard = ybBaseService.getReadCard(certType, certNo); + Info1101Output perInfo = ybHttpService.getPerInfo(readcard); + if (perInfo != null) { + ybBaseService.saveReadcardAndPerinfo(readcard, perInfo); + } + return R.ok(perInfo); + } + + /** + * 【2201】 为了慢特病自动挂号封装 + * + * @param encounterId 就诊id + * @return 结果 + */ + public ClinicReg2201Output createRegWithMedType(Contract contract, YbMdtrtCertType ybMdtrtCertTypeLong, + String busiCardInfo, Long encounterId, YbMedType medType) { + ClinicReg reg = ybBaseService.getReg(ybMdtrtCertTypeLong, busiCardInfo, encounterId, medType, + SecurityUtils.getLoginUser().getTenantId()); + reg.setMedType(medType.getValue()); + ClinicReg2201Output regResult = ybHttpService.reg(reg, contract); + if (regResult != null) { + regResult.setMedType(medType.getValue()); + ybBaseService.saveReg(regResult); + } + return regResult; + } + + /** + * 【2202】 + * + * @param cancelRegPaymentDto 就诊id + * @return 结果 + */ + public R cancelReg(CancelRegPaymentModel cancelRegPaymentDto) { + + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + + PaymentReconciliation paymentReconciliation = + iPaymentReconciliationService.getById(cancelRegPaymentDto.getId()); + + if (paymentReconciliation == null) { + throw new ServiceException("未查询到付款信息"); + } + if (paymentReconciliation.getYbSettleIds() == null) { + throw new ServiceException("未查询到医保付款信息"); + } + + String ybSettleId = paymentReconciliation.getYbSettleIds().split(",")[0];// 理论上挂号的这个只有一个参数,没有逗号 + // 医保退费 + Clinic2208UnSetlInfoParam clinicOrder2208 = ybBaseService.getClinicOrder2208(tenantId, ybSettleId); + if (clinicOrder2208 == null) { + throw new ServiceException("未查询到医保付款信息"); + } + + Contract contractByInsuplcAdmdvs = iContractService.getContract(cancelRegPaymentDto.getContractNo()); + + Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoOutput = + ybHttpService.unSettle(clinicOrder2208, contractByInsuplcAdmdvs); + if (clinic2208UnSetlInfoOutput == null) { + throw new ServiceException("未查询到医保返回信息"); + } + + cancelRegPaymentDto.setSetlId(clinic2208UnSetlInfoOutput.getSetlId()); + ybBaseService.saveUnSettleRecord(ybSettleId, clinicOrder2208, clinic2208UnSetlInfoOutput); + + ClinicReg reg = ybBaseService.getUnReg(cancelRegPaymentDto.getEncounterId(), tenantId); + + ClinicReg2201Output regResult = + ybHttpService.cancelReg(reg, iContractService.getContract(cancelRegPaymentDto.getContractNo())); + if (regResult != null) { + ybBaseService.saveUnReg(regResult); + } + return R.ok(regResult); + } + + /** + * 【2202】 + * + * @param clinicReg 就诊id + * @return 结果 + */ + public R cancelRegById(ClinicReg clinicReg) { + Contract regContract = null; + // ClinicReg clinicReg = iRegService.getById(clinicRegId); + List redisContractList = iContractService.getContractListByYb(); + for (Contract contract : redisContractList) { + if (clinicReg.getInsuplcAdmdvs().equals(contract.getAdmVs())) { + regContract = contract; + } + } + if (regContract == null) { + Optional optional = redisContractList.stream().max(Comparator.comparingInt(Contract::getSort)); + if (optional.isPresent()) { + regContract = optional.get(); + } else { + throw new ServiceException("未設置合同順序"); + } + } + if (regContract == null) { + throw new ServiceException("無法單獨取消醫保挂號,原因:當前醫保局已挂號源沒指定到業務系統的合同對象"); + } + + ClinicReg2201Output regResult = ybHttpService.cancelReg(clinicReg, regContract); + if (regResult != null) { + ybBaseService.saveUnReg(regResult); + return R.ok(regResult); + } + return R.fail(regResult, "医保退号失败"); + } + + /** + * 【2206】2203-2206 + * + * @param cancelRegPaymentModel 挂号信息 + * @return 结果 + */ + public Clinic2206OrderOutput getPreSettleInfo(OutpatientRegistrationModel cancelRegPaymentModel, Patient patient, + 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)); + if (perinfo == null) { + throw new ServiceException("未查询到身份信息"); + } + + YbMdtrtCertType mdtrtCertType = YbMdtrtCertType.getByValue(cancelRegPaymentModel.getMdtrtCertType()); + if (mdtrtCertType == null) { + throw new ServiceException("传参异常,未查询到就诊凭证类型"); + } + + Contract contract = iContractService.getContract(cancelRegPaymentModel.getContractNo()); + if (contract == null) { + throw new ServiceException("请选择费用性质"); + } + // 拼接医保挂号参数 + 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()); + + // reg.setAtddrNo("D220172023129").setDrName("郭建林").setCaty("B19").setDeptCode("B19"); + + // 发送医保挂号请求 + ClinicReg2201Output clinicReg2201Output = ybHttpService.reg(reg, contract); + if (clinicReg2201Output == null) { + throw new ServiceException("未接受到医保挂号接口返回参数"); + } + clinicReg2201Output.setMedType(YbMedType.GENERAL_OUTPATIENT.getValue()); + // 保存挂号数据 + ybBaseService.saveReg(clinicReg2201Output); + + // 查询医疗类型 + YbMedType medType = YbMedType.GENERAL_OUTPATIENT; + + List diseinfos = new ArrayList<>(); + + // 拼接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()); + // .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()); + + // 2203接口上传就诊信息 + ybHttpService.upload2203Record(medical2203Param, contract); + + YbPsnSetlWay finCategory = YbPsnSetlWay.getByValue(cancelRegPaymentModel.getPsnSetlWay()); + if (finCategory == null) { + throw new ServiceException("请选择收费方式"); + } + + // 拼接2204参数 + Clinic2204OrderParam clinic2204OrderParam = new Clinic2204OrderParam(); + // 排番 + clinic2204OrderParam.setChrgBchno(AssignSeqEnum.YB_CLINIC_ORDER.getPrefix() + new Date().getTime());// 医保FeedetlSn字段最大长度30,前期设置20也被check了,故此怀疑是加密后不可超过30 + List clincFeedetailList = new ArrayList<>(); + Clinic2204FeeDetailParam clinicFeedetail = new Clinic2204FeeDetailParam(); + BigDecimal totalPrice = cancelRegPaymentModel.getTotalPrice(); + if (totalPrice == null) { + throw new ServiceException("未查询到挂号费用金额"); + } + // 外购处方标志(文档上没有详细介绍) 2025/04/14经确认,暂定非处方流转传0,处方流转传1 + clinicFeedetail.setMedListCodg("001101000010000-100000002"); + clinicFeedetail.setFeedetlSn(clinic2204OrderParam.getChrgBchno()).setMdtrtId(clinicReg2201Output.getMdtrtId()) + .setPsnNo(reg.getPsnNo()).setChrgBchno(clinic2204OrderParam.getChrgBchno()).setFeeOcurTime(new Date()) + .setMedinsListCodg("1922546598919725058").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()); + + clincFeedetailList.add(clinicFeedetail); + clinic2204OrderParam.setFeedetail(clincFeedetailList).setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()); + + // 接收2204接口返回参数 + Clinic2204OrderResult clinic2204OrderResult = ybHttpService.upload2204Record(clinic2204OrderParam, contract); + if (clinic2204OrderResult == null) { + throw new ServiceException("未接收2204接口返回参数"); + } + + // 个人结算方式 + YbPsnSetlWay setlWay = YbPsnSetlWay.PSN_SETLWAY01; + // 拼接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()); + + // 接收2206接口返回参数 + Clinic2206OrderOutput clinic2206OrderResult = ybHttpService.upload2206Record(clinicOrder, contract); + if (clinic2206OrderResult == null) { + throw new ServiceException("未接收2206接口返回参数"); + } + // 保存预结算参数 + ybBaseService.saveClinicOrder2206Param(clinicOrder, clinic2206OrderResult, medical2203Param, + clinic2204OrderParam, clinic2204OrderResult); + // 缓存预结算结果 + redisCache.setCacheObject("PRE-SETTLE:PRE_SETTLE_:" + clinic2204OrderParam.getChrgBchno(), + 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 chargeItemIds, + YbMedType ybMedType) { + YbPsnSetlWay ybPsnSetlWay = YbPsnSetlWay.getByValue(payWay); + if (ybPsnSetlWay == null) { + ybPsnSetlWay = YbPsnSetlWay.PSN_SETLWAY01; + } + + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + // 获取2203接口和2204接口参数 + 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, chargeItemIds, reg2201Output); + if (clinic2204OrderParam == null) { + throw new ServiceException("未生成2204接口参数"); + } + + // 接收2204接口返回参数 + Clinic2204OrderResult clinic2204OrderResult = ybHttpService.upload2204Record(clinic2204OrderParam, contract); + if (clinic2204OrderResult == null) { + throw new ServiceException("未接收2204接口参数"); + } + // 2204上报费用明细金额总数在2206中使用 + BigDecimal sum = BigDecimal.ZERO; + for (Clinic2204FeeDetailResult clinic2204FeeDetailResult : clinic2204OrderResult.getResult()) { + sum = sum.add(clinic2204FeeDetailResult.getDetItemFeeSumamt()); + } + + // 获取2206参数 + Clinic2206OrderParam clinic2206OrderParam = ybBaseService.getClinicOrder2206Param(sum, reg2201Output, + clinic2204OrderParam.getChrgBchno(), busiCardInfo); + if (clinic2206OrderParam == null) { + throw new ServiceException("未生成2206接口参数"); + } + // 接收2206接口返回参数 + Clinic2206OrderOutput clinic2206OrderResult = ybHttpService.upload2206Record(clinic2206OrderParam, contract); + if (clinic2206OrderResult == null) { + throw new ServiceException("未接收2206接口参数"); + } + // 保存预结算参数 + ybBaseService.saveClinicOrder2206Param(clinic2206OrderParam, clinic2206OrderResult, clinic2203MedicalParam, + clinic2204OrderParam, clinic2204OrderResult); + // 缓存预结算结果 + // redisCache.setCacheObject("PRE-SETTLE:PRE_SETTLE_:" + clinic2206OrderParam.getChrgBchno(), + // clinic2206OrderResult, 1800, TimeUnit.SECONDS); + clinic2206OrderResult.setChrgBchno(clinic2206OrderParam.getChrgBchno()); + return clinic2206OrderResult; + } + + /** + * 【2208】 + * + * @param settleId 付款id + * @return 结果 + */ + public R unSettle(String settleId) { + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + Clinic2208UnSetlInfoParam clinicOrder2208 = ybBaseService.getClinicOrder2208(tenantId, settleId); + // clinicOrder2208.setMdtrtId("220000202505161931470129200037").setSetlId("220000202505161932020113002625"); + if (clinicOrder2208 == null) { + throw new ServiceException("未生成2208接口参数"); + } + Contract contractByInsuplcAdmdvs = + iContractService.getContractByInsuplcAdmdvs(clinicOrder2208.getInsuplcAdmdvs()); + Clinic2208UnSetlInfoOutput clinic2208UnSetlInfoResult = + ybHttpService.unSettle(clinicOrder2208, contractByInsuplcAdmdvs); + // 业务表中进行操作 + ybBaseService.saveUnSettleRecord(settleId, clinicOrder2208, clinic2208UnSetlInfoResult); + return R.ok(clinic2208UnSetlInfoResult); + } + + /** + * 【3301】目录对照 + * + * @param tableName 表名 + * @param id 主键id + * @return 结果 + */ + public R directoryCheck(String tableName, Long id) { + + MedicalDirectory3302Param medicalDirectory3302Param = ybBaseService.getMedicalDirectory3302Param(tableName, id); + Result result3302Info = ybHttpService.directoryUnCheck(medicalDirectory3302Param); + if (result3302Info.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveDirectoryHistory(tableName, id, 3302, medicalDirectory3302Param); + } else { + log.error("目录对照前,撤销对照失败"); + } + MedicalDirectory3301Param medicalDirectory3301Param = ybBaseService.getMedicalDirectory3301Param(tableName, id); + ArrayList list = new ArrayList<>(); + list.add(medicalDirectory3301Param); + MedicalDirectory3301ListParam medicalDirectory3301ListParam = new MedicalDirectory3301ListParam(); + medicalDirectory3301ListParam.setData(list); + Result resultInfo = ybHttpService.directoryCheck(medicalDirectory3301ListParam); + if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveDirectoryHistory(tableName, id, 3301, medicalDirectory3301Param); + return R.ok("对照成功"); + } + throw new ServiceException("药品对照失败"); + } + + /** + * 【3301】目录对照(药品) + * + * @param categoryCode 药品分类 + * @param busNo 药品编号 + * @param name 药品编号 + * @param ybNo 医保编码 + */ + public R directoryCheckMedication(String categoryCode, String busNo, String name, String 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); + ArrayList list = new ArrayList<>(); + list.add(medicalDirectory3301Param); + MedicalDirectory3301ListParam medicalDirectory3301ListParam = new MedicalDirectory3301ListParam(); + medicalDirectory3301ListParam.setData(list); + Result resultInfo = ybHttpService.directoryCheck(medicalDirectory3301ListParam); + if (!resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + return R.fail("药品对照失败"); + } + return R.ok(); + } + + /** + * 【3302】目录对照撤销 + * + * @param tableName 就诊id + * @param id 付款id + * @return 结果 + */ + public R directoryUnCheck(String tableName, Long id) { + + MedicalDirectory3302Param medicalDirectory3302Param = ybBaseService.getMedicalDirectory3302Param(tableName, id); + Result resultInfo = ybHttpService.directoryUnCheck(medicalDirectory3302Param); + if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveDirectoryHistory(tableName, id, 3302, medicalDirectory3302Param); + return R.ok("撤销成功"); + } + return R.fail("撤销失败"); + } + + /** + * 【3201】对总账 + * + * @param settlement3201WebParam 3201入参条件 + * @return 结果 + */ + public R reconcileGeneralLedger(Settlement3201WebParam settlement3201WebParam) { + + Financial3201Param financial3201Param = ybBaseService.getFinancial3201Param(settlement3201WebParam); + if (financial3201Param == null) { + throw new ServiceException("未生成3201参数"); + } + Result result = ybHttpService.reconcileGeneralLedger(financial3201Param); + if (result == null) { + throw new ServiceException("未接收3201医保返回参数"); + } + // ybBaseService.saveReconcileGeneralLedger(result); + return R.ok(); + } + + /** + * 【3202】对明细账 + * + * @param settlement3202WebParam 3202入参条件 + * @return 结果 + */ + public R reconcileGeneralLedgerDetail(Settlement3202WebParam settlement3202WebParam) { + + FinancialSettlement3202Param financial3202Param = + ybBaseService.getFinancialSettlement3202Param(settlement3202WebParam); + FinancialSettlement3202Result resultInfo = ybHttpService.reconcileGeneralLedgerDetail(financial3202Param); + + return R.ok(resultInfo); + } + + /** + * 【3209A】第三方数据查询 + * + * @param settlement3209AWebParam 3209A入参条件 + * @return 结果 + */ + public R threePartSearch(Settlement3209AWebParam settlement3209AWebParam) { + + FinancialSettlement3209AParam financialSettlement3209AParam = + ybBaseService.getFinancialSettlement3209AParam(settlement3209AWebParam); + List list = ybHttpService.threePartSearch(financialSettlement3209AParam); + + return R.ok(); + } + + /** + * 【3203A】清算申请(吉林省) + * + * @param financial3203AWebParam 3203A入参条件 + * @return 结果 + */ + public R applyFinancialClearing(Financial3203AWebParam financial3203AWebParam) { + + Financial3203AParam financial3203AParam = ybBaseService.getFinancial3203AParam(financial3203AWebParam); + String s = ybHttpService.applyFinancialClearing(financial3203AParam); + ybBaseService.save3203AFinancialClearingApplycation(financial3203AParam, s); + return R.ok(s); + } + + /** + * 【3204A】清算申请撤销(吉林省) + * + * @param clrAppyEvtId 3203A入参条件 + * @return 结果 + */ + public R cancelFinancialClearing(String clrAppyEvtId, String clrOptins) { + + Financial3204Param financial3204Param = new Financial3204Param(); + financial3204Param.setClrOptins(clrOptins).setClrAppyEvtId(clrAppyEvtId); + Result resultInfo = ybHttpService.cancelFinancialClearing(financial3204Param); + if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.save3204AFinancialClearingApplycation(clrAppyEvtId, clrOptins); + return R.ok(); + } + return R.fail(); + } + + /** + * 【3205A】清算申请状态查询 + * + * @param clearing3205AWebParma 3205A入参条件 + * @return 结果 + */ + public R getFinancialClearingStatus(Clearing3205AWebParma clearing3205AWebParma) { + + Clearing3205AParma clearing3205AParma = ybBaseService.getClearing3205AParma(clearing3205AWebParma); + Clearing3205AResult clearing3205AResult = ybHttpService.getFinancialClearingStatus(clearing3205AParma); + + return R.ok(clearing3205AResult); + } + + /** + * 【3501】商品盘存上传 + * + * @param medicalInventory3501Param 供应申请详细信息 + * @param stocktakingTime 盘存时间 + * @return 结果 + */ + public R uploadInventoryCount(MedicalInventory3501Param medicalInventory3501Param, Date stocktakingTime) { + Result resultInfo = ybHttpService.uploadInventoryCount(medicalInventory3501Param); + if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveInventoryCheckRecord(medicalInventory3501Param, resultInfo.getMessage()); + return R.ok(); + } + ybBaseService.saveInventoryCheckRecord(medicalInventory3501Param, resultInfo.getMessage()); + return R.fail(); + } + + /** + * 【3502】商品信息变更 + * + * @param medicalInventory3502Param 供应申请详细信息 + * @return 结果 + */ + public R updateInventoryCount(MedicalInventory3502Param medicalInventory3502Param) { + Result resultInfo = ybHttpService.updateInventoryCount(medicalInventory3502Param); + if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveInventoryChangeRecord(medicalInventory3502Param, resultInfo.getMessage()); + return R.ok(); + } + ybBaseService.saveInventoryChangeRecord(medicalInventory3502Param, resultInfo.getMessage()); + return R.fail(); + } + + /** + * 【3503】商品采购 + * + * @param medical3503Param 供应申请详细信息 + * @return 结果 + */ + public R procurement(Medical3503Param medical3503Param) { + Result resultInfo = ybHttpService.procurement(medical3503Param); + if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveInventoryPurchaseRecord(medical3503Param, resultInfo.getMessage()); + return R.ok(); + } + ybBaseService.saveInventoryPurchaseRecord(medical3503Param, resultInfo.getMessage()); + return R.fail(); + } + + /** + * 【3504】商品采购退货 + * + * @param medicalPurchase3504Param 供应申请详细信息 + * @return 结果 + */ + public R cancelProcurement(MedicalPurchase3504Param medicalPurchase3504Param) { + Result resultInfo = ybHttpService.cancelProcurement(medicalPurchase3504Param); + if (resultInfo.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveInventoryPurchaseReturnRecord(medicalPurchase3504Param, resultInfo.getMessage()); + return R.ok(); + } + ybBaseService.saveInventoryPurchaseReturnRecord(medicalPurchase3504Param, resultInfo.getMessage()); + return R.fail(); + } + + /** + * 【3505】商品销售 + * + * @param medical3505Param 发药详细信息 + * @return 结果 + */ + public R merchandise(Medical3505Param medical3505Param) { + + Result result = ybHttpService.merchandise(medical3505Param); + Medical3505Result medical3505Result = + JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class); + if ("1".equals(medical3505Result.getRetRslt())) { + ybBaseService.saveInventorySaleRecord(medical3505Param, medical3505Result.getMsgRslt()); + return R.ok(); + } + ybBaseService.saveInventorySaleRecord(medical3505Param, medical3505Result.getMsgRslt()); + return R.fail(); + } + + /** + * 【3506】商品销售退货 + * + * @param medical3506Param 退货详细信息 + * @return 结果 + */ + public R cancelMerchandise(Medical3506Param medical3506Param) { + Result result = ybHttpService.cancelMerchandise(medical3506Param); + Medical3505Result medical3505Result = + JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class); + if ("1".equals(medical3505Result.getRetRslt())) { + ybBaseService.saveInventorySaleReturnRecord(medical3506Param, medical3505Result.getMsgRslt()); + return R.ok(); + } + ybBaseService.saveInventorySaleReturnRecord(medical3506Param, medical3505Result.getMsgRslt()); + return R.fail(); + } + + /** + * 【3507】商品信息删除 + * + * @param id 供应申请id + * @return 结果 + */ + public R deleteGoodsInfo(Long id, String ListType) { + Medical3507Param medical3507Param = ybBaseService.getMedical3507Param(id, ListType); + Result resultBody = ybHttpService.deleteGoodsInfo(medical3507Param); + if (resultBody.getCode().equals(CommonConstant.SC_OK_200)) { + ybBaseService.saveInventoryDelRecord(medical3507Param); + return R.ok(); + } + return R.fail(); + } + + /** + * 【门诊结算-2207结算】 + * + * @param contract 合同 + * @param chrgBchno 支付批次号 + * @param ybMdtrtCertType 凭证类型 + * @param busiCardInfo 读卡获取到的凭证 + * @param minpacuntDrugTracCnt 追溯码相关信息 + * @param mcsTracCnt 追溯码相关信息 + * @return 结算结果 + */ + public Clinic2207OrderModel settle(Contract contract, String chrgBchno, String busiCardInfo, + YbMdtrtCertType ybMdtrtCertType, Integer minpacuntDrugTracCnt, Integer mcsTracCnt) { + // 分别查询2206和2201记录的参数信息 + ClinicPreSettle clinicPreSettle = iClinicPreSettleService + .getOne(new LambdaQueryWrapper().eq(ClinicPreSettle::getChrgBchno, chrgBchno)); + if (clinicPreSettle == null) { + throw new ServiceException("为查询到预结算信息"); + } + ClinicReg clinicReg = iRegService + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicPreSettle.getMdtrtId())); + if (clinicReg == null) { + throw new ServiceException("为查询到挂号信息"); + } + 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); + // 发送http请求给app + Clinic2207OrderModel settle = ybHttpService.settle(clinicOrder, contract); + if (settle == null) { + throw new ServiceException("未接收2207接口参数"); + } + // 保存记录通信记录 + ybBaseService.saveClinic2207Record(clinicOrder, settle); + return settle.setChrgBchno(chrgBchno); + } + + /** + * 【门诊挂号收费-2207】 + * + * @param contract 合同 + * @param chrgBchno 收费批次号 + * @return 结果 + */ + public PaymentResult settle(Contract contract, String chrgBchno) { + + ClinicPreSettle clinicPreSettle = iClinicPreSettleService + .getOne(new LambdaQueryWrapper().eq(ClinicPreSettle::getChrgBchno, chrgBchno)); + + if (clinicPreSettle == null) { + throw new ServiceException("未查询到预结算信息"); + } + ClinicReg clinicReg = iRegService + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicPreSettle.getMdtrtId())); + + if (clinicReg == null) { + throw new ServiceException("未查询到挂号信息"); + } + + 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()); + + Clinic2207OrderModel settle = ybHttpService.settle(clinicOrder, contract); + + if (settle == null) { + throw new ServiceException("未接收2207接口参数"); + } + // 统一生成业务流水 + String paymentNo = assignSeqUtil.getSeqByDay(AssignSeqEnum.PAYMENT_NO.getPrefix(), 20); + // 业务表中进行操作 + ybBaseService.saveClinic2207Record(paymentNo, clinicOrder, settle); + PaymentResult paymentResult = new com.openhis.financial.model.PaymentResult(); + BeanUtils.copyProperties(settle, paymentResult); + paymentResult.setPaymentNo(paymentNo); + return paymentResult; + } + + public ClinicReg2201Output getClinicRegByEncounterId(Long encounterId) { + return ybBaseService.getClinicRegByEncounterId(encounterId); + } + + public void unPreSettle(Long encounterId, String s) { + Clinic2205OrderParam clinic2205OrderParam = ybBaseService.getClinic2205OrderParam(encounterId, s); + if (clinic2205OrderParam == null) { + throw new ServiceException("未生成2205接口参数"); + } + Contract contract = iContractService.getContractByInsuplcAdmdvs(clinic2205OrderParam.getInsuplcAdmdvs()); + ybHttpService.unPreSettle(clinic2205OrderParam, contract); + } + + /** + * 医保预结算返回信息 + * + * @return 预结算结果 + */ + public Yb2303OutputSetInfo preSettleInpatient(PrePaymentDto prePaymentDto) { + + Encounter encounter = iEncounterService.getById(prePaymentDto.getEncounterId()); + if (encounter == null) { + throw new ServiceException("未查询到就诊记录"); + } + + InpatientReg inpatientReg = inpatientRegService + .getOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, encounter.getBusNo()) + .orderByDesc(InpatientReg::getBegntime).last(YbCommonConstants.sqlConst.LIMIT1)); + if (inpatientReg == null) { + throw new ServiceException("未查询到医保就诊记录"); + } + + InfoPerson infoPerson = iPerinfoService.getByPsnNo(inpatientReg.getPsnNo()); + if (infoPerson == null) { + throw new ServiceException("未查询到患者信息"); + } + + // 获取今天和昨天的上午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 chargeItemBaseInfoDtosList = new ArrayList<>(); + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { + if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + continue; + } + if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { + // 反序列化:将JSON数组字符串转为List<> + List chargeItemBaseInfoList = + JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); + } else { + chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); + } + } + Yb2301InputFeeDetail yb2301InputFeeDetail; + List yb2301InputFeeDetailList = new ArrayList(); + // int i = 1; + 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()); + + yb2301InputFeeDetailList.add(yb2301InputFeeDetail); + } + + Yb2301InputFeeDetailModel yb2301InputFeeDetailModel = new Yb2301InputFeeDetailModel(); + yb2301InputFeeDetailModel.setFeedetail(yb2301InputFeeDetailList) + .setInsuplcAdmdvs(inpatientReg.getInsuplcAdmdvs()); + + List yb2301OutputResults = ybHttpService.upload2301FeeDetail(yb2301InputFeeDetailModel); + // todo :数据保存 + + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) { + if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) { + continue; + } + if (!StringUtils.isEmpty(chargeItemBaseInfoDto.getChildrenJson())) { + // 反序列化:将JSON数组字符串转为List<> + List chargeItemBaseInfoList = + JSON.parseArray(chargeItemBaseInfoDto.getChildrenJson(), ChargeItemBaseInfoDto.class); + chargeItemBaseInfoDtosList.addAll(chargeItemBaseInfoList); + } else { + chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto); + } + } + // 计算医疗总费用 + BigDecimal medfeeSumamt = BigDecimal.ZERO; + for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) { + medfeeSumamt = medfeeSumamt.add(chargeItemBaseInfoDto.getTotalPrice()); + } + + 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()); + + // todo:中如结算标志需要判断一下,待2304接口开发完成后编辑 + + Yb2303OutputSetInfo yb2303OutputSetInfo = ybHttpService.inpatientPreSettle(yb2303InputInpatient); + + if (yb2303OutputSetInfo == null) { + throw new ServiceException("医保预结算失败"); + } + // todo:数据保存 + + return yb2303OutputSetInfo; + } + + /** + * 【住院结算】 + * + * @param contract 合同 + * @param paymentDto 结算参数 + * @return 结果 + */ + public Yb2304OutputSetlInfo inpatientSettle(Contract contract, PaymentInpatientDto paymentDto) { + + Yb2304InputInpatient yb2304InpatientParam = ybBaseService.getYb2304InpatientParam(paymentDto); + + Yb2304OutputSetlInfo yb2304OutputSetlInfo = ybHttpService.inpatientSettle(contract, yb2304InpatientParam); + if (yb2304OutputSetlInfo == null) { + throw new ServiceException("医保结算失败,请稍后重试"); + } + return yb2304OutputSetlInfo; + } + + /** + * 【取消住院结算】 + * + * @param contract 合同 + * @param inpatientSettle 医保结算实体 + * @return 医保结果 + */ + public Yb2305OutputSetlInfo inpatientUnSettle(Contract contract, InpatientSettle inpatientSettle) { + + Yb2305InputInpatient yb2305InpatientParam = ybBaseService.getYb2305InpatientParam(inpatientSettle); + + Yb2305OutputSetlInfo yb2305OutputSetlInfo = ybHttpService.inpatientUnSettle(contract, yb2305InpatientParam); + + return yb2305OutputSetlInfo; + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicPreSettleServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicPreSettleServiceImpl.java new file mode 100644 index 00000000..3ac30b1f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicPreSettleServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import com.openhis.yb.domain.ClinicPreSettle; +import com.openhis.yb.mapper.ClinicPreSettleMapper; +import com.openhis.yb.service.IClinicPreSettleService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author system + * @date 2025-04-20 + */ +@Service +public class ClinicPreSettleServiceImpl extends ServiceImpl implements IClinicPreSettleService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicSettleServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicSettleServiceImpl.java new file mode 100644 index 00000000..72adc29c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicSettleServiceImpl.java @@ -0,0 +1,44 @@ +package com.openhis.yb.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.openhis.yb.domain.ClinicReg; +import com.openhis.yb.domain.ClinicSettle; +import com.openhis.yb.mapper.ClinicSettleMapper; +import com.openhis.yb.service.IClinicSettleService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.List; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author system + * @date 2025-04-20 + */ +@Service +public class ClinicSettleServiceImpl extends ServiceImpl implements IClinicSettleService { + + /** + * 通过结算id查询 + * + * @param paymentId 结算id + * @return + */ + @Override + public ClinicSettle getByPaymentId(Long paymentId){ + return baseMapper.selectOne(new LambdaQueryWrapper().eq(ClinicSettle::getSetlId, paymentId)); + } + + + @Override + public ClinicSettle getBySettleId(String settleId) { + return baseMapper.selectOne(new LambdaQueryWrapper().eq(ClinicSettle::getSetlId, settleId)); + } + + @Override + public List getBySettleIds(List settleIds) { + return baseMapper.selectList(new LambdaQueryWrapper().in(ClinicSettle::getSetlId, settleIds)); + } +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnRegServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnRegServiceImpl.java new file mode 100644 index 00000000..a2192ad5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnRegServiceImpl.java @@ -0,0 +1,20 @@ +package com.openhis.yb.service.impl; + +import com.openhis.yb.domain.ClinicUnReg; +import com.openhis.yb.service.IClinicUnRegService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.mapper.ClinicUnRegMapper; + + +/** + * 撤销挂号记录Service业务层处理 + * + * @author system + * @date 2025-04-21 + */ +@Service +public class ClinicUnRegServiceImpl extends ServiceImpl implements IClinicUnRegService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnSettleServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnSettleServiceImpl.java new file mode 100644 index 00000000..933831a2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/ClinicUnSettleServiceImpl.java @@ -0,0 +1,35 @@ +package com.openhis.yb.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.common.enums.DelFlag; +import com.openhis.yb.domain.ClinicUnSettle; +import com.openhis.yb.mapper.ClinicUnSettleMapper; +import com.openhis.yb.service.IClinicUnSettleService; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author system + * @date 2025-04-20 + */ +@Service +public class ClinicUnSettleServiceImpl extends ServiceImpl + implements IClinicUnSettleService { + + /** + * 根据settleId查询集合 + * + * @param settleIds 集合 + * @return 集合 + */ + @Override + public List getBySettleIds(List settleIds) { + return baseMapper.selectList(new LambdaQueryWrapper().in(ClinicUnSettle::getSettleId, settleIds) + .eq(ClinicUnSettle::getDeleteFlag, DelFlag.NO.getCode())); + } +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/DirectoryCheckRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/DirectoryCheckRecordServiceImpl.java new file mode 100644 index 00000000..44016e87 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/DirectoryCheckRecordServiceImpl.java @@ -0,0 +1,20 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.DirectoryCheckRecord; +import com.openhis.yb.mapper.DirectoryCheckRecordMapper; +import com.openhis.yb.service.IDirectoryCheckRecordService; + +/** + * 医保Service业务层处理 + * + * @author system + * @date 2025-04-27 + */ +@Service +public class DirectoryCheckRecordServiceImpl extends ServiceImpl + implements IDirectoryCheckRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialApplyRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialApplyRecordServiceImpl.java new file mode 100644 index 00000000..8dd2dc88 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialApplyRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.FinancialApplyRecord; +import com.openhis.yb.mapper.FinancialApplyRecordMapper; +import com.openhis.yb.service.IFinancialApplyRecordService; + +/** + * 医保财务申请记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class FinancialApplyRecordServiceImpl extends ServiceImpl implements IFinancialApplyRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialReconcileRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialReconcileRecordServiceImpl.java new file mode 100644 index 00000000..b9bd9dc3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/FinancialReconcileRecordServiceImpl.java @@ -0,0 +1,20 @@ +package com.openhis.yb.service.impl; + +import com.openhis.yb.domain.FinancialReconcileRecord; +import com.openhis.yb.mapper.FinancialReconcileRecordMapper; +import com.openhis.yb.service.IFinancialReconcileRecordService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + +/** + * ybService业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class FinancialReconcileRecordServiceImpl extends ServiceImpl implements IFinancialReconcileRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientFeeDetailServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientFeeDetailServiceImpl.java new file mode 100644 index 00000000..88ac2528 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientFeeDetailServiceImpl.java @@ -0,0 +1,11 @@ +package com.openhis.yb.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InpatientFeeDetail; +import com.openhis.yb.mapper.InpatientFeeDetailMapper; +import com.openhis.yb.service.IInpatientFeeDetailService; +import org.springframework.stereotype.Service; + +@Service +public class InpatientFeeDetailServiceImpl extends ServiceImpl implements IInpatientFeeDetailService { +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientRegServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientRegServiceImpl.java new file mode 100644 index 00000000..0ba8e4e8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientRegServiceImpl.java @@ -0,0 +1,29 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.common.enums.DelFlag; +import com.openhis.yb.domain.InpatientReg; +import com.openhis.yb.mapper.InpatientRegMapper; +import com.openhis.yb.service.IInpatientRegService; +import org.springframework.stereotype.Service; + +/** + * TODO:请概括描述当前类的主要用途和注意事项 + * + * @author SunJQ + * @date 2025-07-31 + */ +@Service +public class InpatientRegServiceImpl extends ServiceImpl + implements IInpatientRegService { + + @Override + public InpatientReg getInpatientRegByIptNo(String busNo) { + return baseMapper.selectOne(new LambdaQueryWrapper().eq(InpatientReg::getIptNo, busNo) + .eq(InpatientReg::getDeleteFlag, DelFlag.NO.getCode())); + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientSettleServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientSettleServiceImpl.java new file mode 100644 index 00000000..3646a739 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InpatientSettleServiceImpl.java @@ -0,0 +1,18 @@ +package com.openhis.yb.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.common.constant.YbCommonConstants; +import com.openhis.common.enums.Whether; +import com.openhis.yb.domain.InpatientSettle; +import com.openhis.yb.mapper.InpatientSettleMapper; +import com.openhis.yb.service.IInpatientSettleService; +import org.springframework.stereotype.Service; + +@Service +public class InpatientSettleServiceImpl extends ServiceImpl implements IInpatientSettleService { + @Override + public InpatientSettle getBySettleId(String ybSettleIds) { + return baseMapper.selectOne(new LambdaQueryWrapper().eq(InpatientSettle::getSetlId,ybSettleIds).eq(InpatientSettle::getDeleteFlag, Whether.NO.getValue()).last(YbCommonConstants.sqlConst.LIMIT1)); + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryChangeRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryChangeRecordServiceImpl.java new file mode 100644 index 00000000..18bc971f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryChangeRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InventoryChangeRecord; +import com.openhis.yb.mapper.InventoryChangeRecordMapper; +import com.openhis.yb.service.IInventoryChangeRecordService; + +/** + * 库存信息变更记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class InventoryChangeRecordServiceImpl extends ServiceImpl implements IInventoryChangeRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryCheckRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryCheckRecordServiceImpl.java new file mode 100644 index 00000000..aaa60e85 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryCheckRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InventoryCheckRecord; +import com.openhis.yb.mapper.InventoryCheckRecordMapper; +import com.openhis.yb.service.IInventoryCheckRecordService; + +/** + * 库存盘点记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class InventoryCheckRecordServiceImpl extends ServiceImpl implements IInventoryCheckRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryDelRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryDelRecordServiceImpl.java new file mode 100644 index 00000000..551e4324 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryDelRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InventoryDelRecord; +import com.openhis.yb.mapper.InventoryDelRecordMapper; +import com.openhis.yb.service.IInventoryDelRecordService; + +/** + * 库存删除记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class InventoryDelRecordServiceImpl extends ServiceImpl implements IInventoryDelRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseRecordServiceImpl.java new file mode 100644 index 00000000..e2e1d060 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InventoryPurchaseRecord; +import com.openhis.yb.mapper.InventoryPurchaseRecordMapper; +import com.openhis.yb.service.IInventoryPurchaseRecordService; + +/** + * 库存采购/退货记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class InventoryPurchaseRecordServiceImpl extends ServiceImpl implements IInventoryPurchaseRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseReturnRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseReturnRecordServiceImpl.java new file mode 100644 index 00000000..b305809b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventoryPurchaseReturnRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InventoryPurchaseReturnRecord; +import com.openhis.yb.mapper.InventoryPurchaseReturnRecordMapper; +import com.openhis.yb.service.IInventoryPurchaseReturnRecordService; + +/** + * 采购/退货记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class InventoryPurchaseReturnRecordServiceImpl extends ServiceImpl implements IInventoryPurchaseReturnRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleRecordServiceImpl.java new file mode 100644 index 00000000..f5f572b7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InventorySaleRecord; +import com.openhis.yb.mapper.InventorySaleRecordMapper; +import com.openhis.yb.service.IInventorySaleRecordService; + +/** + * 销售/退货记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class InventorySaleRecordServiceImpl extends ServiceImpl implements IInventorySaleRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleReturnRecordServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleReturnRecordServiceImpl.java new file mode 100644 index 00000000..27d0e30a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/InventorySaleReturnRecordServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.yb.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.domain.InventorySaleReturnRecord; +import com.openhis.yb.mapper.InventorySaleReturnRecordMapper; +import com.openhis.yb.service.IInventorySaleReturnRecordService; + +/** + * 销售/退货记录Service业务层处理 + * + * @author system + * @date 2025-04-30 + */ +@Service +public class InventorySaleReturnRecordServiceImpl extends ServiceImpl implements IInventorySaleReturnRecordService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/PerinfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/PerinfoServiceImpl.java new file mode 100644 index 00000000..29412e3e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/PerinfoServiceImpl.java @@ -0,0 +1,65 @@ +package com.openhis.yb.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.core.common.exception.ServiceException; +import com.core.common.utils.StringUtils; +import com.openhis.common.constant.YbCommonConstants; +import com.openhis.financial.domain.Contract; +import com.openhis.yb.domain.InfoPerson; +import com.openhis.yb.service.IPerinfoService; +import com.openhis.yb.mapper.PerinfoMapper; + +import org.springframework.stereotype.Service; + +/** + * @Description: 人员基础信息 + * @Author: jeecg-boot + * @Date: 2021-08-27 + * @Version: V1.0 + */ +@Service +public class PerinfoServiceImpl extends ServiceImpl implements IPerinfoService { + @Override + public InfoPerson getPerInfoByIdCard(String idCard,Integer tenantId) { + return baseMapper.selectOne(new LambdaQueryWrapper() + .eq(InfoPerson::getCertno, idCard).eq(InfoPerson::getTenantId, tenantId) + .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); + } + + @Override + public InfoPerson getByPsnNo(String psnNo) { + return baseMapper.selectOne(new LambdaQueryWrapper() + .eq(InfoPerson::getPsnNo, psnNo).orderByDesc(InfoPerson::getCreateTime) + .last(YbCommonConstants.sqlConst.LIMIT1)); + } + + @Override + public boolean assessInterCrossRegionalSettlement(String psnNo, String admVs) { + InfoPerson infoPerson = getByPsnNo(psnNo); + if(infoPerson==null){ + throw new ServiceException("未查询到身份信息"); + } + //参保地 + String insuplcAdmdvs = infoPerson.getInsuplcAdmdvs(); + return admVs.equals(insuplcAdmdvs); + } + + @Override + public boolean assessIntraCrossRegionalSettlement(String psnNo, String admVs){ + InfoPerson infoPerson = getByPsnNo(psnNo); + if(infoPerson==null){ + throw new ServiceException("未查询到身份信息"); + } + //参保地 + String insuplcAdmdvs = infoPerson.getInsuplcAdmdvs(); + if(StringUtils.isEmpty(insuplcAdmdvs)){ + throw new ServiceException("该患者查询不到参保地信息"); + } + return insuplcAdmdvs.startsWith(admVs.substring(0,2)); + } + + public boolean assessCrossRegionalSettlement(String psnNo, String admVs){ + return assessIntraCrossRegionalSettlement(psnNo,admVs)||assessIntraCrossRegionalSettlement(psnNo,admVs); + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/RegServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/RegServiceImpl.java new file mode 100644 index 00000000..3efec7bf --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/RegServiceImpl.java @@ -0,0 +1,39 @@ +package com.openhis.yb.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.workflow.domain.SupplyRequest; +import com.openhis.yb.service.IRegService; +import com.openhis.yb.domain.ClinicReg; +import com.openhis.yb.mapper.RegMapper; + +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 挂号管理-服务 + */ +@Service +public class RegServiceImpl extends ServiceImpl implements IRegService { + @Override + public void updateStatus(Long id, String status) { + ClinicReg reg = new ClinicReg(); + reg.setId(id); + reg.setStatus(status); + updateById(reg); + } + + /** + * 通过单据号查询 + * + * @param busNo 单据号 + * @return + */ + @Override + public ClinicReg getByBusNo(String busNo) { + return baseMapper.selectOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, busNo) + .orderByDesc(ClinicReg::getCreateTime) + .last("LIMIT 1")); + } +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/SignServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/SignServiceImpl.java new file mode 100644 index 00000000..fffa2503 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/service/impl/SignServiceImpl.java @@ -0,0 +1,16 @@ +package com.openhis.yb.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.yb.service.ISignService; +import com.openhis.yb.domain.Sign; +import com.openhis.yb.mapper.SignMapper; + +import org.springframework.stereotype.Service; + +/** + * 签到管理-服务 + */ +@Service +public class SignServiceImpl extends ServiceImpl implements ISignService { + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/CommonConstant.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/CommonConstant.java new file mode 100644 index 00000000..ffce7919 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/CommonConstant.java @@ -0,0 +1,327 @@ +package com.openhis.yb.util; + +public interface CommonConstant { + + /** + * 正常状态 + */ + public static final Integer STATUS_NORMAL = 0; + + /** + * 禁用状态 + */ + public static final Integer STATUS_DISABLE = -1; + + /** + * 删除标志 + */ + public static final Integer DEL_FLAG_1 = 1; + + /** + * 未删除 + */ + public static final Integer DEL_FLAG_0 = 0; + + /** + * 系统日志类型: 登录 + */ + public static final int LOG_TYPE_1 = 1; + + /** + * 系统日志类型: 操作 + */ + public static final int LOG_TYPE_2 = 2; + + /** + * 操作日志类型: 查询 + */ + public static final int OPERATE_TYPE_1 = 1; + + /** + * 操作日志类型: 添加 + */ + public static final int OPERATE_TYPE_2 = 2; + + /** + * 操作日志类型: 更新 + */ + public static final int OPERATE_TYPE_3 = 3; + + /** + * 操作日志类型: 删除 + */ + public static final int OPERATE_TYPE_4 = 4; + + /** + * 操作日志类型: 倒入 + */ + public static final int OPERATE_TYPE_5 = 5; + + /** + * 操作日志类型: 导出 + */ + public static final int OPERATE_TYPE_6 = 6; + + + /** {@code 500 Server Error} (HTTP/1.0 - RFC 1945) */ + public static final Integer SC_INTERNAL_SERVER_ERROR_500 = 500; + /** {@code 200 OK} (HTTP/1.0 - RFC 1945) */ + public static final Integer SC_OK_200 = 200; + + /**访问权限认证未通过 510*/ + public static final Integer SC_JEECG_NO_AUTHZ=510; + + /** 登录用户Shiro权限缓存KEY前缀 */ + public static String PREFIX_USER_SHIRO_CACHE = "shiro:cache:org.jeecg.config.shiro.ShiroRealm.authorizationCache:"; + /** 登录用户Token令牌缓存KEY前缀 */ + public static final String PREFIX_USER_TOKEN = "prefix_user_token_"; + /** Token缓存时间:3600秒即一小时 */ + public static final int TOKEN_EXPIRE_TIME = 3600; + + + /** + * 0:一级菜单 + */ + public static final Integer MENU_TYPE_0 = 0; + /** + * 1:子菜单 + */ + public static final Integer MENU_TYPE_1 = 1; + /** + * 2:按钮权限 + */ + public static final Integer MENU_TYPE_2 = 2; + + /**通告对象类型(USER:指定用户,ALL:全体用户)*/ + public static final String MSG_TYPE_UESR = "USER"; + public static final String MSG_TYPE_ALL = "ALL"; + + /**发布状态(0未发布,1已发布,2已撤销)*/ + public static final String NO_SEND = "0"; + public static final String HAS_SEND = "1"; + public static final String HAS_CANCLE = "2"; + + /**阅读状态(0未读,1已读)*/ + public static final String HAS_READ_FLAG = "1"; + public static final String NO_READ_FLAG = "0"; + + /**优先级(L低,M中,H高)*/ + public static final String PRIORITY_L = "L"; + public static final String PRIORITY_M = "M"; + public static final String PRIORITY_H = "H"; + + /** + * 短信模板方式 0 .登录模板、1.注册模板、2.忘记密码模板 + */ + public static final String SMS_TPL_TYPE_0 = "0"; + public static final String SMS_TPL_TYPE_1 = "1"; + public static final String SMS_TPL_TYPE_2 = "2"; + + /** + * 状态(0无效1有效) + */ + public static final String STATUS_0 = "0"; + public static final String STATUS_1 = "1"; + + /** + * 同步工作流引擎1同步0不同步 + */ + public static final Integer ACT_SYNC_1 = 1; + public static final Integer ACT_SYNC_0 = 0; + + /** + * 消息类型1:通知公告2:系统消息 + */ + public static final String MSG_CATEGORY_1 = "1"; + public static final String MSG_CATEGORY_2 = "2"; + + /** + * 是否配置菜单的数据权限 1是0否 + */ + public static final Integer RULE_FLAG_0 = 0; + public static final Integer RULE_FLAG_1 = 1; + + /** + * 是否用户已被冻结 1正常(解冻) 2冻结 + */ + public static final Integer USER_UNFREEZE = 1; + public static final Integer USER_FREEZE = 2; + + /**字典翻译文本后缀*/ + public static final String DICT_TEXT_SUFFIX = "_dictText"; + + /** + * 表单设计器主表类型 + */ + public static final Integer DESIGN_FORM_TYPE_MAIN = 1; + + /** + * 表单设计器子表表类型 + */ + public static final Integer DESIGN_FORM_TYPE_SUB = 2; + + /** + * 表单设计器URL授权通过 + */ + public static final Integer DESIGN_FORM_URL_STATUS_PASSED = 1; + + /** + * 表单设计器URL授权未通过 + */ + public static final Integer DESIGN_FORM_URL_STATUS_NOT_PASSED = 2; + + /** + * 表单设计器新增 Flag + */ + public static final String DESIGN_FORM_URL_TYPE_ADD = "add"; + /** + * 表单设计器修改 Flag + */ + public static final String DESIGN_FORM_URL_TYPE_EDIT = "edit"; + /** + * 表单设计器详情 Flag + */ + public static final String DESIGN_FORM_URL_TYPE_DETAIL = "detail"; + /** + * 表单设计器复用数据 Flag + */ + public static final String DESIGN_FORM_URL_TYPE_REUSE = "reuse"; + /** + * 表单设计器编辑 Flag (已弃用) + */ + public static final String DESIGN_FORM_URL_TYPE_VIEW = "view"; + + /** + * online参数值设置(是:Y, 否:N) + */ + public static final String ONLINE_PARAM_VAL_IS_TURE = "Y"; + public static final String ONLINE_PARAM_VAL_IS_FALSE = "N"; + + /** + * 文件上传类型(本地:local,Minio:minio,阿里云:alioss) + */ + public static final String UPLOAD_TYPE_LOCAL = "local"; + public static final String UPLOAD_TYPE_MINIO = "minio"; + public static final String UPLOAD_TYPE_OSS = "alioss"; + + /** + * 文档上传自定义桶名称 + */ + public static final String UPLOAD_CUSTOM_BUCKET = "eoafile"; + /** + * 文档上传自定义路径 + */ + public static final String UPLOAD_CUSTOM_PATH = "eoafile"; + /** + * 文件外链接有效天数 + */ + public static final Integer UPLOAD_EFFECTIVE_DAYS = 1; + + /** + * 员工身份 (1:普通员工 2:上级) + */ + public static final Integer USER_IDENTITY_1 = 1; + public static final Integer USER_IDENTITY_2 = 2; + + /** sys_user 表 username 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_SYS_USER_USERNAME = "uniq_sys_user_username"; + /** sys_user 表 work_no 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_SYS_USER_WORK_NO = "uniq_sys_user_work_no"; + /** sys_user 表 phone 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_SYS_USER_PHONE = "uniq_sys_user_phone"; + /** sys_user 表 email 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_SYS_USER_EMAIL = "uniq_sys_user_email"; + /** sys_quartz_job 表 job_class_name 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_JOB_CLASS_NAME = "uniq_job_class_name"; + /** sys_position 表 code 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_CODE = "uniq_code"; + /** sys_role 表 code 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_SYS_ROLE_CODE = "uniq_sys_role_role_code"; + /** sys_depart 表 code 唯一键索引 */ + public static final String SQL_INDEX_UNIQ_DEPART_ORG_CODE = "uniq_depart_org_code"; + /** + * 在线聊天 是否为默认分组 + */ + public static final String IM_DEFAULT_GROUP = "1"; + /** + * 在线聊天 图片文件保存路径 + */ + public static final String IM_UPLOAD_CUSTOM_PATH = "imfile"; + /** + * 在线聊天 用户状态 + */ + public static final String IM_STATUS_ONLINE = "online"; + + /** + * 在线聊天 SOCKET消息类型 + */ + public static final String IM_SOCKET_TYPE = "chatMessage"; + + /** + * 在线聊天 是否开启默认添加好友 1是 0否 + */ + public static final String IM_DEFAULT_ADD_FRIEND = "1"; + + /** + * 在线聊天 用户好友缓存前缀 + */ + public static final String IM_PREFIX_USER_FRIEND_CACHE = "sys:cache:im:im_prefix_user_friend_"; + + /** + * 考勤补卡业务状态 (1:同意 2:不同意) + */ + public static final String SIGN_PATCH_BIZ_STATUS_1 = "1"; + public static final String SIGN_PATCH_BIZ_STATUS_2 = "2"; + + /** + * 公文文档上传自定义路径 + */ + public static final String UPLOAD_CUSTOM_PATH_OFFICIAL = "officialdoc"; + /** + * 公文文档下载自定义路径 + */ + public static final String DOWNLOAD_CUSTOM_PATH_OFFICIAL = "officaldown"; + + /** + * WPS存储值类别(1 code文号 2 text(WPS模板还是公文发文模板)) + */ + public static final String WPS_TYPE_1="1"; + public static final String WPS_TYPE_2="2"; + + + public final static String X_ACCESS_TOKEN = "X-Access-Token"; + public final static String X_SIGN = "X-Sign"; + public final static String X_TIMESTAMP = "X-TIMESTAMP"; + + /** + * 多租户 请求头 + */ + public final static String TENANT_ID = "tenant-id"; + + /** + * 微服务读取配置文件属性 服务地址 + */ + public final static String CLOUD_SERVER_KEY = "spring.cloud.nacos.discovery.server-addr"; + + /** + * 第三方登录 验证密码/创建用户 都需要设置一个操作码 防止被恶意调用 + */ + public final static String THIRD_LOGIN_CODE = "third_login_code"; + + /** + * 第三方APP同步方向:本地 --> 第三方APP + */ + String THIRD_SYNC_TO_APP = "SYNC_TO_APP"; + /** + * 第三方APP同步方向:第三方APP --> 本地 + */ + String THIRD_SYNC_TO_LOCAL = "SYNC_TO_LOCAL"; + + /** 系统通告消息状态:0=未发布 */ + String ANNOUNCEMENT_SEND_STATUS_0 = "0"; + /** 系统通告消息状态:1=已发布 */ + String ANNOUNCEMENT_SEND_STATUS_1 = "1"; + /** 系统通告消息状态:2=已撤销 */ + String ANNOUNCEMENT_SEND_STATUS_2 = "2"; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/YbParamBuilderUtil.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/YbParamBuilderUtil.java new file mode 100644 index 00000000..8243ee86 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/yb/util/YbParamBuilderUtil.java @@ -0,0 +1,2440 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.yb.util; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.core.common.core.domain.model.LoginUser; +import com.core.common.enums.TenantOptionDict; +import com.core.common.exception.ServiceException; +import com.core.common.utils.AssignSeqUtil; +import com.core.common.utils.DateUtils; +import com.core.common.utils.SecurityUtils; +import com.core.common.utils.StringUtils; +import com.core.system.service.impl.SysUserServiceImpl; +import com.core.web.util.TenantOptionUtil; +import com.openhis.administration.domain.*; +import com.openhis.administration.service.*; +import com.openhis.clinical.domain.Condition; +import com.openhis.clinical.domain.ConditionDefinition; +import com.openhis.clinical.service.IConditionDefinitionService; +import com.openhis.clinical.service.IConditionService; +import com.openhis.common.constant.CommonConstants; +import com.openhis.common.constant.YbCommonConstants; +import com.openhis.common.enums.*; +import com.openhis.common.enums.ybenums.*; +import com.openhis.financial.domain.Contract; +import com.openhis.financial.domain.PaymentRecDetail; +import com.openhis.financial.domain.PaymentReconciliation; +import com.openhis.financial.service.IContractService; +import com.openhis.financial.service.IPaymentRecDetailService; +import com.openhis.financial.service.IPaymentReconciliationService; +import com.openhis.medication.domain.Medication; +import com.openhis.medication.domain.MedicationDefinition; +import com.openhis.medication.domain.MedicationDispense; +import com.openhis.medication.domain.MedicationRequest; +import com.openhis.medication.service.IMedicationDefinitionService; +import com.openhis.medication.service.IMedicationDispenseService; +import com.openhis.medication.service.IMedicationRequestService; +import com.openhis.medication.service.IMedicationService; +import com.openhis.workflow.domain.*; +import com.openhis.workflow.service.*; +import com.openhis.workflow.service.impl.InventoryItemServiceImpl; +import com.openhis.yb.domain.ClinicPreSettle; +import com.openhis.yb.domain.ClinicReg; +import com.openhis.yb.domain.ClinicSettle; +import com.openhis.yb.domain.InfoPerson; +import com.openhis.yb.dto.*; +import com.openhis.yb.mapper.MedicalInsuranceMapper; +import com.openhis.yb.model.Clinic2207OrderParam; +import com.openhis.yb.service.*; +import com.openhis.ybcatalog.domain.CatalogDrugInfo; +import com.openhis.ybcatalog.domain.CatalogMedicalHerbInfo; +import com.openhis.ybcatalog.service.ICatalogDrugInfoService; +import com.openhis.ybcatalog.service.ICatalogMedicalHerbInfoService; + +/** + * 医保接口调用工具 todo:sjq 若部署云服务,该工具类内所有的查询原则上增加租户的查询条件 + * + * @author SunJQ + * @date 2025-04-03 + */ +@Component +public class YbParamBuilderUtil { + + /********************* Mapper服务 *******************/ + @Autowired + private MedicalInsuranceMapper medicalInsuranceMapper; + /********************* 业务实体服务 *******************/ + @Autowired + private IEncounterService iEncounterService; + @Autowired + private IAccountService accountService; + @Autowired + private IEncounterDiagnosisService iEncounterDiagnosisService; + @Autowired + private IConditionService iConditionService; + @Autowired + private IConditionDefinitionService iConditionDefinitionService; + @Autowired + private IEncounterParticipantService iEncounterParticipantService; + @Autowired + private IPractitionerService iPractitionerService; + @Autowired + private IOrganizationService iOrganizationService; + @Autowired + private IChargeItemService iChargeItemService; + @Autowired + private IMedicationDefinitionService iMedicationDefinitionService; + @Autowired + private IDeviceDefinitionService iDeviceDefinitionService; + @Autowired + private IActivityDefinitionService iActivityDefinitionService; + @Autowired + private IContractService iContractService; + @Autowired + private IPatientService iPatientService; + @Autowired + private IPaymentReconciliationService iPaymentReconciliationService; + @Autowired + private IPaymentRecDetailService iPaymentRecDetailService; + @Autowired + private IServiceRequestService iServiceRequestService; + @Autowired + private IMedicationRequestService iMedicationRequestService; + @Autowired + private IDeviceRequestService iDeviceRequestService; + @Autowired + private IMedicationService iMedicationService; + @Autowired + private IDeviceService iDeviceService; + @Autowired + private IMedicationDispenseService iMedicationDispenseService; + @Autowired + private IDeviceDispenseService iDeviceDispenseService; + @Autowired + private InventoryItemServiceImpl inventoryItemService; + @Autowired + private IChargeItemDefinitionService iChargeItemDefinitionService; + @Autowired + private IChargeItemDefDetailService iChargeItemDefDetailService; + @Autowired + private ISupplyRequestService iSupplyRequestService; + @Autowired + private ISupplyDeliveryService iSupplyDeliveryService; + @Autowired + private ISupplierService iSupplierService; + @Autowired + private IInvoiceService iInvoiceService; + @Autowired + private SysUserServiceImpl userService; + @Autowired + private IHealthcareServiceService iHealthcareServiceService; + @Autowired + private AssignSeqUtil assignSeqUtil; + /********************* 医保实体服务 *******************/ + // @Autowired + // private IReadcardService iReadcardService; + @Autowired + private ICatalogDrugInfoService iCatalogDrugInfoService; + @Autowired + private ICatalogMedicalHerbInfoService iCatalogMedicalHerbInfoService; + @Autowired + private IPerinfoService iPerinfoService; + @Autowired + private IRegService iRegService; + @Autowired + private IClinicPreSettleService iClinicPreSettleService; + @Autowired + private IClinicSettleService iClinicSettleService; + @Autowired + private IClinicUnSettleService iClinicUnSettleService; + + /** + * 获取基础读卡实体 + * + * @param certType 就诊凭证 + * @param certNo 凭证编号 + * @return 读卡基础实体 + */ + public Info1101ReadcardParam getReadCard(String certType, String certNo) { + YbMdtrtCertType ybCertType = YbMdtrtCertType.getByValue(certType); + // YbPsnCertType ybPsnCertType = YbPsnCertType.getByValue(psnCertType); + if (ybCertType == null) { + throw new ServiceException("未选择就诊凭证类型"); + } + Info1101ReadcardParam readcard = new Info1101ReadcardParam(); + readcard.setMdtrtCertNo(certNo).setMdtrtCertType(ybCertType.getValue()); + // if (ybPsnCertType != null) { + // readcard.setPsnCertType(ybPsnCertType.getValue()); + // } else { + // readcard.setPsnCertType(ybCertType.getValue()); + // } + return readcard; + } + + /** + * 【2201】组装医保挂号参数 + * + * @return + */ + public ClinicReg getReg(YbMdtrtCertType ybMdtrtCertType, String busiCardInfo, Long encounterId, YbMedType medType, + Integer tenantId) { + // 查询此次就诊信息(此处需要业务上保证下述两个实体一对一关系) + Encounter encounter = iEncounterService.getById(encounterId); + Account account = + accountService.getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, encounterId) + .eq(Account::getTenantId, tenantId).ne(Account::getTypeCode, AccountType.PERSONAL_CASH_ACCOUNT) + .eq(Account::getEncounterFlag, Whether.YES.getValue())); + if (account == null || encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + Patient patient = iPatientService.getById(encounter.getPatientId()); + if (patient == null) { + throw new ServiceException("未查询到患者信息"); + } + YbMdtrtCertType certType = YbMdtrtCertType.getByValue(account.getTypeCode());// 2025/05/28 该值存01/02/03 + if (certType == null) { + throw new ServiceException("未查询到就诊凭证信息"); + } + InfoPerson perinfo = iPerinfoService.getOne(new LambdaQueryWrapper() + .eq(InfoPerson::getCertno, patient.getIdCard()).eq(InfoPerson::getTenantId, tenantId) + .orderByDesc(InfoPerson::getCreateTime).last(YbCommonConstants.sqlConst.LIMIT1)); + if (perinfo == null) { + throw new ServiceException("未查询到就诊凭证信息"); + } + // InfoReadcard1101Param readcard = iReadcardService.getOne(new LambdaQueryWrapper() + // .eq(InfoReadcard1101Param::getPsnCertType, certType.getValue()) + // .eq(InfoReadcard1101Param::getCertno, account.getNo()).eq(InfoReadcard1101Param::getTenantId, tenantId)); + // Info1101ReadcardParam readcard = JSONObject.parseObject(perinfo.getResult1101(), + // Info1101ReadcardParam.class); + // if (readcard == null) { + // throw new ServiceException("未查询到就诊凭证信息"); + // } + // 主治医生查询 + EncounterParticipant participant = null; + Practitioner doctor = null; + List list = + iEncounterParticipantService.list(new LambdaQueryWrapper() + .eq(EncounterParticipant::getEncounterId, encounterId).eq(EncounterParticipant::getTenantId, tenantId)); + for (EncounterParticipant encounterParticipant : list) { + if (ParticipantType.ADMITTER.getCode().equals(encounterParticipant.getTypeCode())) { + participant = encounterParticipant; + } + } + if (participant == null) { + throw new ServiceException("未查询到就诊医生信息"); + } + doctor = iPractitionerService.getById(participant.getPractitionerId()); + if (doctor == null) { + throw new ServiceException("未查询到就诊医生信息"); + } + + // 查询科室信息 + Organization organization = iOrganizationService.getById(doctor.getOrgId()); + if (organization == null) { + throw new ServiceException("未查询到就诊科室信息"); + } + + ClinicReg reg = new ClinicReg(); + reg.setPsnNo(perinfo.getPsnNo()).setInsutype(perinfo.getInsutype()).setBegntime(new Date()) + .setMdtrtCertType(ybMdtrtCertType.getValue()).setMdtrtCertNo(busiCardInfo) + .setIptOtpNo(encounter.getBusNo() + "-" + medType.getValue()).setAtddrNo(doctor.getYbNo()) + .setDrName(doctor.getName()).setDeptCode(organization.getYbNo()).setDeptName(organization.getName()) + .setCaty(organization.getCaty()).setInsuplcAdmdvs(perinfo.getInsuplcAdmdvs()) + .setMedType(medType.getValue()); + + return reg; + } + + /** + * 【2203】组装就诊信息参数 + * + * @return + */ + public Clinic2203MedicalParam getClinicMedical2203Param(Long encounterId, Integer tenantId, + ClinicReg2201Output reg2201Output, YbMedType ybMedType) { + + // 查询诊断信息 + EncounterDiagnosis mainEncounterDiagnosis = null; + List encounterDiagnosis = + iEncounterDiagnosisService.list(new LambdaQueryWrapper() + .eq(EncounterDiagnosis::getEncounterId, encounterId).eq(EncounterDiagnosis::getTenantId, tenantId) + .eq(EncounterDiagnosis::getMedTypeCode, ybMedType.getValue()));// 2025/08/05 + // 农大患者结算慢病时会上传普通门诊的疾病,医保回复该参保人未做该病种的门慢门特备案,故此修正根据门诊类型去上传 + for (EncounterDiagnosis diagnosis : encounterDiagnosis) { + if (Objects.equals(Whether.YES.getValue(), diagnosis.getMaindiseFlag())) { + mainEncounterDiagnosis = diagnosis; + break; + } + } + if (mainEncounterDiagnosis == null && (ybMedType == YbMedType.CHRONIC_DISEASE_OUTPATIENT + || ybMedType == YbMedType.SPECIAL_DISEASE_OUTPATIENT)) { + mainEncounterDiagnosis = encounterDiagnosis.get(0); + } + if (encounterDiagnosis.isEmpty()) { + throw new ServiceException("未查询到诊断信息"); + } + if (mainEncounterDiagnosis == null) { + throw new ServiceException("未查询到主诊断信息"); + } + // 查询主诊断 + Condition mainCondition = iConditionService.getById(mainEncounterDiagnosis.getConditionId()); + if (mainCondition == null) { + throw new ServiceException("未查询到主诊断信息"); + } + // 查询诊断定义信息 + ConditionDefinition conditionDefinition = iConditionDefinitionService.getById(mainCondition.getDefinitionId()); + if (conditionDefinition == null) { + throw new ServiceException("未查询到诊断定义信息"); + } + + // 组装诊断信息参数 + List diseinfo = getDiseinfo(encounterDiagnosis); + + Clinic2203MedicalParam medical2203Param = new Clinic2203MedicalParam(); + + medical2203Param.setMdtrtId(reg2201Output.getMdtrtId()).setPsnNo(reg2201Output.getPsnNo()) + .setBegntime(reg2201Output.getBegntime()).setMedType(reg2201Output.getMedType()) + .setMainCondDscr(mainCondition.getDescription()).setInsuplcAdmdvs(reg2201Output.getInsuplcAdmdvs()) + .setDiseCodg(mainCondition.getYbNo()).setDiseName(conditionDefinition.getName()).setDiseinfoList(diseinfo); + + return medical2203Param; + } + + /** + * 【2203】组装诊断信息参数 + * + * @return + */ + public List getDiseinfo(List encounterDiagnosisList) { + List diseinfos = new ArrayList<>(); + for (EncounterDiagnosis encounterDiagnosis : encounterDiagnosisList) { + Condition condition = iConditionService.getById(encounterDiagnosis.getConditionId()); + if (condition == null) { + continue; + } + ConditionDefinition conditionDefinition = iConditionDefinitionService.getById(condition.getDefinitionId()); + Practitioner doctor = iPractitionerService.getById(condition.getRecorderId()); + if (doctor == null) { + continue; + } + // 查询科室信息 + Organization organization = iOrganizationService.getById(doctor.getOrgId()); + if (organization == null) { + throw new ServiceException("未查询到科室信息"); + } + + Clinic2203DiseInfoParam diseinfo = new Clinic2203DiseInfoParam(); + diseinfo.setDiagCode(condition.getYbNo()).setDiagName(conditionDefinition.getName()) + .setDiagDept(organization.getYbNo()).setDiseDorName(doctor.getName()).setDiseDorNo(doctor.getYbNo()) + .setDiagTime(condition.getRecordedDatetime()).setValiFlag(Whether.YES.getValue().toString()) + .setDiagType(conditionDefinition.getTypeCode()) + .setDiagSrtNo(encounterDiagnosis.getDiagSrtNo().toString()); + + diseinfos.add(diseinfo); + + } + return diseinfos; + } + + /** + * 【2204】组装费用明细参数 + * + * @return + */ + public List getClinicFeedetailList(Integer tenantId, ClinicReg2201Output reg, + String chrgBchno, List chargeItemIds) { + + List clincFeedetailList = new ArrayList(); + // 查询收费项 + List ChargeItemList = iChargeItemService.list(new LambdaQueryWrapper() + .in(ChargeItem::getId, chargeItemIds).eq(ChargeItem::getTenantId, tenantId)); + + // 是否是电子处方 + Whether eFlag = Whether.getByValue(0); + + for (ChargeItem chargeItem : ChargeItemList) { + Clinic2204FeeDetailParam clinicFeedetail = new Clinic2204FeeDetailParam(); + // 查询项目信息 + String productTable = chargeItem.getProductTable(); + if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(productTable)) { + MedicationDefinition medication = iMedicationDefinitionService.getById(chargeItem.getProductId()); + if (medication == null) { + throw new ServiceException("未查询到药品信息"); + } + clinicFeedetail.setMedListCodg(medication.getYbNo()).setMedinsListCodg(medication.getBusNo()); + } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(productTable)) { + DeviceDefinition device = iDeviceDefinitionService.getById(chargeItem.getProductId()); + if (device == null) { + throw new ServiceException("未查询到药品信息"); + } + clinicFeedetail.setMedListCodg(device.getYbNo()).setMedinsListCodg(device.getYbOrgNo()); + } else { + ActivityDefinition activity = iActivityDefinitionService.getById(chargeItem.getProductId()); + if (activity == null) { + throw new ServiceException("未查询到药品信息"); + } + clinicFeedetail.setMedListCodg(activity.getYbNo()).setMedinsListCodg(activity.getBusNo()); + } + + // 开单科室查询 + Organization org = iOrganizationService.getById(chargeItem.getRequestingOrgId()); + if (org == null) { + throw new ServiceException("未查询到开单科室信息"); + } + // 开立医生查询 + Practitioner doctor = iPractitionerService.getById(chargeItem.getEntererId()); + if (doctor == null) { + throw new ServiceException("未查询到开立医生信息"); + } + + // 外购处方标志(文档上没有详细介绍) 2025/04/14经确认,暂定非处方流转传0,处方流转传1 + clinicFeedetail + .setFeedetlSn( + chargeItem.getBusNo() + assignSeqUtil.getSeqByDay(AssignSeqEnum.YB_CLINIC_FEE.getPrefix(), 5)) + .setMdtrtId(reg.getMdtrtId()).setPsnNo(reg.getPsnNo()).setChrgBchno(chrgBchno) + .setFeeOcurTime(chargeItem.getEnteredDate()) + .setDetItemFeeSumamt(chargeItem.getTotalPrice().doubleValue()) + .setCnt(chargeItem.getQuantityValue().doubleValue()).setPric(chargeItem.getUnitPrice().doubleValue()) + .setBilgDeptCodg(org.getYbNo()).setBilgDeptName(org.getName()).setBilgDrCodg(doctor.getYbNo()) + // 默认无需审批 + .setBilgDrName(doctor.getName()).setHospApprFlag(YbHospApprFlag.NO_APPROVAL_REQUIRED.getValue()) + .setRxCircFlag(eFlag.getValue().toString()); + + clincFeedetailList.add(clinicFeedetail); + } + return clincFeedetailList; + } + + /** + * 【2204】门诊费用明细信息 + * + * @param tenantId 租户id + * @return + */ + public Clinic2204OrderParam getClinicOrder2204Param(Integer tenantId, List chargeItemIds, + ClinicReg2201Output reg2201Output) { + + Clinic2204OrderParam clinicOrderPage = new Clinic2204OrderParam(); + + // 排番 + clinicOrderPage.setChrgBchno(assignSeqUtil.getSeqByDay(AssignSeqEnum.YB_CLINIC_ORDER.getPrefix(), 12)); + clinicOrderPage.setChrgBchno(clinicOrderPage.getChrgBchno()); + + List clincFeedetailList = + getClinicFeedetailList(tenantId, reg2201Output, clinicOrderPage.getChrgBchno(), chargeItemIds); + + clinicOrderPage.setFeedetail(clincFeedetailList).setInsuplcAdmdvs(reg2201Output.getInsuplcAdmdvs()); + return clinicOrderPage; + } + + /** + * 【2205】费用明细撤销 + * + * @return + */ + public Clinic2205OrderParam getClinic2205OrderParam(Long encounterId, String ChrgBchno) { + Clinic2205OrderParam clinicOrderPage = new Clinic2205OrderParam(); + Encounter encounter = iEncounterService.getById(encounterId); + ClinicReg reg = + iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, encounter.getBusNo())); + return clinicOrderPage.setMdtrtId(reg.getMdtrtId()).setPsnNo(reg.getPsnNo()).setChrgBchno(ChrgBchno) + .setInsuplcAdmdvs(reg.getInsuplcAdmdvs()); + } + + /** + * 【2206】门诊预结算参数 + * + * @return + */ + /** + * 【2206】门诊预结算参数 + * + * @param payFee 2204返回的费用总额 + * @param chrgBchno 收费批次号 + * @return + */ + public Clinic2206OrderParam getClinicOrder2206Param(BigDecimal payFee, ClinicReg2201Output reg, String chrgBchno, + String busiCardInfo) { + + // 个人结算方式 + YbPsnSetlWay setlWay = YbPsnSetlWay.getByValue("01"); + + Clinic2206OrderParam clinicOrder = new Clinic2206OrderParam(); + clinicOrder.setPsnNo(reg.getPsnNo()).setMdtrtCertType(reg.getMdtrtCertType()).setMdtrtCertNo(busiCardInfo) + .setMedType(reg.getMedType()).setMedfeeSumamt(payFee.doubleValue()).setPsnSetlway(setlWay.getValue()) + .setMdtrtId(reg.getMdtrtId()).setChrgBchno(chrgBchno).setAcctUsedFlag(Whether.YES.getCode()) + .setInsutype(reg.getInsutype()).setInsuplcAdmdvs(reg.getInsuplcAdmdvs()); + + return clinicOrder; + } + + /** + * 【2207】门诊结算参数 + * + * @return + */ + public Clinic2207OrderParam getClinicOrder2207(Long encounterId, Integer tenantId, String psnSetlWay, + String chrgBchno, String medType) { + // 查询此次就诊信息(此处需要业务上保证下述两个实体一对一关系) + Encounter encounter = iEncounterService.getById(encounterId); + + YbMedType ybMedType = YbMedType.getByValue(medType); + if (ybMedType == null) { + ybMedType = YbMedType.GENERAL_OUTPATIENT; + } + + // 院内唯一流水号查询挂号信息 + String busNo = encounter.getBusNo(); + ClinicReg reg = iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, busNo) + .eq(ClinicReg::getTenantId, tenantId).eq(ClinicReg::getMedType, ybMedType.getValue())); + + // 个人结算方式 + YbPsnSetlWay setlWay = YbPsnSetlWay.getByValue(psnSetlWay); + if (setlWay == null) { + setlWay = YbPsnSetlWay.PSN_SETLWAY01; + } + + // ClinicSetlinfo2208Param clinicSetlinfo = iClincSetlinfoService.getOne( + // new LambdaQueryWrapper().eq(ClinicSetlinfo2208Param::getMdtrtId, reg.getMdtrtId()) + // .eq(ClinicSetlinfo2208Param::getOrderId, chrgBchno)); + + ClinicPreSettle clinicPreSettle = iClinicPreSettleService.getOne(new LambdaQueryWrapper() + .eq(ClinicPreSettle::getMdtrtId, reg.getMdtrtId()).eq(ClinicPreSettle::getChrgBchno, chrgBchno)); + + Clinic2206OrderResult clinic2206OrderResult = + JSONObject.parseObject(clinicPreSettle.getResult2206(), Clinic2206OrderResult.class); + + Clinic2207OrderParam clinicOrder = new Clinic2207OrderParam(); + clinicOrder.setPsnNo(reg.getPsnNo()).setMdtrtCertType(reg.getMdtrtCertType()) + // todo:sjq 医疗费用总额需要用ChargeItem的和 + .setMdtrtCertNo(reg.getMdtrtCertNo()).setMedType(reg.getMedType()) + .setMedfeeSumamt(clinic2206OrderResult.getMedfeeSumamt().doubleValue()).setPsnSetlway(setlWay.getValue()) + .setMdtrtId(reg.getMdtrtId()).setChrgBchno(chrgBchno).setAcctUsedFlag(Whether.YES.getCode()) + .setInsutype(reg.getInsutype()).setFulamtOwnpayAmt(clinic2206OrderResult.getFulamtOwnpayAmt().doubleValue()) + .setOverlmtSelfpay(clinic2206OrderResult.getOverlmtSelfpay().doubleValue()) + .setPreselfpayAmt(clinic2206OrderResult.getPreselfpayAmt().doubleValue()) + .setInscpScpAmt(clinic2206OrderResult.getInscpScpAmt().doubleValue()); + + return clinicOrder; + } + + /** + * 【2208】门诊结算撤销参数 + * + * @return + */ + public Clinic2208UnSetlInfoParam getClinicOrder2208(Integer tenantId, String settleId) { + // 查询此次就诊信息(此处需要业务上保证下述两个实体一对一关系) + // Encounter encounter = iEncounterService.getById(encounterId); + + ClinicSettle clinicSettle = iClinicSettleService.getBySettleId(settleId); + if (clinicSettle == null) { + throw new ServiceException("未查询到医保结算信息"); + } + + // 院内唯一流水号查询挂号信息 + // String busNo = encounter.getBusNo(); + ClinicReg reg = + iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicSettle.getMdtrtId()) + .eq(ClinicReg::getTenantId, tenantId).eq(ClinicReg::getMdtrtId, clinicSettle.getMdtrtId())); + if (reg == null) { + throw new ServiceException("未查询到医保结算信息"); + } + Clinic2208UnSetlInfoParam clinicSetl = new Clinic2208UnSetlInfoParam(); + clinicSetl.setPsnNo(reg.getPsnNo()).setMdtrtId(clinicSettle.getMdtrtId()).setSetlId(settleId) + .setInsuplcAdmdvs(reg.getInsuplcAdmdvs()); + + return clinicSetl; + } + + /** + * 【3201】结算对总账 + * + * @return + */ + public Financial3201Param getFinancial3201Param(Settlement3201WebParam settlement3201WebParam, + Settlement3201DetailDto reconciliation) { + + // 查询合同信息 + Contract contract = iContractService.getByContractNo(settlement3201WebParam.getContractNo()); + if (contract == null) { + throw new ServiceException("未查询到合同信息"); + } + YbClrType clrType = YbClrType.getByValue(settlement3201WebParam.getClrType()); + YbInsuType insuType = YbInsuType.getByValue(settlement3201WebParam.getInsuType().toString()); + if (clrType == null) { + clrType = YbClrType.OUTPATIENT_CLINIC; + } + if (insuType == null) { + insuType = YbInsuType.YB_INSU_TYPE310; + } + + Financial3201Param financial3201Param = new Financial3201Param(); + financial3201Param.setInsutype(insuType.getValue()).setClrType(clrType.getValue()) + .setSetlOptins(contract.getAdmVs()).setStmtBegndate(settlement3201WebParam.getStmtBegnDate()) + .setStmtEnddate(settlement3201WebParam.getStmtEndDate()) + .setMedfeeSumamt(reconciliation.getMedFeeSumAmt().doubleValue()) + .setFundPaySumamt(reconciliation.getFundPaySumAmt().doubleValue()) + .setAcctPay(reconciliation.getAcctPay().add(reconciliation.getAcctGjPay()).doubleValue()) + .setFixmedinsSetlCnt(reconciliation.getFixMedInsSetlCnt()) + .setInsuplcAdmdvs(SecurityUtils.getLoginUser().getOptionJson().getString("admvs")); + + return financial3201Param; + } + + /** + * 【3203】清算申请 + * + * @param financial3203WebParam 前台参数 + * @return 3203参数 + */ + public Financial3203Param getFinancial3203Param(Financial3203WebParam financial3203WebParam) { + Long orgId = SecurityUtils.getLoginUser().getHospitalId(); + iOrganizationService.getById(orgId); + + YbClrType clrType = YbClrType.getByValue(financial3203WebParam.getClrType()); + if (clrType == null) { + clrType = YbClrType.OUTPATIENT_CLINIC; + } + + Financial3203Dto financial3203VO = medicalInsuranceMapper.get3203Param(financial3203WebParam.getBegndate(), + financial3203WebParam.getEnddate(), SecurityUtils.getLoginUser().getTenantId(), + financial3203WebParam.getClrType(), YbPayment.SELF_YB_ZH_PAY.getValue(), + YbPayment.SELF_YB_ZH_GJ_VALUE.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()); + + // 数据处理 + financial3203VO + .setAcctGjPay(financial3203VO.getAcctGjPay() == null ? BigDecimal.ZERO : financial3203VO.getAcctGjPay()); + financial3203VO + .setAcctPay(financial3203VO.getAcctPay() == null ? BigDecimal.ZERO : financial3203VO.getAcctPay()); + financial3203VO.setFundPaySumAmt( + financial3203VO.getFundPaySumAmt() == null ? BigDecimal.ZERO : financial3203VO.getFundPaySumAmt()); + financial3203VO.setMedFeeSumAmt( + financial3203VO.getMedFeeSumAmt() == null ? BigDecimal.ZERO : financial3203VO.getMedFeeSumAmt()); + financial3203VO.setSelfPayCash( + financial3203VO.getSelfPayCash() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayCash()); + financial3203VO + .setSelfPayALI(financial3203VO.getSelfPayALI() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayALI()); + financial3203VO + .setSelfPayVX(financial3203VO.getSelfPayVX() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayVX()); + financial3203VO.setSelfPayUNION( + financial3203VO.getSelfPayUNION() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayUNION()); + + BigDecimal cashSum = financial3203VO.getSelfPayCash().add(financial3203VO.getSelfPayVX()) + .add(financial3203VO.getSelfPayUNION()).add(financial3203VO.getSelfPayALI()); + + Financial3203Param financial3203Param = new Financial3203Param(); + financial3203Param.setClrType(financial3203WebParam.getClrType()) + .setMedfeeSumamt(financial3203VO.getMedFeeSumAmt()).setMedSumfee(financial3203VO.getMedSumfee()) + .setCashPayamt(cashSum).setAcctPay(financial3203VO.getAcctPay()) + .setBegndate(financial3203WebParam.getBegndate()).setEnddate(financial3203WebParam.getEnddate()) + .setClrWay(financial3203WebParam.getClrWay()) + .setSetlym(financial3203WebParam.getBegndate().toString().substring(0, 7)) + .setFundAppySum(financial3203VO.getFundPaySumAmt()).setPsntime(financial3203VO.getPsntime()); + + return financial3203Param; + } + + /** + * 【3203A】清算申请【吉林省】 + * + * @param financial3203AWebParam + * @return + */ + // public Financial3203AParam getFinancial3203AParam(Financial3203AWebParam financial3203AWebParam) { + // + // YbClrType clrType = YbClrType.getByValue(financial3203AWebParam.getClrType()); + // if (clrType == null) { + // clrType = YbClrType.OUTPATIENT_CLINIC; + // } + // + // //Financial3203Dto financial3203VO = + // medicalInsuranceMapper.get3203Param(financial3203AWebParam.getStmtBegnDate(), + // // financial3203AWebParam.getStmtEndDate(), SecurityUtils.getLoginUser().getTenantId(), clrType.getValue(), + // // YbPayment.SELF_YB_ZH_PAY.getValue(), YbPayment.SELF_YB_ZH_GJ_VALUE.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()); + // + // + // // 数据处理 + // financial3203VO + // .setAcctGjPay(financial3203VO.getAcctGjPay() == null ? BigDecimal.ZERO : financial3203VO.getAcctGjPay()); + // financial3203VO + // .setAcctPay(financial3203VO.getAcctPay() == null ? BigDecimal.ZERO : financial3203VO.getAcctPay()); + // financial3203VO.setFundPaySumAmt( + // financial3203VO.getFundPaySumAmt() == null ? BigDecimal.ZERO : financial3203VO.getFundPaySumAmt()); + // financial3203VO.setMedFeeSumAmt( + // financial3203VO.getMedFeeSumAmt() == null ? BigDecimal.ZERO : financial3203VO.getMedFeeSumAmt()); + // financial3203VO.setSelfPayCash( + // financial3203VO.getSelfPayCash() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayCash()); + // financial3203VO + // .setSelfPayALI(financial3203VO.getSelfPayALI() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayALI()); + // financial3203VO + // .setSelfPayVX(financial3203VO.getSelfPayVX() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayVX()); + // financial3203VO.setSelfPayUNION( + // financial3203VO.getSelfPayUNION() == null ? BigDecimal.ZERO : financial3203VO.getSelfPayUNION()); + // + // BigDecimal cashSum = financial3203VO.getSelfPayCash().add(financial3203VO.getSelfPayVX()) + // .add(financial3203VO.getSelfPayUNION()).add(financial3203VO.getSelfPayALI()); + // + // Financial3203AParam busMonthSetlApply = new Financial3203AParam(); + // busMonthSetlApply.setClrType(clrType.getValue()).setMedfeeSumamt() + // .setMedSumfee().setCashPayamt() + // .setAcctPay() + // .setBegndate(DateUtils.dateTime("yyyy-MM-dd", financial3203AWebParam.getStmtBegnDate().toString())) + // .setEnddate(DateUtils.dateTime("yyyy-MM-dd", financial3203AWebParam.getStmtEndDate().toString())) + // .setClrOptins(financial3203AWebParam.getClrOptins()); + // + // return busMonthSetlApply; + // } + + /** + * 【3101】明细审核事前分析服务参数 + * + * @return + */ + public FsiConsultation3101Param getHealthcareConsultationDetail3101(String syscode, List encounterId, + YbPayLoc payLoc, Whether inOutDiagType) { + + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + // 查询就诊记录 + List encounters = iEncounterService.list( + new LambdaQueryWrapper().in(Encounter::getId, encounterId).eq(Encounter::getTenantId, tenantId)); + + List patients = new ArrayList<>(); + for (Encounter encounter : encounters) { + // 查询账户信息 + Account account = accountService.getOne(new LambdaQueryWrapper() + .eq(Account::getEncounterId, encounter.getId()).eq(Account::getEncounterFlag, Whether.YES.getValue()) + .orderByDesc(Account::getId).last(YbCommonConstants.sqlConst.LIMIT1)); + // 查询患者信息 + Patient patient = iPatientService.getOne(new LambdaQueryWrapper() + .in(Patient::getId, encounter.getPatientId()).eq(Patient::getTenantId, tenantId) + .orderByDesc(Patient::getId).last(YbCommonConstants.sqlConst.LIMIT1)); + + // 查询就诊信息集合 + List list = getFsiEncounterList(encounter, patient, tenantId, payLoc, inOutDiagType); + + FsiPatient3101Param patientYb = new FsiPatient3101Param(); + // 患者唯一标识暂定使用id + patientYb.setPatnId(patient.getId().toString()).setPatnName(patient.getName()) + .setGend(patient.getGenderEnum().toString()).setBrdy(patient.getBirthDate()) + .setPoolarea(account.getYbAreaNo()).setCurrMdtrtId(encounter.getBusNo()).setFsiEncounterDtos(list); + + patients.add(patientYb); + } + + // 创建实体 + FsiConsultation3101Param healthcareConsultationDetail = new FsiConsultation3101Param(); + healthcareConsultationDetail.setSyscode(syscode).setPatientDtos(patients); + + return healthcareConsultationDetail; + } + + /** + * [3101]明细审核事前分析服务参数-就诊信息集合 + * + * @return + */ + private List getFsiEncounterList(Encounter encounter, Patient patient, Integer tenantId, + YbPayLoc payLoc, Whether outSetlFlag) { + // 查询就诊记录 + List encounters = iEncounterService.list(new LambdaQueryWrapper() + .eq(Encounter::getPatientId, patient.getId()).eq(Encounter::getTenantId, tenantId)); + + List list = new ArrayList(); + for (Encounter enc : encounters) { + // 查询机构信息 + Long hospitalIdByOrgId = userService.getHospitalIdByOrgId(enc.getOrganizationId()); + Organization organization = iOrganizationService.getById(hospitalIdByOrgId); + // 查询医嘱信息 + List fsiOrders = getFsiOrderList(enc, patient, tenantId); + // 查询手术信息 + List fsiOperations = getFsiOperationList(enc, patient, tenantId); + + YbMedinsType medinsType = YbMedinsType.getByValue(organization.getMedinsType()); + if (medinsType == null) { + medinsType = YbMedinsType.FIXMEDINS_TYPE1; + } + + // 查询诊断信息 + List encounterDiagnosisList = iEncounterDiagnosisService + .list(new LambdaQueryWrapper().eq(EncounterDiagnosis::getEncounterId, enc.getId()) + .eq(EncounterDiagnosis::getTenantId, enc.getTenantId())); + EncounterDiagnosis mainEncounterDiagnosis = null; + + for (EncounterDiagnosis encounterDiagnosis : encounterDiagnosisList) { + if (Whether.YES.getValue().equals(encounterDiagnosis.getMaindiseFlag())) { + mainEncounterDiagnosis = encounterDiagnosis; + } + } + + Condition condition = iConditionService.getById(mainEncounterDiagnosis.getConditionId()); + ConditionDefinition conditionDefinition = iConditionDefinitionService.getById(condition.getDefinitionId()); + // 查询诊断信息集合 + List fsiDiagnoses = getFsiDiagnoseList(encounterDiagnosisList, tenantId); + // 查询主治医生 + EncounterParticipant encounterParticipant = iEncounterParticipantService.getOne( + new LambdaQueryWrapper().eq(EncounterParticipant::getEncounterId, enc.getId()) + .eq(EncounterParticipant::getTypeCode, ParticipantType.ATTENDING_DOCTOR.getCode())); + Practitioner doctor = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, encounterParticipant.getPractitionerId())); + // 查询科室 + Organization org = iOrganizationService.getById(doctor.getOrgId()); + // 查询医疗类别 + YbClrType clrType = YbClrType.getByValue(enc.getYbClassEnum().toString()); + YbMedMdtrtType ybMedMdtrtType = null; + switch (clrType) { + case OUTPATIENT_CLINIC: + ybMedMdtrtType = YbMedMdtrtType.OUTPATIENT_CLINIC; + break; + case INPATIENT_CARE: + ybMedMdtrtType = YbMedMdtrtType.INPATIENT_CARE; + break; + default: + ybMedMdtrtType = YbMedMdtrtType.OTHER; + break; + } + // 院内唯一流水号查询挂号信息 + String busNo = encounter.getBusNo(); + ClinicReg reg = iRegService.getOne(new LambdaQueryWrapper().eq(ClinicReg::getIptOtpNo, busNo) + .eq(ClinicReg::getTenantId, tenantId)); + // 查询付款实体 + List payList = iPaymentReconciliationService.list( + new LambdaQueryWrapper().eq(PaymentReconciliation::getEncounterId, enc.getId()) + .eq(PaymentReconciliation::getTenantId, tenantId)); + // 自费金额 + BigDecimal ownPay = BigDecimal.ZERO; + // 自付金额 + BigDecimal selfPay = BigDecimal.ZERO; + for (PaymentReconciliation paymentReconciliation : payList) { + // 查询付款详情 + List details = + iPaymentRecDetailService.list(new LambdaQueryWrapper() + .eq(PaymentRecDetail::getReconciliationId, paymentReconciliation.getId()) + .eq(PaymentRecDetail::getTenantId, tenantId)); + for (PaymentRecDetail detail : details) { + if (YbPayment.SELF_PAY.getValue().equals(detail.getPayEnum())) { + ownPay = ownPay.add(detail.getAmount()); + } + if (YbPayment.SELF_CASH_VALUE.getValue().equals(detail.getPayEnum()) + || YbPayment.SELF_CASH_VX_VALUE.getValue().equals(detail.getPayEnum()) + || YbPayment.SELF_CASH_ALI_VALUE.getValue().equals(detail.getPayEnum()) + || YbPayment.SELF_CASH_UNION_VALUE.getValue().equals(detail.getPayEnum())) { + selfPay = selfPay.add(detail.getAmount()); + } + } + } + + FsiEncounter3101Param fsiEncounter = new FsiEncounter3101Param(); + fsiEncounter.setMdtrtId(enc.getBusNo()).setMedinsId(organization.getYbNo()) + .setMedinsName(organization.getName()).setMedinsAdmdvs(organization.getMedinsAdmdvs()) + .setMedinsType(medinsType.getValue()).setMedinsLv(organization.getMedinsLv()) + .setAdmDate(enc.getStartTime()).setDscgDate(enc.getEndTime()).setDscgMainDiseCodg(condition.getYbNo()) + .setDscgMainDiseName(conditionDefinition.getName()).setDrCodg(doctor.getYbNo()) + .setAdmDeptCodg(org.getYbNo()).setAdmDeptName(org.getName()) + // 门诊的入院出院暂定相同,住院的情况应分出一个if + .setDscgDeptCodg(org.getYbNo()).setDscgDeptName(org.getName()) + .setMedMdtrtType(ybMedMdtrtType.getValue()) + // 生育状态默认未知 + .setMedType(reg.getMedType()).setMedType(YbMatnStas.UNKNOWN.getValue()).setOwnpayAmt(ownPay) + .setSelfpayAmt(selfPay).setSetlTotlnum(payList.size()).setInsutype(reg.getInsutype()) + .setReimFlag(payLoc.getValue()).setOutSetlFlag(outSetlFlag.getValue().toString()); + + list.add(fsiEncounter); + } + + return list; + } + + /** + * [3101]明细审核事前分析服务参数-手术集合 + * + * @return + */ + private List getFsiOperationList(Encounter enc, Patient patient, Integer tenantId) { + return null; + } + + /** + * [3101]明细审核事前分析服务参数-诊断集合 + * + * @return + */ + private List getFsiDiagnoseList(List encounterDiagnosisList, + Integer tenantId) { + + List fsiDiagnoses = new ArrayList(); + // List conditionIdList = encounterDiagnosisList.stream() + // .map(EncounterDiagnosis::getConditionId) + // .collect(Collectors.toList()); + // + // List conditionList = iConditionService.list(new + // LambdaQueryWrapper().in(Condition::getId, conditionIdList).eq(Condition::getTenantId, tenantId)); + // + // List definitionList = conditionList.stream() + // .map(Condition::getDefinitionId) + // .collect(Collectors.toList()); + // + // List conditionDefinitions = iConditionDefinitionService.list(new + // LambdaQueryWrapper().in(ConditionDefinition::getId, + // definitionList).eq(ConditionDefinition::getTenantId, tenantId)); + + Condition condition = null; + ConditionDefinition conditionDefinition = null; + int sort = 1; + for (EncounterDiagnosis encounterDiagnosis : encounterDiagnosisList) { + FsiDiagnose3101Param fsiDiagnose = new FsiDiagnose3101Param(); + // 出入院诊断及门诊诊断 + if (YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS.getValue() + .equals(encounterDiagnosis.getIptDiseTypeCode().toString())) { + fsiDiagnose.setInoutDiseType(YbInOutDiagType.YB_OUT_DIAG_TYPE.getValue()); + } else if (YbIptDiseTypeCode.ADMISSION_DIAGNOSIS.getValue() + .equals(encounterDiagnosis.getIptDiseTypeCode().toString())) { + fsiDiagnose.setInoutDiseType(YbInOutDiagType.YB_IN_DIAG_TYPE.getValue()); + } else if (YbIptDiseTypeCode.OUTPATIENT_DIAGNOSIS.getValue() + .equals(encounterDiagnosis.getIptDiseTypeCode().toString())) { + //// TODO: sjq 门诊诊断怎么存? + } else { + continue; + } + condition = iConditionService.getOne(new LambdaQueryWrapper() + .eq(Condition::getId, encounterDiagnosis.getConditionId()).eq(Condition::getTenantId, tenantId)); + if (condition == null) { + continue; + } else { + conditionDefinition = iConditionDefinitionService.getOne(new LambdaQueryWrapper() + .eq(ConditionDefinition::getId, condition.getDefinitionId()) + .eq(ConditionDefinition::getTenantId, tenantId)); + if (conditionDefinition == null) { + continue; + } + } + // 主诊断判断 + if (Whether.YES.getValue().equals(encounterDiagnosis.getMaindiseFlag())) { + fsiDiagnose.setMaindiseFlag(Whether.YES.getValue().toString()); + } + + fsiDiagnose.setDiseId(condition.getBusNo()).setDiasSrtNo(String.valueOf(sort)) + .setDiseCodg(conditionDefinition.getYbNo()).setDiseName(conditionDefinition.getName()) + .setDiseDate(condition.getRecordedDatetime()); + + sort++; + + fsiDiagnoses.add(fsiDiagnose); + } + + return fsiDiagnoses; + } + + /** + * [3101]明细审核事前分析服务参数-处方(医嘱)集合 + * + * @return + */ + private List getFsiOrderList(Encounter enc, Patient patient, Integer tenantId) { + // 查询医嘱信息 + List medicationRequests = + iMedicationRequestService.list(new LambdaQueryWrapper() + .eq(MedicationRequest::getEncounterId, enc.getId()).eq(MedicationRequest::getTenantId, tenantId)); + + List deviceRequests = iDeviceRequestService.list(new LambdaQueryWrapper() + .eq(DeviceRequest::getEncounterId, enc.getId()).eq(DeviceRequest::getTenantId, tenantId)); + + List serviceRequests = iServiceRequestService.list(new LambdaQueryWrapper() + .eq(ServiceRequest::getEncounterId, enc.getId()).eq(ServiceRequest::getTenantId, tenantId)); + + for (MedicationRequest medicationRequest : medicationRequests) { + // 查询药品定义 + Medication medication = iMedicationService.getById(medicationRequest.getDeviceDefId()); + if (medication == null) { + continue; + } + MedicationDefinition medicationDefinition = + iMedicationDefinitionService.getById(medication.getMedicationDefId()); + if (medicationDefinition == null) { + continue; + } + // 是否是长期医嘱 + Whether whether = Whether.NO; + if (TherapyTimeType.LONG_TERM.getValue().equals(medicationRequest.getTherapyEnum())) { + whether = Whether.YES; + } + // 查询收费项 + ChargeItem chargeItem = iChargeItemService + .getOne(new LambdaQueryWrapper().eq(ChargeItem::getEncounterId, enc.getId()) + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.MED_MEDICATION_REQUEST) + .eq(ChargeItem::getTenantId, tenantId)); + if (chargeItem == null) { + continue; + } + YbMedChrgItmType medChrgItmType = YbMedChrgItmType.getByCode(chargeItem.getContextEnum()); + if (medChrgItmType == null) { + continue; + } + // 查询医保等级 + YbChrgitmLv chrgitmLv = YbChrgitmLv.getByValue(medicationDefinition.getChrgitmLv()); + if (chrgitmLv == null) { + chrgitmLv = YbChrgitmLv.SELF_PAY; + } + // 查询医保目录价格 + Double price; + String ybNo = medicationDefinition.getYbNo(); + CatalogDrugInfo drugInfo = iCatalogDrugInfoService.getOne(new LambdaQueryWrapper() + .eq(CatalogDrugInfo::getMedicalCatalogCode, ybNo).last(YbCommonConstants.sqlConst.LIMIT1)); + if (drugInfo == null) { + CatalogMedicalHerbInfo herbInfo = + iCatalogMedicalHerbInfoService.getOne(new LambdaQueryWrapper() + .eq(CatalogMedicalHerbInfo::getMedicalCatalogCode, ybNo) + .last(YbCommonConstants.sqlConst.LIMIT1)); + } else { + + } + // 查询医院信息 + Long hospitalId = userService.getHospitalIdByOrgId(enc.getOrganizationId()); + Organization org = iOrganizationService.getById(hospitalId); + + FsiOrder3101Param fsiOrder = new FsiOrder3101Param(); + fsiOrder.setRxId(medicationRequest.getBusNo()).setRxno(medicationRequest.getPrescriptionNo()) + .setLongDrordFlag(whether.getCode()).setHilistCode(medicationDefinition.getCategoryCode()) + // 医嘱类别暂定全部使用其他 + .setChrgType(medChrgItmType.getValue()).setDrordBhvr(YbDrordBhvr.OTHER.getValue()) + .setHilistCode(medicationDefinition.getYbNo()) + // 医保目录价格未定义 + .setHilistName(medicationDefinition.getName()).setHilistLv(chrgitmLv.getValue().toString()) + .setHosplistCode(org.getYbNo()).setHosplistName(org.getName()) + .setCnt(new BigDecimal(chargeItem.getQuantityValue().toString())).setPric(chargeItem.getUnitPrice()) + .setSumamt(chargeItem.getTotalPrice()); + // todo:sjq 从第23项后面的值越来越离谱,暂定先停止3101和3103的开发 + + } + + return null; + } + + /** + * 【3202】医药机构费用结算对明细账 + * + * @param settlement3202WebParam 费用结算对明细账前端入参 + * @return 医保参数 + */ + public FinancialSettlement3202Param getFinancialSettlement3202Param(Settlement3202WebParam settlement3202WebParam) { + // 数据库查询 + Settlement3202Dto reconciliation = + medicalInsuranceMapper.get3202Param(settlement3202WebParam.getStmtBegnDate().toString(), + settlement3202WebParam.getStmtEndDate().toString(), SecurityUtils.getLoginUser().getTenantId(), + settlement3202WebParam.getOrgId(), settlement3202WebParam.getClrType(), + settlement3202WebParam.getSetlOptins(), YbPayment.SELF_YB_ZH_PAY.getValue(), + YbPayment.SELF_YB_ZH_GJ_VALUE.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()); + // 数据处理 + reconciliation + .setAcctGjPay(reconciliation.getAcctGjPay() == null ? BigDecimal.ZERO : reconciliation.getAcctGjPay()); + reconciliation.setAcctPay(reconciliation.getAcctPay() == null ? BigDecimal.ZERO : reconciliation.getAcctPay()); + reconciliation.setFundPaySumAmt( + reconciliation.getFundPaySumAmt() == null ? BigDecimal.ZERO : reconciliation.getFundPaySumAmt()); + reconciliation.setMedFeeSumAmt( + reconciliation.getMedFeeSumAmt() == null ? BigDecimal.ZERO : reconciliation.getMedFeeSumAmt()); + reconciliation.setSelfPayCash( + reconciliation.getSelfPayCash() == null ? BigDecimal.ZERO : reconciliation.getSelfPayCash()); + reconciliation + .setSelfPayALI(reconciliation.getSelfPayALI() == null ? BigDecimal.ZERO : reconciliation.getSelfPayALI()); + reconciliation + .setSelfPayVX(reconciliation.getSelfPayVX() == null ? BigDecimal.ZERO : reconciliation.getSelfPayVX()); + reconciliation.setSelfPayUNION( + reconciliation.getSelfPayUNION() == null ? BigDecimal.ZERO : reconciliation.getSelfPayUNION()); + + BigDecimal cashSum = reconciliation.getSelfPayCash().add(reconciliation.getSelfPayVX()) + .add(reconciliation.getSelfPayUNION()).add(reconciliation.getSelfPayALI()); + // BigDecimal zhSum = reconciliation.getAcctGjPay().add(reconciliation.getAcctPay()); + // 组装参数 + FinancialSettlement3202Param financialSettlement3202Param = new FinancialSettlement3202Param(); + financialSettlement3202Param.setClrType(settlement3202WebParam.getClrType()).setCashPayamt(cashSum) + .setFileQuryNo(settlement3202WebParam.getFileQuryNo()) + .setFixmedinsSetlCnt(reconciliation.getFixMedInsSetlCnt()).setMedfeeSumamt(reconciliation.getMedFeeSumAmt()) + .setSetlOptins(settlement3202WebParam.getSetlOptins()) + .setStmtBegndate(DateUtils.parseDate(settlement3202WebParam.getStmtBegnDate())) + .setStmtEnddate(DateUtils.parseDate(settlement3202WebParam.getStmtEndDate())) + .setFundPaySumamt(reconciliation.getFundPaySumAmt()); + // 返回结果 + return financialSettlement3202Param; + } + + /** + * 【3202】对账明细的文件数据 + * + * @param paymentIds 付款实体ids + * @return 查询结果 + */ + public List getFinancial3202FileParam(List paymentIds) { + List list = new ArrayList<>(); + for (Long paymentId : paymentIds) { + + // 查询基础信息 + List paymentRecDetails = iPaymentRecDetailService + .list(new LambdaQueryWrapper().eq(PaymentRecDetail::getReconciliationId, paymentId)); + PaymentReconciliation paymentReconciliation = iPaymentReconciliationService.getById(paymentId); + if (paymentReconciliation == null) { + throw new ServiceException("未查询到付款信息"); + } + String ybSettleIds = paymentReconciliation.getYbSettleIds(); + if (StringUtils.isEmpty(ybSettleIds)) { + continue; + } + List settleIdList = + Arrays.stream(ybSettleIds.split(",")).map(String::trim).filter(s -> !s.isEmpty()).map(s -> { + try { + return Long.valueOf(s); + } catch (NumberFormatException e) { + return null; + } + }).filter(Objects::nonNull).collect(Collectors.toList()); + for (Long settleId : settleIdList) { + ClinicSettle clinicSettle = iClinicSettleService + .getOne(new LambdaQueryWrapper().eq(ClinicSettle::getSetlId, settleId)); + if (paymentReconciliation == null || paymentRecDetails.isEmpty() || clinicSettle == null) { + continue; + } + ClinicReg clinicReg = iRegService + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtId, clinicSettle.getMdtrtId())); + + // 计算金额 + BigDecimal fundPay = BigDecimal.ZERO; + BigDecimal accountPay = BigDecimal.ZERO; + for (PaymentRecDetail paymentRecDetail : paymentRecDetails) { + if (YbPayment.YB_FUND_PAY.getValue().equals(paymentRecDetail.getPayEnum())) { + fundPay = fundPay.add(paymentRecDetail.getAmount()); + } else if (YbPayment.SELF_YB_ZH_PAY.getValue().equals(paymentRecDetail.getPayEnum()) + || YbPayment.SELF_YB_ZH_GJ_VALUE.getValue().equals(paymentRecDetail.getPayEnum())) { + accountPay = accountPay.add(paymentRecDetail.getAmount()); + } + } + + // 反结标志 + String refdSetlFlag = Whether.NO.getValue().toString(); + if (paymentReconciliation.getPaymentEnum().equals(PaymentType.UN_PAY.getValue())) { + refdSetlFlag = Whether.YES.getValue().toString();// 1 是退费 2 否退费 + } + Financial3202FileParam financial3202FileParam = new Financial3202FileParam(); + financial3202FileParam.setSetlId(clinicSettle.getSetlId()).setMdtrtId(clinicSettle.getMdtrtId()) + .setPsnNo(clinicReg.getPsnNo()).setMedfeeSumamt(paymentReconciliation.getTenderedAmount()) + .setFundPaySumamt(fundPay).setAcctPay(accountPay).setRefdSetlFlag(refdSetlFlag); + // 添加集合 + list.add(financial3202FileParam); + } + } + return list; + } + + /** + * 【3301】获取医保目录对照入参 + * + * @param tableName 对应定义表 + * @param id 主键 + * @return 医保参数 + */ + public MedicalDirectory3301Param getMedicalDirectory3301Param(String tableName, Long id) { + MedicalDirectory3301Param medicalDirectory3301Param = new MedicalDirectory3301Param(); + if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(tableName)) { + // 耗材 + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(id); + if (deviceDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + YbListType listType = YbListType.getByValue(deviceDefinition.getCategoryCode()); + if (listType == null) { + listType = YbListType.MEDICAL_CONSUMABLES; + } + medicalDirectory3301Param.setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsHilistName(deviceDefinition.getName()).setListType(listType.getValue()) + .setMedListCodg(deviceDefinition.getYbNo()) + .setBegndate(DateUtils.dateTimeNow(YbCommonConstants.constants.YYYY_MM_DD)) + .setEnddate(YbCommonConstants.constants.END_TIME); + } else if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(tableName)) { + // 药品 + MedicationDefinition medicationDefinition = iMedicationDefinitionService.getById(id); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 项目类型为中成药(1)、西药(2)、外购药品(3)、中草药(4)时查药品表;为耗材(9)时查器材表 + YbListType listType = YbListType.getByValue(medicationDefinition.getCategoryCode()); + if (listType == null) { + listType = switch (medicationDefinition.getCategoryCode()) { + case "1", "2" -> YbListType.WESTERN_AND_CHINESE_PATENT_MEDICINE; + case "4" -> YbListType.IMPORTANT_HERBAL_SLICES; + default -> throw new ServiceException("未查询到目录类别"); + }; + } + medicalDirectory3301Param.setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsHilistName(medicationDefinition.getName()).setListType(listType.getValue()) + .setMedListCodg(medicationDefinition.getYbNo()) + .setBegndate(DateUtils.dateTimeNow(YbCommonConstants.constants.YYYY_MM_DD)) + .setEnddate(YbCommonConstants.constants.END_TIME); + } else if (CommonConstants.TableName.WOR_ACTIVITY_DEFINITION.equals(tableName)) { + // 医疗项目 + ActivityDefinition activityDefinition = iActivityDefinitionService.getById(id); + if (activityDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + YbListType listType = YbListType.getByValue(activityDefinition.getCategoryCode()); + if (listType == null) { + listType = YbListType.MEDICAL_SERVICE_ITEM; + } + medicalDirectory3301Param.setFixmedinsHilistId(activityDefinition.getBusNo()) + .setFixmedinsHilistName(activityDefinition.getName()).setListType(listType.getValue()) + .setMedListCodg(activityDefinition.getYbNo()) + .setBegndate(DateUtils.dateTimeNow(YbCommonConstants.constants.YYYY_MM_DD)) + .setEnddate(YbCommonConstants.constants.END_TIME); + } else if (CommonConstants.TableName.ADM_HEALTHCARE_SERVICE.equals(tableName)) { + // 医疗服务 + HealthcareService healthcareServiceService = iHealthcareServiceService.getById(id); + if (healthcareServiceService == null) { + throw new ServiceException("未查询到药品信息"); + } + YbListType listType = YbListType.getByValue(healthcareServiceService.getCategoryCode()); + if (listType == null) { + listType = YbListType.MEDICAL_SERVICE_ITEM; + } + medicalDirectory3301Param.setFixmedinsHilistId(String.valueOf(healthcareServiceService.getId())) + .setFixmedinsHilistName(healthcareServiceService.getName()).setListType(listType.getValue()) + .setMedListCodg(healthcareServiceService.getYbNo()) + .setBegndate(DateUtils.dateTimeNow(YbCommonConstants.constants.YYYY_MM_DD)) + .setEnddate(YbCommonConstants.constants.END_TIME); + } else { + throw new ServiceException("未查询到医疗项目"); + } + return medicalDirectory3301Param; + } + + /** + * 【3301】医保目录对照参数作成(药品) + * + * @param categoryCode 药品分类 + * @param busNo 药品编号 + * @param name 药品编号 + * @param ybNo 医保编码 + * @return 医保目录对照参数 + */ + public MedicalDirectory3301Param getMedicalDirectory3301ParamMedication(String categoryCode, String busNo, + String name, String ybNo) { + String listType; + if (MedCategoryCode.TRADITIONAL_CHINESE_MEDICINE.getValue().equals(categoryCode) + || MedCategoryCode.WESTERN_MEDICINE.getValue().equals(categoryCode)) { + listType = YbListType.WESTERN_AND_CHINESE_PATENT_MEDICINE.getValue(); + } else if (MedCategoryCode.CHINESE_HERBAL_MEDICINE.getValue().equals(categoryCode)) { + listType = YbListType.IMPORTANT_HERBAL_SLICES.getValue(); + } else { + throw new ServiceException("无效的目录类别"); + } + return new MedicalDirectory3301Param().setFixmedinsHilistId(busNo).setFixmedinsHilistName(name) + .setListType(listType).setMedListCodg(ybNo) + .setBegndate(DateUtils.dateTimeNow(YbCommonConstants.constants.YYYY_MM_DD)) + .setEnddate(YbCommonConstants.constants.END_TIME); + } + + /** + * 【3302】医保目录对照撤销 + * + * @param tableName 对应定义表 + * @param id 主键 + * @return + */ + public MedicalDirectory3302Param getMedicalDirectory3302Param(String tableName, Long id) { + MedicalDirectory3302Param medicalDirectory3302Param = new MedicalDirectory3302Param(); + if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(tableName)) { + // 耗材 + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(id); + if (deviceDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + YbListType listType = YbListType.getByValue(deviceDefinition.getCategoryCode()); + if (listType == null) { + listType = YbListType.MEDICAL_CONSUMABLES; + } + medicalDirectory3302Param.setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsCode(SecurityUtils.getLoginUser().getOptionJson().getString("fixmedinsCode")) + .setListType(listType.getValue()).setMedListCodg(deviceDefinition.getYbNo()); + } else if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(tableName)) { + // 药品 + MedicationDefinition medicationDefinition = iMedicationDefinitionService.getById(id); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 项目类型为中成药(1)、西药(2)、外购药品(3)、中草药(4)时查药品表;为耗材(9)时查器材表 + YbListType listType = YbListType.getByValue(medicationDefinition.getCategoryCode()); + if (listType == null) { + listType = switch (medicationDefinition.getCategoryCode()) { + case "1", "2" -> YbListType.WESTERN_AND_CHINESE_PATENT_MEDICINE; + case "4" -> YbListType.IMPORTANT_HERBAL_SLICES; + default -> throw new ServiceException("未查询到目录类别"); + }; + } + medicalDirectory3302Param.setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsCode(SecurityUtils.getLoginUser().getOptionJson().getString("fixmedinsCode")) + .setListType(listType.getValue()).setMedListCodg(medicationDefinition.getYbNo()); + } else if (CommonConstants.TableName.WOR_ACTIVITY_DEFINITION.equals(tableName)) { + // 医疗项目 + ActivityDefinition activityDefinition = iActivityDefinitionService.getById(id); + if (activityDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + YbListType listType = YbListType.getByValue(activityDefinition.getCategoryCode()); + if (listType == null) { + listType = YbListType.MEDICAL_SERVICE_ITEM; + } + medicalDirectory3302Param.setFixmedinsHilistId(activityDefinition.getBusNo()) + .setFixmedinsCode(SecurityUtils.getLoginUser().getOptionJson().getString("fixmedinsCode")) + .setListType(listType.getValue()).setMedListCodg(activityDefinition.getYbNo()); + } else { + // 医疗项目 + HealthcareService healthcareService = iHealthcareServiceService.getById(id); + if (healthcareService == null) { + throw new ServiceException("未查询到药品信息"); + } + YbListType listType = YbListType.getByValue(healthcareService.getCategoryCode()); + if (listType == null) { + listType = YbListType.MEDICAL_SERVICE_ITEM; + } + medicalDirectory3302Param.setFixmedinsHilistId(healthcareService.getId().toString()) + .setFixmedinsCode(SecurityUtils.getLoginUser().getOptionJson().getString("fixmedinsCode")) + .setListType(listType.getValue()).setMedListCodg(healthcareService.getYbNo()); + } + return medicalDirectory3302Param; + } + + /** + * 【3302】医保目录对照撤销参数作成(药品) + * + * @param categoryCode 药品分类 + * @param busNo 药品编号 + * @param ybNo 医保编码 + * @return 医保目录对照撤销参数 + */ + public MedicalDirectory3302Param getMedicalDirectory3302ParamMedication(String categoryCode, String busNo, + String ybNo) { + String listType; + if (MedCategoryCode.TRADITIONAL_CHINESE_MEDICINE.getValue().equals(categoryCode) + || MedCategoryCode.WESTERN_MEDICINE.getValue().equals(categoryCode)) { + listType = YbListType.WESTERN_AND_CHINESE_PATENT_MEDICINE.getValue(); + } else if (MedCategoryCode.CHINESE_HERBAL_MEDICINE.getValue().equals(categoryCode)) { + listType = YbListType.IMPORTANT_HERBAL_SLICES.getValue(); + } else { + throw new ServiceException("无效的目录类别"); + } + return new MedicalDirectory3302Param().setFixmedinsHilistId(busNo) + .setFixmedinsCode(TenantOptionUtil.getOptionContent(TenantOptionDict.FIXMEDINS_CODE)).setListType(listType) + .setMedListCodg(ybNo); + } + + /** + * + * @param clearing3205AWebParma [3205]前台传参 + * @return 医保入参 + */ + public Clearing3205AParma getClearing3205AParma(Clearing3205AWebParma clearing3205AWebParma) { + String clrStas = clearing3205AWebParma.getClrStas(); + // 10 已申请20 已受理50 已清算如不填写,默认为10 + if (StringUtils.isEmpty(clrStas)) { + clrStas = YbClrStas.CLR_STAS10.getValue(); + } + YbClrStas ybClrStas = YbClrStas.getByValue(clrStas); + // 年月格式,例如:202310 + // 查询clr_sta为20、50的时候,该值必填 + if (ybClrStas != YbClrStas.CLR_STAS10 && StringUtils.isEmpty(clearing3205AWebParma.getClrYm())) { + throw new ServiceException("请填写清算状态"); + } + Clearing3205AParma clearing3205AParma = new Clearing3205AParma(); + clearing3205AParma.setClrOptins(clearing3205AWebParma.getClrOptins()) + .setClrStas(clearing3205AWebParma.getClrStas()).setClrYm(clearing3205AWebParma.getClrYm()); + return clearing3205AParma; + } + + /** + * 【3501】库存明细上传 + * + * @param id 供应申请id + * @return 3501医保参数 + */ + public MedicalInventory3501Param getMedicalInventory3501Param(Long id, Integer talentId) { + MedicalInventory3501Param medicalInventory3501Param = new MedicalInventory3501Param(); + // 查库存 + InventoryItem inventoryItem = inventoryItemService.getById(id); + if (inventoryItem == null) { + throw new ServiceException("未查询到库存信息"); + } + if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(inventoryItem.getItemTable())) { + // 查询药品 + MedicationDefinition medicationDefinition = iMedicationDefinitionService.getById(inventoryItem.getItemId()); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 查询盘存数据 + SupplyDelivery one = iSupplyDeliveryService.getOne(new LambdaQueryWrapper() + .eq(SupplyDelivery::getItemTable, CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .eq(SupplyDelivery::getItemId, medicationDefinition.getId()).eq(SupplyDelivery::getTenantId, talentId)); + medicalInventory3501Param.setMedListCodg(medicationDefinition.getYbNo()) + .setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setRxFlag(medicationDefinition.getRxFlag().toString()).setInvdate(one.getOccurrenceEndTime()) + .setInvCnt(inventoryItem.getQuantity()).setFixmedinsBchno(inventoryItem.getLotNumber()) + .setManuDate(inventoryItem.getProductionDate()).setExpyEnd(inventoryItem.getExpirationDate()); + } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(inventoryItem.getItemTable())) { + // 查询器材 + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(inventoryItem.getItemId()); + if (deviceDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 查询盘存数据 + SupplyDelivery one = iSupplyDeliveryService.getOne(new LambdaQueryWrapper() + .eq(SupplyDelivery::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(SupplyDelivery::getItemId, deviceDefinition.getId()).eq(SupplyDelivery::getTenantId, talentId)); + medicalInventory3501Param.setMedListCodg(deviceDefinition.getYbNo()) + .setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setRxFlag(deviceDefinition.getRxFlag().toString()).setInvdate(one.getOccurrenceEndTime()) + .setInvCnt(inventoryItem.getQuantity()).setFixmedinsBchno(inventoryItem.getLotNumber()) + .setManuDate(inventoryItem.getProductionDate()).setExpyEnd(inventoryItem.getExpirationDate()); + } else { + throw new ServiceException("未查询到信息"); + } + return medicalInventory3501Param; + } + + /** + * 【3502】库存信息变更 + * + * @param id 供应发放id + * @param invChgType 变更类型 参考枚举 + * @param talentId 租户id + * @return + */ + public MedicalInventory3502Param getMedicalInventory3502Param(Long id, String invChgType, Integer talentId) { + MedicalInventory3502Param medicalInventory3502Param = new MedicalInventory3502Param(); + + // 查供应发放实体 + SupplyDelivery supplyDelivery = iSupplyDeliveryService.getById(id); + if (supplyDelivery == null) { + throw new ServiceException("未查询到供应信息"); + } + + // 库存变更类型 + YbInvChgType chgType = YbInvChgType.getByValue(invChgType); + if (chgType == null) { + throw new ServiceException("未查询到付款信息"); + } + + if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(supplyDelivery.getItemTable())) { + // 查询药品信息 + MedicationDefinition medicationDefinition = + iMedicationDefinitionService.getById(supplyDelivery.getItemId()); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 查询定价信息 + ChargeItemDefinition chargeItemDefinition = + iChargeItemDefinitionService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefinition::getInstanceTable, CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .eq(ChargeItemDefinition::getInstanceId, medicationDefinition.getId()) + .eq(ChargeItemDefinition::getTenantId, talentId)); + if (chargeItemDefinition == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查查询定价子表 + ChargeItemDefDetail chargeItemDefDetail = + iChargeItemDefDetailService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefDetail::getDefinitionId, chargeItemDefinition.getId()) + .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.UNIT.getCode()) + .eq(ChargeItemDefDetail::getTenantId, talentId).orderByDesc(ChargeItemDefDetail::getConditionValue) + .last(YbCommonConstants.sqlConst.LIMIT1)); + if (chargeItemDefDetail == null) { + throw new ServiceException("未查询到定价信息"); + } + // 最小单位售卖价格 + BigDecimal price; + if (medicationDefinition.getPartPercent().compareTo(BigDecimal.ZERO) > 0) { + price = + chargeItemDefDetail.getAmount().divide(medicationDefinition.getPartPercent(), RoundingMode.HALF_UP); + } else { + price = chargeItemDefDetail.getAmount().divide(BigDecimal.ONE, RoundingMode.HALF_UP); + } + + medicalInventory3502Param.setMedListCodg(medicationDefinition.getYbNo()).setInvChgType(chgType.getValue()) + .setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setRxFlag(medicationDefinition.getRxFlag().toString()).setPric(price) + .setCnt(supplyDelivery.getQuantity()).setInvChgTime(supplyDelivery.getUpdateTime()); + } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(supplyDelivery.getItemTable())) { + // 查询耗材信息 + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(supplyDelivery.getItemId()); + if (deviceDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 查询定价信息 + ChargeItemDefinition chargeItemDefinition = + iChargeItemDefinitionService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefinition::getInstanceTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(ChargeItemDefinition::getInstanceId, deviceDefinition.getId()) + .eq(ChargeItemDefinition::getTenantId, talentId)); + if (chargeItemDefinition == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查查询定价子表 + ChargeItemDefDetail chargeItemDefDetail = + iChargeItemDefDetailService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefDetail::getDefinitionId, chargeItemDefinition.getId()) + .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.UNIT.getCode()) + .eq(ChargeItemDefDetail::getTenantId, talentId).orderByDesc(ChargeItemDefDetail::getConditionValue) + .last(YbCommonConstants.sqlConst.LIMIT1)); + if (chargeItemDefDetail == null) { + throw new ServiceException("未查询到定价信息"); + } + // 最小单位售卖价格 + BigDecimal price; + if (deviceDefinition.getPartPercent().compareTo(BigDecimal.ZERO) > 0) { + price = chargeItemDefDetail.getAmount().divide(deviceDefinition.getPartPercent(), RoundingMode.HALF_UP); + } else { + price = chargeItemDefDetail.getAmount().divide(BigDecimal.ONE, RoundingMode.HALF_UP); + } + + medicalInventory3502Param.setMedListCodg(deviceDefinition.getYbNo()).setInvChgType(chgType.getValue()) + .setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setRxFlag(deviceDefinition.getRxFlag().toString()).setPric(price).setCnt(supplyDelivery.getQuantity()) + .setInvChgTime(supplyDelivery.getUpdateTime()); + } else { + throw new ServiceException("未查询到信息"); + } + return medicalInventory3502Param; + } + + /** + * 【3503】商品采购 + * + * @param id 供应发放id + * @param talentId 租户id + * @return + */ + public Medical3503Param getMedical3503Param(Long id, Integer talentId) { + Medical3503Param medical3503Param = new Medical3503Param(); + // 查供应发放实体 + SupplyDelivery supplyDelivery = iSupplyDeliveryService.getById(id); + if (supplyDelivery == null) { + throw new ServiceException("未查询到供应发放信息"); + } + // 查询发放请求实体 + SupplyRequest supplyRequest = iSupplyRequestService.getOne(new LambdaQueryWrapper() + .eq(SupplyRequest::getId, supplyDelivery.getRequestId()).eq(SupplyRequest::getTenantId, talentId) + .eq(SupplyRequest::getTypeEnum, SupplyType.PURCHASE_INVENTORY.getValue())); + if (supplyRequest == null) { + throw new ServiceException("未查询到供应信息"); + } + // 查库存信息 + InventoryItem inventoryItem = inventoryItemService.getOne(new LambdaQueryWrapper() + .eq(InventoryItem::getLocationStoreId, supplyRequest.getSourceLocationStoreId()) + .eq(InventoryItem::getLocationId, supplyRequest.getPurposeLocationId()) + .eq(InventoryItem::getTenantId, talentId)); + + // 查询经办人 + Practitioner practitioner = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, supplyDelivery.getReceiverId()).eq(Practitioner::getTenantId, talentId)); + + if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(supplyDelivery.getItemTable())) { + // 查询药品信息 + MedicationDefinition medicationDefinition = + iMedicationDefinitionService.getById(supplyDelivery.getItemId()); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 查询定价信息 + ChargeItemDefinition chargeItemDefinition = + iChargeItemDefinitionService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefinition::getInstanceTable, CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .eq(ChargeItemDefinition::getInstanceId, medicationDefinition.getId()) + .eq(ChargeItemDefinition::getTenantId, talentId)); + if (chargeItemDefinition == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查查询定价子表 + ChargeItemDefDetail chargeItemDefDetail = + iChargeItemDefDetailService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefDetail::getDefinitionId, chargeItemDefinition.getId()) + .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.UNIT.getCode()) + .eq(ChargeItemDefDetail::getTenantId, talentId).orderByDesc(ChargeItemDefDetail::getConditionValue) + .last(YbCommonConstants.sqlConst.LIMIT1)); + if (chargeItemDefDetail == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查询供应商 + Supplier supplier = iSupplierService.getById(medicationDefinition.getSupplyId()); + + medical3503Param.setMedListCodg(medicationDefinition.getYbNo()) + .setFixmedinsBchno(inventoryItem.getLotNumber()).setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setRxFlag(medicationDefinition.getRxFlag().toString()).setSplerName(supplier.getName()) + .setManuLotnum(supplyDelivery.getLotNumber()) + .setProdentpName(medicationDefinition.getManufacturerText()) + .setAprvno(medicationDefinition.getApprovalNumber()).setManuDate(inventoryItem.getProductionDate()) + .setExpyEnd(inventoryItem.getExpirationDate()).setPurcRetnCnt(supplyDelivery.getQuantity()) + .setPurcRetnStoinTime(supplyDelivery.getOccurrenceTime()).setPurcRetnOpterName(practitioner.getName()); + } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(supplyDelivery.getItemTable())) { + // 查询耗材信息 + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(supplyDelivery.getItemId()); + if (deviceDefinition == null) { + throw new ServiceException("未查询到耗材信息"); + } + // 查询定价信息 + ChargeItemDefinition chargeItemDefinition = + iChargeItemDefinitionService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefinition::getInstanceTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(ChargeItemDefinition::getInstanceId, deviceDefinition.getId()) + .eq(ChargeItemDefinition::getTenantId, talentId)); + if (chargeItemDefinition == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查查询定价子表 + ChargeItemDefDetail chargeItemDefDetail = + iChargeItemDefDetailService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefDetail::getDefinitionId, chargeItemDefinition.getId()) + .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.UNIT.getCode()) + .eq(ChargeItemDefDetail::getTenantId, talentId).orderByDesc(ChargeItemDefDetail::getConditionValue) + .last(YbCommonConstants.sqlConst.LIMIT1)); + if (chargeItemDefDetail == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查询供应商 + Supplier supplier = iSupplierService.getById(deviceDefinition.getSupplyId()); + + medical3503Param.setMedListCodg(deviceDefinition.getYbNo()).setFixmedinsBchno(inventoryItem.getLotNumber()) + .setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setRxFlag(deviceDefinition.getRxFlag().toString()).setSplerName(supplier.getName()) + .setManuLotnum(supplyDelivery.getLotNumber()).setProdentpName(deviceDefinition.getManufacturerText()) + .setAprvno(deviceDefinition.getApprovalNumber()).setManuDate(inventoryItem.getProductionDate()) + .setExpyEnd(inventoryItem.getExpirationDate()).setPurcRetnCnt(supplyDelivery.getQuantity()) + .setPurcRetnStoinTime(supplyDelivery.getOccurrenceTime()).setPurcRetnOpterName(practitioner.getName()); + } else { + throw new ServiceException("未查询到信息"); + } + return medical3503Param; + } + + /** + * 【3504】商品采购退货 + * + * @param id 供应发放id + * @param talentId 租户id + * @return + */ + public MedicalPurchase3504Param getMedicalPurchase3504Param(Long id, Integer talentId) { + + MedicalPurchase3504Param medicalPurchase3504Param = new MedicalPurchase3504Param(); + // 查供应发放实体 + SupplyDelivery supplyDelivery = iSupplyDeliveryService.getById(id); + if (supplyDelivery == null) { + throw new ServiceException("未查询到供应信息"); + } + // 查询发放请求实体 + SupplyRequest supplyRequest = iSupplyRequestService.getOne(new LambdaQueryWrapper() + .eq(SupplyRequest::getId, supplyDelivery.getRequestId()).eq(SupplyRequest::getTenantId, talentId) + .eq(SupplyRequest::getTypeEnum, SupplyType.PRODUCT_RETURN.getValue())); + if (supplyRequest == null) { + throw new ServiceException("未查询到供应信息"); + } + // 查库存信息 + InventoryItem inventoryItem = inventoryItemService.getOne(new LambdaQueryWrapper() + .eq(InventoryItem::getLocationStoreId, supplyRequest.getSourceLocationStoreId()) + .eq(InventoryItem::getLocationId, supplyRequest.getPurposeLocationId()) + .eq(InventoryItem::getTenantId, talentId)); + + // 查询经办人 + Practitioner practitioner = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, supplyDelivery.getReceiverId()).eq(Practitioner::getTenantId, talentId)); + + if (CommonConstants.TableName.MED_MEDICATION_DEFINITION.equals(supplyDelivery.getItemTable())) { + // 查询药品信息 + MedicationDefinition medicationDefinition = + iMedicationDefinitionService.getById(supplyDelivery.getItemId()); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + // 查询定价信息 + ChargeItemDefinition chargeItemDefinition = + iChargeItemDefinitionService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefinition::getInstanceTable, CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .eq(ChargeItemDefinition::getInstanceId, medicationDefinition.getId()) + .eq(ChargeItemDefinition::getTenantId, talentId)); + if (chargeItemDefinition == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查查询定价子表 + ChargeItemDefDetail chargeItemDefDetail = + iChargeItemDefDetailService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefDetail::getDefinitionId, chargeItemDefinition.getId()) + .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.UNIT.getCode()) + .eq(ChargeItemDefDetail::getTenantId, talentId).orderByDesc(ChargeItemDefDetail::getConditionValue) + .last(YbCommonConstants.sqlConst.LIMIT1)); + if (chargeItemDefDetail == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查询供应商 + Supplier supplier = iSupplierService.getById(medicationDefinition.getSupplyId()); + if (supplier == null) { + throw new ServiceException("未查询到供应商信息"); + } + medicalPurchase3504Param.setMedListCodg(medicationDefinition.getYbNo()) + .setFixmedinsBchno(inventoryItem.getLotNumber()).setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .setRxFlag(medicationDefinition.getRxFlag().toString()).setSplerName(supplier.getName()) + .setPurcInvoNo(supplyRequest.getInvoiceNo()).setManuDate(inventoryItem.getProductionDate()) + .setExpyEnd(inventoryItem.getExpirationDate()).setPurcRetnCnt(supplyDelivery.getQuantity()) + .setPurcRetnStoinTime(supplyDelivery.getOccurrenceTime()).setPurcRetnOpterName(practitioner.getName()); + } else if (CommonConstants.TableName.ADM_DEVICE_DEFINITION.equals(supplyDelivery.getItemTable())) { + // 查询耗材信息 + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(supplyDelivery.getItemId()); + if (deviceDefinition == null) { + throw new ServiceException("未查询到耗材信息"); + } + // 查询定价信息 + ChargeItemDefinition chargeItemDefinition = + iChargeItemDefinitionService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefinition::getInstanceTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(ChargeItemDefinition::getInstanceId, deviceDefinition.getId()) + .eq(ChargeItemDefinition::getTenantId, talentId)); + if (chargeItemDefinition == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查查询定价子表 + ChargeItemDefDetail chargeItemDefDetail = + iChargeItemDefDetailService.getOne(new LambdaQueryWrapper() + .eq(ChargeItemDefDetail::getDefinitionId, chargeItemDefinition.getId()) + .eq(ChargeItemDefDetail::getConditionCode, ConditionCode.UNIT.getCode()) + .eq(ChargeItemDefDetail::getTenantId, talentId).orderByDesc(ChargeItemDefDetail::getConditionValue) + .last(YbCommonConstants.sqlConst.LIMIT1)); + if (chargeItemDefDetail == null) { + throw new ServiceException("未查询到定价信息"); + } + // 查询供应商 + Supplier supplier = iSupplierService.getById(deviceDefinition.getSupplyId()); + if (supplier == null) { + throw new ServiceException("未查询到供应商信息"); + } + medicalPurchase3504Param.setMedListCodg(deviceDefinition.getYbNo()) + .setFixmedinsBchno(inventoryItem.getLotNumber()).setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setRxFlag(deviceDefinition.getRxFlag().toString()).setSplerName(supplier.getName()) + .setManuDate(inventoryItem.getProductionDate()).setExpyEnd(inventoryItem.getExpirationDate()) + .setPurcRetnCnt(supplyDelivery.getQuantity()).setPurcRetnStoinTime(supplyDelivery.getOccurrenceTime()) + .setPurcRetnOpterName(practitioner.getName()).setPurcInvoNo(supplyRequest.getInvoiceNo()); + } else { + throw new ServiceException("未查询到信息"); + } + return medicalPurchase3504Param; + } + + /** + * 【3505】商品销售 + * + * @param id 发放id + * @param ListType 耗材/药品 + * @param tenantId 租户id + * @return + */ + public Medical3505Param getMedical3505Param(Long id, String ListType, Integer tenantId) { + Medical3505Param medical3505Param = new Medical3505Param(); + // 销售商品的种类 + YbListType type = YbListType.getByValue(ListType); + if (type == YbListType.MEDICAL_CONSUMABLES) { + // 耗材的相关处理 + DeviceDispense deviceDispense = iDeviceDispenseService.getById(id); + if (deviceDispense == null) { + throw new ServiceException("未查询到耗材信息"); + } + if (!deviceDispense.getStatusEnum().equals(DispenseStatus.COMPLETED.getValue())) { + throw new ServiceException("耗材未发放"); + } + DeviceRequest deviceRequest = iDeviceRequestService.getById(deviceDispense.getDeviceReqId()); + if (deviceRequest == null) { + throw new ServiceException("未查询到耗材请求信息"); + } + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(deviceDispense.getDeviceDefId()); + if (deviceDefinition == null) { + throw new ServiceException("未查询到耗材信息"); + } + // 查询库存信息 + InventoryItem inventoryItem = inventoryItemService.getOne( + new LambdaQueryWrapper().eq(InventoryItem::getLotNumber, deviceDispense.getLotNumber()) + .eq(InventoryItem::getLocationId, deviceDispense.getLocationId()) + .eq(InventoryItem::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(InventoryItem::getItemId, deviceDispense.getDeviceDefId()) + .eq(InventoryItem::getTenantId, tenantId)); + if (inventoryItem == null) { + throw new ServiceException("未查询到库存信息"); + } + // 查询供应申请单 2025/04/18经在微信群中确认,仅能通过locid,lotnumber,定义id定位库存记录,无法继续准确追到供应请求 + // SupplyRequest supplyRequest = iSupplyRequestService.getOne( + // new LambdaQueryWrapper().eq(SupplyRequest::getLotNumber, deviceDispense.getLotNumber()) + // .eq(SupplyRequest::getPurposeLocationId, deviceDispense.getLocationId()) + // .eq(SupplyRequest::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + // .eq(SupplyRequest::getItemId, deviceDispense.getDeviceDefId()) + // .eq(SupplyRequest::getTenantId, tenantId)); + // if (supplyRequest == null) { + // return null; + // } + // 查询开方医生姓名 + Practitioner practitioner = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, deviceRequest.getRequesterId()).eq(Practitioner::getTenantId, tenantId)); + // 查询当前登录用户的姓名(药师) + Practitioner medDoctor = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, SecurityUtils.getUserId()).eq(Practitioner::getTenantId, tenantId)); + // 查询发药人 + Practitioner performer = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, deviceDispense.getPerformerId()).eq(Practitioner::getTenantId, tenantId)); + // 查询费用结算信息 + ChargeItem chargeItem = iChargeItemService.getOne(new LambdaQueryWrapper() + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.WOR_DEVICE_REQUEST) + .eq(ChargeItem::getServiceId, deviceRequest.getId()).eq(ChargeItem::getTenantId, tenantId)); + if (chargeItem == null) { + throw new ServiceException("未查询到收费项信息"); + } + // 查询付款信息 + PaymentReconciliation paymentReconciliation = + iPaymentReconciliationService.getOne(new LambdaQueryWrapper() + .eq(PaymentReconciliation::getEncounterId, chargeItem.getEncounterId()) + .eq(PaymentReconciliation::getTenantId, tenantId) + .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) + .eq(PaymentReconciliation::getStatusEnum, ChargeItemStatus.BILLED.getValue()) + .eq(PaymentReconciliation::getPatientId, chargeItem.getPatientId()) + .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue())); + if (paymentReconciliation == null) { + throw new ServiceException("未查询到付款信息"); + } + // 查询合同实体 + Contract contract = iContractService.getOne( + new LambdaQueryWrapper().eq(Contract::getBusNo, paymentReconciliation.getContractNo())); + if (contract == null) { + throw new ServiceException("未查询到合同信息"); + } + // 查询就诊信息 + Encounter encounter = iEncounterService.getById(deviceDispense.getEncounterId()); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + // 查询账户信息 + Account account = accountService + .getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, chargeItem.getEncounterId()) + .eq(Account::getTenantId, tenantId).eq(Account::getEncounterFlag, Whether.YES.getValue())); + if (account == null) { + throw new ServiceException("未查询到账户信息"); + } + YbMdtrtCertType mdtrtCertType = YbMdtrtCertType.getByValue(account.getTypeCode()); + if (mdtrtCertType == null) { + throw new ServiceException("未查询到就诊凭证类型"); + } + // 查询就诊id + if (contract.getCategoryEnum().equals(Category.SELF.getValue()) + || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { + medical3505Param.setMdtrtSn(encounter.getBusNo()); + } else { + ClinicReg one = iRegService + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtCertType, account.getTypeCode()) + .eq(ClinicReg::getMdtrtCertNo, account.getNo())); + if (one != null) { + medical3505Param.setMdtrtSn(one.getMdtrtId()); + } + } + // 判断拆零标志 + Whether flag; + if (deviceDefinition.getSalesUnitCode().equals(deviceDispense.getUnitCode())) { + flag = Whether.NO; + } else { + flag = Whether.YES; + } + // 查询发票信息 + Invoice invoice = iInvoiceService.getById(paymentReconciliation.getInvoiceId()); + if (invoice == null) { + throw new ServiceException("未查询到发票信息"); + } + medical3505Param.setMedListCodg(deviceDefinition.getYbNo()).setFixmedinsBchno(inventoryItem.getLotNumber()) + .setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setPrscDrName(practitioner.getName()).setPharName(medDoctor.getName()) + .setPharPracCertNo(medDoctor.getPharPracCertNo()).setPsnCertType(mdtrtCertType.getValue()) + .setManuLotnum(deviceDispense.getLotNumber()).setManuDate(inventoryItem.getProductionDate()) + .setTrdnFlag(flag.getCode()).setRtalDocno(invoice.getId().toString()) + .setSelRetnCnt(deviceDispense.getQuantity()).setSelRetnTime(deviceDispense.getDispenseTime()) + .setSelRetnOpterName(performer.getName()).setRxFlag(deviceDefinition.getRxFlag().toString()) + .setExpyEnd(inventoryItem.getExpirationDate()); + + // 溯源码 + SupplyDelivery supplyDelivery = iSupplyDeliveryService.getOne( + new LambdaQueryWrapper().eq(SupplyDelivery::getLotNumber, deviceDispense.getLotNumber()) + .eq(SupplyDelivery::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(SupplyDelivery::getItemId, deviceDispense.getDeviceDefId())); + if (supplyDelivery != null) { + Map map = new HashMap<>(); + map.put("drug_trac_codg", supplyDelivery.getTraceNo()); + // medical3505Param.setDrugtracinfo(JSON.toJSONString(map)); + } + + } else if (type != YbListType.MEDICAL_SERVICE_ITEM) { + // 药品的相关处理 + MedicationDispense medicationDispense = iMedicationDispenseService.getById(id); + if (medicationDispense == null) { + throw new ServiceException("未查询到药品信息"); + } + if (medicationDispense.getStatusEnum() != DispenseStatus.COMPLETED.getValue()) { + throw new ServiceException("未发药"); + } + MedicationRequest medicationRequest = iMedicationRequestService.getById(medicationDispense.getMedReqId()); + if (medicationRequest == null) { + throw new ServiceException("未查询到药品请求信息"); + } + MedicationDefinition medicationDefinition = + iMedicationDefinitionService.getById(medicationDispense.getMedicationId()); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + + // 查询库存信息 + InventoryItem inventoryItem = inventoryItemService.getOne(new LambdaQueryWrapper() + .eq(InventoryItem::getLotNumber, medicationDispense.getLotNumber()) + .eq(InventoryItem::getLocationId, medicationDispense.getLocationId()) + .eq(InventoryItem::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(InventoryItem::getItemId, medicationDispense.getMedicationId()) + .eq(InventoryItem::getTenantId, tenantId)); + if (inventoryItem == null) { + throw new ServiceException("未查询到库存信息"); + } + // 查询供应申请单 2025/04/18经在微信群中确认,仅能通过locid,lotnumber,定义id定位库存记录,无法继续准确追到供应请求 + // SupplyRequest supplyRequest = iSupplyRequestService.getOne(new LambdaQueryWrapper() + // .eq(SupplyRequest::getLotNumber, medicationDispense.getLotNumber()) + // .eq(SupplyRequest::getPurposeLocationId, medicationDispense.getLocationId()) + // .eq(SupplyRequest::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + // .eq(SupplyRequest::getItemId, medicationDispense.getMedicationId()) + // .eq(SupplyRequest::getTenantId, tenantId)); + // if (supplyRequest == null) { + // return null; + // } + // 查询开方医生姓名 + Practitioner practitioner = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, medicationRequest.getPractitionerId()) + .eq(Practitioner::getTenantId, tenantId)); + // 查询当前登录用户的姓名(药师) + Practitioner medDoctor = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, SecurityUtils.getUserId()).eq(Practitioner::getTenantId, tenantId)); + // 查询发药人 + Practitioner performer = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, medicationDispense.getPractitionerId()) + .eq(Practitioner::getTenantId, tenantId)); + // 查询费用结算信息 + ChargeItem chargeItem = iChargeItemService.getOne(new LambdaQueryWrapper() + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.MED_MEDICATION_REQUEST) + .eq(ChargeItem::getServiceId, medicationRequest.getId()).eq(ChargeItem::getTenantId, tenantId)); + if (chargeItem == null) { + throw new ServiceException("未查询到收费信息"); + } + // 查询付款信息 + PaymentReconciliation paymentReconciliation = + iPaymentReconciliationService.getOne(new LambdaQueryWrapper() + .eq(PaymentReconciliation::getEncounterId, chargeItem.getEncounterId()) + .eq(PaymentReconciliation::getTenantId, tenantId) + .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) + .eq(PaymentReconciliation::getStatusEnum, ChargeItemStatus.BILLED.getValue()) + .eq(PaymentReconciliation::getPatientId, chargeItem.getPatientId()) + .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue())); + if (paymentReconciliation == null) { + throw new ServiceException("未查询到收费信息"); + } + // 查询合同实体 + Contract contract = iContractService.getOne( + new LambdaQueryWrapper().eq(Contract::getBusNo, paymentReconciliation.getContractNo())); + if (contract == null) { + throw new ServiceException("未查询到合同信息"); + } + // 查询就诊信息 + Encounter encounter = iEncounterService.getById(medicationDispense.getEncounterId()); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + // 查询账户信息 + Account account = accountService + .getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, chargeItem.getEncounterId()) + .eq(Account::getTenantId, tenantId).eq(Account::getEncounterFlag, Whether.YES.getValue())); + if (account == null) { + throw new ServiceException("未查询到账号信息"); + } + YbMdtrtCertType mdtrtCertType = YbMdtrtCertType.getByValue(account.getTypeCode()); + if (mdtrtCertType == null) { + throw new ServiceException("未查询到就诊凭证信息"); + } + // 查询就诊id + if (contract.getCategoryEnum().equals(Category.SELF.getValue()) + || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { + medical3505Param.setMdtrtSn(encounter.getBusNo()); + } else { + ClinicReg one = iRegService + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtCertType, account.getTypeCode()) + .eq(ClinicReg::getMdtrtCertNo, account.getNo())); + if (one != null) { + medical3505Param.setMdtrtSn(one.getMdtrtId()); + } + } + // 判断拆零标志 + Whether flag; + if (medicationDefinition.getDefEncounterUnitCode().equals(medicationDispense.getUnitCode())) { + flag = Whether.NO; + } else { + flag = Whether.YES; + } + // 查询发票信息 + Invoice invoice = iInvoiceService.getById(paymentReconciliation.getInvoiceId()); + if (invoice == null) { + throw new ServiceException("未查询到发票信息"); + } + // todo:sjq 商品销售的数量是根据是否拆零计算出来的数量吗? + medical3505Param.setMedListCodg(medicationDefinition.getYbNo()) + .setFixmedinsBchno(inventoryItem.getLotNumber()).setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setPrscDrName(practitioner.getName()).setPharName(medDoctor.getName()) + .setPharPracCertNo(medDoctor.getPharPracCertNo()).setPsnCertType(mdtrtCertType.getValue()) + .setManuLotnum(medicationDispense.getLotNumber()).setManuDate(inventoryItem.getProductionDate()) + .setTrdnFlag(flag.getCode()).setRtalDocno(invoice.getBusNo()) + .setSelRetnCnt(new BigDecimal(medicationDispense.getQuantity().toString())) + .setSelRetnTime(medicationDispense.getDispenseTime()).setSelRetnOpterName(performer.getName()) + .setRxFlag(medicationDefinition.getRxFlag().toString()).setExpyEnd(inventoryItem.getExpirationDate()); + + // 溯源码 + SupplyDelivery supplyDelivery = iSupplyDeliveryService.getOne(new LambdaQueryWrapper() + .eq(SupplyDelivery::getLotNumber, medicationDispense.getLotNumber()) + .eq(SupplyDelivery::getItemTable, CommonConstants.TableName.MED_MEDICATION_DEFINITION) + .eq(SupplyDelivery::getItemId, medicationDispense.getMedicationId())); + if (supplyDelivery != null) { + Map map = new HashMap<>(); + map.put("drug_trac_codg", supplyDelivery.getTraceNo()); + // medical3505Param.setDrugtracinfo(JSON.toJSONString(map)); + } + } + return medical3505Param; + } + + /** + * 【3506】商品销售退货 + * + * @param id 对应发放业务的主键id + * @param ListType 目录种类 + * @param tenantId 租户id + * @return 3506参数 + */ + public Medical3506Param getMedical3506Param(Long id, String ListType, Integer tenantId) { + Medical3506Param medical3506Param = new Medical3506Param(); + // 销售商品的种类 + YbListType type = YbListType.getByValue(ListType); + if (type == YbListType.MEDICAL_CONSUMABLES) { + // 耗材的相关处理 + DeviceDispense deviceDispense = iDeviceDispenseService.getById(id); + if (deviceDispense == null) { + throw new ServiceException("未查询到耗材信息"); + } + if (deviceDispense.getStatusEnum() != DispenseStatus.REFUNDED.getValue()) { + throw new ServiceException("未退耗材"); + } + DeviceRequest deviceRequest = iDeviceRequestService.getById(deviceDispense.getDeviceReqId()); + if (deviceRequest == null) { + throw new ServiceException("未查询到耗材请求信息"); + } + DeviceDefinition deviceDefinition = iDeviceDefinitionService.getById(deviceDispense.getDeviceDefId()); + if (deviceDefinition == null) { + throw new ServiceException("未查询到耗材信息"); + } + // 查询库存信息 + InventoryItem inventoryItem = inventoryItemService.getOne( + new LambdaQueryWrapper().eq(InventoryItem::getLotNumber, deviceDispense.getLotNumber()) + .eq(InventoryItem::getLocationId, deviceDispense.getLocationId()) + .eq(InventoryItem::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(InventoryItem::getItemId, deviceDispense.getDeviceDefId()) + .eq(InventoryItem::getTenantId, tenantId)); + if (inventoryItem == null) { + throw new ServiceException("未查询到库存信息"); + } + // 查询供应申请单 2025/04/18经在微信群中确认,仅能通过locid,lotnumber,定义id定位库存记录,无法继续准确追到供应请求 + SupplyRequest supplyRequest = iSupplyRequestService.getOne( + new LambdaQueryWrapper().eq(SupplyRequest::getLotNumber, deviceDispense.getLotNumber()) + .eq(SupplyRequest::getPurposeLocationId, deviceDispense.getLocationId()) + .eq(SupplyRequest::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(SupplyRequest::getItemId, deviceDispense.getDeviceDefId()) + .eq(SupplyRequest::getTenantId, tenantId)); + if (supplyRequest == null) { + throw new ServiceException("未查询到供应信息"); + } + // 查询开方医生姓名 + Practitioner practitioner = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, deviceRequest.getRequesterId()).eq(Practitioner::getTenantId, tenantId)); + // 查询当前登录用户的姓名(药师) + Practitioner medDoctor = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, SecurityUtils.getUserId()).eq(Practitioner::getTenantId, tenantId)); + // 查询发药人 + Practitioner performer = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, deviceDispense.getPerformerId()).eq(Practitioner::getTenantId, tenantId)); + // 查询费用结算信息 + ChargeItem chargeItem = iChargeItemService.getOne(new LambdaQueryWrapper() + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.WOR_DEVICE_REQUEST) + .eq(ChargeItem::getServiceId, deviceRequest.getId()).eq(ChargeItem::getTenantId, tenantId)); + if (chargeItem == null) { + throw new ServiceException("未查询到收费信息"); + } + // 查询付款信息 + PaymentReconciliation paymentReconciliation = + iPaymentReconciliationService.getOne(new LambdaQueryWrapper() + .eq(PaymentReconciliation::getEncounterId, chargeItem.getEncounterId()) + .eq(PaymentReconciliation::getTenantId, tenantId) + .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) + .eq(PaymentReconciliation::getStatusEnum, ChargeItemStatus.BILLED.getValue()) + .eq(PaymentReconciliation::getPatientId, chargeItem.getPatientId()) + .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue())); + if (paymentReconciliation == null) { + throw new ServiceException("未查询到付款信息"); + } + // 查询合同实体 + Contract contract = iContractService.getOne( + new LambdaQueryWrapper().eq(Contract::getBusNo, paymentReconciliation.getContractNo())); + if (contract == null) { + throw new ServiceException("未查询到合同信息"); + } + // 查询就诊信息 + Encounter encounter = iEncounterService.getById(deviceDispense.getEncounterId()); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + // 查询账户信息 + Account account = accountService.getOne(new LambdaQueryWrapper() + .eq(Account::getEncounterId, chargeItem.getEncounterId()).eq(Account::getTenantId, tenantId)); + if (account == null) { + throw new ServiceException("未查询到账户信息"); + } + YbMdtrtCertType mdtrtCertType = YbMdtrtCertType.getByValue(account.getTypeCode()); + if (mdtrtCertType == null) { + throw new ServiceException("未查询到就诊凭证信息"); + } + // 查询就诊id + if (contract.getCategoryEnum().equals(Category.SELF.getValue()) + || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { + medical3506Param.setMdtrtSn(encounter.getBusNo()); + } else { + ClinicReg one = iRegService + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtCertType, account.getTypeCode()) + .eq(ClinicReg::getMdtrtCertNo, account.getNo())); + if (one != null) { + medical3506Param.setMdtrtSn(one.getMdtrtId()); + } + } + // 判断拆零标志 + Whether flag; + if (deviceDefinition.getSalesUnitCode().equals(deviceDispense.getUnitCode())) { + flag = Whether.NO; + } else { + flag = Whether.YES; + } + // 查询发票信息 + Invoice invoice = iInvoiceService.getById(paymentReconciliation.getInvoiceId()); + if (invoice == null) { + throw new ServiceException("未查询到发票信息"); + } + medical3506Param.setMedListCodg(deviceDefinition.getYbNo()).setTrdnFlag(flag.getCode()) + .setFixmedinsBchno(inventoryItem.getLotNumber()).setFixmedinsHilistId(deviceDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setPsnCertType(mdtrtCertType.getValue()).setManuLotnum(deviceDispense.getLotNumber()) + .setManuDate(inventoryItem.getProductionDate()).setTrdnFlag(flag.getCode()) + .setSelRetnCnt(new BigDecimal(deviceDispense.getQuantity().toString())) + .setSelRetnTime(deviceDispense.getDispenseTime()).setSelRetnOpterName(performer.getName()) + .setRxFlag(deviceDefinition.getRxFlag().toString()).setExpyEnd(inventoryItem.getExpirationDate()); + + } else if (type != YbListType.MEDICAL_SERVICE_ITEM) { + // 药品的相关处理 + MedicationDispense medicationDispense = iMedicationDispenseService.getById(id); + if (medicationDispense == null) { + throw new ServiceException("未查询到药品信息"); + } + if (medicationDispense.getStatusEnum() != DispenseStatus.REFUNDED.getValue()) { + throw new ServiceException("未退药"); + } + MedicationRequest medicationRequest = iMedicationRequestService.getById(medicationDispense.getMedReqId()); + if (medicationRequest == null) { + throw new ServiceException("未查询到药品信息"); + } + MedicationDefinition medicationDefinition = + iMedicationDefinitionService.getById(medicationDispense.getMedicationId()); + if (medicationDefinition == null) { + throw new ServiceException("未查询到药品信息"); + } + + // 查询库存信息 + InventoryItem inventoryItem = inventoryItemService.getOne(new LambdaQueryWrapper() + .eq(InventoryItem::getLotNumber, medicationDispense.getLotNumber()) + .eq(InventoryItem::getLocationId, medicationDispense.getLocationId()) + .eq(InventoryItem::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(InventoryItem::getItemId, medicationDispense.getMedicationId()) + .eq(InventoryItem::getTenantId, tenantId)); + if (inventoryItem == null) { + throw new ServiceException("未查询到库存信息"); + } + // 查询供应申请单 2025/04/18经在微信群中确认,仅能通过locid,lotnumber,定义id定位库存记录,无法继续准确追到供应请求 + SupplyRequest supplyRequest = iSupplyRequestService.getOne(new LambdaQueryWrapper() + .eq(SupplyRequest::getLotNumber, medicationDispense.getLotNumber()) + .eq(SupplyRequest::getPurposeLocationId, medicationDispense.getLocationId()) + .eq(SupplyRequest::getItemTable, CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .eq(SupplyRequest::getItemId, medicationDispense.getMedicationId()) + .eq(SupplyRequest::getTenantId, tenantId)); + if (supplyRequest == null) { + throw new ServiceException("未查询到供应信息"); + } + // 查询开方医生姓名 + Practitioner practitioner = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, medicationRequest.getPractitionerId()) + .eq(Practitioner::getTenantId, tenantId)); + // 查询当前登录用户的姓名(药师) + Practitioner medDoctor = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, SecurityUtils.getUserId()).eq(Practitioner::getTenantId, tenantId)); + // 查询发药人 + Practitioner performer = iPractitionerService.getOne(new LambdaQueryWrapper() + .eq(Practitioner::getUserId, medicationDispense.getPractitionerId()) + .eq(Practitioner::getTenantId, tenantId)); + // 查询费用结算信息 + ChargeItem chargeItem = iChargeItemService.getOne(new LambdaQueryWrapper() + .eq(ChargeItem::getServiceTable, CommonConstants.TableName.MED_MEDICATION_REQUEST) + .eq(ChargeItem::getServiceId, medicationRequest.getId()).eq(ChargeItem::getTenantId, tenantId)); + if (chargeItem == null) { + throw new ServiceException("未查询到收费信息"); + } + // 查询付款信息 + PaymentReconciliation paymentReconciliation = + iPaymentReconciliationService.getOne(new LambdaQueryWrapper() + .eq(PaymentReconciliation::getEncounterId, chargeItem.getEncounterId()) + .eq(PaymentReconciliation::getTenantId, tenantId) + .like(PaymentReconciliation::getChargeItemIds, chargeItem.getId()) + .eq(PaymentReconciliation::getStatusEnum, ChargeItemStatus.BILLED.getValue()) + .eq(PaymentReconciliation::getPatientId, chargeItem.getPatientId()) + .eq(PaymentReconciliation::getPaymentEnum, PaymentType.PAY.getValue())); + if (paymentReconciliation == null) { + throw new ServiceException("未查询到付款信息"); + } + // 查询合同实体 + Contract contract = iContractService.getOne( + new LambdaQueryWrapper().eq(Contract::getBusNo, paymentReconciliation.getContractNo())); + if (contract == null) { + throw new ServiceException("未查询到合同信息"); + } + // 查询就诊信息 + Encounter encounter = iEncounterService.getById(medicationDispense.getEncounterId()); + if (encounter == null) { + throw new ServiceException("未查询到就诊信息"); + } + // 查询账户信息 + Account account = accountService + .getOne(new LambdaQueryWrapper().eq(Account::getEncounterId, chargeItem.getEncounterId()) + .eq(Account::getTenantId, tenantId).eq(Account::getEncounterFlag, Whether.YES.getValue())); + if (account == null) { + throw new ServiceException("未查询到账户信息"); + } + YbMdtrtCertType mdtrtCertType = YbMdtrtCertType.getByValue(account.getTypeCode()); + if (mdtrtCertType == null) { + throw new ServiceException("未查询到就诊凭证信息"); + } + // 查询就诊id + if (contract.getCategoryEnum().equals(Category.SELF.getValue()) + || contract.getCategoryEnum().equals(Category.PUBLIC.getValue())) { + medical3506Param.setMdtrtSn(encounter.getBusNo()); + } else { + ClinicReg one = iRegService + .getOne(new LambdaQueryWrapper().eq(ClinicReg::getMdtrtCertType, account.getTypeCode()) + .eq(ClinicReg::getMdtrtCertNo, account.getNo())); + if (one != null) { + medical3506Param.setMdtrtSn(one.getMdtrtId()); + } + } + // 判断拆零标志 + Whether flag; + if (medicationDefinition.getDefEncounterUnitCode().equals(medicationDispense.getUnitCode())) { + flag = Whether.NO; + } else { + flag = Whether.YES; + } + // 查询发票信息 + Invoice invoice = iInvoiceService.getById(paymentReconciliation.getInvoiceId()); + if (invoice == null) { + throw new ServiceException("未查询到发票信息"); + } + // todo:sjq 商品销售的数量是根据是否拆零计算出来的数量吗? + medical3506Param.setMedListCodg(medicationDefinition.getYbNo()) + .setFixmedinsBchno(inventoryItem.getLotNumber()).setFixmedinsHilistId(medicationDefinition.getBusNo()) + .setFixmedinsHilistName(CommonConstants.TableName.ADM_DEVICE_DEFINITION) + .setPsnCertType(mdtrtCertType.getValue()).setManuLotnum(medicationDispense.getLotNumber()) + .setManuDate(inventoryItem.getProductionDate()).setTrdnFlag(flag.getCode()) + .setSelRetnCnt(new BigDecimal(medicationDispense.getQuantity().toString())) + .setSelRetnTime(medicationDispense.getDispenseTime()).setSelRetnOpterName(performer.getName()) + .setRxFlag(medicationDefinition.getRxFlag().toString()).setExpyEnd(inventoryItem.getExpirationDate()); + } + return medical3506Param; + } + + /** + * 【3507】商品信息删除参数 + * + * @param id 库存项目id + * @param invDataType 进销存类型 + * @return 3507参数 + */ + public Medical3507Param getMedical3507Param(Long id, String invDataType) { + InventoryItem inventoryItem = inventoryItemService.getById(id); + if (inventoryItem == null) { + throw new ServiceException("未查询到库存信息"); + } + YbInvDataType dataType = YbInvDataType.getByValue(invDataType); + if (dataType == null) { + throw new ServiceException("未查询进销存类型"); + } + Medical3507Param medical3507Param = new Medical3507Param(); + medical3507Param.setFixmedinsBchno(inventoryItem.getLotNumber()).setInvDataType(dataType.getValue()); + return medical3507Param; + } + + /** + * 【9001】签到 + * + * @param id 员工id + * @return 9001参数 + */ + public Sign getSignParam(Long id, String mac) { + Practitioner practitioner = iPractitionerService.getPractitionerByUserId(id); + if (practitioner == null) { + return null; + } + + Sign sign = new Sign(); + sign.setOpterNo(practitioner.getBusNo()).setMac(mac); + return sign; + } + + /** + * 【3209A】查询跨省三方对账未成功数据(吉林省) + * + * @param settlement3209AWebParam 前台参数 + * @return 3209A参数 + */ + public FinancialSettlement3209AParam + getFinancialSettlement3209AParam(Settlement3209AWebParam settlement3209AWebParam) { + FinancialSettlement3209AParam financialSettlement3209AParam = new FinancialSettlement3209AParam(); + BeanUtils.copyProperties(settlement3209AWebParam, financialSettlement3209AParam); + return financialSettlement3209AParam; + } + + /** + * 【13203】医药机构费用结算日对账结果查询 + * + * @param financial13203WebParam 13203 前台参数 + * @return 13203参数 + */ + public Financial13203Param getFinancial13203Param(Financial13203WebParam financial13203WebParam) { + Financial13203Param financial13203Param = new Financial13203Param(); + BeanUtils.copyProperties(financial13203WebParam, financial13203Param); + return financial13203Param; + } + + /** + * 基础信息获取 + * + * @return 基础信息 + */ + public BaseInfo getBaseInfo(JSONObject jsonObj, Contract contract) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long hospitalId = loginUser.getHospitalId(); + // Organization hospital = iOrganizationService.getById(hospitalId); + BaseInfo baseInfo = new BaseInfo(); + if (jsonObj != null && jsonObj.get("insuplc_admdvs") != null) { + baseInfo.setInsuplcAdmdvs(String.valueOf(jsonObj.get("insuplc_admdvs"))); + } + // 异地患者问题 + // if (contract.getBusNo() != null) { + // baseInfo.setInsuplcAdmdvs(contract.getBusNo()); + // } + if (jsonObj != null && jsonObj.get("decrypt_flag") != null) { + baseInfo.setDecryptFlag(String.valueOf(jsonObj.get("decrypt_flag"))); + } else { + baseInfo.setDecryptFlag("1"); + } + // 电子处方 + // JSONObject optionJson = SecurityUtils.getLoginUser().getOptionJson(); + + if (contract == null) { + List redisContractList = iContractService.getContractListByYb(); + Optional max = redisContractList.stream().max(Comparator.comparingInt(Contract::getSort)); + if (max.isPresent()) { + contract = max.get(); + } else { + throw new ServiceException("没有对合同进行优先级排序"); + } + } + + return baseInfo.setUserId(loginUser.getUserId()).setRealname(loginUser.getUsername()) + .setFixmedinsCode(contract.getFixmedinsCode()).setFixmedinsName(contract.getFixmedinsName()) + .setYbClientSecret(contract.getClientSecret()).setYbUsername(contract.getUsername()) + .setYbPassword(contract.getPassword()).setYbGrantType(contract.getGrantType()) + .setYbScope(contract.getScope()).setYbCliPrvKey(contract.getCliPrvKey()) + .setYbClientId(contract.getClientId()).setAdmvs(contract.getAdmVs()); + } + + public BaseInfo getBaseInfo(String medType, String dutyDoctorName) { + // 随机获取一个合同 + List contractListByYb = iContractService.getContractListByYb(); + if (contractListByYb.isEmpty()) { + throw new ServiceException("无医保配置信息"); + } + Contract contract = contractListByYb.get(0); + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long hospitalId = loginUser.getHospitalId(); + Organization hospital = iOrganizationService.getById(hospitalId); + BaseInfo baseInfo = new BaseInfo(); + // 电子处方 + JSONObject optionJson = SecurityUtils.getLoginUser().getOptionJson(); + String prePrvKey = optionJson.getString(CommonConstants.Option.APP_PRVKEY); + String prePubKey = contract.getCliPubKey(); + String clientId = contract.getClientId(); + String eleAddress = optionJson.getString(CommonConstants.Option.ELE_ADDRESS); + String username = contract.getUsername(); + String password = contract.getPassword(); + String scope = contract.getScope(); + String grantType = contract.getGrantType(); + String clientSecret = contract.getClientSecret(); + String time = optionJson.getString(CommonConstants.Option.TIME); + String preAppId = optionJson.getString(CommonConstants.Option.PRE_APP_ID); + String preAppSecret = optionJson.getString(CommonConstants.Option.PRE_APP_SECRET); + String templatePath = optionJson.getString(CommonConstants.Option.TEMPLATE_PATH); + String outputPath = optionJson.getString(CommonConstants.Option.OUTPUT_PATH); + String hospitalSealPath = optionJson.getString(CommonConstants.Option.HOSPITAL_SEAL_PATH); + + return baseInfo.setUserId(loginUser.getUserId()).setRealname(loginUser.getUsername()) + .setAdmvs(contract.getAdmVs()).setFixmedinsCode(contract.getFixmedinsCode()) + .setFixmedinsName(contract.getFixmedinsName()).setPrePrvKey(prePrvKey).setPrePubKey(prePubKey) + .setClientId(clientId).setEleAddress(eleAddress).setUsername(username).setPassword(password).setScope(scope) + .setGrantType(grantType).setClientSecret(clientSecret).setTime(time).setPreAppId(preAppId) + .setPreAppSecret(preAppSecret).setTemplatePath(templatePath).setOutputPath(outputPath) + .setHospitalSealPath(hospitalSealPath).setMedType(medType).setDutyDoctorName(dutyDoctorName); + + } + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfo.java new file mode 100644 index 00000000..c4f61d04 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfo.java @@ -0,0 +1,319 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 西药中成药目录Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_drug_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogDrugInfo { + + /** 医疗目录编码 */ + @TableId(type = IdType.ASSIGN_ID) + private String medicalCatalogCode; + + /** 药品商品名 */ + private String drugTradeName; + + /** 通用名编号 */ + private String genericNameId; + + /** 药品通用名 */ + private String drugGenericName; + + /** 化学名称 */ + private String chemicalName; + + /** 别名 */ + private String alias; + + /** 英文名称 */ + private String englishName; + + /** 注册名称 */ + private String registeredName; + + /** 药监本位码 */ + private String drugSupervisionCode; + + /** 药品剂型 */ + private String drugForm; + + /** 药品剂型名称 */ + private String drugFormName; + + /** 药品类别 */ + private String drugCategory; + + /** 药品类别名称 */ + private String drugCategoryName; + + /** 药品规格 */ + private String drugSpecification; + + /** 药品规格代码 */ + private String drugSpecCode; + + /** 注册剂型 */ + private String registeredForm; + + /** 注册规格 */ + private String registeredSpec; + + /** 注册规格代码 */ + private String registeredSpecCode; + + /** 每次用量 */ + private String dosage; + + /** 使用频次 */ + private String frequency; + + /** 酸根盐基 */ + private String acidBase; + + /** 国家药品编号 */ + private String nationalDrugCode; + + /** 用法 */ + private String usage; + + /** 中成药标志 */ + private String tcmFlag; + + /** 生产地类别 */ + private String productionAreaType; + + /** 生产地类别名称 */ + private String productionAreaName; + + /** 计价单位类型 */ + private String pricingUnitType; + + /** 非处方药标志 */ + private String otcFlag; + + /** 非处方药标志名称 */ + private String otcFlagName; + + /** 包装材质 */ + private String packagingMaterial; + + /** 包装材质名称 */ + private String packagingMaterialName; + + /** 包装规格 */ + private String packagingSpec; + + /** 包装数量 */ + private String packagingQuantity; + + /** 功能主治 */ + private String functionIndication; + + /** 给药途径 */ + private String administrationRoute; + + /** 说明书 */ + private String instructions; + + /** 开始日期 */ + private String startDate; + + /** 结束日期 */ + private String endDate; + + /** 最小使用单位 */ + private String minUseUnit; + + /** 最小销售单位 */ + private String minSaleUnit; + + /** 最小计量单位 */ + private String minMeasurementUnit; + + /** 最小包装数量 */ + private String minPackageQuantity; + + /** 最小包装单位 */ + private String minPackageUnit; + + /** 最小制剂单位 */ + private String minPreparationUnit; + + /** 最小包装单位名称 */ + private String minPackageUnitName; + + /** 最小制剂单位名称 */ + private String minPreparationUnitName; + + /** 转换比 */ + private String conversionRatio; + + /** 药品有效期 */ + private String shelfLife; + + /** 最小计价单位 */ + private String minPricingUnit; + + /** 五笔助记码 */ + private String wubiCode; + + /** 拼音助记码 */ + private String pinyinCode; + + /** 分包装厂家 */ + private String repackager; + + /** 生产企业编号 */ + private String manufacturerCode; + + /** 生产企业名称 */ + private String manufacturerName; + + /** 特殊限价药品标志 */ + private String specialPriceLimitFlag; + + /** 特殊药品标志 */ + private String specialDrugFlag; + + /** 限制使用范围 */ + private String useRestriction; + + /** 限制使用标志 */ + private String useRestrictionFlag; + + /** 药品注册证号 */ + private String registrationCertNo; + + /** 药品注册证号开始日期 */ + private String regCertStartDate; + + /** 药品注册证号结束日期 */ + private String regCertEndDate; + + /** 批准文号 */ + private String approvalNo; + + /** 批准文号开始日期 */ + private String approvalStartDate; + + /** 批准文号结束日期 */ + private String approvalEndDate; + + /** 市场状态 */ + private String marketStatus; + + /** 市场状态名称 */ + private String marketStatusName; + + /** 药品注册批件电子档案 */ + private String regDocumentArchive; + + /** 药品补充申请批件电子档案 */ + private String suppApplicationArchive; + + /** 国家医保药品目录备注 */ + private String nationalInsuranceNotes; + + /** 基本药物标志名称 */ + private String essentialDrugFlagName; + + /** 基本药物标志 */ + private String essentialDrugFlag; + + /** 增值税调整药品标志 */ + private String vatAdjustmentFlag; + + /** 增值税调整药品名称 */ + private String vatAdjustmentName; + + /** 上市药品目录集药品 */ + private String listedDrugFlag; + + /** 医保谈判药品标志 */ + private String negotiationDrugFlag; + + /** 医保谈判药品名称 */ + private String negotiationDrugName; + + /** 卫健委药品编码 */ + private String nhcDrugCode; + + /** 备注 */ + private String remarks; + + /** 有效标志 */ + private String validFlag; + + /** 唯一记录号 */ + private String uniqueRecordId; + + /** 数据创建时间 */ + private String createdAt; + + /** 数据更新时间 */ + private String updatedAt; + + /** 版本号 */ + private String version; + + /** 版本名称 */ + private String versionName; + + /** 儿童用药 */ + private String pediatricUse; + + /** 公司名称 */ + private String companyName; + + /** 仿制药一致性评价药品 */ + private String genericEvaluationFlag; + + /** 经销企业 */ + private String distributionCompany; + + /** 经销企业联系人 */ + private String distributionContact; + + /** 经销企业授权书电子档案 */ + private String distributionAuthArchive; + + /** 国家医保药品目录剂型 */ + private String insuranceForm; + + /** 国家医保药品目录甲乙类标识 */ + private String insuranceClass; + + /** 上市许可证持有人 */ + private String marketingAuthorizationHolder; + + /** 下发标志 */ + private String releaseFlag; + + /** 传输数据ID */ + private String transmissionDataId; + + /** 生效时间 */ + private String validFrom; + + /** 失效时间 */ + private String validTo; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfoUsual.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfoUsual.java new file mode 100644 index 00000000..bdad01c8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogDrugInfoUsual.java @@ -0,0 +1,319 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 西药中成药目录Entity实体 + * + * @author system + * @date 2025-07-02 + */ +@Data +@TableName("yb_catalog_drug_info_usual") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogDrugInfoUsual { + + /** 医疗目录编码 */ + @TableId(type = IdType.ASSIGN_ID) + private String medicalCatalogCode; + + /** 药品商品名 */ + private String drugTradeName; + + /** 通用名编号 */ + private String genericNameId; + + /** 药品通用名 */ + private String drugGenericName; + + /** 化学名称 */ + private String chemicalName; + + /** 别名 */ + private String alias; + + /** 英文名称 */ + private String englishName; + + /** 注册名称 */ + private String registeredName; + + /** 药监本位码 */ + private String drugSupervisionCode; + + /** 药品剂型 */ + private String drugForm; + + /** 药品剂型名称 */ + private String drugFormName; + + /** 药品类别 */ + private String drugCategory; + + /** 药品类别名称 */ + private String drugCategoryName; + + /** 药品规格 */ + private String drugSpecification; + + /** 药品规格代码 */ + private String drugSpecCode; + + /** 注册剂型 */ + private String registeredForm; + + /** 注册规格 */ + private String registeredSpec; + + /** 注册规格代码 */ + private String registeredSpecCode; + + /** 每次用量 */ + private String dosage; + + /** 使用频次 */ + private String frequency; + + /** 酸根盐基 */ + private String acidBase; + + /** 国家药品编号 */ + private String nationalDrugCode; + + /** 用法 */ + private String usage; + + /** 中成药标志 */ + private String tcmFlag; + + /** 生产地类别 */ + private String productionAreaType; + + /** 生产地类别名称 */ + private String productionAreaName; + + /** 计价单位类型 */ + private String pricingUnitType; + + /** 非处方药标志 */ + private String otcFlag; + + /** 非处方药标志名称 */ + private String otcFlagName; + + /** 包装材质 */ + private String packagingMaterial; + + /** 包装材质名称 */ + private String packagingMaterialName; + + /** 包装规格 */ + private String packagingSpec; + + /** 包装数量 */ + private String packagingQuantity; + + /** 功能主治 */ + private String functionIndication; + + /** 给药途径 */ + private String administrationRoute; + + /** 说明书 */ + private String instructions; + + /** 开始日期 */ + private String startDate; + + /** 结束日期 */ + private String endDate; + + /** 最小使用单位 */ + private String minUseUnit; + + /** 最小销售单位 */ + private String minSaleUnit; + + /** 最小计量单位 */ + private String minMeasurementUnit; + + /** 最小包装数量 */ + private String minPackageQuantity; + + /** 最小包装单位 */ + private String minPackageUnit; + + /** 最小制剂单位 */ + private String minPreparationUnit; + + /** 最小包装单位名称 */ + private String minPackageUnitName; + + /** 最小制剂单位名称 */ + private String minPreparationUnitName; + + /** 转换比 */ + private String conversionRatio; + + /** 药品有效期 */ + private String shelfLife; + + /** 最小计价单位 */ + private String minPricingUnit; + + /** 五笔助记码 */ + private String wubiCode; + + /** 拼音助记码 */ + private String pinyinCode; + + /** 分包装厂家 */ + private String repackager; + + /** 生产企业编号 */ + private String manufacturerCode; + + /** 生产企业名称 */ + private String manufacturerName; + + /** 特殊限价药品标志 */ + private String specialPriceLimitFlag; + + /** 特殊药品标志 */ + private String specialDrugFlag; + + /** 限制使用范围 */ + private String useRestriction; + + /** 限制使用标志 */ + private String useRestrictionFlag; + + /** 药品注册证号 */ + private String registrationCertNo; + + /** 药品注册证号开始日期 */ + private String regCertStartDate; + + /** 药品注册证号结束日期 */ + private String regCertEndDate; + + /** 批准文号 */ + private String approvalNo; + + /** 批准文号开始日期 */ + private String approvalStartDate; + + /** 批准文号结束日期 */ + private String approvalEndDate; + + /** 市场状态 */ + private String marketStatus; + + /** 市场状态名称 */ + private String marketStatusName; + + /** 药品注册批件电子档案 */ + private String regDocumentArchive; + + /** 药品补充申请批件电子档案 */ + private String suppApplicationArchive; + + /** 国家医保药品目录备注 */ + private String nationalInsuranceNotes; + + /** 基本药物标志名称 */ + private String essentialDrugFlagName; + + /** 基本药物标志 */ + private String essentialDrugFlag; + + /** 增值税调整药品标志 */ + private String vatAdjustmentFlag; + + /** 增值税调整药品名称 */ + private String vatAdjustmentName; + + /** 上市药品目录集药品 */ + private String listedDrugFlag; + + /** 医保谈判药品标志 */ + private String negotiationDrugFlag; + + /** 医保谈判药品名称 */ + private String negotiationDrugName; + + /** 卫健委药品编码 */ + private String nhcDrugCode; + + /** 备注 */ + private String remarks; + + /** 有效标志 */ + private String validFlag; + + /** 唯一记录号 */ + private String uniqueRecordId; + + /** 数据创建时间 */ + private String createdAt; + + /** 数据更新时间 */ + private String updatedAt; + + /** 版本号 */ + private String version; + + /** 版本名称 */ + private String versionName; + + /** 儿童用药 */ + private String pediatricUse; + + /** 公司名称 */ + private String companyName; + + /** 仿制药一致性评价药品 */ + private String genericEvaluationFlag; + + /** 经销企业 */ + private String distributionCompany; + + /** 经销企业联系人 */ + private String distributionContact; + + /** 经销企业授权书电子档案 */ + private String distributionAuthArchive; + + /** 国家医保药品目录剂型 */ + private String insuranceForm; + + /** 国家医保药品目录甲乙类标识 */ + private String insuranceClass; + + /** 上市许可证持有人 */ + private String marketingAuthorizationHolder; + + /** 下发标志 */ + private String releaseFlag; + + /** 传输数据ID */ + private String transmissionDataId; + + /** 生效时间 */ + private String validFrom; + + /** 失效时间 */ + private String validTo; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalConsumables.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalConsumables.java new file mode 100644 index 00000000..ee71a46b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalConsumables.java @@ -0,0 +1,241 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 医疗耗材信息Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_medical_consumables") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogMedicalConsumables { + + /** 医疗目录编码 */ + @TableId(type = IdType.ASSIGN_ID) + private String medicalCatalogCode; + + /** $column.columnComment */ + private String consumableName; + + /** $column.columnComment */ + private String deviceUniqueId; + + /** $column.columnComment */ + private String insuranceGenericCode; + + /** $column.columnComment */ + private String insuranceGenericName; + + /** $column.columnComment */ + private String productModel; + + /** $column.columnComment */ + private String specCode; + + /** $column.columnComment */ + private String specification; + + /** $column.columnComment */ + private String consumableCategory; + + /** $column.columnComment */ + private String specModel; + + /** $column.columnComment */ + private String materialCode; + + /** $column.columnComment */ + private String materialType; + + /** $column.columnComment */ + private String packageSpec; + + /** $column.columnComment */ + private String packageQuantity; + + /** $column.columnComment */ + private String packageMaterial; + + /** $column.columnComment */ + private String packageUnit; + + /** $column.columnComment */ + private String conversionRatio; + + /** $column.columnComment */ + private String minUsageUnit; + + /** $column.columnComment */ + private String productionAreaType; + + /** $column.columnComment */ + private String productionAreaName; + + /** $column.columnComment */ + private String productStandard; + + /** $column.columnComment */ + private String expiryDate; + + /** $column.columnComment */ + private String structureComposition; + + /** $column.columnComment */ + private String applicableScope; + + /** $column.columnComment */ + private String usageMethod; + + /** $column.columnComment */ + private String imageCode; + + /** $column.columnComment */ + private String qualityStandard; + + /** $column.columnComment */ + private String instructions; + + /** $column.columnComment */ + private String proofMaterials; + + /** $column.columnComment */ + private String specialDeviceFlag; + + /** $column.columnComment */ + private String specialDeviceName; + + /** $column.columnComment */ + private String kitName; + + /** $column.columnComment */ + private String kitFlag; + + /** $column.columnComment */ + private String usageRestrictionFlag; + + /** $column.columnComment */ + private String insuranceRestriction; + + /** $column.columnComment */ + private String minSaleUnit; + + /** 高值耗材标志(true:是 false:否) */ + private String highValueFlag; + + /** $column.columnComment */ + private String medicalMaterialCode; + + /** $column.columnComment */ + private String implantFlag; + + /** $column.columnComment */ + private String sterilizationFlag; + + /** $column.columnComment */ + private String sterilizationName; + + /** $column.columnComment */ + private String implantInterventionFlag; + + /** $column.columnComment */ + private String implantInterventionName; + + /** $column.columnComment */ + private String disposableFlag; + + /** $column.columnComment */ + private String disposableFlagName; + + /** $column.columnComment */ + private String registrantName; + + /** $column.columnComment */ + private String startDate; + + /** $column.columnComment */ + private String endDate; + + /** $column.columnComment */ + private String deviceManagementCategory; + + /** $column.columnComment */ + private String deviceCategoryName; + + /** $column.columnComment */ + private String registrationNo; + + /** $column.columnComment */ + private String registeredProductName; + + /** $column.columnComment */ + private String structureDetails; + + /** $column.columnComment */ + private String otherContent; + + /** $column.columnComment */ + private String approvalDate; + + /** $column.columnComment */ + private String registrantAddress; + + /** $column.columnComment */ + private String certEffectiveStart; + + /** $column.columnComment */ + private String certEffectiveEnd; + + /** $column.columnComment */ + private String manufacturerCode; + + /** $column.columnComment */ + private String manufacturerName; + + /** $column.columnComment */ + private String productionAddress; + + /** $column.columnComment */ + private String agentCompany; + + /** $column.columnComment */ + private String agentAddress; + + /** $column.columnComment */ + private String productionCountry; + + /** $column.columnComment */ + private String serviceAgency; + + /** $column.columnComment */ + private String certArchivePath; + + /** $column.columnComment */ + private String productImages; + + /** 有效标志(true:有效 false:无效) */ + private String validFlag; + + /** $column.columnComment */ + private String uniqueRecordId; + + /** $column.columnComment */ + private String versionNumber; + + /** $column.columnComment */ + private String versionName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalHerbInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalHerbInfo.java new file mode 100644 index 00000000..a3b6147d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalHerbInfo.java @@ -0,0 +1,121 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 中药材信息Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_medical_herb_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogMedicalHerbInfo { + + /** 医疗目录编码 */ + @TableId(type = IdType.ASSIGN_ID) + private String medicalCatalogCode; + + /** $column.columnComment */ + private String singleDrugName; + + /** 单复方标志(true:复方 false:单方) */ + private String singleCompoundFlag; + + /** $column.columnComment */ + private String qualityGrade; + + /** 中草药年份 */ + private String herbalYear; + + /** $column.columnComment */ + private String medicinalPart; + + /** $column.columnComment */ + private String safeDosage; + + /** $column.columnComment */ + private String conventionalUsage; + + /** $column.columnComment */ + private String propertiesTaste; + + /** $column.columnComment */ + private String meridianAttribution; + + /** $column.columnComment */ + private String species; + + /** $column.columnComment */ + private String startDate; + + /** $column.columnComment */ + private String endDate; + + /** 有效标志(true:有效 false:无效) */ + private String validFlag; + + /** $column.columnComment */ + private String uniqueRecordId; + + /** $column.columnComment */ + private String versionNumber; + + /** $column.columnComment */ + private String versionName; + + /** $column.columnComment */ + private String herbName; + + /** $column.columnComment */ + private String indications; + + /** $column.columnComment */ + private String processingMethod; + + /** $column.columnComment */ + private String efficacyClassification; + + /** $column.columnComment */ + private String herbSource; + + /** $column.columnComment */ + private String nationalInsurancePolicy; + + /** $column.columnComment */ + private String provincialInsurancePolicy; + + /** $column.columnComment */ + private String standardName; + + /** $column.columnComment */ + private String standardPage; + + /** $column.columnComment */ + private String electronicRecord; + + /** $column.columnComment */ + private String issuanceFlag; + + /** $column.columnComment */ + private String transferDataId; + + /** $column.columnComment */ + private String effectiveTime; + + /** $column.columnComment */ + private String expiryTime; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalService.java new file mode 100644 index 00000000..e09a5cd3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogMedicalService.java @@ -0,0 +1,88 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 医疗服务项目Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_medical_service") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogMedicalService { + + /** 医疗目录编码 */ + @TableId(type = IdType.ASSIGN_ID) + private String medicalCatalogCode; + + /** 计价单位 */ + private String billingUnit; + + /** $column.columnComment */ + private String billingUnitName; + + /** $column.columnComment */ + private String medicalItemDesc; + + /** $column.columnComment */ + private String exclusionContent; + + /** $column.columnComment */ + private String medicalItemConnotation; + + /** 有效标志(true:有效 false:无效) */ + private String validFlag; + + /** $column.columnComment */ + private String remarks; + + /** $column.columnComment */ + private String serviceCategory; + + /** $column.columnComment */ + private String medicalServiceName; + + /** $column.columnComment */ + private String projectDescription; + + /** $column.columnComment */ + private String startDate; + + /** $column.columnComment */ + private String endDate; + + /** 唯一记录号(UUID) */ + private String uniqueRecordId; + + /** $column.columnComment */ + private String versionNumber; + + /** $column.columnComment */ + private String versionName; + + /** $column.columnComment */ + private String issuanceFlag; + + /** $column.columnComment */ + private String transferDataId; + + /** $column.columnComment */ + private String effectiveTime; + + /** $column.columnComment */ + private String expiryTime; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialDisease.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialDisease.java new file mode 100644 index 00000000..2a75cda8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialDisease.java @@ -0,0 +1,70 @@ +package com.openhis.ybcatalog.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 特慢病目录Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_special_disease") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogSpecialDisease { + /** 门慢门特病种目录代码 */ + @TableId(type = IdType.ASSIGN_ID) + private String diseaseCatalogCode; + + /** 门慢门特病种大类名称 */ + private String diseaseCategoryName; + + /** 门慢门特病种细分类名称 */ + private String diseaseSubcategoryName; + + /** 医保区划 */ + private String medicalInsuranceArea; + + /** 备注 */ + private String remarks; + + /** 有效标志 */ + private String validFlag; + + /** 唯一记录号 */ + private String uniqueRecordId; + + /** 数据创建时间 */ + private String createTime; + + /** 数据更新时间 */ + private String updateTime; + + /** 版本号 */ + private String versionNumber; + + /** 病种内涵 */ + private String diseaseConnotation; + + /** 版本名称 */ + private String versionName; + + /** 诊疗指南页码 */ + private String treatmentGuidePage; + + /** 诊疗指南电子档案 */ + private String treatmentGuideFile; + + /** 门慢门特病种名称 */ + private String diseaseName; + + /** 门慢门特病种大类代码 */ + private String diseaseCategoryCode; +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialInsuranceDisease.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialInsuranceDisease.java new file mode 100644 index 00000000..08881c0d --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSpecialInsuranceDisease.java @@ -0,0 +1,30 @@ +package com.openhis.ybcatalog.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@TableName("yb_catalog_special_insurance_disease") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogSpecialInsuranceDisease { + + private String diseaseCode; // 门慢门特病种目录代码 + private String diseaseCategoryName; // 门慢门特病种大类名称 + private String diseaseSubcategoryName; // 门慢门特病种细分类名称 + private String medicalInsuranceZone; // 医保区划 + private String remark; // 备注 + private String validFlag; // 有效标志 + private String uniqueRecordId; // 唯一记录号 + private String dataCreateTime; // 数据创建时间 + private String dataUpdateTime; // 数据更新时间 + private String versionNumber; // 版本号 + private String diseaseDescription; // 病种内涵 + private String versionName; // 版本名称 + private String guidePageNumber; // 诊疗指南页码 + private String guideElectronicFile; // 诊疗指南电子档案 + private String diseaseName; // 门慢门特病种名称 + private String diseaseCategoryCode; // 门慢门特病种大类代码 +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSurgeryStandardDirectory.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSurgeryStandardDirectory.java new file mode 100644 index 00000000..951b21a8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogSurgeryStandardDirectory.java @@ -0,0 +1,94 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 手术标准目录Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_surgery_standard_directory") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogSurgeryStandardDirectory { + + /** $column.columnComment */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /** $column.columnComment */ + private String chapter; + + /** $column.columnComment */ + private String chapterCodeRange; + + /** $column.columnComment */ + private String chapterName; + + /** $column.columnComment */ + private String categoryCode; + + /** $column.columnComment */ + private String categoryName; + + /** $column.columnComment */ + private String subcategoryCode; + + /** $column.columnComment */ + private String subcategoryName; + + /** $column.columnComment */ + private String itemCode; + + /** $column.columnComment */ + private String itemName; + + /** $column.columnComment */ + private String operationCode; + + /** $column.columnComment */ + private String operationName; + + /** $column.columnComment */ + private String usageFlag; + + /** $column.columnComment */ + private String groupStandardOperationCode; + + /** $column.columnComment */ + private String groupStandardOperationName; + + /** $column.columnComment */ + private String clinicalVersionOperationCode; + + /** $column.columnComment */ + private String clinicalVersionOperationName; + + /** $column.columnComment */ + private String remarks; + + /** $column.columnComment */ + private String validFlag; + + /** $column.columnComment */ + private String uniqueRecordId; + + /** $column.columnComment */ + private String versionNumber; + + /** $column.columnComment */ + private String versionName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogWesternDisease.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogWesternDisease.java new file mode 100644 index 00000000..98d89df3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogWesternDisease.java @@ -0,0 +1,94 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 西医疾病诊断信息Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_western_disease") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogWesternDisease { + + /** $column.columnComment */ + @TableId(type = IdType.ASSIGN_ID) + private String diseaseId; + + /** $column.columnComment */ + private String chapter; + + /** $column.columnComment */ + private String chapterCodeRange; + + /** $column.columnComment */ + private String chapterName; + + /** $column.columnComment */ + private String sectionCodeRange; + + /** $column.columnComment */ + private String sectionName; + + /** $column.columnComment */ + private String categoryCode; + + /** $column.columnComment */ + private String categoryName; + + /** $column.columnComment */ + private String subcategoryCode; + + /** $column.columnComment */ + private String subcategoryName; + + /** 诊断代码 */ + private String diagnosisCode; + + /** $column.columnComment */ + private String diagnosisName; + + /** 使用标记(true:启用 false:停用) */ + private String usageFlag; + + /** $column.columnComment */ + private String gbDiagnosisCode; + + /** $column.columnComment */ + private String gbDiagnosisName; + + /** $column.columnComment */ + private String clinicalCode; + + /** $column.columnComment */ + private String clinicalName; + + /** $column.columnComment */ + private String remarks; + + /** 有效标志(true:有效 false:无效) */ + private String validFlag; + + /** $column.columnComment */ + private String uniqueRecordId; + + /** $column.columnComment */ + private String versionNumber; + + /** $column.columnComment */ + private String versionName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZyDiseaseDiagnosis.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZyDiseaseDiagnosis.java new file mode 100644 index 00000000..33087520 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZyDiseaseDiagnosis.java @@ -0,0 +1,64 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 中医疾病诊断Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_zy_disease_diagnosis") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogZyDiseaseDiagnosis { + + /** $column.columnComment */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /** $column.columnComment */ + private String categoryCode; + + /** $column.columnComment */ + private String categoryName; + + /** $column.columnComment */ + private String specialtySystemCategoryCode; + + /** $column.columnComment */ + private String specialtySystemCategoryName; + + /** $column.columnComment */ + private String diseaseCategoryCode; + + /** $column.columnComment */ + private String diseaseCategoryName; + + /** $column.columnComment */ + private String remarks; + + /** $column.columnComment */ + private String validFlag; + + /** $column.columnComment */ + private String uniqueRecordId; + + /** $column.columnComment */ + private String versionNumber; + + /** $column.columnComment */ + private String versionName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZySyndrome.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZySyndrome.java new file mode 100644 index 00000000..97fa7a00 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/domain/CatalogZySyndrome.java @@ -0,0 +1,64 @@ +package com.openhis.ybcatalog.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【中医症候】Entity实体 + * + * @author system + * @date 2025-04-09 + */ +@Data +@TableName("yb_catalog_zy_syndrome") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class CatalogZySyndrome { + + /** $column.columnComment */ + @TableId(type = IdType.ASSIGN_ID) + private String tcmSyndromeId; + + /** $column.columnComment */ + private String syndromeClassCode; + + /** $column.columnComment */ + private String syndromeClassName; + + /** $column.columnComment */ + private String syndromePropertyCode; + + /** $column.columnComment */ + private String syndromeProperty; + + /** $column.columnComment */ + private String syndromeTypeCode; + + /** $column.columnComment */ + private String syndromeTypeName; + + /** $column.columnComment */ + private String activeFlag; + + /** $column.columnComment */ + private String uniqueRecordId; + + /** $column.columnComment */ + private String craetTime; + + /** $column.columnComment */ + private String version; + + /** $column.columnComment */ + private String versionName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoMapper.java new file mode 100644 index 00000000..27c7b4ad --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import com.openhis.ybcatalog.domain.CatalogDrugInfo; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 西药中成药目录Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogDrugInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoUsualMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoUsualMapper.java new file mode 100644 index 00000000..da48c179 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogDrugInfoUsualMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogDrugInfoUsual; + +/** + * 西药中成药目录Mapper接口 + * + * @author system + * @date 2025-07-02 + */ +@Repository +public interface CatalogDrugInfoUsualMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalConsumablesMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalConsumablesMapper.java new file mode 100644 index 00000000..ea63f13b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalConsumablesMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogMedicalConsumables; + +/** + * 医疗耗材信息Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogMedicalConsumablesMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalHerbInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalHerbInfoMapper.java new file mode 100644 index 00000000..42f7ff9e --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalHerbInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogMedicalHerbInfo; + +/** + * 中药材信息Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogMedicalHerbInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalServiceMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalServiceMapper.java new file mode 100644 index 00000000..aa72230a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogMedicalServiceMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogMedicalService; + +/** + * 医疗服务项目Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogMedicalServiceMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSpecialDiseaseMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSpecialDiseaseMapper.java new file mode 100644 index 00000000..16c6a8a9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSpecialDiseaseMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogSpecialInsuranceDisease; + +/** + * 特慢病目录 Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogSpecialDiseaseMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSurgeryStandardDirectoryMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSurgeryStandardDirectoryMapper.java new file mode 100644 index 00000000..bb7f413c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogSurgeryStandardDirectoryMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogSurgeryStandardDirectory; + +/** + * 手术标准目录Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogSurgeryStandardDirectoryMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogWesternDiseaseMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogWesternDiseaseMapper.java new file mode 100644 index 00000000..9d0a2251 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogWesternDiseaseMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogWesternDisease; + +/** + * 西医疾病诊断信息Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogWesternDiseaseMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZyDiseaseDiagnosisMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZyDiseaseDiagnosisMapper.java new file mode 100644 index 00000000..f501c91b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZyDiseaseDiagnosisMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogZyDiseaseDiagnosis; + +/** + * 中医疾病诊断Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogZyDiseaseDiagnosisMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZySyndromeMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZySyndromeMapper.java new file mode 100644 index 00000000..58c72619 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/mapper/CatalogZySyndromeMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybcatalog.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybcatalog.domain.CatalogZySyndrome; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author system + * @date 2025-04-09 + */ +@Repository +public interface CatalogZySyndromeMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoService.java new file mode 100644 index 00000000..5c986199 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoService.java @@ -0,0 +1,28 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.workflow.domain.ElepMedicationRequest; +import com.openhis.ybcatalog.domain.CatalogDrugInfo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 西药中成药目录Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogDrugInfoService extends IService { +// /** +// * 获取药品信息 +// * +// * @param pageNo 当前页 +// * @param pageSize 每页多少条 +// */ +// Page selectCatalogDrugInfo(Integer pageNo, +// Integer pageSize, String searchKey); + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoUsualService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoUsualService.java new file mode 100644 index 00000000..88b1ae67 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogDrugInfoUsualService.java @@ -0,0 +1,23 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogDrugInfoUsual; + +/** + * 西药中成药目录Service接口 + * + * @author system + * @date 2025-07-02 + */ +public interface ICatalogDrugInfoUsualService extends IService { + /** + * 获取药品信息 + * + * @param pageNo 当前页 + * @param pageSize 每页多少条 + */ + Page selectCatalogDrugInfoUsual(Integer pageNo, + Integer pageSize, String searchKey); +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalConsumablesService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalConsumablesService.java new file mode 100644 index 00000000..77b9a399 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalConsumablesService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogMedicalConsumables; + +/** + * 医疗耗材信息Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogMedicalConsumablesService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalHerbInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalHerbInfoService.java new file mode 100644 index 00000000..ee5f75cc --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalHerbInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogMedicalHerbInfo; + +/** + * 中药材信息Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogMedicalHerbInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalServiceService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalServiceService.java new file mode 100644 index 00000000..d71c2dff --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogMedicalServiceService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogMedicalService; + +/** + * 医疗服务项目Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogMedicalServiceService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSpecialDiseaseService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSpecialDiseaseService.java new file mode 100644 index 00000000..a901a3e4 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSpecialDiseaseService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogSpecialInsuranceDisease; + +/** + * 特慢病目录 Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogSpecialDiseaseService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSurgeryStandardDirectoryService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSurgeryStandardDirectoryService.java new file mode 100644 index 00000000..895c4492 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogSurgeryStandardDirectoryService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogSurgeryStandardDirectory; + +/** + * 手术标准目录Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogSurgeryStandardDirectoryService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogWesternDiseaseService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogWesternDiseaseService.java new file mode 100644 index 00000000..9665f44a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogWesternDiseaseService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogWesternDisease; + +/** + * 西医疾病诊断信息Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogWesternDiseaseService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZyDiseaseDiagnosisService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZyDiseaseDiagnosisService.java new file mode 100644 index 00000000..6708fb82 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZyDiseaseDiagnosisService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogZyDiseaseDiagnosis; + +/** + * 中医疾病诊断Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogZyDiseaseDiagnosisService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZySyndromeService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZySyndromeService.java new file mode 100644 index 00000000..19a6a2df --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/ICatalogZySyndromeService.java @@ -0,0 +1,14 @@ +package com.openhis.ybcatalog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybcatalog.domain.CatalogZySyndrome; + +/** + * 【请填写功能名称】Service接口 + * + * @author system + * @date 2025-04-09 + */ +public interface ICatalogZySyndromeService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoServiceImpl.java new file mode 100644 index 00000000..343dd4ce --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoServiceImpl.java @@ -0,0 +1,31 @@ +package com.openhis.ybcatalog.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.openhis.ybcatalog.domain.CatalogDrugInfo; +import com.openhis.ybcatalog.mapper.CatalogDrugInfoMapper; +import com.openhis.ybcatalog.service.ICatalogDrugInfoService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * 西药中成药目录Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogDrugInfoServiceImpl extends ServiceImpl implements ICatalogDrugInfoService { +// /** +// * 获取药品信息 +// */ +// +// @Override +// public Page selectCatalogDrugInfo(Integer pageNo, +// Integer pageSize, String searchKey) { +// Page page = new Page<>(pageNo, pageSize); +// return (baseMapper.selectPage(page, new LambdaQueryWrapper().like(CatalogDrugInfo::getRegisteredName, searchKey).or().like(CatalogDrugInfo::getPinyinCode, searchKey).or().like(CatalogDrugInfo::getWubiCode, searchKey))); +// } +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoUsualServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoUsualServiceImpl.java new file mode 100644 index 00000000..0c19a2f6 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogDrugInfoUsualServiceImpl.java @@ -0,0 +1,35 @@ +package com.openhis.ybcatalog.service.impl; + +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.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogDrugInfoUsual; +import com.openhis.ybcatalog.mapper.CatalogDrugInfoUsualMapper; +import com.openhis.ybcatalog.service.ICatalogDrugInfoUsualService; + +/** + * 西药中成药目录Service业务层处理 + * + * @author system + * @date 2025-07-02 + */ +@Service +public class CatalogDrugInfoUsualServiceImpl extends ServiceImpl + implements ICatalogDrugInfoUsualService { + /** + * 获取药品信息 + */ + + @Override + public Page selectCatalogDrugInfoUsual(Integer pageNo, Integer pageSize, String searchKey) { + Page page = new Page<>(pageNo, pageSize); + return (baseMapper.selectPage(page, + new LambdaQueryWrapper().like(CatalogDrugInfoUsual::getRegisteredName, searchKey).or() + .like(CatalogDrugInfoUsual::getPinyinCode, searchKey).or() + .like(CatalogDrugInfoUsual::getWubiCode, searchKey).or() + .like(CatalogDrugInfoUsual::getApprovalNo, searchKey).or() + .like(CatalogDrugInfoUsual::getManufacturerName, searchKey))); + } +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalConsumablesServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalConsumablesServiceImpl.java new file mode 100644 index 00000000..ccaaad58 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalConsumablesServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogMedicalConsumables; +import com.openhis.ybcatalog.mapper.CatalogMedicalConsumablesMapper; +import com.openhis.ybcatalog.service.ICatalogMedicalConsumablesService; + +/** + * 医疗耗材信息Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogMedicalConsumablesServiceImpl extends ServiceImpl implements ICatalogMedicalConsumablesService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalHerbInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalHerbInfoServiceImpl.java new file mode 100644 index 00000000..d480d0ba --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalHerbInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogMedicalHerbInfo; +import com.openhis.ybcatalog.mapper.CatalogMedicalHerbInfoMapper; +import com.openhis.ybcatalog.service.ICatalogMedicalHerbInfoService; + +/** + * 中药材信息Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogMedicalHerbInfoServiceImpl extends ServiceImpl implements ICatalogMedicalHerbInfoService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalServiceServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalServiceServiceImpl.java new file mode 100644 index 00000000..d00089c9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogMedicalServiceServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogMedicalService; +import com.openhis.ybcatalog.mapper.CatalogMedicalServiceMapper; +import com.openhis.ybcatalog.service.ICatalogMedicalServiceService; + +/** + * 医疗服务项目Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogMedicalServiceServiceImpl extends ServiceImpl implements ICatalogMedicalServiceService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSpecialDiseaseServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSpecialDiseaseServiceImpl.java new file mode 100644 index 00000000..87e5f6eb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSpecialDiseaseServiceImpl.java @@ -0,0 +1,20 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogSpecialInsuranceDisease; +import com.openhis.ybcatalog.mapper.CatalogSpecialDiseaseMapper; +import com.openhis.ybcatalog.service.ICatalogSpecialDiseaseService; + +/** + * 特慢病目录 Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogSpecialDiseaseServiceImpl extends + ServiceImpl implements ICatalogSpecialDiseaseService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSurgeryStandardDirectoryServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSurgeryStandardDirectoryServiceImpl.java new file mode 100644 index 00000000..46bf5e8f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogSurgeryStandardDirectoryServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogSurgeryStandardDirectory; +import com.openhis.ybcatalog.mapper.CatalogSurgeryStandardDirectoryMapper; +import com.openhis.ybcatalog.service.ICatalogSurgeryStandardDirectoryService; + +/** + * 手术标准目录Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogSurgeryStandardDirectoryServiceImpl extends ServiceImpl implements ICatalogSurgeryStandardDirectoryService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogWesternDiseaseServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogWesternDiseaseServiceImpl.java new file mode 100644 index 00000000..47f3448f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogWesternDiseaseServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogWesternDisease; +import com.openhis.ybcatalog.mapper.CatalogWesternDiseaseMapper; +import com.openhis.ybcatalog.service.ICatalogWesternDiseaseService; + +/** + * 西医疾病诊断信息Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogWesternDiseaseServiceImpl extends ServiceImpl implements ICatalogWesternDiseaseService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZyDiseaseDiagnosisServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZyDiseaseDiagnosisServiceImpl.java new file mode 100644 index 00000000..e62f8b59 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZyDiseaseDiagnosisServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogZyDiseaseDiagnosis; +import com.openhis.ybcatalog.mapper.CatalogZyDiseaseDiagnosisMapper; +import com.openhis.ybcatalog.service.ICatalogZyDiseaseDiagnosisService; + +/** + * 中医疾病诊断Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogZyDiseaseDiagnosisServiceImpl extends ServiceImpl implements ICatalogZyDiseaseDiagnosisService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZySyndromeServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZySyndromeServiceImpl.java new file mode 100644 index 00000000..ab75747f --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybcatalog/service/impl/CatalogZySyndromeServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybcatalog.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybcatalog.domain.CatalogZySyndrome; +import com.openhis.ybcatalog.mapper.CatalogZySyndromeMapper; +import com.openhis.ybcatalog.service.ICatalogZySyndromeService; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author system + * @date 2025-04-09 + */ +@Service +public class CatalogZySyndromeServiceImpl extends ServiceImpl implements ICatalogZySyndromeService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultDetail.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultDetail.java new file mode 100644 index 00000000..adc73783 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultDetail.java @@ -0,0 +1,64 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方取药结果查询-输出(节点标识:seltdelts)】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_medresult_detail") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepMedresultDetail extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医疗目录编码 */ + private String medListCodg; + + /** 药品通用名 */ + private String drugGenname; + + /** 药品商品名 */ + private String drugProdname; + + /** 药品剂型 */ + private String drugDosform; + + /** 药品规格 */ + private BigDecimal drugSpec; + + /** 数量 */ + private BigDecimal cnt; + + /** 批准文号 */ + private String aprvno; + + /** 批次号 */ + private String bchno; + + /** 生产批号 */ + private String manuLotnum; + + /** 生产厂家 */ + private String prdrName; + + /** 取药标志位 */ + private String takeDrugFlag; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInfo.java new file mode 100644 index 00000000..565ec192 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInfo.java @@ -0,0 +1,49 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方取药结果查询-输出】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_medresult_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepMedresultInfo extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医保处方编号 */ + private String hiRxno; + + /** 医保结算时间(yyyy-MM-dd HH:mm:ss) */ + private String setlTime; + + /** 医保处方状态编码(参考rx_stas_codg) */ + private String rxStasCodg; + + /** 医保处方状态名称 */ + private String rxStasName; + + /** 处方使用状态编号(参考rx_used_stas_codg) */ + private String rxUsedStasCodg; + + /** 处方使用状态名称 */ + private String rxUsedStasName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInput.java new file mode 100644 index 00000000..00b7ac22 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepMedresultInput.java @@ -0,0 +1,49 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方取药结果查询-输入】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_medresult_input") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepMedresultInput extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 定点医疗机构编号 */ + private String fixmedinsCode; + + /** 医保处方编号 */ + private String hiRxno; + + /** 医保就诊ID(医保门诊挂号时返回) */ + private String mdtrtId; + + /** 人员名称 */ + private String psnName; + + /** 人员证件类型 */ + private String psnCertType; + + /** 证件号码 */ + private String certno; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerDiagnosisInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerDiagnosisInfo.java new file mode 100644 index 00000000..7d07dcab --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerDiagnosisInfo.java @@ -0,0 +1,73 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方信息查询-输出-诊断信息(节点表示: rxDiseList) 】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_quer_diagnosis_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepQuerDiagnosisInfo extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 诊断类别 */ + private String diagType; + + /** 主诊断标志 */ + private String maindiagFlag; + + /** 诊断排序号 */ + private String diagSrtNo; + + /** 诊断代码 */ + private String diagCode; + + /** 诊断名称 */ + private String diagName; + + /** 诊断科室 */ + private String diagDept; + + /** 诊断科室代码 */ + private String diagDeptCode; + + /** 诊断医生编码 */ + private String diagDrNo; + + /** 诊断医生姓名 */ + private String diagDrName; + + /** 诊断时间(yyyy-MM-dd HH:mm:ss) */ + private String diagTime; + + /** 中医病名代码 */ + private String tcmDiseCode; + + /** 中医病名名称 */ + private String tcmDiseName; + + /** 中医症候代码 */ + private String tcmsympCode; + + /** 中医症候 */ + private String tcmsymp; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionDetail.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionDetail.java new file mode 100644 index 00000000..7d8b1050 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionDetail.java @@ -0,0 +1,142 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方信息查询-输出-处方明细信息(节点标识:rxDetlList) 】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_quer_prescription_detail") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepQuerPrescriptionDetail extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医疗目录编码(医保目录编码) */ + private String medListCodg; + + /** 定点医药机构目录编号(院内药品编码) */ + private String fixmedinsHilistId; + + /** 院内制剂标志(Y/N) */ + private String hospPrepFlag; + + /** 处方项目分类代码 */ + private String rxItemTypeCode; + + /** 处方项目分类名称 */ + private String rxItemTypeName; + + /** 中药类别名称 */ + private String tcmdrugTypeName; + + /** 中药类别代码 */ + private String tcmdrugTypeCode; + + /** 草药脚注 */ + private String tcmherbFoote; + + /** 药物类型代码 */ + private String mednTypeCode; + + /** 药物类型 */ + private String mednTypeName; + + /** 主要用药标志 */ + private String mainMedcFlag; + + /** 加急标志 */ + private String urgtFlag; + + /** 基本药物标志(Y/N) */ + private String basMednFlag; + + /** 基本药物标志(Y/N) */ + private String impDrugFlag; + + /** 药品商品名 */ + private String drugProdname; + + /** 药品通用名 */ + private String drugGenname; + + /** 药品剂型 */ + private String drugDosform; + + /** 药品规格 */ + private String drugSpec; + + /** 生产厂家 */ + private String prdrName; + + /** 用药途径代码 */ + private String medcWayCodg; + + /** 用药途径描述 */ + private String medcWayDscr; + + /** 用药开始时间(yyyy-MM-dd HH:mm:ss) */ + private String medcBegntime; + + /** 用药结束时间(yyyy-MM-dd HH:mm:ss) */ + private String medcEndtime; + + /** 用药天数 */ + private BigDecimal medcDays; + + /** 药品总用药量 */ + private BigDecimal drugCnt; + + /** 药品总用药量单位 */ + private String drugDosunt; + + /** 单次用量 */ + private BigDecimal sinDoscnt; + + /** 单次剂量单位 */ + private String sinDosunt; + + /** 使用频次编码 */ + private String usedFrquCodg; + + /** 使用频次名称 */ + private String usedFrquName; + + /** 医院审批标志(Y/N) */ + private String hospApprFlag; + + /** 取药标志位(Y/N) */ + private String takeDrugFlag; + + /** 是否OTC药品(0-处方药品、1-OTC药品) */ + private String otcFlag; + + /** 自费原因类型 */ + private String selfPayRea; + + /** 自费原因描述 */ + private String realDscr; + + /** 所需药品库存数量 */ + private String drugTotlcnt; + + /** 所需药品库存单位 */ + private String drugTotlcntEmp; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInfo.java new file mode 100644 index 00000000..1905d5e8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInfo.java @@ -0,0 +1,120 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方信息查询-输出-处方信息 】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_quer_prescription_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepQuerPrescriptionInfo extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医保处方编号 */ + private String hiRxno; + + /** 定点医疗机构编号 */ + private String fixmedinsCode; + + /** 定点医疗机构名称 */ + private String fixmedinsName; + + /** 医保处方状态编码 */ + private String rxStasCodg; + + /** 医保处方状态名称 */ + private String rxStasName; + + /** 医保处方使用状态编码 */ + private String rxUsedStasCodg; + + /** 医保处方使用状态名称 */ + private String rxUsedStasName; + + /** 开方时间 */ + private String prscTime; + + /** 药品总用量(剂数) */ + private BigDecimal rxDrugCnt; + + /** 处方整剂用法编码 */ + private String rxUsedWayCodg; + + /** 处方整剂用法名称 */ + private String rxUsedWayName; + + /** 处方整剂频次编号 */ + private String rxFrquCodg; + + /** 处方整剂频次名称 */ + private String rxFrquName; + + /** 处方整剂剂量单位 */ + private String rxDosunt; + + /** 处方整剂单次剂量数 */ + private BigDecimal rxDoscnt; + + /** 处方整剂医嘱说明 */ + private String rxDrordDscr; + + /** 处方有效天数 */ + private BigDecimal valiDays; + + /** 有效截止时间 */ + private String valiEndTime; + + /** 复用(多次)使用标志,0-否、1-是 */ + private String reptFlag; + + /** 最大复用次数 */ + private BigDecimal maxReptCnt; + + /** 已复用次数 */ + private BigDecimal reptdCnt; + + /** 使用最小间隔(天数) */ + private BigDecimal minInrvDays; + + /** 处方类别编码 */ + private String rxTypeCode; + + /** 处方类别名称 */ + private String rxTypeName; + + /** 长期处方标志,0-否、1-是 */ + private String longRxFlag; + + /** 业务类型代码 */ + private String bizTypeCode; + + /** 业务类型名称 */ + private String bizTypeName; + + /** 处方附加属性代码 */ + private String rxExraAttrCode; + + /** 处方附加属性名称 */ + private String rxExraAttrName; + + /** 处方循环限制标志 */ + private String rxCircLimitFlag; +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInput.java new file mode 100644 index 00000000..ff9def00 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerPrescriptionInput.java @@ -0,0 +1,49 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方信息查询-输入】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_quer_prescription_input") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepQuerPrescriptionInput extends HisBaseEntity { + + /** 定点医疗机构编号 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 定点医疗机构编号 */ + private String fixmedinsCode; + + /** 医保处方编号 */ + private String hiRxno; + + /** 医保就诊 ID */ + private String mdtrtId; + + /** 人员名称 */ + private String psnName; + + /** 人员证件类型 */ + private String psnCertType; + + /** 证件号码 */ + private String certno; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerVisitInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerVisitInfo.java new file mode 100644 index 00000000..a507455c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepQuerVisitInfo.java @@ -0,0 +1,109 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方信息查询-输出-就诊信息(节点标识:rxOtpinfo) 】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_quer_visit_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepQuerVisitInfo extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医疗类别(参考医疗类别med_type) */ + private String medType; + + /** 门诊/住院号 */ + private String iptOtpNo; + + /** 门诊住院标志(1-门诊,2-住院) */ + private String otpIptFlag; + + /** 患者姓名 */ + private String patnName; + + /** 年龄 */ + private BigDecimal patnAge; + + /** 患者身高(cm) */ + private BigDecimal patnHgt; + + /** 患者体重(kg) */ + private BigDecimal patnWt; + + /** 性别 */ + private String gend; + + /** 妊娠(孕周) */ + private Integer gesoVal; + + /** 新生儿标志(0-否、1-是) */ + private String nwbFlag; + + /** 新生儿日、月龄 */ + private String nwbAge; + + /** 哺乳期标志(0-否、1-是) */ + private Integer suckPrdFlag; + + /** 过敏史 */ + private String algsHis; + + /** 险种类型 */ + private String insutype; + + /** 开方科室名称 */ + private String prscDeptName; + + /** 开方医师姓名 */ + private String prscDrName; + + /** 药师姓名 */ + private String pharName; + + /** 医疗机构药师审方时间(yyyy-MM-dd HH:mm:ss) */ + private String pharChkTime; + + /** 就诊时间(yyyy-MM-dd HH:mm:ss) */ + private String mdtrtTime; + + /** 病种编码(按病种结算病种目录代码/门诊慢特病种目录代码) */ + private String diseCodg; + + /** 病种名称 */ + private String diseName; + + /** 是否特殊病种 */ + private String spDiseFlag; + + /** 主诊断代码 */ + private String maindiagCode; + + /** 主诊断名称 */ + private String maindiagName; + + /** 疾病病情描述 */ + private String diseCondDscr; + + /** 是否初诊(0-否、1-是) */ + private String fstdiagFlag; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeInput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeInput.java new file mode 100644 index 00000000..a851c9d1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeInput.java @@ -0,0 +1,60 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【电子处方撤销-输入】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_revoke_input") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepRevokeInput extends HisBaseEntity { + + /** 医保处方编号 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医保处方编号 */ + private String hiRxno; + + /** 定点医疗机构编号 */ + private String fixmedinsCode; + + /** 撤销医师的医保医师代码 */ + private String drCode; + + /** 撤销医师姓名 */ + private String undoDrName; + + /** 撤销医师证件类型 */ + private String undoDrCertType; + + /** 撤销医师证件号码 */ + private String undoDrCertno; + + /** 撤销原因描述 */ + private String undoRea; + + /** 撤销时间,格式:yyyy-MM-dd HH:mm:ss */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date undoTime; +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeOutput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeOutput.java new file mode 100644 index 00000000..6c56f408 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepRevokeOutput.java @@ -0,0 +1,41 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方撤销-输出】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_revoke_output") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepRevokeOutput extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医保处方编号 */ + + private String hiRxno; + + /** 医保处方状态编码 */ + private String rxStasCodg; + + /** 医保处方状态名称 */ + private String rxStasName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureInput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureInput.java new file mode 100644 index 00000000..f33c54fd --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureInput.java @@ -0,0 +1,52 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方医保电子签名 -输入】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_signature_input") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepSignatureInput extends HisBaseEntity { + + /** 自增主键 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 定点机构代码,定点机构唯一标识,用于识别机构对应的医保数字证书 */ + private String fixmedinsCode; + + /** 原始待签名处方信息,JSONString序列化后的base64字符值 */ + private String originalValue; + + /** 原始待签名处方文件,文件base64的字符值 */ + private String originalRxFile; + + /** 扩展字段,JSON序列化成字符串后长度不能超过4000 */ + private String extras; + + /** 医保处方编号 */ + @JSONField(serialize=false) + private String hiRxno; + + /** 院内内部处方号 */ + private String prescriptionNo; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureOutput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureOutput.java new file mode 100644 index 00000000..a5aa89be --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepSignatureOutput.java @@ -0,0 +1,49 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方医保电子签名 -输出】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_signature_output") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepSignatureOutput extends HisBaseEntity { + + /** 自增主键 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 处方文件,医保电子签名后处方文件originalRxFile的base64值 */ + private String rxFile; + + /** 签名摘要值,医保电子签名后处方信息originalValue的签名结果值 */ + private String signDigest; + + /** 签名机构证书SN */ + private String signCertSn; + + /** 签名机构证书DN */ + private String signCertDn; + + /** 医保处方编号 */ + @JSONField(serialize=false) + private String hiRxno; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadInput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadInput.java new file mode 100644 index 00000000..7d3289ff --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadInput.java @@ -0,0 +1,104 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【电子处方上传-输入】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_upload_input") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepUploadInput extends HisBaseEntity { + + /** 自增主键 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 处方追溯码 */ + private String rxTraceCode; + + /** 医保处方编号 */ + private String hiRxno; + + /** 医院就诊 ID */ + private String mdtrtId; + + /** 患者姓名 */ + private String patnName; + + /** 人员证件类型 */ + private String psnCertType; + + /** 证件号码 */ + private String certno; + + /** 定点医疗机构名称 */ + private String fixmedinsName; + + /** 定点医疗机构编号 */ + private String fixmedinsCode; + + /** 开方医保医师代码 */ + private String drCode; + + /** 开方医师姓名 */ + private String prscDrName; + + /** 审方药师科室名称 */ + private String pharDeptName; + + /** 审方药师科室编号 */ + private String pharDeptCode; + + /** 审方药师职称编码 */ + private String pharProfttlCodg; + + /** 审方药师职称名称 */ + private String pharProfttlName; + + /** 审方医保药师代码 */ + private String pharCode; + + /** 审方药师证件类型 */ + private String pharCertType; + + /** 审方药师证件号码 */ + private String pharCertno; + + /** 审方药师姓名 */ + private String pharName; + + /** 审方药师执业资格证号 */ + private String pharPracCertNo; + + /** 医疗机构药师审方时间,格式:yyyy-MM-dd HH:mm:ss */ + private String pharChkTime; + + /** 处方原件,医保电子签名后的处方文件base64字符(PDF或OFD格式) */ + private String rxFile; + + /** 处方信息签名值 */ + private String signDigest; + + /** 扩展字段,JSON格式,长度不超过4000 */ + private String extras; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadOutput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadOutput.java new file mode 100644 index 00000000..8bdb8224 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepUploadOutput.java @@ -0,0 +1,40 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方上传-输出】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_upload_output") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepUploadOutput extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 医保处方编号 */ + private String hiRxno; + + /** 医保处方状态编码 */ + private String rxStasCodg; + + /** 医保处方状态名称 */ + private String rxStasName; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriDiagnosisInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriDiagnosisInfo.java new file mode 100644 index 00000000..71e878fa --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriDiagnosisInfo.java @@ -0,0 +1,86 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【电子处方上传预核验-输入-诊断信息(节点表示:diseinfo)】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_veri_diagnosis_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepVeriDiagnosisInfo extends HisBaseEntity { + + /** 自增主键 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 诊断类别,参考诊断类别(diag_type) */ + private String diagType; + + /** 主诊断标志,0-否、1-是 */ + private String maindiagFlag; + + /** 诊断排序号 */ + private String diagSrtNo; + + /** 诊断代码,医保疾病诊断代码 */ + private String diagCode; + + /** 诊断名称 */ + private String diagName; + + /** 诊断科室名称 */ + private String diagDept; + + /** 诊断科室代码,与科室信息上传中的hosp_dept_codg医院科室编码保持一致 */ + private String diagDeptCode; + + /** 诊断医生编码,国家医保医师代码 */ + private String diagDrNo; + + /** 诊断医生姓名 */ + private String diagDrName; + + /** 诊断时间,格式:yyyy-MM-dd HH:mm:ss */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date diagTime; + + /** 中医病名代码,diag_type为中医诊断(值为2,3)时上传 */ + private String tcmDiseCode; + + /** 中医病名,diag_type为中医诊断(值为2,3)时上传 */ + private String tcmDiseName; + + /** 中医证候代码,diag_type为中医诊断(值为2,3)时上传 */ + private String tcmsympCode; + + /** 中医证候,diag_type为中医诊断(值为2,3)时上传 */ + private String tcmsymp; + + /** 院内内部处方号 */ + @JSONField(serialize=false) + private String prescriptionNo; + + /** 医保处方编号(电子处方信息查询返回时插入记录) */ + @JSONField(serialize=false) + private String hiRxno; +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionDetail.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionDetail.java new file mode 100644 index 00000000..377c4997 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionDetail.java @@ -0,0 +1,157 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【电子处方上传预核验-输入-处方明细信息(节点标识 rxdrugdetail) 】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_veri_prescription_detail") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepVeriPrescriptionDetail extends HisBaseEntity { + + /** 自增主键 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** 医疗目录编码(医保药品编码) */ + private String medListCodg; + + /** 定点医药机构目录编号(院内药品编码) */ + private String fixmedinsHilistId; + + /** 医疗机构制剂标志(0-否、1-是) */ + private String hospPrepFlag; + + /** 处方项目分类代码(11:西药,12:中成药,13:中药饮片) */ + private String rxItemTypeCode; + + /** 处方项目分类名称 */ + private String rxItemTypeName; + + /** 中药类别代码(中药饮片固定传3) */ + private String tcmdrugTypeCode; + + /** 中药类别名称 */ + private String tcmdrugTypeName; + + /** 草药脚注 */ + private String tcmherbFoote; + + /** 药物类型代码(参考medn_type_code) */ + private String mednTypeCode; + + /** 药物类型名称 */ + private String mednTypeName; + + /** 主要用药标志(0-否、1-是) */ + private String mainMedcFlag; + + /** 加急标志(0-否、1-是) */ + private String urgtFlag; + + /** 基本药物标志(0-否、1-是) */ + private String basMednFlag; + + /** 是否进口药品(0-否、1-是) */ + private String impDrugFlag; + + /** 是否OTC药品(0-处方药品、1-OTC药品) */ + private String otcFlag; + + /** 药品通用名 */ + private String drugGenname; + + /** 药品剂型 */ + private String drugDosform; + + /** 药品规格 */ + private String drugSpec; + + /** 药品商品名(非必填) */ + private String drugProdname; + + /** 生产厂家(非必填) */ + private String prdrName; + + /** 用药途径代码(西药/中成药必填) */ + private String medcWayCodg; + + /** 用药途径描述(西药/中成药必填) */ + private String medcWayDscr; + + /** 用药开始时间(yyyy-MM-dd HH:mm:ss) */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date medcBegntime; + + /** 用药结束时间(yyyy-MM-dd HH:mm:ss) */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date medcEndtime; + + /** 用药天数 */ + private String medcDays; + + /** 单次剂量单位(西药/中成药必填) */ + private String sinDosunt; + + /** 单次用量(西药/中成药必填) */ + private String sinDoscnt; + + /** 使用频次编码(西药/中成药必填) */ + private String usedFrquCodg; + + /** 使用频次名称(西药/中成药必填) */ + private String usedFrquName; + + /** 药品总用药量单位(发药计价单位) */ + private String drugDosunt; + + /** 药品总用药量(医保结算数量) */ + private String drugCnt; + + /** 药品单价(按drug_dosunt计价) */ + private String drugPric; + + /** 药品总金额(drug_cnt×drug_pric) */ + private String drugSumamt; + + /** 医院审批标志(1-纳入报销,2-自费) */ + private String hospApprFlag; + + /** 自费原因类型(hosp_appr_flag=2时必填) */ + private String selfPayRea; + + /** 自费原因描述(自费原因类型为6时必填) */ + private String realDscr; + + /** 扩展数据(地方业务扩展信息) */ + private String extras; + + /** 院内内部处方号 */ + @JSONField(serialize=false) + private String prescriptionNo; + + /** 医保处方编号(电子处方信息查询返回时插入记录) */ + @JSONField(serialize=false) + private String hiRxno; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionInfo.java new file mode 100644 index 00000000..d27f326b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionInfo.java @@ -0,0 +1,126 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【电子处方上传预核验-输入-处方信息】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_veri_prescription_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepVeriPrescriptionInfo extends HisBaseEntity { + /** 自增主键 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 就诊凭证类型(01-电子凭证令牌、02-身份证号、03-社会保障卡号) */ + private String mdtrtCertType; + + /** 就诊凭证编号 */ + private String mdtrtCertNo; + + /** 卡识别码(就诊凭证类型为"03"时必填) */ + private String cardSn; + + /** 业务类型代码(01-定点医疗机构就诊,02-互联网医院问诊) */ + private String bizTypeCode; + + /** 处方附加属性代码(01-双通道处方,02-门诊统筹处方,99-其他) */ + private String rxExraAttrCode; + + /** 电子凭证令牌(使用医保电子凭证就诊时必填) */ + private String ecToken; + + /** 电子凭证线上身份核验流水号(线上场景互联网医院问诊时使用) */ + private String authNo; + + /** 参保地编号 */ + private String insuPlcNo; + + /** 就医地编号 */ + private String mdtrtareaNo; + + /** 定点医疗机构处方编号(院内内部处方号) */ + private String hospRxno; + + /** 续方的原处方编号 */ + private String initRxno; + + /** 处方类别代码(参考rx_type_code) */ + private String rxTypeCode; + + /** 开方时间(yyyy-MM-dd HH:mm:ss) */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date prscTime; + + /** 药品类目数(剂数) */ + private String rxDrugCnt; + + /** 处方整剂用法编号 */ + private String rxUsedWayCodg; + + /** 处方整剂用法名称 */ + private String rxUsedWayName; + + /** 处方整剂频次编号(参考used_frequ) */ + private String rxFrquCodg; + + /** 处方整剂频次名称 */ + private String rxFrquName; + + /** 处方整剂剂量单位 */ + private String rxDosunt; + + /** 处方整剂单次剂量数 */ + private String rxDoscnt; + + /** 处方整剂医嘱说明 */ + private String rxDrordDscr; + + /** 处方有效天数 */ + private String valiDays; + + /** 有效截止时间(开方时间+处方有效天数) */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date valiEndTime; + + /** 复用(多次)使用标志(0-否、1-是) */ + private String reptFlag; + + /** 最大使用次数(预留字段) */ + private String maxReptCnt; + + /** 使用最小间隔(天数)(预留字段) */ + private String minInvDays; + + /** 续方标志(0-否、1-是) */ + private String rxCotnFlag; + + /** 长期处方标志(0-否、1-是) */ + private String longRxFlag; + + /** 医保处方编号(电子处方信息查询返回时插入记录) */ + @JSONField(serialize=false) + private String hiRxno; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionOutput.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionOutput.java new file mode 100644 index 00000000..2ab37b3a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriPrescriptionOutput.java @@ -0,0 +1,36 @@ +package com.openhis.ybelep.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.core.common.core.domain.HisBaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 【电子处方上传预核验-输出】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_veri_prescription_output") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepVeriPrescriptionOutput extends HisBaseEntity { + + /** 自增主键 */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 处方追溯码 */ + private String rxTraceCode; + + /** 医保处方编号 */ + private String hiRxno; + + /** 药品请求的处方号 */ + private String prescriptionNo; +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriVisitInfo.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriVisitInfo.java new file mode 100644 index 00000000..ae7f14c8 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/ElepVeriVisitInfo.java @@ -0,0 +1,182 @@ +package com.openhis.ybelep.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 【电子处方上传预核验-输入-就诊信息(节点标识:mdtrtinfo) 】Entity实体 + * + * @author system + * @date 2025-04-17 + */ +@Data +@TableName("yb_elep_veri_visit_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class ElepVeriVisitInfo extends HisBaseEntity { + /** 自增主键 */ + @JSONField(serialize=false) + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 定点医疗机构名称 */ + private String fixmedinsName; + + /** 定点医疗机构编号 */ + private String fixmedinsCode; + + /** 医保就诊ID(医保门诊挂号时返回) */ + private String mdtrtId; + + /** 医疗类别(参考med_type) */ + private String medType; + + /** 门诊/住院号 */ + private String iptOtpNo; + + /** 门诊住院标识(1-门诊、2-住院) */ + private String otpIptFlag; + + /** 医保人员编号 */ + private String psnNo; + + /** 患者姓名 */ + private String patnName; + + /** 人员证件类型(参考psn_cert_type) */ + private String psnCertType; + + /** 证件号码 */ + private String certno; + + /** 年龄 */ + private String patnAge; + + /** 患者身高(cm) */ + private String patnHgt; + + /** 患者体重(kg) */ + private String patnWt; + + /** 性别(参考gend) */ + private String gend; + + /** 计划生育手术类别 */ + private String birctrlType; + + /** 计划生育手术或生育日期(yyyy-MM-dd) */ + private String birctrlMatnDate; + + /** 生育类别 */ + private String matnType; + + /** 妊娠(孕周) */ + private String gesoVal; + + /** 新生儿标志(0-否、1-是) */ + private String nwbFlag; + + /** 新生儿日、月龄 */ + private String nwbAge; + + /** 哺乳期标志(0-否、1-是) */ + private String suckPrdFlag; + + /** 过敏史 */ + private String algsHis; + + /** 开方科室名称 */ + private String prscDeptName; + + /** 开方科室编号(与医药机构服务的科室管理保持一致) */ + private String prscDeptCode; + + /** 开方医保医师代码(国家医保医师代码) */ + private String drCode; + + /** 开方医师姓名 */ + private String prscDrName; + + /** 开方医师证件类型(参考psn_cert_type) */ + private String prscDrCertType; + + /** 开方医师证件号码 */ + private String prscDrCertno; + + /** 医生职称编码(参考drord_dr_proftt1) */ + private String drProfttlCodg; + + /** 医生职称名称 */ + private String drProfttlName; + + /** 医生科室编码(与医院科室编码字段保持一致) */ + private String drDeptCode; + + /** 医生科室名称 */ + private String drDeptName; + + /** 科别(参考科室代码dept) */ + private String caty; + + /** 就诊时间(yyyy-MM-dd HH:mm:ss) */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date mdtrtTime; + + /** 病种编码 */ + private String diseCodg; + + /** 病种名称 */ + private String diseName; + + /** 特殊病种标志(0-否、1-是) */ + private String spDiseFlag; + + /** 主诊断代码(医保疾病诊断代码) */ + private String maindiagCode; + + /** 主诊断名称 */ + private String maindiagName; + + /** 疾病病情描述 */ + private String diseCondDscr; + + /** 医保费用结算类型(参考hi_feeset1_type) */ + private String hiFeesetlType; + + /** 医保费用类别名称 */ + private String hiFeesetlName; + + /** 挂号费 */ + private String rgstFee; + + /** 医疗费总额 */ + private String medfeeSumamt; + + /** 是否初诊(0-否、1-是) */ + private String fstdiagFlag; + + /** 扩展数据(地方业务扩展信息) */ + private String extras; + + /** 院内内部处方号 */ + @JSONField(serialize=false) + private String prescriptionNo; + + /** 医保处方编号(电子处方信息查询返回时插入记录) */ + @JSONField(serialize=false) + private String hiRxno; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/InformationInquiry.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/InformationInquiry.java new file mode 100644 index 00000000..b0bb5b59 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/InformationInquiry.java @@ -0,0 +1,26 @@ +package com.openhis.ybelep.domain; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class InformationInquiry { + + // 处方信息 + private ElepQuerPrescriptionInfo prescriptionInfo; + + // 处方明细信息 + private List rxDetlList; + + // 就诊信息 + private List rxOtpinfo; + + // 诊断信息 + private List rxDiseList; + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/MedicationResultInquiry.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/MedicationResultInquiry.java new file mode 100644 index 00000000..a835ce2c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/MedicationResultInquiry.java @@ -0,0 +1,41 @@ +package com.openhis.ybelep.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; +import java.util.List; + +/** + * 电子处方取药结果查询 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class MedicationResultInquiry { + + /** 医保处方编号 */ + private String hiRxno; + + /** 医保结算时间(yyyy-MM-dd HH:mm:ss) */ + private String setlTime; + + /** 医保处方状态编码(参考rx_stas_codg) */ + private String rxStasCodg; + + /** 医保处方状态名称 */ + private String rxStasName; + + /** 处方使用状态编号(参考rx_used_stas_codg) */ + private String rxUsedStasCodg; + + /** 处方使用状态名称 */ + private String rxUsedStasName; + + // 输出明细信息 + private List seltdelts; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/PreCheckPrescription.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/PreCheckPrescription.java new file mode 100644 index 00000000..48f3f508 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/PreCheckPrescription.java @@ -0,0 +1,129 @@ +package com.openhis.ybelep.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + + +/** + * 电子处方上传预核验 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PreCheckPrescription { + + // 处方信息 + + /** 就诊凭证类型(01-电子凭证令牌、02-身份证号、03-社会保障卡号) */ + private String mdtrtCertType; + + /** 就诊凭证编号 */ + private String mdtrtCertNo; + + /** 卡识别码(就诊凭证类型为"03"时必填) */ + private String cardSn; + + /** 业务类型代码(01-定点医疗机构就诊,02-互联网医院问诊) */ + private String bizTypeCode; + + /** 处方附加属性代码(01-双通道处方,02-门诊统筹处方,99-其他) */ + private String rxExraAttrCode; + + /** 电子凭证令牌(使用医保电子凭证就诊时必填) */ + private String ecToken; + + /** 电子凭证线上身份核验流水号(线上场景互联网医院问诊时使用) */ + private String authNo; + + /** 参保地编号 */ + private String insuPlcNo; + + /** 就医地编号 */ + private String mdtrtareaNo; + + /** 定点医疗机构处方编号(院内内部处方号) */ + private String hospRxno; + + /** 续方的原处方编号 */ + private String initRxno; + + /** 处方类别代码(参考rx_type_code) */ + private String rxTypeCode; + + /** 开方时间(yyyy-MM-dd HH:mm:ss) */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date prscTime; + + /** 药品类目数(剂数) */ + private String rxDrugCnt; + + /** 处方整剂用法编号 */ + private String rxUsedWayCodg; + + /** 处方整剂用法名称 */ + private String rxUsedWayName; + + /** 处方整剂频次编号(参考used_frequ) */ + private String rxFrquCodg; + + /** 处方整剂频次名称 */ + /** 处方整剂频次名称 */ + private String rxFrquName; + + /** 处方整剂剂量单位 */ + private String rxDosunt; + + /** 处方整剂单次剂量数 */ + private String rxDoscnt; + + /** 处方整剂医嘱说明 */ + private String rxDrordDscr; + + /** 处方有效天数 */ + private String valiDays; + + /** 有效截止时间(开方时间+处方有效天数) */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date valiEndTime; + + /** 复用(多次)使用标志(0-否、1-是) */ + private String reptFlag; + + /** 最大使用次数(预留字段) */ + private String maxReptCnt; + + /** 使用最小间隔(天数)(预留字段) */ + private String minInvDays; + + /** 续方标志(0-否、1-是) */ + private String rxCotnFlag; + + /** 长期处方标志(0-否、1-是) */ + private String longRxFlag; + + /** 医保处方编号(电子处方信息查询返回时插入记录) */ + @JSONField(serialize=false) + private String hiRxno; + + // 处方明细信息 + private List rxdrugdetail; + + // 就诊信息 + private ElepVeriVisitInfo mdtrtinfo; + + // 诊断信息 + private ElepVeriDiagnosisInfo diseinfo; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/QueryPrescription.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/QueryPrescription.java new file mode 100644 index 00000000..53589f3c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/domain/QueryPrescription.java @@ -0,0 +1,122 @@ +package com.openhis.ybelep.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + + +/** + * 电子处方上传预核验 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class QueryPrescription { + + /** 医保处方编号 */ + private String hiRxno; + + /** 定点医疗机构编号 */ + private String fixmedinsCode; + + /** 定点医疗机构名称 */ + private String fixmedinsName; + + /** 医保处方状态编码 */ + private String rxStasCodg; + + /** 医保处方状态名称 */ + private String rxStasName; + + /** 医保处方使用状态编码 */ + private String rxUsedStasCodg; + + /** 医保处方使用状态名称 */ + private String rxUsedStasName; + + /** 开方时间 */ + private String prscTime; + + /** 药品总用量(剂数) */ + private BigDecimal rxDrugCnt; + + /** 处方整剂用法编码 */ + private String rxUsedWayCodg; + + /** 处方整剂用法名称 */ + private String rxUsedWayName; + + /** 处方整剂频次编号 */ + private String rxFrquCodg; + + /** 处方整剂频次名称 */ + private String rxFrquName; + + /** 处方整剂剂量单位 */ + private String rxDosunt; + + /** 处方整剂单次剂量数 */ + private BigDecimal rxDoscnt; + + /** 处方整剂医嘱说明 */ + private String rxDrordDscr; + + /** 处方有效天数 */ + private BigDecimal valiDays; + + /** 有效截止时间 */ + private String valiEndTime; + + /** 复用(多次)使用标志,0-否、1-是 */ + private String reptFlag; + + /** 最大复用次数 */ + private BigDecimal maxReptCnt; + + /** 已复用次数 */ + private BigDecimal reptdCnt; + + /** 使用最小间隔(天数) */ + private BigDecimal minInrvDays; + + /** 处方类别编码 */ + private String rxTypeCode; + + /** 处方类别名称 */ + private String rxTypeName; + + /** 长期处方标志,0-否、1-是 */ + private String longRxFlag; + + /** 业务类型代码 */ + private String bizTypeCode; + + /** 业务类型名称 */ + private String bizTypeName; + + /** 处方附加属性代码 */ + private String rxExraAttrCode; + + /** 处方附加属性名称 */ + private String rxExraAttrName; + + /** 处方循环限制标志 */ + private String rxCircLimitFlag; + + // 处方明细信息 + private List rxDetlList; + + // 就诊信息 + private ElepQuerVisitInfo rxOtpinfo; + + // 诊断信息 + private List rxDiseList; + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultDetailMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultDetailMapper.java new file mode 100644 index 00000000..04583e7b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultDetailMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepMedresultDetail; + +/** + * 【电子处方取药结果查询-输出(节点标识:seltdelts)】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepMedresultDetailMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInfoMapper.java new file mode 100644 index 00000000..65c926c5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepMedresultInfo; + +/** + * 【电子处方取药结果查询-输出】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepMedresultInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInputMapper.java new file mode 100644 index 00000000..cef07dfb --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepMedresultInputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepMedresultInput; + +/** + * 【电子处方取药结果查询-输入】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepMedresultInputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerDiagnosisInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerDiagnosisInfoMapper.java new file mode 100644 index 00000000..f1f10f15 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerDiagnosisInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepQuerDiagnosisInfo; + +/** + * 【电子处方信息查询-输出-诊断信息(节点表示: rxDiseList) 】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepQuerDiagnosisInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionDetailMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionDetailMapper.java new file mode 100644 index 00000000..1165239c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionDetailMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepQuerPrescriptionDetail; + +/** + * 【电子处方信息查询-输出-处方明细信息(节点标识:rxDetlList) 】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepQuerPrescriptionDetailMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInfoMapper.java new file mode 100644 index 00000000..231c401b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepQuerPrescriptionInfo; + +/** + * 【电子处方信息查询-输出-处方信息 】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepQuerPrescriptionInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInputMapper.java new file mode 100644 index 00000000..314dd9a7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerPrescriptionInputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepQuerPrescriptionInput; + +/** + * 【电子处方信息查询-输入】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepQuerPrescriptionInputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerVisitInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerVisitInfoMapper.java new file mode 100644 index 00000000..ed6459d0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepQuerVisitInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepQuerVisitInfo; + +/** + * 【电子处方信息查询-输出-就诊信息(节点标识:rxOtpinfo) 】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepQuerVisitInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeInputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeInputMapper.java new file mode 100644 index 00000000..64423fac --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeInputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepRevokeInput; + +/** + * 【电子处方撤销-输入】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepRevokeInputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeOutputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeOutputMapper.java new file mode 100644 index 00000000..0b8240b0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepRevokeOutputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepRevokeOutput; + +/** + * 【电子处方撤销-输出】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepRevokeOutputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureInputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureInputMapper.java new file mode 100644 index 00000000..2b2913a3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureInputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepSignatureInput; + +/** + * 【电子处方医保电子签名 -输入】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepSignatureInputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureOutputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureOutputMapper.java new file mode 100644 index 00000000..6696a938 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepSignatureOutputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepSignatureOutput; + +/** + * 【电子处方医保电子签名 -输出】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepSignatureOutputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadInputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadInputMapper.java new file mode 100644 index 00000000..435e0496 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadInputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepUploadInput; + +/** + * 【电子处方上传-输入】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepUploadInputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadOutputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadOutputMapper.java new file mode 100644 index 00000000..edf63ffe --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepUploadOutputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepUploadOutput; + +/** + * 【电子处方上传-输出】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepUploadOutputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriDiagnosisInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriDiagnosisInfoMapper.java new file mode 100644 index 00000000..b348be66 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriDiagnosisInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepVeriDiagnosisInfo; + +/** + * 【电子处方上传预核验-输入-诊断信息(节点表示:diseinfo)】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepVeriDiagnosisInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionDetailMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionDetailMapper.java new file mode 100644 index 00000000..d735b38b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionDetailMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepVeriPrescriptionDetail; + +/** + * 【电子处方上传预核验-输入-处方明细信息(节点标识 rxdrugdetail) 】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepVeriPrescriptionDetailMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionInfoMapper.java new file mode 100644 index 00000000..afd3cfdc --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepVeriPrescriptionInfo; + +/** + * 【电子处方上传预核验-输入-处方信息】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepVeriPrescriptionInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionOutputMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionOutputMapper.java new file mode 100644 index 00000000..0183f2ec --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriPrescriptionOutputMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.ybelep.domain.ElepVeriPrescriptionOutput; + +/** + * 【电子处方上传预核验-输出】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepVeriPrescriptionOutputMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriVisitInfoMapper.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriVisitInfoMapper.java new file mode 100644 index 00000000..bbde3421 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/mapper/ElepVeriVisitInfoMapper.java @@ -0,0 +1,17 @@ +package com.openhis.ybelep.mapper; + +import com.openhis.ybelep.domain.ElepVeriVisitInfo; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 【电子处方上传预核验-输入-就诊信息(节点标识:mdtrtinfo) 】Mapper接口 + * + * @author system + * @date 2025-04-17 + */ +@Repository +public interface ElepVeriVisitInfoMapper extends BaseMapper { + +} diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultDetailService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultDetailService.java new file mode 100644 index 00000000..a1eebf48 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultDetailService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepMedresultDetail; + +/** + * 【电子处方取药结果查询-输出(节点标识:seltdelts)】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepMedresultDetailService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInfoService.java new file mode 100644 index 00000000..e6994723 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepMedresultInfo; + +/** + * 【电子处方取药结果查询-输出】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepMedresultInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInputService.java new file mode 100644 index 00000000..3985b0a7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepMedresultInputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepMedresultInput; + +/** + * 【电子处方取药结果查询-输入】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepMedresultInputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerDiagnosisInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerDiagnosisInfoService.java new file mode 100644 index 00000000..3a47ee59 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerDiagnosisInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepQuerDiagnosisInfo; + +/** + * 【电子处方信息查询-输出-诊断信息(节点表示: rxDiseList) 】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepQuerDiagnosisInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionDetailService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionDetailService.java new file mode 100644 index 00000000..75b5dab1 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionDetailService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepQuerPrescriptionDetail; + +/** + * 【电子处方信息查询-输出-处方明细信息(节点标识:rxDetlList)】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepQuerPrescriptionDetailService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInfoService.java new file mode 100644 index 00000000..a7f93640 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepQuerPrescriptionInfo; + +/** + * 【电子处方信息查询-输出-处方信息 】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepQuerPrescriptionInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInputService.java new file mode 100644 index 00000000..f5682adc --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerPrescriptionInputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepQuerPrescriptionInput; + +/** + * 【电子处方信息查询-输入】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepQuerPrescriptionInputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerVisitInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerVisitInfoService.java new file mode 100644 index 00000000..e139469a --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepQuerVisitInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepQuerVisitInfo; + +/** + * 【电子处方信息查询-输出-就诊信息(节点标识:rxOtpinfo) 】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepQuerVisitInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeInputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeInputService.java new file mode 100644 index 00000000..61cf1478 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeInputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepRevokeInput; + +/** + * 【电子处方撤销-输入】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepRevokeInputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeOutputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeOutputService.java new file mode 100644 index 00000000..5c4d4528 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepRevokeOutputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepRevokeOutput; + +/** + * 【电子处方撤销-输出】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepRevokeOutputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureInputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureInputService.java new file mode 100644 index 00000000..b1e24161 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureInputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepSignatureInput; + +/** + * 【电子处方医保电子签名 -输入】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepSignatureInputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureOutputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureOutputService.java new file mode 100644 index 00000000..22a8a8ca --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepSignatureOutputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepSignatureOutput; + +/** + * 【电子处方医保电子签名 -输出】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepSignatureOutputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadInputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadInputService.java new file mode 100644 index 00000000..0f985498 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadInputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepUploadInput; + +/** + * 【电子处方上传-输入】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepUploadInputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadOutputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadOutputService.java new file mode 100644 index 00000000..4a789dc0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepUploadOutputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepUploadOutput; + +/** + * 【电子处方上传-输出】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepUploadOutputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriDiagnosisInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriDiagnosisInfoService.java new file mode 100644 index 00000000..7b2f6fcf --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriDiagnosisInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepVeriDiagnosisInfo; + +/** + * 【电子处方上传预核验-输入-诊断信息(节点表示:diseinfo)】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepVeriDiagnosisInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionDetailService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionDetailService.java new file mode 100644 index 00000000..bca472bd --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionDetailService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepVeriPrescriptionDetail; + +/** + * 【电子处方上传预核验-输入-处方明细信息(节点标识 rxdrugdetail) 】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepVeriPrescriptionDetailService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionInfoService.java new file mode 100644 index 00000000..e8e69f80 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepVeriPrescriptionInfo; + +/** + * 【电子处方上传预核验-输入-处方信息】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepVeriPrescriptionInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionOutputService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionOutputService.java new file mode 100644 index 00000000..818a1208 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriPrescriptionOutputService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepVeriPrescriptionOutput; + +/** + * 【电子处方上传预核验-输出】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepVeriPrescriptionOutputService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriVisitInfoService.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriVisitInfoService.java new file mode 100644 index 00000000..b8ebd450 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/IElepVeriVisitInfoService.java @@ -0,0 +1,14 @@ +package com.openhis.ybelep.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.ybelep.domain.ElepVeriVisitInfo; + +/** + * 【电子处方上传预核验-输入-就诊信息(节点标识:mdtrtinfo)】Service接口 + * + * @author system + * @date 2025-04-17 + */ +public interface IElepVeriVisitInfoService extends IService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultDetailServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultDetailServiceImpl.java new file mode 100644 index 00000000..71204bb2 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultDetailServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepMedresultDetail; +import com.openhis.ybelep.mapper.ElepMedresultDetailMapper; +import com.openhis.ybelep.service.IElepMedresultDetailService; + +/** + * 【电子处方取药结果查询-输出(节点标识:seltdelts)】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepMedresultDetailServiceImpl extends ServiceImpl implements IElepMedresultDetailService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInfoServiceImpl.java new file mode 100644 index 00000000..1e3b8f50 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepMedresultInfo; +import com.openhis.ybelep.mapper.ElepMedresultInfoMapper; +import com.openhis.ybelep.service.IElepMedresultInfoService; + +/** + * 【电子处方取药结果查询-输出】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepMedresultInfoServiceImpl extends ServiceImpl implements IElepMedresultInfoService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInputServiceImpl.java new file mode 100644 index 00000000..43ade099 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepMedresultInputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepMedresultInput; +import com.openhis.ybelep.mapper.ElepMedresultInputMapper; +import com.openhis.ybelep.service.IElepMedresultInputService; + +/** + * 【电子处方取药结果查询-输入】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepMedresultInputServiceImpl extends ServiceImpl implements IElepMedresultInputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerDiagnosisInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerDiagnosisInfoServiceImpl.java new file mode 100644 index 00000000..3db579d3 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerDiagnosisInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepQuerDiagnosisInfo; +import com.openhis.ybelep.mapper.ElepQuerDiagnosisInfoMapper; +import com.openhis.ybelep.service.IElepQuerDiagnosisInfoService; + +/** + * 【电子处方信息查询-输出-诊断信息(节点表示: rxDiseList) 】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepQuerDiagnosisInfoServiceImpl extends ServiceImpl implements IElepQuerDiagnosisInfoService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionDetailServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionDetailServiceImpl.java new file mode 100644 index 00000000..db388ede --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionDetailServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepQuerPrescriptionDetail; +import com.openhis.ybelep.mapper.ElepQuerPrescriptionDetailMapper; +import com.openhis.ybelep.service.IElepQuerPrescriptionDetailService; + +/** + * 【电子处方信息查询-输出-处方明细信息(节点标识:rxDetlList) 】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepQuerPrescriptionDetailServiceImpl extends ServiceImpl implements IElepQuerPrescriptionDetailService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInfoServiceImpl.java new file mode 100644 index 00000000..21665826 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepQuerPrescriptionInfo; +import com.openhis.ybelep.mapper.ElepQuerPrescriptionInfoMapper; +import com.openhis.ybelep.service.IElepQuerPrescriptionInfoService; + +/** + * 【电子处方信息查询-输出-处方信息 】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepQuerPrescriptionInfoServiceImpl extends ServiceImpl implements IElepQuerPrescriptionInfoService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInputServiceImpl.java new file mode 100644 index 00000000..7e25f9f0 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerPrescriptionInputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepQuerPrescriptionInput; +import com.openhis.ybelep.mapper.ElepQuerPrescriptionInputMapper; +import com.openhis.ybelep.service.IElepQuerPrescriptionInputService; + +/** + * 【电子处方信息查询-输入】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepQuerPrescriptionInputServiceImpl extends ServiceImpl implements IElepQuerPrescriptionInputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerVisitInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerVisitInfoServiceImpl.java new file mode 100644 index 00000000..b2c95cc9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepQuerVisitInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepQuerVisitInfo; +import com.openhis.ybelep.mapper.ElepQuerVisitInfoMapper; +import com.openhis.ybelep.service.IElepQuerVisitInfoService; + +/** + * 【电子处方信息查询-输出-就诊信息(节点标识:rxOtpinfo) 】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepQuerVisitInfoServiceImpl extends ServiceImpl implements IElepQuerVisitInfoService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeInputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeInputServiceImpl.java new file mode 100644 index 00000000..9ef553a9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeInputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepRevokeInput; +import com.openhis.ybelep.mapper.ElepRevokeInputMapper; +import com.openhis.ybelep.service.IElepRevokeInputService; + +/** + * 【电子处方撤销-输入】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepRevokeInputServiceImpl extends ServiceImpl implements IElepRevokeInputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeOutputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeOutputServiceImpl.java new file mode 100644 index 00000000..1944c013 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepRevokeOutputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepRevokeOutput; +import com.openhis.ybelep.mapper.ElepRevokeOutputMapper; +import com.openhis.ybelep.service.IElepRevokeOutputService; + +/** + * 【电子处方撤销-输出】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepRevokeOutputServiceImpl extends ServiceImpl implements IElepRevokeOutputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureInputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureInputServiceImpl.java new file mode 100644 index 00000000..98afa448 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureInputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepSignatureInput; +import com.openhis.ybelep.mapper.ElepSignatureInputMapper; +import com.openhis.ybelep.service.IElepSignatureInputService; + +/** + * 【电子处方医保电子签名 -输入】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepSignatureInputServiceImpl extends ServiceImpl implements IElepSignatureInputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureOutputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureOutputServiceImpl.java new file mode 100644 index 00000000..6d891be5 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepSignatureOutputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepSignatureOutput; +import com.openhis.ybelep.mapper.ElepSignatureOutputMapper; +import com.openhis.ybelep.service.IElepSignatureOutputService; + +/** + * 【电子处方医保电子签名 -输出】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepSignatureOutputServiceImpl extends ServiceImpl implements IElepSignatureOutputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadInputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadInputServiceImpl.java new file mode 100644 index 00000000..7b9af381 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadInputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepUploadInput; +import com.openhis.ybelep.mapper.ElepUploadInputMapper; +import com.openhis.ybelep.service.IElepUploadInputService; + +/** + * 【电子处方上传-输入】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepUploadInputServiceImpl extends ServiceImpl implements IElepUploadInputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadOutputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadOutputServiceImpl.java new file mode 100644 index 00000000..d701464b --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepUploadOutputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepUploadOutput; +import com.openhis.ybelep.mapper.ElepUploadOutputMapper; +import com.openhis.ybelep.service.IElepUploadOutputService; + +/** + * 【电子处方上传-输出】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepUploadOutputServiceImpl extends ServiceImpl implements IElepUploadOutputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriDiagnosisInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriDiagnosisInfoServiceImpl.java new file mode 100644 index 00000000..08e32083 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriDiagnosisInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepVeriDiagnosisInfo; +import com.openhis.ybelep.mapper.ElepVeriDiagnosisInfoMapper; +import com.openhis.ybelep.service.IElepVeriDiagnosisInfoService; + +/** + * 【电子处方上传预核验-输入-诊断信息(节点表示:diseinfo)】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepVeriDiagnosisInfoServiceImpl extends ServiceImpl implements IElepVeriDiagnosisInfoService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionDetailServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionDetailServiceImpl.java new file mode 100644 index 00000000..099cae6c --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionDetailServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepVeriPrescriptionDetail; +import com.openhis.ybelep.mapper.ElepVeriPrescriptionDetailMapper; +import com.openhis.ybelep.service.IElepVeriPrescriptionDetailService; + +/** + * 【电子处方上传预核验-输入-处方明细信息(节点标识 rxdrugdetail) 】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepVeriPrescriptionDetailServiceImpl extends ServiceImpl implements IElepVeriPrescriptionDetailService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionInfoServiceImpl.java new file mode 100644 index 00000000..138bdbf7 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepVeriPrescriptionInfo; +import com.openhis.ybelep.mapper.ElepVeriPrescriptionInfoMapper; +import com.openhis.ybelep.service.IElepVeriPrescriptionInfoService; + +/** + * 【电子处方上传预核验-输入-处方信息】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepVeriPrescriptionInfoServiceImpl extends ServiceImpl implements IElepVeriPrescriptionInfoService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionOutputServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionOutputServiceImpl.java new file mode 100644 index 00000000..33e8afd9 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriPrescriptionOutputServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepVeriPrescriptionOutput; +import com.openhis.ybelep.mapper.ElepVeriPrescriptionOutputMapper; +import com.openhis.ybelep.service.IElepVeriPrescriptionOutputService; + +/** + * 【电子处方上传预核验-输出】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepVeriPrescriptionOutputServiceImpl extends ServiceImpl implements IElepVeriPrescriptionOutputService { + +} \ No newline at end of file diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriVisitInfoServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriVisitInfoServiceImpl.java new file mode 100644 index 00000000..8bc26f85 --- /dev/null +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/ybelep/service/impl/ElepVeriVisitInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.openhis.ybelep.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.ybelep.domain.ElepVeriVisitInfo; +import com.openhis.ybelep.mapper.ElepVeriVisitInfoMapper; +import com.openhis.ybelep.service.IElepVeriVisitInfoService; + +/** + * 【电子处方上传预核验-输入-就诊信息(节点标识:mdtrtinfo) 】Service业务层处理 + * + * @author system + * @date 2025-04-17 + */ +@Service +public class ElepVeriVisitInfoServiceImpl extends ServiceImpl implements IElepVeriVisitInfoService { + +} \ No newline at end of file diff --git a/openhis-ui-vue3/.gitignore b/openhis-ui-vue3/.gitignore new file mode 100644 index 00000000..b4d19a6f --- /dev/null +++ b/openhis-ui-vue3/.gitignore @@ -0,0 +1,24 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock +vite.config.js diff --git a/openhis-ui-vue3/HospitalRecordForm.vue b/openhis-ui-vue3/HospitalRecordForm.vue new file mode 100644 index 00000000..66fbfcad --- /dev/null +++ b/openhis-ui-vue3/HospitalRecordForm.vue @@ -0,0 +1,116 @@ + +// 表单数据 +const formData = reactive({ + admission: { + confirmDate: '2023年10月28日', + dischargeTime: '2023年11月13日 08时14分', + hospitalDays: '17' + }, + diagnosis: { + mainDiagnosis: '腰椎间盘突出症(L4-5)', + otherDiagnosis: '' + } +}); + +// 打印表单 +const printForm = () => { + // 创建一个新的打印窗口 + const printWindow = window.open('', '_blank'); + + // 构建打印内容 + const printContent = ` + + + + 住院病案首页 + + + +
+
吉林大学第一医院
+
+
+
组织机构代码:(${formData.hospital.orgCode || ''})
+
医疗付费方式:(${formData.hospital.paymentMethod || ''})
+
+
+ 住院病案首页 +
+
+
+
+ + + + +
+
住院信息
+
+
+ +
${formData.admission.admitTime || ''}
+
+
+ +
${formData.admission.departmentAdmitTime || ''}
+
+
+ +
${formData.admission.dischargeTime || ''}
+
+
+
+
+ +
${formData.admission.hospitalDays || ''}
+
+
+
+ + + + + + + + `; + + // 将内容写入打印窗口并打印 + printWindow.document.write(printContent); + printWindow.document.close(); +}; diff --git a/openhis-ui-vue3/package-lock.json b/openhis-ui-vue3/package-lock.json index e8b1fcb0..245d498b 100644 --- a/openhis-ui-vue3/package-lock.json +++ b/openhis-ui-vue3/package-lock.json @@ -58,18 +58,23 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, "node_modules/@babel/helper-string-parser": { "version": "7.25.9", "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", @@ -79,19 +84,19 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.0.tgz", - "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", "dependencies": { - "@babel/types": "^7.27.0" + "@babel/types": "^7.26.10" }, "bin": { "parser": "bin/babel-parser.js" @@ -101,20 +106,17 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.0.tgz", - "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.27.0.tgz", - "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -627,9 +629,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", - "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.35.0.tgz", + "integrity": "sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==", "cpu": [ "arm" ], @@ -640,9 +642,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", - "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.35.0.tgz", + "integrity": "sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==", "cpu": [ "arm64" ], @@ -653,9 +655,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", - "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.35.0.tgz", + "integrity": "sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==", "cpu": [ "arm64" ], @@ -666,9 +668,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", - "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.35.0.tgz", + "integrity": "sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==", "cpu": [ "x64" ], @@ -679,9 +681,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", - "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.35.0.tgz", + "integrity": "sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==", "cpu": [ "arm64" ], @@ -692,9 +694,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", - "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.35.0.tgz", + "integrity": "sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==", "cpu": [ "x64" ], @@ -705,9 +707,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", - "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.35.0.tgz", + "integrity": "sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==", "cpu": [ "arm" ], @@ -718,9 +720,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", - "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.35.0.tgz", + "integrity": "sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==", "cpu": [ "arm" ], @@ -731,9 +733,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", - "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.35.0.tgz", + "integrity": "sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==", "cpu": [ "arm64" ], @@ -744,9 +746,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", - "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.35.0.tgz", + "integrity": "sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==", "cpu": [ "arm64" ], @@ -757,9 +759,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", - "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.35.0.tgz", + "integrity": "sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==", "cpu": [ "loong64" ], @@ -770,9 +772,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", - "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.35.0.tgz", + "integrity": "sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==", "cpu": [ "ppc64" ], @@ -783,22 +785,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", - "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", - "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.35.0.tgz", + "integrity": "sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==", "cpu": [ "riscv64" ], @@ -809,9 +798,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", - "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.35.0.tgz", + "integrity": "sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==", "cpu": [ "s390x" ], @@ -822,9 +811,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", - "integrity": "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.35.0.tgz", + "integrity": "sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==", "cpu": [ "x64" ], @@ -835,9 +824,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz", - "integrity": "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.35.0.tgz", + "integrity": "sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==", "cpu": [ "x64" ], @@ -848,9 +837,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", - "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.35.0.tgz", + "integrity": "sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==", "cpu": [ "arm64" ], @@ -861,9 +850,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", - "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.35.0.tgz", + "integrity": "sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==", "cpu": [ "ia32" ], @@ -874,9 +863,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", - "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.35.0.tgz", + "integrity": "sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==", "cpu": [ "x64" ], @@ -901,9 +890,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, "node_modules/@types/lodash": { @@ -920,9 +909,9 @@ } }, "node_modules/@types/node": { - "version": "22.13.15", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.15.tgz", - "integrity": "sha512-imAbQEEbVni6i6h6Bd5xkCRwLqFc8hihCsi2GbtDoAtUcAFQ6Zs4pFXTZUUbroTkXdImczWM9AI8eZUuybXE3w==", + "version": "22.13.10", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.10.tgz", + "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", "dev": true, "dependencies": { "undici-types": "~6.20.0" @@ -1681,11 +1670,6 @@ "node": ">=10.0.0" } }, - "node_modules/canvg/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", @@ -1831,14 +1815,11 @@ } }, "node_modules/commander": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/commander/-/commander-1.1.1.tgz", - "integrity": "sha512-71Rod2AhcH3JhkBikVpNd0pA+fWsmAaVoti6OR38T76chA7vE3pSerS0Jor4wDw+tOueD2zLVvFOw5H0Rcj7rA==", - "dependencies": { - "keypress": "0.1.x" - }, + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "engines": { - "node": ">= 0.6.x" + "node": ">= 10" } }, "node_modules/component-emitter": { @@ -1856,6 +1837,20 @@ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "dev": true }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -2192,14 +2187,6 @@ "node": ">=12" } }, - "node_modules/d3-dsv/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, "node_modules/d3-ease": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz", @@ -2836,6 +2823,20 @@ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", @@ -4194,6 +4195,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", @@ -4241,9 +4250,10 @@ } }, "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true }, "node_modules/jsbarcode": { "version": "3.12.1", @@ -4315,6 +4325,34 @@ "node": ">=0.10.0" } }, + "node_modules/less": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/less/-/less-4.2.2.tgz", + "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -4394,6 +4432,21 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz", @@ -4468,6 +4521,20 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", @@ -4562,9 +4629,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.9", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.9.tgz", + "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==", "funding": [ { "type": "github", @@ -4656,6 +4723,24 @@ "node": ">=0.10.0" } }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", @@ -4899,6 +4984,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz", @@ -4949,6 +5045,17 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/pinia": { "version": "2.1.7", "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz", @@ -5029,6 +5136,17 @@ } } }, + "node_modules/pinyin/node_modules/commander": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-1.1.1.tgz", + "integrity": "sha512-71Rod2AhcH3JhkBikVpNd0pA+fWsmAaVoti6OR38T76chA7vE3pSerS0Jor4wDw+tOueD2zLVvFOw5H0Rcj7rA==", + "dependencies": { + "keypress": "0.1.x" + }, + "engines": { + "node": ">= 0.6.x" + } + }, "node_modules/pkg-types": { "version": "1.3.1", "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz", @@ -5172,10 +5290,18 @@ "@province-city-china/types": "8.5.8" } }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/quansync": { - "version": "0.2.10", - "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.10.tgz", - "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "version": "0.2.8", + "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.8.tgz", + "integrity": "sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==", "dev": true, "funding": [ { @@ -5319,9 +5445,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regex-not": { "version": "1.0.2", @@ -5473,12 +5599,12 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.38.0.tgz", - "integrity": "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.35.0.tgz", + "integrity": "sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==", "dev": true, "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.6" }, "bin": { "rollup": "dist/bin/rollup" @@ -5488,26 +5614,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.38.0", - "@rollup/rollup-android-arm64": "4.38.0", - "@rollup/rollup-darwin-arm64": "4.38.0", - "@rollup/rollup-darwin-x64": "4.38.0", - "@rollup/rollup-freebsd-arm64": "4.38.0", - "@rollup/rollup-freebsd-x64": "4.38.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", - "@rollup/rollup-linux-arm-musleabihf": "4.38.0", - "@rollup/rollup-linux-arm64-gnu": "4.38.0", - "@rollup/rollup-linux-arm64-musl": "4.38.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-musl": "4.38.0", - "@rollup/rollup-linux-s390x-gnu": "4.38.0", - "@rollup/rollup-linux-x64-gnu": "4.38.0", - "@rollup/rollup-linux-x64-musl": "4.38.0", - "@rollup/rollup-win32-arm64-msvc": "4.38.0", - "@rollup/rollup-win32-ia32-msvc": "4.38.0", - "@rollup/rollup-win32-x64-msvc": "4.38.0", + "@rollup/rollup-android-arm-eabi": "4.35.0", + "@rollup/rollup-android-arm64": "4.35.0", + "@rollup/rollup-darwin-arm64": "4.35.0", + "@rollup/rollup-darwin-x64": "4.35.0", + "@rollup/rollup-freebsd-arm64": "4.35.0", + "@rollup/rollup-freebsd-x64": "4.35.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.35.0", + "@rollup/rollup-linux-arm-musleabihf": "4.35.0", + "@rollup/rollup-linux-arm64-gnu": "4.35.0", + "@rollup/rollup-linux-arm64-musl": "4.35.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.35.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.35.0", + "@rollup/rollup-linux-riscv64-gnu": "4.35.0", + "@rollup/rollup-linux-s390x-gnu": "4.35.0", + "@rollup/rollup-linux-x64-gnu": "4.35.0", + "@rollup/rollup-linux-x64-musl": "4.35.0", + "@rollup/rollup-win32-arm64-msvc": "4.35.0", + "@rollup/rollup-win32-ia32-msvc": "4.35.0", + "@rollup/rollup-win32-x64-msvc": "4.35.0", "fsevents": "~2.3.2" } }, @@ -5654,6 +5779,14 @@ "node": ">=14.0.0" } }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/scule": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", @@ -5668,6 +5801,17 @@ "preval.macro": "^4.0.0" } }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", @@ -6205,12 +6349,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "dev": true - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", @@ -6478,15 +6616,6 @@ "node": ">=10.13.0" } }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, "node_modules/text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz", @@ -7000,9 +7129,9 @@ } }, "node_modules/v-dropdown": { - "version": "3.4.0", - "resolved": "https://registry.npmmirror.com/v-dropdown/-/v-dropdown-3.4.0.tgz", - "integrity": "sha512-wgMb9P2jNhwrCVdD4ckcuou2XivK0ac9XNUH4cXithWMi4LRdOYgNNoT/Gl9ltXaIdO0I7izxpOZG/ddRJUkow==", + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/v-dropdown/-/v-dropdown-3.3.0.tgz", + "integrity": "sha512-OkNipbg+V4vQ6xyYLxTk+WQOs3A17nXtoqY9kqHRSAXnpE6mlwdsxar/qIgAAbhDpF0RYI8v4p75809S6ch+Rg==", "dependencies": { "vue": "^3.5.13" }, @@ -7435,13 +7564,20 @@ "dev": true }, "@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "requires": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + } } }, "@babel/helper-string-parser": { @@ -7450,30 +7586,27 @@ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==" }, "@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==" }, "@babel/parser": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.0.tgz", - "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", "requires": { - "@babel/types": "^7.27.0" + "@babel/types": "^7.26.10" } }, "@babel/runtime": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.0.tgz", - "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", - "requires": { - "regenerator-runtime": "^0.14.0" - } + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==" }, "@babel/types": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.27.0.tgz", - "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "requires": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -7740,142 +7873,135 @@ } }, "@rollup/rollup-android-arm-eabi": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", - "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.35.0.tgz", + "integrity": "sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==", "dev": true, "optional": true }, "@rollup/rollup-android-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", - "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.35.0.tgz", + "integrity": "sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==", "dev": true, "optional": true }, "@rollup/rollup-darwin-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", - "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.35.0.tgz", + "integrity": "sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==", "dev": true, "optional": true }, "@rollup/rollup-darwin-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", - "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.35.0.tgz", + "integrity": "sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", - "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.35.0.tgz", + "integrity": "sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", - "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.35.0.tgz", + "integrity": "sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", - "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.35.0.tgz", + "integrity": "sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", - "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.35.0.tgz", + "integrity": "sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", - "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.35.0.tgz", + "integrity": "sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", - "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.35.0.tgz", + "integrity": "sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==", "dev": true, "optional": true }, "@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", - "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.35.0.tgz", + "integrity": "sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==", "dev": true, "optional": true }, "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", - "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.35.0.tgz", + "integrity": "sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", - "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-riscv64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", - "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.35.0.tgz", + "integrity": "sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==", "dev": true, "optional": true }, "@rollup/rollup-linux-s390x-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", - "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.35.0.tgz", + "integrity": "sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", - "integrity": "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.35.0.tgz", + "integrity": "sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz", - "integrity": "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.35.0.tgz", + "integrity": "sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==", "dev": true, "optional": true }, "@rollup/rollup-win32-arm64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", - "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.35.0.tgz", + "integrity": "sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==", "dev": true, "optional": true }, "@rollup/rollup-win32-ia32-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", - "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.35.0.tgz", + "integrity": "sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", - "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.35.0.tgz", + "integrity": "sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==", "dev": true, "optional": true }, @@ -7891,9 +8017,9 @@ "dev": true }, "@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, "@types/lodash": { @@ -7910,9 +8036,9 @@ } }, "@types/node": { - "version": "22.13.15", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.15.tgz", - "integrity": "sha512-imAbQEEbVni6i6h6Bd5xkCRwLqFc8hihCsi2GbtDoAtUcAFQ6Zs4pFXTZUUbroTkXdImczWM9AI8eZUuybXE3w==", + "version": "22.13.10", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.10.tgz", + "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", "dev": true, "requires": { "undici-types": "~6.20.0" @@ -8496,13 +8622,6 @@ "rgbcolor": "^1.0.1", "stackblur-canvas": "^2.0.0", "svg-pathdata": "^6.0.3" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - } } }, "chalk": { @@ -8614,12 +8733,9 @@ } }, "commander": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/commander/-/commander-1.1.1.tgz", - "integrity": "sha512-71Rod2AhcH3JhkBikVpNd0pA+fWsmAaVoti6OR38T76chA7vE3pSerS0Jor4wDw+tOueD2zLVvFOw5H0Rcj7rA==", - "requires": { - "keypress": "0.1.x" - } + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" }, "component-emitter": { "version": "1.3.1", @@ -8633,6 +8749,17 @@ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "dev": true }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "is-what": "^3.14.1" + } + }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -8875,13 +9002,6 @@ "commander": "7", "iconv-lite": "0.6", "rw": "1" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - } } }, "d3-ease": { @@ -9338,6 +9458,17 @@ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "prr": "~1.0.1" + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", @@ -10312,6 +10443,14 @@ "get-intrinsic": "^1.2.6" } }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "optional": true, + "peer": true + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", @@ -10350,9 +10489,10 @@ "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==" }, "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true }, "jsbarcode": { "version": "3.12.1", @@ -10414,6 +10554,26 @@ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, + "less": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/less/-/less-4.2.2.tgz", + "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + } + }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -10479,6 +10639,18 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz", @@ -10535,6 +10707,14 @@ "picomatch": "^2.3.1" } }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "peer": true + }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", @@ -10607,9 +10787,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" + "version": "3.3.9", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.9.tgz", + "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==" }, "nanomatch": { "version": "1.2.13", @@ -10673,6 +10853,18 @@ } } }, + "needle": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + } + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", @@ -10853,6 +11045,14 @@ "lines-and-columns": "^1.1.6" } }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "optional": true, + "peer": true + }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz", @@ -10891,6 +11091,14 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "peer": true + }, "pinia": { "version": "2.1.7", "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz", @@ -10914,6 +11122,16 @@ "integrity": "sha512-SED2wWr1X0QwH6rXIDgg20zS1mAk0AVMO8eM3KomUlOYzC8mNMWZnspZWhhI0M8MBIbF2xwa+5r30jTSjAqNsg==", "requires": { "commander": "~1.1.1" + }, + "dependencies": { + "commander": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-1.1.1.tgz", + "integrity": "sha512-71Rod2AhcH3JhkBikVpNd0pA+fWsmAaVoti6OR38T76chA7vE3pSerS0Jor4wDw+tOueD2zLVvFOw5H0Rcj7rA==", + "requires": { + "keypress": "0.1.x" + } + } } }, "pkg-types": { @@ -11027,10 +11245,18 @@ "@province-city-china/types": "8.5.8" } }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true, + "peer": true + }, "quansync": { - "version": "0.2.10", - "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.10.tgz", - "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "version": "0.2.8", + "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.8.tgz", + "integrity": "sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==", "dev": true }, "query-string": { @@ -11134,9 +11360,9 @@ } }, "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "regex-not": { "version": "1.0.2", @@ -11243,32 +11469,31 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "rollup": { - "version": "4.38.0", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.38.0.tgz", - "integrity": "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==", + "version": "4.35.0", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.35.0.tgz", + "integrity": "sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==", "dev": true, "requires": { - "@rollup/rollup-android-arm-eabi": "4.38.0", - "@rollup/rollup-android-arm64": "4.38.0", - "@rollup/rollup-darwin-arm64": "4.38.0", - "@rollup/rollup-darwin-x64": "4.38.0", - "@rollup/rollup-freebsd-arm64": "4.38.0", - "@rollup/rollup-freebsd-x64": "4.38.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", - "@rollup/rollup-linux-arm-musleabihf": "4.38.0", - "@rollup/rollup-linux-arm64-gnu": "4.38.0", - "@rollup/rollup-linux-arm64-musl": "4.38.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-musl": "4.38.0", - "@rollup/rollup-linux-s390x-gnu": "4.38.0", - "@rollup/rollup-linux-x64-gnu": "4.38.0", - "@rollup/rollup-linux-x64-musl": "4.38.0", - "@rollup/rollup-win32-arm64-msvc": "4.38.0", - "@rollup/rollup-win32-ia32-msvc": "4.38.0", - "@rollup/rollup-win32-x64-msvc": "4.38.0", - "@types/estree": "1.0.7", + "@rollup/rollup-android-arm-eabi": "4.35.0", + "@rollup/rollup-android-arm64": "4.35.0", + "@rollup/rollup-darwin-arm64": "4.35.0", + "@rollup/rollup-darwin-x64": "4.35.0", + "@rollup/rollup-freebsd-arm64": "4.35.0", + "@rollup/rollup-freebsd-x64": "4.35.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.35.0", + "@rollup/rollup-linux-arm-musleabihf": "4.35.0", + "@rollup/rollup-linux-arm64-gnu": "4.35.0", + "@rollup/rollup-linux-arm64-musl": "4.35.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.35.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.35.0", + "@rollup/rollup-linux-riscv64-gnu": "4.35.0", + "@rollup/rollup-linux-s390x-gnu": "4.35.0", + "@rollup/rollup-linux-x64-gnu": "4.35.0", + "@rollup/rollup-linux-x64-musl": "4.35.0", + "@rollup/rollup-win32-arm64-msvc": "4.35.0", + "@rollup/rollup-win32-ia32-msvc": "4.35.0", + "@rollup/rollup-win32-x64-msvc": "4.35.0", + "@types/estree": "1.0.6", "fsevents": "~2.3.2" } }, @@ -11367,6 +11592,14 @@ "source-map-js": ">=0.6.2 <2.0.0" } }, + "sax": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "optional": true, + "peer": true + }, "scule": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", @@ -11381,6 +11614,14 @@ "preval.macro": "^4.0.0" } }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "peer": true + }, "set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", @@ -11790,14 +12031,6 @@ "dev": true, "requires": { "js-tokens": "^9.0.1" - }, - "dependencies": { - "js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "dev": true - } } }, "supports-color": { @@ -12008,14 +12241,6 @@ "csso": "^4.2.0", "picocolors": "^1.0.0", "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } } }, "text-segmentation": { @@ -12421,9 +12646,9 @@ } }, "v-dropdown": { - "version": "3.4.0", - "resolved": "https://registry.npmmirror.com/v-dropdown/-/v-dropdown-3.4.0.tgz", - "integrity": "sha512-wgMb9P2jNhwrCVdD4ckcuou2XivK0ac9XNUH4cXithWMi4LRdOYgNNoT/Gl9ltXaIdO0I7izxpOZG/ddRJUkow==", + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/v-dropdown/-/v-dropdown-3.3.0.tgz", + "integrity": "sha512-OkNipbg+V4vQ6xyYLxTk+WQOs3A17nXtoqY9kqHRSAXnpE6mlwdsxar/qIgAAbhDpF0RYI8v4p75809S6ch+Rg==", "requires": { "vue": "^3.5.13" } diff --git a/openhis-ui-vue3/src/assets/images/ty.jpg b/openhis-ui-vue3/src/assets/images/ty.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a25f3780c78161ce9981482007e565422d44cb91 GIT binary patch literal 39365 zcmd431zeO{*FHReh=PFVi~64HwZYufOHR`5>iSx0shwwb#AB41M_sx+o!v5CvgiV1OP1|3F_R zK~!)%!^a?yloW^o1OlA{u3Z9Q0ecw0zpsB^MnNJV{PVbYxaaWkaPbHT@Ch$phg`mN z>GCZyimTU|=$Y>@(Zd*7c_ai_IYc=bVRu!8MDI(>E6B45ARi%RA4gLG%_nKQuMPQZ2086xaUH<*RaUY2`=LuC$TaSez&M=hLJ z4UzBuM8m3W;dUPP%2i?#Qrerh=;#^P*f}`4xOqhG!9~Ty5fTcDO3Es#YDgVjy~p|n zhDMfF);6|w_73hZJYITwy+Q>B1&4&b2@6NZCnP2%r=+H(=f5o|EGjN3Evu=mt8Zv* zYHsQ2?du;H92y>(oSL4Qots}+T-w;&+TPjS`@DZ}Di;O_>ld+pm+Tw4hyb}T&z!+J zgL5hu2Bs}gu!zoJ-(Ws_Nk|Uok@;mR7T0rN;efcj>hsjB@}D5u7Tvg4XxJucH%>+S zD%sBo=Jp>+_Pb#Jl4}HX0Sg1@JS-xRAZUAuF8(?0|8GiSEGEjBODj>yaEF%;V~dIU zj17Jeq8U~hf7m(Yc#jLk>3?XhcyohqweC*3ONFIsD-m{I^Pt<3bt%}R&-%K` zd5*WKl96L9?!$KJe&&2J%d|EJ==y2uZjuW51>apw(T*F3tzn)==akg=gi>xD6~VS4 zbvi?oS+}1ko02ejwNJ&|v-X>EWZu&WslxR*l8@Q!7_Pbm4XcMl)GO-p-5c)WMCqMe z(>p>Ym|h-_DFbCrD@0uX+t5cuRD+Jo!eXpm&JtvAqw%I#- zlo;XgKBIy`g`@`%!l^<*cg5DJ*Oq%(GnDs9XX%YXZ>Cth%M+M?7=1HO&|ddJO|s0z z#jFACs&)G8TNK+$P9|`t$NEkb89KMd%U*9hQ3@`3DHI%_>PR*iDZfU&HbbeSoR^bM zuN|Z4AicAb)Re>HyEZ3S%9pXNqf9+ueeOVmm2mf^(Etm-oH4j8p|YJMn@8}{1QTaG z=b{SLhQ#z~O2AlAL;LTbmSlwwgIkD`Ar2M2@xt3}k1^)4R#rdSpUMS%u(d=T}3w;vLOq^CCk z#iQu{2SoyS30*q~cGECWlFUeLT+ty2)l{*8pLixyw`Dqi`)G+)o_RcozJWJFEj6hG zb@6^agP$d8hUrMeo{Ng=hQe`o(EfmWD@_VZIWvEAw%Rn+JBVepYH$(HVGPl5Z2$>N z!0|*#kolBx>G_MIsr(M;n)uQrR2nS&Mc!q-@b&Dq^IIvl6fZXR6~S((`sT{vpr>n; zKIAfNa^n8=#PKK)-LHii4wl9Ewuk}%ap8|mt?exb2Z6s9q1f}(CDGJj$pM1n+E8J9 z7unaKCK{}_xUFEN1`FS|LT*@iPwiAtkFoiV2=bzxTaAwU4ex_H_2!DC16=8^Emfy( z7W0$xdL@zg!XK?z%42Dn1R_XUc>r?{Y zFiJD@&%`jmn$tdrTkNqo<3K1!nJi-pB)@>1NZn8~^KUF8(3-7?)QQGD697uG;8Xa* zcQ68IC|6;6-6*5Pfi|PW(6)t#8~2`{oQx4IWgX)ijVu>&5>uEoY&%0=)t^z$t5;M< zixJV5E}o}q!lFJ)5!<`m3A=6bWYp?1i{IM3UrQOjU|o70?b4YQa(l?2%w-Y-t6Cxw zgAU)&xR-WwcQ?xNqd(3ioh>WoEL(tqwngmV-H#I_6+Y! z=avfeyeXfMtp$lr9i832!-=)W{d?E-c)DNpjW2N&q3*wB2pF=EnbbI*e>J16+;b=4 zt)O7iL)I(Y+6aN;+BB-j;Cnhh2QD#zEQYheYOZ|CzCWpU}UACHbzH&+4`OuYWz z)_(aOIW&m*?i7j+v%e_G-e?$Q(-_AMd22jnLwr^C3+R2&5x!-xa$XkKN;|c(`Eb-~ zcACDmAA@!CiZs4v6Z>2x_nEl@#+{61tt-Myf*$+XsXBt;_n8$sC3*Ggm)D4~0 z175r7Dp$74!zeag=}Pf^>G?Ce$!M1g^2S5R~rbibj=54W*BkDp&+#aq+ zlA244Hh6nawE;^H7iWAbCTZZZ?y9uIIp(6|)XATe1HbYqN8H~T^G&ngiG9wjSl@}Xz{vre9*oV!m2+RH|20cwH!s=$Z8Y((rc z?3TL|v6Ips7Y}kZ;%;xmiK@c-^}%HyWc+qrzCc}xMR@K*Ipg2QuZ&6n$3?7XYi zFDO5I>sxdyRE`Hqc`2aK^fJi_`xg-I0?g!NnbaroY+c>tPY;bVh)3nS{WMtp0%~X2 zo9*&p#r`cgALIoYmNOzZEL;-q9@hpOxa?$Hkf`L)(bT#yn;I*pCCu0LEzYE__>vQ6 z&^J-1W_JqrD<9luPL6f{?qI$20GXL; z=5S}5-ApCx3c8G+rdLI{8xC&x#e9B8!^30I&3!v1jQOt)n_bFyos9I@AvX6DDq2bIfZ_)@Ngu#t}OvE>Tuu=Q-cK?5;(unG*@I zH4@!h--bAl6P!HQ*U5D$FxSk#=XEC?w43rYE5Y4Q*(f(}sY8npPkgM??CS7YW8vHQ zLvgJy{l9<;`txzXh55C;n)o`RcySWsEFF}krl&-^KM5}9A&XPU6Iv)IsRIWWU6YhV zNY`G_M$u=s@Sv~Zy+&y$+24l6Q&yna5722$l_{cT`ezO=^p)0I({@19Qc$d@8kfr> z7giD1K4GRePvz{-8^+kUoD_=WNLk+)a9gt4Phf9so_gK8NA2OlDl1TxT7_^s1}mFh zmAbfbhxeH)qD1BFNa5j5sY@-&BPZutR$J9xck026;yX!jBalngVDirnYHsEF{< zb*UR)K(3^Q0iDV^pZkt2n;sxF{q7k~QaUJ7DkmRj4_QYG9-Id9KUfbCL~in5 zUJb3<+PHeWO)oHN`~}264Zwtl{TzQP*vWjCFza1o+;RTki8IydY3jFv_>>y!L{7#{tF+zQrLTC2&aZhwL?2ubZQQ$h&!wU?`w1(7_lGErUfR;9!Vr|$ zExV@XMfvm^lMX5+>RXx8G2-35(l-80x&bd)y&o#)CZnt!h)}3}UhQBdf53Lh{o`S! zss+_pOn0K894Iy>tbeeH`vp|wmY;LPp|Ac?p8_x*8=Z{bGau-l8*7WdfQ$+@69p??yRY%8*j&mP)_+WzGR(1%n3TPh`Yp3p4`?Y$F@|iqciX}QkLCeD>S``5YR3d z3)qH@4Uo_TB50yZ6XPou`+~=ZtGP?d^9<1lrK@R z?ic{dlHTAVxag(Orgre>N%Uj93r|)T64(dSKAVhOU|V@?>Wpn%e?~TYC_#zhxpvtj zchf2TduCZjVzkDSt;4x`dLB;u>~D=HN9pYS+1i)J1sR61P|$Q@J273W25;&v6x8mK zER~NUp^*GX2l*c5W*UPKcg#?fgbuhzRvdC+FLZY~Joz5QT#%v3&7Ltds7~97ZWu3LWh-`l)G@*h7U2-i>o{Pd=mLP& zz-Ui-J_*2N=?(B}0y9U4G{{p0%>B9{Vd+#se17o@4Dh*@>iXZFf#V%c|~02X~f_{?#g zq_7Wz_~`|4C%D96?aHK3%c!DHbw-xv+%6CAKp*!sjP#qIk$Cq}DINPMuI$UE0k&y! z|A+G3a3g~s!vDV^foF3ol+BYdmam@_mTRoPj=18VlNo*tCH(@beQf>itVKKu8!|(o z`aQOzG)}d(qOy2{OJuXSCr$1HyWAUS>1kP{s}3fbh*1-uC_hw=4j1Hep;j(*y!eJq zfnU5l!vid*Ec^TW#HCme%Iu6Q5HT9GN-hBn!H#>T@#5J>1vh3E)bsoCjWrGTgbZvN z$2}EP`K66f?{1FVo6hno3ZU5J%fA}%n$-faE)|QbpmEjI(x-fh_E!q}8x{SD?dQk- z*c64Z!pyzf`RBrq-+xpQ(wPk5)!Nu}DXW@B)_AAnCDOMzlC9j4S@fz-<^)gcwf#JS|VN;8OsyRUw<$AghG~t&|n-$3#1RJl&iTXD%II zmH>h1TG52o$oG)4N>Ae=@At`%!2$Ej;3seJ6johsA}Nl{UFVa0N(41YR^C}vwMCDw zc2l=)4j!g8F00C1J{Q(fL1n$iP*C&Ex+qt@ zMd#I9pB5}7FW<_Gv(9=j7RWbE8r@tktKDJIQFjo8fLn66Jh*(v!eWe@A7DIz!vFHU ze2+(IGboLgT}c0mT6`c%2k;R7fsaWSdnQ|_zOy~wNoF%Ua*!IJfU-VfpBj&iV=k>q zg$>%cdca|{_H^y0x&XDq4)MT@6-J5WsVX+4t+2C3J*B;!GI;0a5#^D@y zJw`{$@Cfm(90vv0=uZkO4Gpp5&wcc!@{`EZ+|JGO&F7_`47S#l6#}2nr|SpXU?wHS zmjxCz!rf5x_{^^n;^O4X0$)IC1^H*#Tw@M1n$s-h#-tG@20@MN5?k_x1(cQHLMIE{ z>}?P1+}5U{1XLo6eJAYx2%S)xpg#0;+H1*4Zv9v4_dZl?Fm_0c#0m{Z1nn!6?XhaS z+mDJoMC(DCdESPu%!VK&ZNRv6nN2^8I`eEGIe6H|htJ%4Lvq4#>ME>QU6Yh2@r<~& zhb~U>j6Cv*6IS4U&Cjs8MWF!){PW9Z(AfM>;}v$sp)9$pT`oJz=8AOhiNQ;&DKB5x z@=OXdkLk)bUh?pPDB56wkL0^GujG{p<08K^VB|C;{OfcB+|s=R4Oi}xus7MgR$y)4 zHBjF}?0KC~t0|?%T?_9+yU{O=B%-}%biGtO9z3vAp8ym0j#uikH|@6DOpv{9?V;kD zZ8jY!`P5^XW@9O9V$B_%1;<2fOLqe*{ClwNFO1|n*F-eLygoSR-8#HZ*i&w^VBBd< z@@!SYp7$!(7m%Qb`7~vzP6YUP6p|W`+VTbcm3JUPfRchi+GUjZM$U4FWUHG&hxv|< zD*Sh8$mWS>9F>FTCZX|*?bYKH!32hu8Vvzc7eOz#KW<;LIWkTZQ;}74BNT@Arzo=` zDZClzq45$D40st~S=uc3ClzhkpC%Tvnbc@a!1b{tnctI_qo>$m!p8fpr8O5;wQ3Uk zcdqs^N$PsNc|kewcDXI*LDcXQ`<)E#a+o`y1(sx!KjV4)c8{dEk-D+r+APs~kFXPw zWhr>EE?b1nJ*AZ7g+Y}}Vt26Mgh|Q*)b#$RBaTVkvbw+n8%R+)4px#)Pt8vFpd|hP zoEM*Iq+Za%-PV?0N(&1tKlnsDKGU}lTyz;+Ag6dIF+N@ELG|N^6#om`vO}9tov81&-Ac9dEn)?E+Xg?$9@Adr5PwpeInRN=SA)hpJFTUP~-OIfc(diK$vl z-dxMm@SNKKo##DSL58UUF8qe9bB*V0DQn8Bd&+Xn@-2AGGDK^^fc7>1i&A`3m+#k+ z79?VQ9W{UuEK3}W${VY%lr}EfI5VOA=5_{tdLgjj0;N)3uGmF8zO_LqA?pI<@+5=YzLGpDyPd9EUtWao69%D95hJw&S& z*_*%+L8_2MzoNT{Cfj>~pfi}^}3v#!t=2QDx7?qW88uIOpT?f3ppG~YVAvA9hu2HK-;}#{UIjP z9WkuF3^#ZF{K_VFX+AdHTO-PUDl#fS4iZ&!oi-vCi#zL>wKjW&wsK!3pKw{7$0We? z;q&yhpz`R#cpS*MB;He9o8H=_Os`lsI_mQmj8ME7r~XE_<}2E~zJg0A3Y0-d^khl-cxFFGRM`c0cI#KJxapnK?GvaRlo$pYf9qw%0!OVE-X2 ze;JCFro%#SJQ=GtA=Jo&v@82oS}?Jz-LbelOX;Dn5}>8ge~quDXD$e6*F2VQ8}~|3 zC5#qCzG(O>9SRNnCzc`fIj#g97^GB=cRpu!_}sqOgk_gfB{e+s@KOt|Nc41Q_PdD* zsNDq_Jv)^fF_#xP%$B3Yp$q+px{@7!}Ai}{Rz=8WUidYA+AsTbdaPy<*TfPrkJ zFPG+^2KR%wlqd=!B+VS4fvg@Re7N&FrWX_S;@<8@T07U|?>se8A7HMN5GIsf-N}qw z)?m-mq%t3PSA*htT^Jk6x<4hVoNEYK3=#o>qq@%q_6470c zutCj4g8((Uz=t#uecO~06CqdS&eVlnE|+FU69>|qC-so)!gW4N ze>X=WiWWO=K{)bZ0YEOZq%i-6VV=o6R+p8;Q?_g^#(kHZEyEy$hoHt*BB2??NquxoKIedm_; zxXkbTi0g&o3*0&dPT0o6WWC}8-uB4>UA~}{9_`Rd_ug;2|8I{oQl(*;Ng;mY@?ry7 zD(q9OnT$5+=H+vyNqWl90-m4(XMH*zg_VbzB+hh;(&dnCx_v8luytY*xdFy0Ao2F> zC9X?O0HE|w$Tv~~;3^@Cr!Ym`dDrAV+X;-45r$E_}x!^$jg0{V9 zPNXI6gmeMaNS^WTCF#VrZwr@8;f*w6Sr9Q+EcgHkEm#2r4#U0)Kbv3Zqs4n>B+T9q zzJ1WwA;GXBABZZy)mKRTeYdK@DzY|rg}M|uRW6O+@4a6iRV9;j z589UHWoe^M;e=c>X?+-vf=0goF(`X?VJL4O^BC{D)!nJ8`}|SyKspF^6fsJFj;}Z; zH@jtI1ZwcYEL928FG4V%F|?Q<)T)wqHY%l7=c4%Ft#YD)99(S3B3)_*bsozkjiKJtpmBVJ9`RkJ{$`Oni1*&c&sdQwqj-&Z~rNVjHA&Y?c$K zjU}n}@o3$-xwZEICpd#gNa8$OamGn2uP0KJQ!e89&O8j>xT&SYdAsdYatw z{-}+^uc1WZV}r~}q+R%NfI&QJk_#|?-}l+Rf)*R#`0d2I{^pMU-B!kzBV>T9?=2?? z7X#{Z&t6y2N0QYHv}Byq&8AqO6#a~C#u;xr#h{EwEjIKasSR1o+9B?6y#v=X!P}M8 zWj+KC9E5<#PIhhTY0u+xvL)y4wCf`2-NxLx$)a23xKp9|r!jM0^#SGf`?CJM6jdvO zH)#B5yw~c(%K{yGSXoQ;wcDf-{EN`m45dC>zNJEPQGkzX>;BL+D+rbaNki4)J*4|} zZ!vS7)zhprZ>(!b-GO4p9IllUPv4VGkHvV8RcIqy`(YxWU--52)+M??8bu%BbZ-!j zgg-95ahI4iprYS%QvW>Vj)1cmUZEQvn^e?AU(01FN_rN0rJZ$Ju;yKIiTbOFDOFd*qZ0Mis1`z#{(A>O%_N zCM#SS<>V@!z+6yD+M}02bAmmEi(al^x`ng!Ql%)% zyjLwGF9*svr~$T(MZ7+$l&06XIZLU}Su9FEBjQRR3QB!F{s%GNq{IX^P+?m9BFu$j z|Lk>z=99fbm7eW=c08Zg{?Cuv7xq|XLSL0ryOvne*7>@;YCbk}3#z2c!7neezpZ?VKtCKjrwJ-Q3xO90WhRfW z8K{>B@B7iE6jv&CvH2C0lt#H&rOe`d_WP`&6^r4jIb=j>B&J2-H}VjK8HJG4oHsai zP2?|27*)=;*@SkorQjAsoGaG+gS#^yMdeR36jz9cAggKH6;{tZ=jQu2Ih0Fq#PtYt*!$??H4ZhqapdP z^AaEhMQh&e+#y@x~;8#KMPDtrG*;M37%G4>P-R)CmciLU0(Y#cs|J4ix$!-*2c- z)zIz)9VjbB#kMV#3q=OtppZz34ZqW=qkk4_`%dT`;v(LwE?bJ{M*ZO3ho1CN^=3;m z|GLu0f+4nOr$`&+X7EEZZh_>oJKGxL6AjyjmgSYN;ytu|h z6akzvCv*KR0`k4BsG*U%q)J7p_~nd9%16t>Qsp<2Y;{y>k+v~rCP^~mDdU}%ns&sg zS+JgwaVqaeirOhT+9B-chPD@LLpcDgDP;Q@)xnZ_jA4mZ=qartGO7m;k5;vPaPl-Y z>PYN^3||KL8{KDj#Y2rMeUB#-j$~Sfi6v_H^hcHG$ww<>hJW;zdL`+ zVeSZNj$a1M78@t>8>2UD$BPfpwM0i8dcfQwI|2@wiGKJ`hu*jM%UX6>#}`%brd*3~ zHD{Qk>ug;!TC8p#hMe0fr+!d-pjuFTSwhh1dh;$tNTGNv2n1f*nZ$+r0OzFZrf>D;>@- zXPPryuSo?FO03i~&siG{my6uLa=r zQi<6u2XmQ>4~Ho(biSvE-f7@v&C{pJ{ILIraSCCd)cP-341p4V*|u~lW!S5U~!{>Asp29 zQ*H1g3q&YEZ-8kG6{{!{zg#+VfV&QZ^$dK~LuFG>tM&X*`yM9RV10lD7(MkLIs6eE!lPBA#F03mhQR4)j4e4plm5E zv&!e&EXXH&OBUG+ZOV}A3+ZG@97{3-+ymBs0OQKL6Lej+-{5@=l^tc&aiwIkdV`-~a za_D&qs~c(^Ey-LRQ40g{5GrUe#W})un$Zd;OS_oK{nqsC=bN8+^&P!lR5aJpa{&B1 z9k)W2TY7-1z$_xCfVTMR>LIHV)SSxp75&Cj+P;7$)#l1IF>6;sZ+O)O9<{4aE^alA zyx^X-RJtn*ng%c3r8n*uJB5%t|4BDqDqX+A^z@Ob*hxqix^_ceUkd+t5NCgYeQ<3! z%G5Oy2;pi8%>w`bIs^6(x2F@;g;|rweBKl|MeZ!aCfdcPG4I7GL^8leE2hZ4F08rcj#1Hk}ApZgy$*yBA(thpBTWGrc z=7V;gcFMfT)nyGKnm`$O3uDi#D$@5Xv>DXL0Uo7-QTOlQ^Yj|bVByLakU>9nQ%mC; z_6SWC57_P~f}5=L{Q>SMA%&6GfVU}|sV_F4JO&U$nos___kn{iyDDX`O%)UyCUeOh z^gN}txw(>EUsj45xDskRl5sG2HGL`2=yJ@YhfGV=v{XMky){Xzz&)L{TaUhg2GfNr zMn3zx*zl6EXIMJs4FT4DmfQa~NR~BVOHUf3Bcb_7h~&hQ6v{u;{G_i@PYK&uffmbR zK4*C8qszD=&vJIF_1O5XN|t9z^W~ld0@c@Wu<~5>_w4FVoWoSMsk$1TD9sNN49H^0 zaiomUXLFel7L-7tHVnd{^$8sfj@=Rt(>;L|%JyHa-%q?07?(Rm zSNjiQZuzDbF<@j|x*=zp*U`w~ccBR<=JL zBhU<4t7FP$1-%>)N86i0hF|9)$Q^AVQRPysk5snU>y{i|jJ%kQ^73}--v*<7<6uX# ziClM`?`@~MNNjEpdvdmt`{MSOZmXaAGV@%&4GsW5KsSvoYaQ&Pr&pN-Z7J{Xu?HBN z464vyc=m=X`=FtpaaI0YBQEn!b|gEKy(Pb|H@|?sjr3XiJ~^$pg;Oj29~brpML(o9 zwN;$!JSX$Mio&e~G^)V*^Rp+^Tz#8^FSE*QE(wQB*m!&uNY(%& z)9n0qHnmpeq2@lWv-mr?bxna{I~d!ZnX}El%CZKNWuW6A0aH>I*g{)>R~Rs{SYD?g zmw#92fp9kd1ALJ=qb8Yq@*jE+2A?o%6u;0po~?Ufh2auqjn`9opP`U9+Ls)Ol^Ty) zmUaNf@Hc*d4+2vZ;8rE5UOVhc zbY7L#_yUqJe;t(1KxAPf`r&242PVP7mJ)qpSx4LjI8~|=ZURUlV>ku-+%QEXReYu! zkmdZ{)UF&GnPjh;I+E1M zOLR?o5>66d+J^bJPX9L{I@dvvrKqt&?Jnh$DuP;Ou`SA+Bt`0WTCk$_ERC<<-P}Wn z|HN0$ohA+@2rgV{U|?uWBi_uoVGxgs2PBNe^xuxpm>7F)jJTzNL=4F-zMwIG+~*ZE9qkH&292E5`6e@RbG51w8>|b^F^Ip9T+?DsEOSyyeW8 z-p+oZeANTzNOJ58s8>Y2aJlP*l%Gcs^E9IGBm6z#{UdSDXJ$Q6MK$nec!q61kg-&t zPtC~JqlMT=r7g*-zSr!~IPN2tGFKT4dLXSA{)*r8kyJ@Z=$uWcK4ar{YDQa@X8U4Z zwes7D-iP%7V$6Mmz4~C#tf=j|1V%foiEL-jLgiK?3dzmg57UM=&gRnLuMG3dE zQy>eIhH93q<%BXJmUoikQ7b%OTkm^y{@HVZp(v2s95Wl?H7hfr9R6sIm$t9oZIY(| zsoy|OLh@j9g<99Me7}fgjj$3ezH#3t_itYdvyy|`r~I>TqJ&~)F}!m@y3wE=_HlzE zs+M~2@$P=ivc{liCcOVsK!eU}0Mv(6oG*n`&e=@HrLY2N6WP<5zl~*yxe67ld*-9` zhmDp_I5JzSn$#CDXtuMl6iYafFY@)hS1E-wO42rK#yg(f+t*g4Y(XIP=`VQp8%WEOf{?=I192r^ z^K`NyV)Dkp{e_E6#qcNh&8--D3U%ZQ472XfE8jt)c^cm3n!N1tboTJPVH_GTBBpP{ zsGi0)0&UMwR-#CWkxz)|!^Z@odw-$O8EDPdAI38uIWx=auXNxwsqZ1Q;KHRWKZyYV_rd_s|Iba!Z_nx* z+qkXESYyr0l{yzDNIfKe*w?|=QWIE~H&^+|p&QjVxZ>QL$}HzKyYHE|t`;&a&6l4y zE6v1I1MmZyKR4dLsm^V4xS^eM=c?^wq#o72-(aC4)yxVCmsK%h=J!(g? zVYs4@yE;Jf+^LtF4+xnW8~+t{B|x16+3#9YBtA}hjZ`UU+_dc5(!BlJM6ho(M`KN} zr!*GYS}%jPS+V~duB8k-SnB%+!2S)mzq`eHP^;i&eaF)y#O8!wY$v+x#{Vyn;DW`5?87ax&Uu&5BE{xhm>WWqkRsx0_Kw8Y#hyR^IURf>yU zQ#^`Q1BduqGV=Xn80f~LW|8Y-7~4j`VKcx>9*7nkn#2Z7)5WklLCb{-KtPVbi4E&pB^hTB26Y$7<7i%fNWw^PTR&UIDoS+cC^`2L(ONo@^ zHM34%WVaS$)Tn;QEn8sJFd%>?|GAKGe-C>~uj?!SihDC4dt_^3y7w%OT?k1@c|uX~ z;EFzoO8Sy&s{EUXqRhh`uGXt)CC*CzRO3#4}8gJ(r; zaAN`B!ExZkREMgWnp`3Fyp^_slVuyqk%vSkGGD-6Uor}Pl??MK(!gRp-a3XVs-$@) zG+(Ri6!u_(+W?7Anz!zLzu$hIgns+H5=^>FYZ!4Ji^hB>qaZ9TSTQ6F4FFP4U6;fL z*A4%V?o!zibq8kDtKGit1fbPrjZULYhTfTw@Hs_K>Ql!hJnY+d{^c0WQ16phUg1l0 zBo^~X3R;d2EhiUz$$0cykl(ZYwxEYepPVSQkDM6p9R}pCVQnBiMJ9DiCg9ZkKEH*j zd<&&NoMQj*V^g&Y?kIcH=WM4v^BTf2jhM7d=1a5g%sEh@Ft&o=!kK7;zx@7BB`^Kj zh6su8A{Wq=NRV_TH0{$`(Cqc{NaqdDCc;msl*!{;tCwK?H7AQQO@tei$YtT@%)d-Z z=-~<)-31~5;KB);|BCte78Gb1u7ijO4;{bT4@^#1Y#Z}FtGG}h3@M>80`7ixvihZ zg>UfVcWNjU+XJLI|K9b$R|W;!n)K^)_}8hhms~1WWf##_Xpi@I&v{cuRbty-DO!Ar zS$}C&i5SxF8P~R-l-Dc#hP8a?nH-H=x@eq|C9==t1R4dI1^GZd9xJE>w4tL*JC)2uyFP`JS2&Tcky za029!TLsagmXwinq#sA2fY=NzSWY$kyV#-Dn*}6<$nL^I4{XyLldPP<1s8h8iF#)q zEF-%;*?QQLC=3&=n&K20yfNPYlGxPurvYfVD4iUARtjW6!4PB<8!-PuW?nTUF1vZo zs5kok^k(M4#xievw4RE6E})S=o-_Zmq5BbX{`q{y6%K`ov2$?>C%qIXe#0k>H><*E zs9pEMwjra2yBCMvQ@^r5xw+O*Mki}&>v*j@9?1BS;;Fet%va(mSU29BQSe+lN-G{9 zt^8*KyMgAp|LBk5ssF8gaYKXHvjOONK6v8QvuopLC->g3@f#;4=ewPwdYgvL{`lU< zw6}@idC})@g zr{EsJbCR+kMq1qs`q9eZH+nc zVVeVP1fqww%4|LO1%-^wZg$6MN@FNjFhkBG&EPvnBdt2|J_PzUa6LUpBo)^itkN~7 zc4Pv$a3L}9w}i(3H=Xzg;ju_W=+Eeq&hAv=`xo}d@;cq_Gq zwQV_jfmV(E~0rvAJ3PiqumHa8G=!$wM zSx|wBM4^~?(IHdJ1*eUm9d2ZEGo*rSQo87k^T@>k zgQN2&Soy{n|F2z>K+<6(>Z7U$wuQ{_>+}6M%lxLY4({W=>heV5>`q4J~yNlhFW_IGG6attLQobkvfUxf>n-*n(KMD z+Z^(ijM~gI4KCe*h}~sCZl}q56OBuwJX6DBagk8Vhu{9v|G_Z^v)V{@2tgcW8%LAC zvTIWogNOoM8kCt0=-AEO7Dtl%mf8G-I!YPcOshA_y&8GWDriKf#K{<`eLO4fnIflU z{e;!MLYlOI%v$trQsRPr0(;9g_wzx$NiV)iMsBjE`YM8urh6~dl-Wogb75AV?I6NV zl%tyj=)xN@C_2a`@dVr^^R}ni{4kY3n=u7gac*pC1#) zJZ}KY(&f-?x&2J?;2)6a7s?8|X#ipiPD#?p?^(+c-<-bTQeg+~Q@0V3Gu3|cOgTC# zUQ_Gh4Dr-jV^x=mP|9cLkx@drEnTwNGQyf7h_E+?W zXV4Wq-IAK=^ib+-Ama#NKuQq_uB=R=LGcExJ2FjJJ%LiP>rtKyhv=3bIl&$5Cj`Or1E;Yo24*>BK%bPr|8hBg zaXlb)pM&R>UH0HM{dIOhC&H&6pSF~myVP=T2x0`&0gFdGn*S37{}GOVw0|}REZ;Us z1$?vm2)P?gRvzZgt@@_QQiaqaw5bGGUx7G0V;3nkK6k-9MC9n{`!As7K?S|I;gRPP z55m5HCQOW_6zPD~_p(bK@iZ;^Ud!}WCnQuC@{HNbS?^M=5lsatfe311P{fQmbd4ttEZQ>6esD{?0dXJ7l5%DDEyaT{MUSUAZh&cvr$~S zgaua7*le&(#zi$vjf+&S9gfqe-r`UFePJw30e&V@8ivxEc#1Q-qO?40_Sc>mbWA*d zTsHcEK&?(FxFBoI42pyrT-VGK^}>nG4x6MoxoJuUU9z|`LHRE1tR4~8xSwFi6QrHd z2qW7}%S05m35Ilb*rT+%1)p>G+^!is)XZ&26&xl`yW5z>gBpiEc~US0n5Vx_AN~sh zd}l?kzuprJDv*Ed_TKtB;N0Hd(m6Rev9izm0_ubxE#zi<0;j0Io(ce#uX5qRoL)$_ ze|5Zbv}l{M_hu`;+PqJ}HfPUsUUc^4)6oKXqZ}e&iLPlU7Fb1%P1m6dSVad-hhdNy z53Iojq^AC|Bk|h~urwN2UjDSz|C|T?qvNlPIiy{_qUXt4^_KQEzm3~xbGi}r{B=E! zk%gTeL%O5V=T^vEkS!%Ww^uvcvF_~1q1O%1O_ip+cu~|=cp)AMX1wNhkRklrt#8Yrc)=h5BR&q^-yvsLQ>l1qiyI}V<#2u-d}nNDjDPWB;G zpOItM(F*%=J4jdH61}K#?t=@%gcZ7`8A>m@3TD25-k3R;vP_0QV<_Gko+KqLmz=0GnJbnc^&@8{->u-&Ar1PSJ0QU-JN8*vZ^ z5Irz8Y+(3^84ml;UDQ8%4?o(M*HyIagaE6kb)lx6qk5=uut7}+Qjy{Rbmy>Ze#a{_5zqP+OjKe%@ltzl)mFLcB+h-Gfc-q)c1 zN((`#tb_J*9Vw49YbsW`I_WV2jRbd@m}L^sCBzboNJZ|V!I8D-I0rOT>Q z<8bp2-#{x2s0pqoAm)Ho7x^EY9I&-8lrI<;I`k}xKSZFqlWG3mJN7}bql&nL2Kwnn(vQn*Vkg6>xzw~>@FC%dWN9BE z`7(8mzsqWr_&b4qG1aG?M`yl(d@QWwR_J$0)0pP91#TGeufjU#PuLlr-79bG)Vunz zp#;s~oF$oioY}GAOjWh9xcnLM1vHQrG{s1{*;6BTvW%tW2*33rWypC%KS^u@Ps(&B zbP)O(>)5DIi@R$^kngRi%ZL|19XDGTvqwcHncqGYnGS^_cp8Alor@E1zdJG zi`HWh*mi#N;#}P1#+t-U zXub6l0}YsB)4rwGzN#>|b(eiE^utB=b4`a*74oi&A?(Ha8(7l*7}jUHg8DwyAS>FdDt)IR%(SG;#SplWlEtZ;zHnzOiJLCj@-qS-YhXAsoz~MkT ze}NqOhb9jLu&d86h5nvuK=<{;|C-D41J{Tzr$OsRkbI>h7ujo7buyQ01UqeV%``!Q zfZM*iSS`#U7D3O=3q)ZUP7}c}f$F⪙!l(g2dl|`1-GQ`g@_R(@ea(z=Nk*b^ds8 zAdk(tWGAD@Av;dn($JnwtGeWtA5RuqlhO$kbLRW$NN+zSckPZ+gXQ#UK~uI z^5RhHv79z&2R-!sBg3X1_C&vj?)45dUqCh|>;k^PVn95l6nV)_0+P#?+vZyI2-OO( z1FKA?Kx1jvYR2)Xm)EZO3ENJ|t9L7@&M#CvbPv$7D?F@(4R87?8h8At$M<~eNM!*Z zWhbNN-WEY%li)|u=;Alx7H?STcP%BCWJ*qQ%PAJ44chGjmq`uZT-$%({3wXPzYWh8nuRs%CGY-(PTBO^yYZMGIMn1b2_E1ZWe$OZGfV6qi zh{=PYTR*N_qcX*p&365GZ)8mcutrdF&`d;RMnJKveuVL#|y)nUMd`2I!gJplS7r1Z9jPfR>0bs*y6$}PtEV~zt z!}B(h18l0bR9rg^&*IGY6n`vpo8%N?v$&m}%ic~W!JD8*vwI8ZF2!INI2ho&2ubw6 z&1w5@IkKNb`g#;*MN!H=4J79kcEBxr>sI#Ozar_clUlz`Zv8*q-oXu}pLH!3VGJlv zXMQj%Cx=Mf!yEdLzwxrr@VUve9r9$7V~2sAoH}W@&Bi4i(*`%z?HY zM?q49H)L#cSGEJp)h`;^aDs@LCZ8Q}D_sG^L{y=_tKO zKtxLDgx;H!5I}krA}Ce56zLEMoggKY03sdfB@}7WJ4o-~U4Hj`d+)pN{?2pGx#vFj z{>YP+m1Jc-EAM*WImaAx3{X>>85iklulA!uxq3j5mzew-p(ir8qTsubeW{hI{da~E zS8aO9#t+x_X4pHN8v#i?f@V)}30gpF{usm)w(Rfr4^4J^}t02==9 zOu_mJZ1-v<(1H!qy+y%Q>GC008|ImappR3~N;iFYB-+6A{;ZtyyYm*9pE)K%xP#hg z`Tkt;gsR-4pLu;%*h>2S)cObuefeVppHDn$p!x#F^!2aUk-3EGMD5pKM(5^UYnk&K zJOqj49pH>V*P}P{8GDyAo;O|Q%GV?k>iV3^U%|f-3pS_2evm#f|$Xj{d?i7xVqL2nwo-uKZHd*9129qs_br%y9jPdb%uzQzyLDjtiJ%sdSl% zPRydFP6?2l(qsaOeBzY^RPLQC{gL$5xqz=b-MjTY@kl`6{OHC`YA!r{aEuAWM2OoM)_n2#yanMLI#*PRgtXA}5Guqr1srEPBK+GUn2n2*yrsuN?!K zi13MKQRe#Auu9E^TG&xIWIk`Bd{eRrwGu&0xFMIDCcLB|&Rddk8mxE*kMN448Y7?WJ3d$OkVnh2&irjoHkRcbl84Hq+noNb=tk1R~>vJ3b^coT=W zgD=YkA@VaqlN@{uvXp|`=g_FTDz`jG{5NH769f-mc)AUylSMU$Ge{c`^91Jf9v_^) zZhk5m4@qn~BTuu_f&;?lGLcc5(k8|tx@uMeQ{ARkBRngrk%dBHX$gpw&26SQ zqB>QkoubUKXTvU#lIn?C93JYm6AFJ#gfgj*0qp_+6M< zr{=iAEUo2D86TEM6b<4p*NT|fhr-d~dX?OI-fLqF$8EB%_G)gQYk`2zs-c?P91V;p zs!Jmeak+CQ$S<6XI~nIk@aA+3PyP=N)tWy(RZ4Cih3W@x1rKpcana&NJk^X{L#_OJ z1{9DS^Z3JO963jK71+gJofDePdm&3(E@j4j5%ZLZlU%U;A#tYMwMKrqqfq%K=yRqW ziorqMz6P*EF9ln+$f~!-<(Am^FPuqU08e=D17J{@_SKi?6nTnz`w~me*`lu8EE3yk z_P=oa+H|8-%RgKi<=j39C#aC2?Rk@L^M@ktXXMudBqF*Mkq`^S-<4{-zjM?-XRbeT z)jwPSc>hrPhd>4aK|ufqiu-fp6Zvn^%C|~*qu~H=oeejF+~MhJF{s@(2P2y#^k(vo zRe!O0sk+LhwyZ!pjvbIdila((|2hU3)wLgBv4Ec@({=%95cp>ABq%1m{mhz!Ymwxiz ztrPQ|ACCDt!d?l|CO*XYex^0 zUbEe~X8yEK^1B@aR(rQ~C{aULR({E*Xv|wS`;~lcMH25+DMK2hsgKuyowb60$wq;V zHkCl%lm!^_fDRv^)Pl_U1K$OL2KIl&pCMCj zVA`1N-$JQj$l^L7L~H1J39UpmoIZN;I#LgDvtaRn94iBQ~=|$`u_tK0iy`6MW}0OQ=AbqBoc7 zj=%W0fiF5A1hbjvkh8K{Z8{KFI0s_|jyOG_Tz)5=7iU`hZ9Yw*lxA^Hj|=yp38XG8 zsf348fRDwO{NA~9{+3-?&IyK=GwI7M3F7kw3cM2?X}>Cxs9YKSc2w)7u~9#LPN~sr zd>i1#=Xvf+iB+EUy_IoDN}Ll^wDEcKNm1usn8M+mC|sNE_b-N9XR`J$Hb{TYZ4JGe zFqXXv+o&9od!QV<3Z~VfDD{~uG4FV6z)mH%+p$kPR6Zdj9jvXfD$D7K4X?6t;Jyn? z4aHJ`l;&Rto^K%E?gR&Zr}V%l?_%>_#aBk23~Q9(@=zMRd?rbFI%b*U*`kOgXy2pp zirVS^dO_?BoZfOl;QNb+N80LB$MJ4v@upJSgktq3N@HklZvU!U`;7hGQw^hpq}^*1 z+PCw+no0gpO@i|vY6{JeglI7{W4>qJ9BAYrdedA{Zy}!eMX;cSU_XpH&&eiRK5?!Tr7QaJ7 z`mL*hZrDQwPJH=Ym_8~!T<^Iy%c z|6lL>V_61=xsl@<&-cx&5g1C-7W(il*KYj0wtCE5NpREyUrBK~rCw(PDC~4eJnY+E z3E8vUFYcmK3!J|MFWIiV7N|QX`%nb7=y0z0^W~geiz1arzS6P;g><4qEFM>5+Xg<2 z@A&spY$RTh43;|g+A_LasPDi&Vc+12EmdwHKQc72O~56u&~7acl(#K8NDXL}DUiNd zwh2_{%5j-+FWI@%u)d!Gx0psTOd{P@uZ9gmWymXAe=l&rSo!+{Xng*v=49Y47v`q? zqBA-tTr75>3gf<0c`U4p)ylD#{NWioA|pGNIE0#lF&7jvD1I>9sA-v zXF^Yq?V8vX68ZFg^<9gfG<)bajT@tPXDB0MK`8?0&ebcCvifVF=e`NAHI9iFCNQ6J zBQ=T1iV9XWmuvD=)ZAmm;y#W8GUxg+f&X}7|K;sJ{DqVT0Rt%j3$KI#5U0$ehZ^)Y z3sfEipx$ft+~3%W+s9lF6TA1zeV@;lws9!ft^H{(hxT8A26i<9HbaW{T1tW z%Kb!%q?Jmi0A%~SkJ1`a3@z%Mz|gk^)#ryOejM!Aaw*TCjqF$7WHlkfyacW!HoYIQ&DzgAf!tTk-W7<^t%jA_o*sS0xQ zsx^7M$T@%KCIkP|vw}SMYba229{7dx<8du#5!BwASK$^@qlG%b^3k3_c9-XRnLA7a z1t-ysOz9uAeXuK7b6zG7=UCRFJ9)`{KvhJtR$YF#q|T3t+()k=`b%|4LgyHq>=%yn zt{gI*^zmBUEsEsfvswydv9;w{A;}GWS~*@4=M}zSfxh4g%+C`! zF5g#xHAz9#T%FK)DdUxZ57i<5+u~zUr2(&X&g{e%JO)gS!aCyIW z3Bn%{=mG} z5(2UQs6!zZJ2g?Zd;RmULcfLLB*I!u-bF7VL#v3Vo;?1geKw;=6 zhtPgjM5r)xDCz3hQkae?CD_lmioGq}x}@t8W0W3Kz;ao`8u}nee<;n^o~TENTXV=D zSrh1~DjO${tAtRttF_?Atmz3~Q4PH=AJ%{9asl1T7^;HuY9iS-0Zvc4PyU5OJlI!g zRpe?ho1w({EHbnJnsbR78IjxdkH2X1(Y_&=tph2}d^bL(#Oq?PZoxs~Lw{E^d#BVG zThE&PBS0Vfa^+0F;w@ew^$T`=OPF}+oaUouVBrXLx*{>3bP$}P0d=>Sv|h9WK| z3ej0(8p|&RJ!qZqLuFYcc4g4EUNBrW*hj{=pw;dNvVjY z1W{wW`$iG_mEVHI?qW4{K0Iw5*2o=fW#^E(9spD>t1BC%UI&lA#)?QfMQP{~couov zCSXl*V)i5Bzug=zn;R%#>t(iY3}UqEalxRxO=-10iG!>ec&MeX21}^6v#M}<8ByM^ zMl6cQaeJG`G{Q+X&bh>m>psfmO~^G%QC@H~w^3hW@pg)9#idN&1zDXD6tRZR;~hJS zo<*~*1aOaL5#|5*dX(EOpjH5-(4rre@-tmh=aq`dy|V9Y({+6~J0^#K@u_l58t%24nT)1#8hsDE>uM{Z z$N6+uiQ_)|^A!=41E!Rm_<)?XB5Vmp@Pni+BBHPk-+Qal0A8_H#!eekb0ydsiD)1g zSRQ43mS2>KwyL!??2R27lyRf~`d7rJf8MVF#`~yJ-0QZiEF_Kdtfo)QA5d2RDC*qS zY2Pzpg#9AZ(%SQk?9x`ZvhF&SqUTjjujARFA>tnv*0;@B=a%reQxf^0qNE`wwhYg9xf-LelI@v4O{-nlbjaRy z@I#BeZ)wpQq`R`8L*D=ktgBeD62ce8KV&fc{f^#YHJooh`-E)AlsKD!>MmhlLSn;o%|ezj z?EOjfk)(A+bROjX3Sy8!eL5hIRJ-n+<@sHziHVA$ecju4DZ9+wi%ERD*S&J|`35>j zuHofuPB`blQISiZtvvTqO*FH5#m7}nRN{-WSmh<&b@Ey2hS#qNF?NC1qHLSY4zc@d zOFvU)yeaS5uwUl}ZEQEM*sMynf2IxC)Y)DM+dQ0K0H;_Rx*VX`_LMmaIGHUY@~G`) z*;eZX&H2V+asBu5POuV;Sn<;@-6W?>=QGPyt_4i?k0m*2d2St}_+)z`RSlC}j!k0) zOIQ>F!o5F`Qd!A2oqn3f(7^8&w5akksAW^c%ItAhM3SIwOa? z*RNy6mrX@1@!b+IV3WI7#Gt)gf~+LjDMMV|P){@}`yles>%bVsv)}40kF?L8%$RpT z7o{?~E1>9;2iD{gQ?Jz`CqVd1hO|1>B!;(Ji%mqC)6wJ5#5G?#O2^qZEkmgs?8L-j zfjTfMzsDGIz1;3v3V=V$FZ7Yf6Jv5N{b1D3@N8%cAls?v8;9J)bBx-ayD!#T|d}KM7mQ&!bY{ zS&N-dUrAUuzJcA+Y^dPwirU`!k@yS8xVB&`ugW=*1WZGeg$+A4=Rl9dqo*u+Oe3{G zNiIfe?cXGQG^osm$9E<;hYlri#;0PBAm|FX>znRV9hQO5>q7eV>lE~O2x>-LB%Jw{)wZhm! zmObQ(LYsYbdeZZV36ZTGBvMSi_!LE$Rm=oh#QCvk383#$`-7D1-=e)o1X{4-4M z#o$t;lZ!J_VXx48WL#Vt$~Dhl%jZZHd=rfgG7L8z3KTJ3O%|~gpBnVw6IW{7mEqj7Yo~^UbZ=xJ6t@FzYksf~dOW0N7s@DnUz2r872- zfan=`Baj@Tfop?^{hcoJ19(JWBAtxv@x8p6c)10cfz;S_#bkcX49yDZ-X8ezKt6-< zXVp{tx>XLZ?5W<-fa&BoGTo?o1FiG?trIP%xcbC1my_fS82$3=2VgfbrNJ1(@N_23 zYfMb(hL+Xn6C`baCA=J`z-``=%U7^$qJA*58{@z2r1m(=X3q}1z`aUcBb)#xdKHrj z2vxc$)45y}N|d2OnwIrfqvQx-PExbq3Q-(h__(A>_z{@=!*Lv6W03$d{OsyvTZf3EkVh zlVR}!5sSs>vb~VFD&8NZWcH>e-+C1605yn(KKOa}Y>ZW-9lezGeYMS@axqq33%pfb z+F;;AqkTRg3!fE~aWmlLe5v}Bt`J9Saa3z8BriI~0l_<7{kTqaf!s%>f!fhm2DO3Q>T!~TC zPec5MHGTtXv>hR6s_dF`u9x{Zyr5pqVYhE3DfTT?jE5i@d)SdvulXJY&A=<_1^)%c zT3ZG6m<4lNO{DhmGp|y+*1k@H zrS8j_!cfk0_5nBywHP4M_nk+Hk6{|zF)(CHZPcn0&KQ^@C;9?W;q0U1ky9a&h6he- zyXm5%?1IvU1%;K;gI)RUTunGt;uPRM91Br%M<`p*bgE?02X`AhOQq*4epaR!e7_IY z3}ToD!N3qqxmb~D93oDjtPKbJ6{4C+VgBsSx7x@F>GX3)&hqLqbQNBAs19Afeyn1O z=a-B8?5VJL88<8SuQG4!79yka{WB`afGcQBKkUG**ek-OYszAjs6RZ1MYTdN$f92+=({ytf}YcKLGHPHn5KuL9NIfPlY9o3Cev4-G!2 z!UP59*>cE?l=Diq-XvZz%msiTKdWJf5Xq^;nA0&Ic^N1{MNm)ZizhCfs_zBo*u!-{ zM$OOEsV*ef;lDi$efr9V@vwXGDxl#x8(sd_eklWSOKC|nvi__S4|bg1e6~Y^q$@Pk zk8aXp`Ab}e<+ZxEyfSj5wjP}0U-#)Wz9t72CUK=2v0X7>e#AQ;-{05ow5SPPFvIfA zUZJ;Z3db3Z%MO-}J7*mVzI#IUcHoZm;_5^*bb;}7gl0+xdhRCYo z7u7PKh=|87U^QWy@p$b`ap3_(Ql&z!OZZl9?Y0J_K(FbI{}2qyi=p=AJ<&MGgpBWh zhmU=`+P$(u4o6PEz+0Wqv`DmAcY%CQHJ18?V}!qtBCdQh1qYU#I)emH*JU4bfGY5O z_1PE`;dCosl0{MrJ-FYb#3ME{_OUG0b@TeGS9{B`lG|kzXjq=hK!=O00yxF#B*F4I z^$n{-eDbkf?qT2YY!hb}z5Aa5Rna;88-4t1M$E?4)i_j^?q^OK4K_mr1CUKl=FGozWj$Nt@ zL3FUdbQk_k$>klLSC;4+QH^HaD=q&~)asGF$D8cv5a(7+jgOFl4nom(=*x9f>QSwtJR!F`{diEh+eT5HffGyBwG|?#SWexrNE>b4WMSO+pj!ets7n5V2W*vT zk;3OLzo`fQfQ56^P7d`95@=ZHxZIO$PAOa)(lexG=Ov35l&wk4O-m7H@2h0swEHqK zlLKE`*i*lvAY1ns^4%!FA6Pima*YHNkqTLCa$voUHZ$C(8|m4N?Z`^FQy#)Xr``;A z{m_1#-A(rGF*<8!YvXc0L;~$Bc?aMR0XznlBDEAA5!*e{E-?>OnYf^h#D3?G9gd_o zAXBkyhN5Ipc*Ol{6;lf~sNr*bp#LfzZ(o28PgQcSgW(1A{5J8qSf0y=vq2*tPv@@( z+9p|rL!RbjS14-+HA2=GFU4&PDy)W^pw%aKd+*{3oCeb9dbp((6?619x&A@nYOeQilh-j!g zzV+598juJz$*&B~LgrXBWl}ZSX6%sytc^D##)mNAnnuTWoG%wHG&o9zoMJLs{qhW8 z1^N@vqqS#mXLLo{q0GB<$x+eI{KzFf(jCRW&Pb36w>LXjJ1D+=P&94=egFB;SjJ%r zka8;2ELGu*x3T>;?~*ZXaK$_#dLiY-SAHWx`tB<&n}ZK)w_2|gL!6Ype2#6+j8EkL zt^yP02wzUKQ{|p%(`PG6)*RiLxy|EJNhH!Q7^~wh`Y;XfY)$w&*8#x}M`J!zI7hN%~YV{jE+Gr8)+Y zk)Mk!!AL9yQZ&36*5vBAOe<{_Y8GXx2z@N-nC*02M2@RyfV99WbTt9p!@p}~xH{@a zNBmFDZ`RP7Juj8QP*s1t95(j5AO&%zkPPg(u>6!sNhkk>6P4nB)dleMhes-HN^xVw znWv*H4vQNJXpQD2S3UcYaq?0-N)OOk~>Ul zE3C}1z8i8ct1B?6ZO*qXy25v07Mg%4@xizBTjU~!D-8ssu?-yr6dcm&E1Ur;gssSW5s`q>9M|L_X@=t=R5d9Xm zmi7q1D&78OyW!R9qeEj(IjI9N%S4q4{FYu&Z`qmT#6Ju4@l z7Dq!$*4o;ItljU&6*Lc7T{7ESsG^Gd+Xopw_>T z4IP4d22S}hPN5IFRI#pttuXq#*ka0t&kxih*N%g+I`-n4EMI~JR%_N>wCd&n_r)2T zJ|@=QD%MYv)dQn6*|JN_kYcfbr%+C>WUG0B3G;oBNU_LPZxZ8-xl*!;4PGv#mpZl*HlZ8aoINGMu7?IdS*XCKFD%T))COf? zhW(rP&%fqJQ`{Kdtd4IWPfpKY?_XN0s6JibiaHq1Z+rm_MfYW^g7YoXHzm+a@ zU<%jYA6@B_n+M^axERvs)(O%8{2{wB&tO;6v#@!=tO#wm;mQH3@T~RFg?KJkDzEF& z7ytg}3xdV*3*wDNimA;60-P>&{Fc2*Zxpi|7`|)LsOpYf;jpTV}e(9>glC z&IsPN0_kRyumV$250@85QuXUDS%hd>xPh_gjLY=d=7FF8hOC8=4Gv2(ARq=0c zxS*(%=BO0t$HD#IZuUun1D?uXV1Z}UeZlQ6rfEe?xpeHEp-qHY1b$bTL_k`lH-Q@^q6Pej4T<>lXHnxi0-()6 zX`R%&ue&?~-+KxQDag-MHq!glJGa5~_-88dcF=s~))t~VoSBUraF!l~AQEz9;~2N2 z0UDWlW?aONHAQ9Cu}6xqj-a9NQIzDJy%3&Op`61DM#%ZPqwBQU`NbLh)$^mn!E2lZh|#H!ArImC9c7 z^*D0oCbsMd#v(4t^XD2=8*~RN(PbZ8X1k_U^FEgtYR9eSpv4@=<@1eU+Fn~d{Q7-^ z3b)Ko8N3sIsMS?TVv@dIt%*{MY=}7<8<2)wFXYQR)49LixnvMPL}&rwxjR>?;OTW< zyk;lu4s-Ff>Yj2*Z@!0TC>g0nFprn1FlgVwQ~3JZwY zdhqF(iJ?ibfkXb6bs6^n)VpJqaJ zaLV+Ismkz#9qMD=_wSd0UPti2k6{WJZ%b(1r1C=xaeGaK$=B-9 zo*`)O(I?E7I1tiNA51|^y|pVhRA~4`A>q~Hk8N10qdS~vWEUcepF$rc%QNelyUR(( zn>xz)XlEgH*LgSVt0JY=<(PI+a#|;Tk^0I)vssdRed<7dV#n)fJ0vHbFIZ;X?8l?H zlb|1Z+f`!YfE0eXih8lpA~yZOded2AIC}TZk8UKukr{T_wd5#Q=%sH1&`fiqk^KRqA#z64 zN|LLb51WhyMM(|h9*2fP=T5k-N$UfT4hSdE?;g^Uw8_Bjc(#(SZKl+PEu#)N zJN<1kdetYzv5hXTES^lgArW??gN%;e@A1#b)LLAw$u-~BjRf}+Q5hBm1oKWFb=TDTvzTIMT0R?|2fhh1gTa)%Sbkna0G_hbcT43JvS z?@CpMYPLZ1ZTl(&YUvR*)nlcTB5o!KEO+6Lnx-1FgTkX-A+JD*kZr0!7y3t^uSvTR z;Yj-WUcw%swoQJjJ_0g%O|G6Fp0U2YFV_n=b(c!R19e5lp+#p7*_Y|eucBP4se0Ah zC<5$3M3l-+)6_dBVO!RO54Ba+Z*u09H3aODFh9vqpQ4_1()d23Z22_yen-QAq`r!?oKR8Opul;u_a2|Y%a>CYGpwrVb1yj=L%^1ktFEDGk9o7T8dM{; zb%=nMTXz`h+yij!nux)LWuAR`K#H?h`0yojaV$<%i_^ z785K0L$8LMwNhWl+mwN-J-)t$%A9fuyREVBXeIIrP*pQC&pdy-1JY`{u2pUKDGA-z zVi50Wqi**nd5-6=iT>kEs!w zI~fyZwi2ZlqO@ctQ3--RiWXPV3Vy*EM7ro9&LIejQ2Y{{wT;&x?czjB@*t+!f5Q-d zG@2EDyOGvK%eppwb{VR7l^3?^wqQ?mx=gZktet&GQ&nFNl|S`nJ1Y4>Y-_t(6JPBU;Y3U69&Cgk2|&!{tj}_AAH;h|i<8EJ%ma$}qXwD0J$0fydJI zx0%>~l5+HSf@Ka8@%A3TTFzGgZ8r7%&)DGFzd&%V3-+EMdM7O>oXO3C^BP<$zmXUb zeC`w{(O}!>q|(kQY-&q)dw%^h0iP<4_vjIF?v!G}fHz)z^WaQ#LMUXnr}}}#4Zn47 z2Jb~pqz^q`v*uB1)oF_U8)L0--t&* zs0<+fgY8NvgEpP(-4r$A#Gl60U=MT#BQCnRob64YI*X0EkvWx%mZ`_Bp~+$q7`6-E zcjw(f5?yEqNuuwMy1k+fZC5m3_49}j6fb_s@e{avWOzj}C6_av%WD_B&abUKL4IEL z@QeU0b!gSilc?>eczw@z-0+edyOBFnGe4o)UKgF|ino)8yQR9mQJdqudT33W%#-;8 zNYWu3S_4m_w4{FFTtjt}f6CirgkEMS7Ia1t&1B4n`w2AeL`)xhZlKy8(PJ;eWQh^_19XhoL&qkJ-;DDGsUSNF<`*x0suCi8gxGT|N8gs8nm(ym>f; zgIFcSZT%2gb7Rs}OM~z`q8WsGU1KKDhdH)SL6=3vZgUaxy$ll zm-L;>teP*R(e5&RzRED$@3Jj9znXuWj8~UC+dpluC&A+j;*`wZP>yN=i`EKCSCQ*dzhDDGs}P7!#PgEAQQV z6aJBad>ovoAab$7wlDJ{hkvC&n( zBNo;%+EFq@3PyZW_J;DlOe)JwO#9AAjHq@zeAeXBR(-CHD?Ew#f}s3}R8%5Ma}nr9 zp>D{7el+fSiZt)%lI6^QCs+3NBKn%ILB@*C2n7xS4t)TMoV&JxtD(Ty&W@K$oeO%b zX{s3zroRSyS%LuCJ^p)|YyPSj^>6!c|6V%*uhjpAObhv)xK;iKDq8<^@Y{bLDDI!X j%mUorzft_(b@xAx{?ESvd;s@foyzYo{1+d%zrOzu&S+9i literal 0 HcmV?d00001 diff --git a/openhis-ui-vue3/src/template/nursingRecordSheet.vue b/openhis-ui-vue3/src/template/nursingRecordSheet.vue new file mode 100644 index 00000000..4213e3e3 --- /dev/null +++ b/openhis-ui-vue3/src/template/nursingRecordSheet.vue @@ -0,0 +1,392 @@ + + + + + + diff --git a/openhis-ui-vue3/src/template/surgicalPatientHandover.vue b/openhis-ui-vue3/src/template/surgicalPatientHandover.vue index 9cfeb564..4fda3190 100644 --- a/openhis-ui-vue3/src/template/surgicalPatientHandover.vue +++ b/openhis-ui-vue3/src/template/surgicalPatientHandover.vue @@ -20,7 +20,7 @@
姓名:{{ state.formData.patientName }}
-
性别:{{ state.formData.gender }}
+
性别:{{ state.formData.sex }}
年龄:{{ state.formData.age }}岁
@@ -89,13 +89,35 @@
手术标识 - - + {{ item.dictLabel }}
- + + +
+ 药物使用方法 + + + +
+
+
@@ -166,7 +188,11 @@
皮肤情况 部位 - + 面积
部位 - + 面积 × - 皮肤情况 部位 - + 面积
部位 - + 面积 × -
- 手术室/麻醉复苏室护士签名 + 手术室/麻醉复苏室护士签名
@@ -491,14 +529,13 @@ mmHg
- +
交接时间
-
@@ -525,6 +562,9 @@ defineOptions({ }); import { getCurrentInstance, onBeforeMount, onMounted, reactive } from 'vue'; import { ElMessageBox, ElMessage, ElLoading, ElTree } from 'element-plus'; +import useOptionsList from './useOptionsList'; +// import { A } from '../../dist/assets/api-DmiMW8YF'; +const { statisticsOptionList, getStatisticsOptionList } = useOptionsList(); const { proxy } = getCurrentInstance(); const emits = defineEmits(['submitOk']); const props = defineProps({}); @@ -533,7 +573,7 @@ const state = reactive({ // 患者基本信息 date: '2025/8/13 13:36:41', patientName: '于学斌', - gender: '男', + sex: '男', age: '46', department: '普外科门诊区', bedNumber: '035', @@ -591,20 +631,22 @@ const state = reactive({ }, }); -const submit = ()=> { +const submit = () => { // ElMessage.success('提交成功'); - emits('submitOk',state.formData) -} + emits('submitOk', state.formData); +}; const setFormData = (data) => { - if (data) { state.formData = data; } -} +}; + onBeforeMount(() => {}); -onMounted(() => {}); - -defineExpose({ state, submit,setFormData }); +onMounted(() => { + // { statisticsOptionList,getStatisticsOptionList } =await useOptionsList(); +}); + +defineExpose({ state, submit, setFormData }); diff --git a/openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index.vue b/openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index.vue new file mode 100644 index 00000000..b357ace3 --- /dev/null +++ b/openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index.vue @@ -0,0 +1,298 @@ + + + + diff --git a/openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index1.vue b/openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index1.vue new file mode 100644 index 00000000..9018cfbb --- /dev/null +++ b/openhis-ui-vue3/src/views/basicmanage/caseTemplatesStatistics/index1.vue @@ -0,0 +1,144 @@ + + + diff --git a/openhis-ui-vue3/src/views/catalog/device/components/deviceDialog.vue b/openhis-ui-vue3/src/views/catalog/device/components/deviceDialog.vue index 654bd459..49039725 100644 --- a/openhis-ui-vue3/src/views/catalog/device/components/deviceDialog.vue +++ b/openhis-ui-vue3/src/views/catalog/device/components/deviceDialog.vue @@ -136,7 +136,7 @@ - + diff --git a/openhis-ui-vue3/src/views/catalog/diagnosistreatment/index.vue b/openhis-ui-vue3/src/views/catalog/diagnosistreatment/index.vue index 2fe7c55b..773773c0 100644 --- a/openhis-ui-vue3/src/views/catalog/diagnosistreatment/index.vue +++ b/openhis-ui-vue3/src/views/catalog/diagnosistreatment/index.vue @@ -115,6 +115,11 @@ >启用 + + + 导入 + + 查询 @@ -337,10 +342,34 @@ } " /> + + + + + +
将文件拖到此处,或点击上传
+ +
+ +
- \ No newline at end of file + diff --git a/openhis-ui-vue3/src/views/charge/outpatientregistration/components/patientAddDialog.vue b/openhis-ui-vue3/src/views/charge/outpatientregistration/components/patientAddDialog.vue index d26bfb55..961cea09 100644 --- a/openhis-ui-vue3/src/views/charge/outpatientregistration/components/patientAddDialog.vue +++ b/openhis-ui-vue3/src/views/charge/outpatientregistration/components/patientAddDialog.vue @@ -355,7 +355,7 @@ function getPatientInfo(idCard) { }; getOutpatientRegistrationList(param).then((res) => { console.log(param, 'param'); - if (res.data.records.length > 0) { + if (res.data.records.length == 1) { patientInfo.value = res.data.records[0]; console.log(patientInfo.value, 'patientInfo.value'); // 将表单数据发送给父组件 diff --git a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json index 128854aa..3e01fed9 100644 --- a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json +++ b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json @@ -6,6 +6,28 @@ "paperType": "A4", "height": 297, "width": 210, + "paperNumberDisabled": true, + "paperNumberContinue": true, + "overPrintOptions": { + "content": "", + "opacity": 0.7, + "type": 1 + }, + "watermarkOptions": { + "content": "", + "fillStyle": "rgba(184, 184, 184, 0.3)", + "fontSize": "14px", + "rotate": 25, + "width": 175, + "height": 200, + "timestamp": false, + "format": "YYYY-MM-DD HH:mm" + }, + "panelLayoutOptions": { + "layoutType": "column", + "layoutRowGap": 0, + "layoutColumnGap": 0 + }, "paperHeader": 0, "paperFooter": 841.8897637795277, "printElements": [ @@ -714,6 +736,46 @@ "type": "text" } }, + { + "options": { + "left": 416.5, + "top": 191.5, + "height": 13.5, + "width": 45, + "title": "体检费", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "1" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 465, + "top": 192, + "height": 13.5, + "width": 84, + "title": "体检费", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "9999", + "textAlign": "right", + "testData": "20000.00", + "hideTitle": true, + "formatter": "function(title,value,options,templateData,target,paperNo){\n return value ? value.toFixed(2) + ' 元' : '0.00' + ' 元'\n}" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, { "options": { "left": 16.5, @@ -1372,8 +1434,8 @@ }, { "options": { - "left": 19, - "top": 368.5, + "left": 16.5, + "top": 363, "height": 13.5, "width": 76.5, "title": "省医保总额", @@ -1388,50 +1450,10 @@ "type": "text" } }, - { - "options": { - "left": 81.5, - "top": 369.5, - "height": 13.5, - "width": 75, - "title": "文本", - "coordinateSync": false, - "widthHeightSync": false, - "fontSize": 9, - "qrCodeLevel": 0, - "field": "provinceYbTotal", - "textAlign": "right", - "testData": "20000.00", - "hideTitle": true, - "formatter": "function(title,value,options,templateData,target,paperNo){\n return value ? value.toFixed(2) + ' 元' : '0.00' + ' 元'\n}" - }, - "printElementType": { - "title": "文本", - "type": "text" - } - }, - { - "options": { - "left": 164, - "top": 369.5, - "height": 13.5, - "width": 64.5, - "title": "市医保总额", - "coordinateSync": false, - "widthHeightSync": false, - "fontSize": 9, - "qrCodeLevel": 0, - "field": "1" - }, - "printElementType": { - "title": "文本", - "type": "text" - } - }, { "options": { "left": 220.5, - "top": 370.5, + "top": 363, "height": 13.5, "width": 75, "title": "文本", @@ -1450,10 +1472,129 @@ "type": "text" } }, + { + "options": { + "left": 81.5, + "top": 363.5, + "height": 13.5, + "width": 75, + "title": "文本", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "provinceYbTotal", + "textAlign": "right", + "testData": "20000.00", + "hideTitle": true, + "formatter": "function(title,value,options,templateData,target,paperNo){\n return value ? value.toFixed(2) + ' 元' : '0.00' + ' 元'\n}" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 162.5, + "top": 363.5, + "height": 13.5, + "width": 64.5, + "title": "市医保总额", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "1" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 17, + "top": 389, + "height": 13.5, + "width": 76.5, + "title": "现金收入总额", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "1" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 79.5, + "top": 390, + "height": 13.5, + "width": 75, + "title": "文本", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "totalCash", + "textAlign": "right", + "testData": "20000.00", + "hideTitle": true, + "formatter": "function(title,value,options,templateData,target,paperNo){\n return value ? value.toFixed(2) + ' 元' : '0.00' + ' 元'\n}" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 163.5, + "top": 390, + "height": 13.5, + "width": 64.5, + "title": "体检人次", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "1" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 218.5, + "top": 391, + "height": 13.5, + "width": 75, + "title": "体检人次", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "physicalExaminationCount", + "textAlign": "right", + "testData": "20000.00", + "hideTitle": true + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, { "options": { "left": 15, - "top": 397.5, + "top": 426, "height": 9, "width": 567, "borderWidth": "1.5", @@ -1468,7 +1609,7 @@ { "options": { "left": 162, - "top": 411, + "top": 439.5, "height": 13.5, "width": 76.5, "title": "制表人", @@ -1486,7 +1627,7 @@ { "options": { "left": 216, - "top": 411, + "top": 439.5, "height": 13.5, "width": 75, "title": "文本", @@ -1507,7 +1648,7 @@ { "options": { "left": 333, - "top": 411, + "top": 439.5, "height": 13.5, "width": 76.5, "title": "制表时间", @@ -1525,7 +1666,7 @@ { "options": { "left": 390, - "top": 411, + "top": 439.5, "height": 13.5, "width": 129, "title": "文本", @@ -1545,29 +1686,7 @@ } ], "paperNumberLeft": 389, - "paperNumberTop": 573, - "paperNumberDisabled": true, - "paperNumberContinue": true, - "overPrintOptions": { - "content": "", - "opacity": 0.7, - "type": 1 - }, - "watermarkOptions": { - "content": "", - "fillStyle": "rgba(184, 184, 184, 0.3)", - "fontSize": "14px", - "rotate": 25, - "width": 175, - "height": 200, - "timestamp": false, - "format": "YYYY-MM-DD HH:mm" - }, - "panelLayoutOptions": { - "layoutType": "column", - "layoutRowGap": 0, - "layoutColumnGap": 0 - } + "paperNumberTop": 573 } ] } \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue index c5ce414f..597a2b7e 100644 --- a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue +++ b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue @@ -155,15 +155,15 @@ --> 微信: - {{ formatValue(reportValue['0000cash']) }} + {{ formatValue(reportValue.vxCashSum) }} 支付宝: - {{ '0.00 元' }} + {{ formatValue(reportValue.aliCashSum) }} 网银: - {{ '0.00 元' }} + {{ formatValue(reportValue.peisCnt) }} + @@ -101,6 +113,7 @@ getList(); function getList() { queryParams.value.organizationId = props.patientInfo.orgId; getAdviceBaseInfo(queryParams.value).then((res) => { + console.log('ssssssssss', res.data.records); if (res.data.records.length > 0) { adviceBaseList.value = res.data.records.filter((item) => { if (item.adviceType == 1 || item.adviceType == 2) { @@ -117,7 +130,14 @@ function getList() { } }); } - +// 从priceList列表中获取价格 +function getPriceFromInventory(row) { + if (row.priceList && row.priceList.length > 0) { + const price = row.priceList[0].price || 0; + return Number(price).toFixed(2) + ' 元'; + } + return '-'; +} // 处理键盘事件 const handleKeyDown = (event) => { const key = event.key; @@ -182,9 +202,9 @@ defineExpose({ handleKeyDown, }); - + \ No newline at end of file + diff --git a/openhis-ui-vue3/src/views/doctorstation/components/api.js b/openhis-ui-vue3/src/views/doctorstation/components/api.js index 8158c818..69a217a1 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/api.js +++ b/openhis-ui-vue3/src/views/doctorstation/components/api.js @@ -179,6 +179,17 @@ export function getEncounterDiagnosis(encounterId) { }) } +/** + * + * 获取诊断集合数据 + */ +export function getDiagnosisList(searchKey) { + return request({ + url: '/doctor-station/diagnosis/get-diagnosis-list?searchKey=' + searchKey, + method: 'get', + }) +} + /** * * 删除就诊诊断 @@ -671,3 +682,25 @@ export function getOrderGroup(data) { params: data }) } + +/** + * 查询诊疗项目耗材绑定信息 + */ +export function getActivityBindDevice(data) { + return request({ + url: '/doctor-station/advice/activity-bind-device-info', + method: 'get', + params: data + }) +} + +/** + * 是否是食源性诊断 + */ +export function isFoodDiseasesNew(params) { + return request({ + url: '/external-integration/foodborne-acquisition/is-food-diseases-new', + method: 'get', + params: params + }) +} diff --git a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/addDiagnosisDialog.vue b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/addDiagnosisDialog.vue index 77359f89..7454ad5b 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/addDiagnosisDialog.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/addDiagnosisDialog.vue @@ -85,7 +85,7 @@ - + \ No newline at end of file +:deep(.el-dialog__body) { + max-height: 10vh; /* 设置最大高度为视口高度的 60% */ + overflow-y: auto; /* 超出时显示纵向滚动条 */ +} + diff --git a/openhis-ui-vue3/src/views/doctorstation/components/emr/emrtemplate.vue b/openhis-ui-vue3/src/views/doctorstation/components/emr/emrtemplate.vue index 9d9498a2..35fa36d8 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/emr/emrtemplate.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/emr/emrtemplate.vue @@ -1,22 +1,23 @@ - + \ No newline at end of file + diff --git a/openhis-ui-vue3/src/views/doctorstation/components/eprescriptiondialog.vue b/openhis-ui-vue3/src/views/doctorstation/components/eprescriptiondialog.vue index 4dfb6ab1..92d7e858 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/eprescriptiondialog.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/eprescriptiondialog.vue @@ -88,18 +88,22 @@ - + @@ -115,6 +119,36 @@ --> + + + + + + + + + +
@@ -393,12 +427,12 @@ \ No newline at end of file + diff --git a/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue b/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue index f4c4b3c8..5ce3a36c 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue @@ -350,6 +350,11 @@ :label="item.label" @click=" () => { + if (item.type == unitMap['minUnit']) { + scope.row.unitPrice = scope.row.minUnitPrice; + } else { + scope.row.unitPrice = scope.row.unitTempPrice; + } scope.row.unitCode_dictText = item.label; } " @@ -728,6 +733,7 @@ import { updateGroupId, getContract, getAdviceBaseInfo, + getActivityBindDevice, } from '../api'; import adviceBaseList from '../advicebaselist'; import { computed, getCurrentInstance, nextTick, watch } from 'vue'; @@ -736,6 +742,7 @@ import OrderGroupDrawer from './orderGroupDrawer'; import PrescriptionHistory from './prescriptionHistory'; import Decimal from 'decimal.js'; import useUserStore from '@/store/modules/user'; +import { ElMessageBox } from 'element-plus'; const emit = defineEmits(['selectDiagnosis']); const total = ref(0); @@ -986,6 +993,21 @@ function handleChange(value) { * 选择药品回调 */ function selectAdviceBase(key, row) { + if (row.adviceType == 3) { + getActivityBindDevice({ activityId: row.adviceDefinitionId }).then((res) => { + if (res.data.activityBindDeviceInfos?.length > 0) { + ElMessageBox.confirm('该诊疗项目已绑定所需耗材,点击确定将自动添加到医嘱列表', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + closeOnClickModal: false, + closeOnPressEscape: false, + }).then(() => { + handleSaveGroup(res.data.activityBindDeviceInfos); + }); + } + }); + } getOrgList(); unitCodeList.value = []; unitCodeList.value.push({ value: row.unitCode, label: row.unitCode_dictText, type: 'unit' }); @@ -1064,6 +1086,7 @@ function selectAdviceBase(key, row) { prescriptionList.value[rowIndex.value].inventoryId = stock.inventoryId; prescriptionList.value[rowIndex.value].locationId = stock.locationId; prescriptionList.value[rowIndex.value].unitPrice = stock.price; + prescriptionList.value[rowIndex.value].unitTempPrice = stock.price; prescriptionList.value[rowIndex.value].minUnitPrice = new Decimal(stock.price) .div(row.partPercent) .toFixed(2); @@ -1310,14 +1333,17 @@ function handleSaveSign(row, index) { row.minUnitQuantity = row.quantity; } row.conditionId = conditionId.value; - // if (row.unitCodeList.find((item) => item.value == row.unitCode).type == 'unit') { - // row.unitPrice = row.unitPrice; - // } else { - // row.unitCode_dictText = row.unitCodeList.find( - // (item) => item.value == row.minUnitCode - // ).label; - // row.unitPrice = row.minUnitPrice; - // } + // 处理总量为小单位情况,需要把单价也保存成小单位的 + if (row.unitCodeList.find((item) => item.value == row.unitCode).type == 'unit') { + if (row.adviceType != 3) { + row.unitPrice = row.unitTempPrice; + } + } else { + row.unitCode_dictText = row.unitCodeList.find( + (item) => item.value == row.minUnitCode + ).label; + row.unitPrice = row.minUnitPrice; + } row.conditionDefinitionId = conditionDefinitionId.value; row.encounterDiagnosisId = encounterDiagnosisId.value; row.diagnosisName = diagnosisName.value; @@ -1429,7 +1455,7 @@ function setValue(row) { // 库存列表 + 价格列表拼成批次号的下拉框 if (row.adviceType != 3) { if (row.inventoryList && row.inventoryList.length == 0) { - expandOrder.value = []; + // expandOrder.value = []; proxy.$modal.msgWarning('该项目无库存'); return; } @@ -1457,6 +1483,9 @@ function setValue(row) { prescriptionList.value[rowIndex.value].locationId = stock.locationId; prescriptionList.value[rowIndex.value].unitPrice = stock.price; prescriptionList.value[rowIndex.value].positionName = stock.locationName; + prescriptionList.value[rowIndex.value].minUnitPrice = new Decimal(stock.price) + .div(row.partPercent) + .toFixed(2); } } else { prescriptionList.value[rowIndex.value].orgId = JSON.parse(JSON.stringify(row)).positionId; @@ -1496,6 +1525,7 @@ function handleSaveGroup(orderGroupList) { prescriptionList.value[rowIndex.value] = { ...prescriptionList.value[rowIndex.value], // ...orderGroupValue, + uniqueKey: nextId.value++, patientId: props.patientInfo.patientId, encounterId: props.patientInfo.encounterId, accountId: accountId.value, @@ -1802,10 +1832,14 @@ const groupMarkers = ref([]); // 计算总价 function calculateTotalPrice(row, index) { nextTick(() => { - if (row.unitCode == row.minUnitCode) { - row.totalPrice = new Decimal(row.unitPrice).div(row.partPercent) * row.quantity; - } else { + if (row.adviceType == 3) { row.totalPrice = (row.unitPrice * row.quantity * 100) / 100; + } else { + if (row.unitCode == row.minUnitCode) { + row.totalPrice = row.minUnitPrice * row.quantity; + } else { + row.totalPrice = (row.unitPrice * row.quantity * 100) / 100; + } } }); } diff --git a/openhis-ui-vue3/src/views/hospitalRecord/HospitalRecordForm.vue b/openhis-ui-vue3/src/views/hospitalRecord/HospitalRecordForm.vue new file mode 100644 index 00000000..38cff998 --- /dev/null +++ b/openhis-ui-vue3/src/views/hospitalRecord/HospitalRecordForm.vue @@ -0,0 +1,269 @@ + + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirst.vue b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirst.vue new file mode 100644 index 00000000..b5b4e91c --- /dev/null +++ b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirst.vue @@ -0,0 +1,472 @@ + + + + + diff --git a/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json new file mode 100644 index 00000000..43e5b1cb --- /dev/null +++ b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json @@ -0,0 +1,3 @@ +{ + "printContent": "\n\n\n 住院病案首页\n \n\n\n
\n
吉林大学第一医院
\n
\n
\n
组织机构代码:(${formData.hospital.orgCode || ''})
\n
医疗付费方式:(${formData.hospital.paymentMethod || ''})
\n
\n
\n 住院病案首页\n
\n
\n
条形码
\n
\n
\n
\n
\n
健康卡号:(${formData.patient.healthCardNo || ''})
\n
第(${formData.patient.times || ''})住院
\n
住院ID:(${formData.patient.hospitalizationId || ''})
\n
病案号:(${formData.patient.recordNo || ''})
\n
\n
\n
\n
\n \n
\n
\n
\n \n
${formData.patient.name || ''}
\n
\n
\n \n
${formData.patient.gender === '1' ? '男' : formData.patient.gender === '2' ? '女' : ''}
\n
\n
\n \n
${formData.patient.birthDate || ''}
\n
\n
\n \n
${formData.patient.age || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n \n
\n
\n
\n
\n \n
${formData.patient.birthDate || ''}
\n \n
${formData.patient.birthDate || ''}市
\n
${formData.patient.birthDate || ''}县(区、市)
\n
\n
\n \n
${formData.patient.nativePlace || ''}省(区、市)
\n
\n
\n \n
${formData.patient.ethnicity || ''}
\n
\n
\n
\n
\n \n
${formData.patient.idCardNo || ''}省(区、市)
\n
\n
\n \n
${formData.patient.nationality || ''}省(区、市)
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}省(区、市)
\n
${formData.patient.nationality || ''}市
\n
${formData.patient.birthDate || ''}县(区、市)
\n
${formData.patient.birthDate || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}省(区、市)
\n
${formData.patient.nationality || ''}市
\n
${formData.patient.birthDate || ''}县(区、市)
\n
${formData.patient.birthDate || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n \n
${'1' || ''}
\n \n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n \n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
出院诊断疾病编码入院病情转归情况
主要诊断:腰椎间盘突出症(L4-5)121
其他诊断:腰椎椎管狭窄(L4-5)122
其他诊断:右下肢不全瘫122
----
----
----
----
----
----
----
----
\n
\n
入院病情:1.有 2.临床未确定 3.情况不明 4.无
\n
转归情况:1.治愈 2.好转 3.未愈 4.死亡 5.其他
\n
\n
\n
\n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n \n
${formData.patient.nationality || ''}
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n \n
${'0' || ''}
\n \n
\n
\n \n
${'1' || ''}
\n \n
\n
\n \n \n
${formData.patient.nationality || '-'}
\n \n \n
${formData.patient.nationality || '-'}
\n \n \n
${formData.patient.nationality || '-'}
\n \n \n
${formData.patient.nationality || '-'}
\n \n \n
${formData.patient.nationality || '-'}
\n \n
\n
\n
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n \n
${'1' || ''}
\n \n
\n
\n
\n
\n \n
${'1' || ''}
\n \n
\n
\n \n
${'1' || ''}
\n \n
\n
\n \n
${'1' || ''}
\n \n
\n
\n
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n \n
${formData.patient.nationality || '-'}
\n
\n
\n
\n + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordThird.vue b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordThird.vue new file mode 100644 index 00000000..813f16fa --- /dev/null +++ b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordThird.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/index.vue b/openhis-ui-vue3/src/views/index.vue index a5e025f7..f084f71c 100644 --- a/openhis-ui-vue3/src/views/index.vue +++ b/openhis-ui-vue3/src/views/index.vue @@ -3,9 +3,9 @@
效期预警 {{total}}
- + + +
diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js index b2fa53b6..25415ce2 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js @@ -5,6 +5,7 @@ */ import request from '@/utils/request' +// ====== 文书记录 // 新增记录 export function addRecord(data) { return request({ @@ -22,3 +23,38 @@ export function getRecordByEncounterIdList(params) { params }) } +// 初始化文书定义 +export function init() { + return request({ + url: '/document/record/init', + method: 'get', + }) +} + +// ====== 文书模板 +// 新增模板 +export function addTemplate(data) { + return request({ + url: '/document/template/add', + method: 'post', + data + }) +} +// +export function getListByDefinitionId(definitionId) { + return request({ + url: '/document/template/getListByDefinitionId', + method: 'get', + params: {definitionId} + }) +} +// 更新模板 +export function updateTemplate(data) { + return request({ + url: '/document/template/update', + method: 'put', + data + }) +} + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/history.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/history.vue index e52ae7b5..1824a9d5 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/history.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/history.vue @@ -11,7 +11,7 @@
diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue new file mode 100644 index 00000000..5e741e5b --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/templateEdit.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/templateEdit.vue new file mode 100644 index 00000000..008f1fbe --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/templateEdit.vue @@ -0,0 +1,133 @@ + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue index 61e4f2c0..bae4d7b0 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue @@ -28,10 +28,9 @@
- 新建 + 存为模版 刷新 - 删除 保存
@@ -44,18 +43,35 @@
- + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderProofread/index.vue b/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderProofread/index.vue index a7a935dc..d7d378a5 100644 --- a/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderProofread/index.vue +++ b/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderProofread/index.vue @@ -28,13 +28,20 @@
- - - + + + + - Config - Role - Task
@@ -44,8 +51,63 @@ import PatientList from './components/patientList.vue'; import PrescriptionList from './components/prescriptionList.vue'; -const activeName = ref('first'); +const activeName = ref('unverified'); const active = ref('first'); +const requestStatus = ref(2); + +// 存储子组件引用的对象 +const prescriptionRefs = ref({}); + +// 定义处方列表tabs配置 +const prescriptionTabs = [ + { label: '未校对', name: 'unverified' }, + { label: '已校对', name: 'verified' }, + { label: '已停止', name: 'stopped' }, + { label: '已退回', name: 'cancelled' }, +]; + +// 设置处方组件引用 +function setPrescriptionRef(el, name) { + if (el) { + prescriptionRefs.value[name] = el; + } +} + +function handleTabClick(tabName) { + // tabName是tab的name属性值 + const activeTabName = tabName || activeName.value; + + switch (activeTabName) { + case 'unverified': + requestStatus.value = 2; + break; + case 'verified': + requestStatus.value = 3; + break; + case 'stopped': + requestStatus.value = 6; + break; + case 'cancelled': + requestStatus.value = 1; + break; + } + // 调用子组件方法 + nextTick(() => { + debugger; + console.log(prescriptionRefs.value[activeTabName], '1'); + + if ( + prescriptionRefs.value[activeTabName] && + typeof prescriptionRefs.value[activeTabName].handleGetPrescription === 'function' + ) { + prescriptionRefs.value[activeTabName].handleGetPrescription(); + } + }); +} + +provide('handleGetPrescription', (value) => { + prescriptionRefs.value[activeName.value].handleGetPrescription(); +}); \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/login.vue b/openhis-ui-vue3/src/views/login.vue index 476be277..548ec4bc 100644 --- a/openhis-ui-vue3/src/views/login.vue +++ b/openhis-ui-vue3/src/views/login.vue @@ -51,10 +51,10 @@ /> - - 连接医保 - - + + + + + - + - 添加行 + 添加行 -
+
{ if (res.code == 200) { + pageLoading.value = false proxy.$modal.msgSuccess('操作成功'); tagsViewStore.delView(router.currentRoute.value); store.clearCurrentDataBS(); @@ -1040,6 +1043,8 @@ function handelApply() { query: { type: 'lossReporting' }, }); } + }).catch(() => { + pageLoading.value = false }); } /** 提交审核按钮 */ diff --git a/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/api.js b/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/api.js new file mode 100644 index 00000000..97c3c217 --- /dev/null +++ b/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/api.js @@ -0,0 +1,58 @@ +import request from '@/utils/request'; + +// 查询费用定价信息列表 +export function listDefinition (query) { + return request ({ + url: '/dict-dictionary/definition/charge-item-info', + method: 'get', + params: query, + }); +} + +// 初始化下拉选 +export function initOption (query) { + return request ({ + url: '/dict-dictionary/definition/init', + method: 'get', + params: query, + }); +} +// 获取药品列表 +export function getMedicineList (query) { + return request ({ + url: '/doctor-station/advice/advice-base-info', + method: 'get', + params: query, + }); +} +// 修改费用定价信息 +export function updateDefinition (data) { + return request ({ + url: `/dict-dictionary/definition/update-charge-item?id=${data.id}&price=${data.price}`, + method: 'put', + }); +} + +// 修改费用定价信息 +export function getOptions () { + return request ({ + url: '/dict-dictionary/definition/status-enum-option', + method: 'get', + }); +} + +// 修改费用定价信息 +export function getDetail (id) { + return request ({ + url: '/dict-dictionary/definition/charge-item-info-detail?id=' + id, + method: 'get', + }); +} +// 供应商查询 +export function getSupplierList (query) { + return request ({ + url: '/change/price/searchAllSupply', + method: 'get', + params: query, + }); +} \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/medicineList.vue b/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/medicineList.vue new file mode 100644 index 00000000..6efa2c69 --- /dev/null +++ b/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/components/medicineList.vue @@ -0,0 +1,74 @@ + + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/index.vue b/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/index.vue new file mode 100644 index 00000000..cc368508 --- /dev/null +++ b/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/index.vue @@ -0,0 +1,636 @@ + + + diff --git a/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue b/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue index 5f454cb7..57cb274f 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue @@ -1,5 +1,5 @@ + + + - +
+ {{ reconciliation }} + + 手动对账 + +
-