diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/IWesternMedicineDispenseAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/IWesternMedicineDispenseAppServiceImpl.java index d6d17bd4..2ba9374b 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/IWesternMedicineDispenseAppServiceImpl.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/appservice/impl/IWesternMedicineDispenseAppServiceImpl.java @@ -3,15 +3,12 @@ package com.openhis.web.pharmacymanage.appservice.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.core.common.core.domain.R; -import com.core.common.utils.DateUtils; -import com.core.common.utils.MessageUtils; -import com.core.common.utils.SecurityUtils; +import com.core.common.utils.*; import com.openhis.administration.domain.Organization; import com.openhis.administration.service.IOrganizationService; import com.openhis.common.constant.PromptMsgConstant; -import com.openhis.common.enums.DispenseStatus; -import com.openhis.common.enums.NotPerformedReasonEnum; -import com.openhis.common.enums.OrganizationClass; +import com.openhis.common.enums.*; +import com.openhis.common.utils.EnumUtils; import com.openhis.common.utils.HisQueryUtils; import com.openhis.medication.domain.MedicationDispense; import com.openhis.medication.service.IMedicationDispenseService; @@ -27,6 +24,7 @@ import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -97,7 +95,7 @@ public class IWesternMedicineDispenseAppServiceImpl implements IWesternMedicineD // 查询条件设定 String condition = encounterInfoSearchParam.getCondition(); - if (!condition.isEmpty()){ + if (StringUtils.isNotEmpty(condition)){ Pattern pattern = Pattern.compile(".*\\d.*"); Matcher matcher = pattern.matcher(encounterInfoSearchParam.getCondition()); encounterInfoSearchParam.setIdCard(matcher.find() ? condition:""); @@ -126,11 +124,19 @@ public class IWesternMedicineDispenseAppServiceImpl implements IWesternMedicineD // 患者基本信息查询 PrescriptionPatientInfoDto prescriptionPatientInfoDto = westernMedicineDispenseMapper. selectPrescriptionPatientInfo(encounterId); - + // 年龄 + prescriptionPatientInfoDto.setAge(AgeCalculatorUtil.getAge(prescriptionPatientInfoDto.getBirth_date())); + // 性别 + prescriptionPatientInfoDto.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, + prescriptionPatientInfoDto.getGenderEnum())); + // 合同类型 + if (StringUtils.isNull(prescriptionPatientInfoDto.getCategoryEnum())){ + prescriptionPatientInfoDto.setCategoryEnum_enumText(EnumUtils.getInfoByValue(FinCategory.class, + prescriptionPatientInfoDto.getCategoryEnum())); + } // 处方单信息查询 List prescriptionMedicineInfoList = westernMedicineDispenseMapper. selectPrescriptionMedicineInfoList(encounterId); - // 计算合计金额 if(!prescriptionMedicineInfoList.isEmpty()) { BigDecimal totalPrice = new BigDecimal(0); @@ -139,11 +145,9 @@ public class IWesternMedicineDispenseAppServiceImpl implements IWesternMedicineD } prescriptionPatientInfoDto.setTotalPrice(totalPrice); } - PrescriptionInfoDto prescriptionInfoDto = new PrescriptionInfoDto(); prescriptionInfoDto.setPrescriptionPatientInfoDto(prescriptionPatientInfoDto); prescriptionInfoDto.setPrescriptionMedicineInfoDtoList(prescriptionMedicineInfoList); - return R.ok(prescriptionInfoDto); } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/PrescriptionPatientInfoDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/PrescriptionPatientInfoDto.java index e22cdea8..3ee74c4e 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/PrescriptionPatientInfoDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/pharmacymanage/dto/PrescriptionPatientInfoDto.java @@ -48,9 +48,6 @@ public class PrescriptionPatientInfoDto implements Serializable { /** 就诊日期 */ private String encounterDate; - /** 门诊诊断 */ - private String diagnoseName; - /** 总金额 */ private BigDecimal totalPrice; } \ No newline at end of file diff --git a/openhis-server/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml b/openhis-server/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml index 78be848a..4dd1a866 100644 --- a/openhis-server/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml +++ b/openhis-server/openhis-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml @@ -4,132 +4,116 @@ diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/FinCategory.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/FinCategory.java new file mode 100644 index 00000000..c5e047ec --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/FinCategory.java @@ -0,0 +1,41 @@ +package com.openhis.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum FinCategory implements HisEnumInterface { + + /** + * 自费 + */ + SELF_PAY(1, "1", "自费"), + + /** + * 省医保 + */ + PROVINCIAL_MEDICAL_INSURANCE(2, "2", "省医保"), + + /** + * 市医保 + */ + MUNICIPAL_MEDICAL_INSURANCE(4, "4", "市医保"); + + private Integer value; + private String code; + private String info; + + public static FinCategory getByValue(Integer value) { + if (value == null) { + return null; + } + for (FinCategory val : values()) { + if (val.getValue().equals(value)) { + return val; + } + } + return null; + } +}