소스 검색

Merge remote-tracking branch 'origin/master'

lenovodn 2 년 전
부모
커밋
216d98aac7

+ 13 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/AfterIncidentLog.java

@@ -117,4 +117,17 @@ public class AfterIncidentLog implements Serializable {
     @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "创建时间")
     private java.util.Date createTime;
+
+    /**患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可*/
+    @Excel(name = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可", width = 15, format =  "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")
+    @ApiModelProperty(value = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可")
+    private java.util.Date patientBirthday;
+    /**病人年龄;*/
+    @Excel(name = "病人年龄;", width = 15)
+    @ApiModelProperty(value = "病人年龄;")
+    private java.lang.String patientAge;
+
+    private java.lang.String patientGender;
 }

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/AfterwardsAudit.java

@@ -69,6 +69,23 @@ public class AfterwardsAudit implements Serializable {
 	@Excel(name = "患者姓名", width = 15)
     @ApiModelProperty(value = "患者姓名")
     private java.lang.String patientName;
+
+    /**患者性别*/
+    @Excel(name = "患者性别", width = 15)
+    @ApiModelProperty(value = "患者性别")
+    @Dict(dicCode = "sex")
+    private java.lang.String patientGender;
+    /**患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可*/
+    @Excel(name = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可", width = 15, format =  "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")
+    @ApiModelProperty(value = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可")
+    private java.util.Date patientBirthday;
+    /**患者年龄;如有患者年龄,则不需要患者出生日期。患者年龄或出生日期有一个字段即可*/
+    @Excel(name = "患者年龄;如有患者年龄,则不需要患者出生日期。患者年龄或出生日期有一个字段即可", width = 15)
+    @ApiModelProperty(value = "患者年龄;如有患者年龄,则不需要患者出生日期。患者年龄或出生日期有一个字段即可")
+    private java.lang.String patientAge;
+
 	/**住院号/门诊号*/
 	@Excel(name = "住院号/门诊号", width = 15)
     @ApiModelProperty(value = "住院号/门诊号")

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MidIncidentAudit.java

@@ -92,6 +92,12 @@ public class MidIncidentAudit implements Serializable {
     @ApiModelProperty(value = "病人性别;")
     @Dict(dicCode = "sex")
     private java.lang.String patientGender;
+    /**患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可*/
+    @Excel(name = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可", width = 15, format =  "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")
+    @ApiModelProperty(value = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可")
+    private java.util.Date patientBirthday;
 //    inpatient_area	true	char	20	病区
     /**
      * 就诊类型为住院时候必填

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MidIncidentVisitLog.java

@@ -89,6 +89,12 @@ public class MidIncidentVisitLog implements Serializable {
     @ApiModelProperty(value = "病人性别;")
     @Dict(dicCode = "sex")
     private java.lang.String patientGender;
+    /**患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可*/
+    @Excel(name = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可", width = 15, format =  "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")
+    @ApiModelProperty(value = "患者出生日期;MMDDYYYY日期型字段,不含分秒时,用于计算患者年龄,患者年龄或出生日期有一个字段即可")
+    private java.util.Date patientBirthday;
     /**病人性别;*/
     @Excel(name = "病区;就诊类型为住院时候必填", width = 15)
     @ApiModelProperty(value = "病区;就诊类型为住院时候必填")

+ 5 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/AfterWaringLogJob.java

@@ -25,6 +25,7 @@ import org.springframework.scheduling.annotation.Async;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 
 /**
  * 事后监管任务生成-住院就诊类型
@@ -107,8 +108,10 @@ public class AfterWaringLogJob implements Job {
             afterIncidentDetailLog.setChangeClass(hospitalizatioSettleDetail.getPType());
 //            afterIncidentDetailLog.setInspectionSite();
             afterIncidentDetailLog.setOutHospDate(masterAdmissionBill.getDischargeDate());
-            afterIncidentDetailLog.setDiagnoseCodeStr(masterAdmissionBill.getDischargeDiseaseIdMain().trim());
-            afterIncidentDetailLog.setDiagnoseNameStr(masterAdmissionBill.getDischargeDiseaseNameMain());
+            if(StringUtils.isNotBlank(masterAdmissionBill.getDischargeDiseaseIdMain())) {
+                afterIncidentDetailLog.setDiagnoseCodeStr(masterAdmissionBill.getDischargeDiseaseIdMain().trim());
+                afterIncidentDetailLog.setDiagnoseNameStr(masterAdmissionBill.getDischargeDiseaseNameMain());
+            }
             afterIncidentDetailLog.setMedicalInsuranceMark(masterAdmissionBill.getPayMethod());
             afterIncidentDetailLog.setMedicalSpecification(hospitalizatioSettleDetail.getDrugSpec());
             afterIncidentDetailLog.setTotalAmount(masterAdmissionBill.getMedfeeSumamt());

+ 6 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditDetailMapper.xml

@@ -7,17 +7,17 @@
         SELECT
             ad.patient_id , -- 患者编码
             ad.patient_name , -- 患者姓名
-            p.gender AS gender, -- 性别
-            p.birthday AS birthday, -- 生日
-            "" AS age, -- 年龄
-            "" AS medicalInsurance, -- 是否医保(从主表查询)
+            ad.patient_gender AS gender, -- 性别
+            ad.patient_birthday AS birthday, -- 生日
+            ad.patient_age AS age, -- 年龄
+            ad.medicalInsurance, -- 是否医保(从主表查询)
             ad.visit_time AS visitDate, -- 就诊日期
-            "" AS visitSerialNumber, -- 就诊流水号(从主表查询)
+            ad.outpatient_number AS visitSerialNumber, -- 就诊流水号(从主表查询)
             ad.medical_dept_name AS medicalDeptName, -- 科室名称
             ad.medical_dept_code AS medicalDeptCode -- 科室编码
                 ,ad.treatment_type as treatmentType -- 就诊类型
         FROM afterwards_audit as ad
-                 LEFT JOIN his_patient as p on ad.patient_id = p.patient_no
+--                  LEFT JOIN his_patient as p on ad.patient_id = p.patient_no
         WHERE ad.id = #{id,jdbcType=INTEGER}
     </select>
     <select id="beforeLoadPatientInfoById"

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/RuleEngine.java

@@ -1075,6 +1075,9 @@ public class RuleEngine {
         afterwardsAudit.setAmount((double) 0);
         afterwardsAudit.setVisitTime(afterIncidentLog.getInHospDate());
         afterwardsAudit.setMedicalInsurance(afterIncidentLog.getMedicalInsurance());
+        afterwardsAudit.setPatientAge(afterIncidentLog.getPatientAge());
+        afterwardsAudit.setPatientGender(afterIncidentLog.getPatientGender());
+        afterwardsAudit.setPatientBirthday(afterIncidentLog.getPatientBirthday());
 //        afterwardsAudit.setBedNumber(afterIncidentLog.);
         afterwardsAuditService.save(afterwardsAudit);
         if (StringUtils.isNotBlank(afterIncidentLog.getDiagnoses())) {

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterIncidentLogServiceImpl.java

@@ -40,7 +40,9 @@ public class AfterIncidentLogServiceImpl extends ServiceImpl<AfterIncidentLogMap
         afterIncidentLog.setZyts(masterAdmissionBill.getZyts());
         afterIncidentLog.setDiagnoses(masterAdmissionBill.getDischargeDiseaseIdMain());
         afterIncidentLog.setPatientAgeDays(masterAdmissionBill.getPatientAgeDays());
-
+        afterIncidentLog.setPatientBirthday(masterAdmissionBill.getPatientBirthday());
+        afterIncidentLog.setPatientAge(masterAdmissionBill.getPatientAge());
+        afterIncidentLog.setPatientGender(masterAdmissionBill.getPatientGender());
         afterIncidentLog.setState(Constant.WATING);
         Integer medicalINsurance = 0;
         if(!"0".equals(masterAdmissionBill.getPayMethod())){

+ 19 - 19
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditDetailServiceImpl.java

@@ -64,27 +64,27 @@ public class AfterwardsAuditDetailServiceImpl extends ServiceImpl<AfterwardsAudi
             throw new JeecgBootException("找不到工单id");
         }
         PatientInformationResponse result = baseMapper.loadPatientInfoById(id);
-        if (null != result) {
+//        if (null != result) {
             //查一次就诊流水号
-            List<AfterwardsAuditDetail> detailList = loadDetailList(id);//baseMapper.loadAdvanceWarningAuditDetail(id);
-            if (!CollectionUtils.isEmpty(detailList)) {
-                AfterwardsAuditDetail advanceWarningAuditDetail = detailList.get(0);
-                String outpatientNumber = advanceWarningAuditDetail.getOutpatientNumber();
-                result.setVisitSerialNumber(outpatientNumber);
-                result.setMedicalInsurance(advanceWarningAuditDetail.getMedicalInsuranceMark());
-            }
+//            List<AfterwardsAuditDetail> detailList = loadDetailList(id);//baseMapper.loadAdvanceWarningAuditDetail(id);
+//            if (!CollectionUtils.isEmpty(detailList)) {
+//                AfterwardsAuditDetail advanceWarningAuditDetail = detailList.get(0);
+//                String outpatientNumber = advanceWarningAuditDetail.getOutpatientNumber();
+//                result.setVisitSerialNumber(outpatientNumber);
+//                result.setMedicalInsurance(advanceWarningAuditDetail.getMedicalInsuranceMark());
+//            }
             //计算患者年龄
-            Date birthday = result.getBirthday();
-            if (null != birthday) {
-
-                Instant instant = birthday.toInstant();
-                LocalDate usageLocalDate = instant.atZone(ZoneId.systemDefault()).toLocalDate();
-                LocalDate now = LocalDate.now();
-                // 获取两个日期天数相差
-                long until = usageLocalDate.until(now, ChronoUnit.YEARS) + 1;
-                result.setAge(String.valueOf(until));
-            }
-        }
+//            Date birthday = result.getBirthday();
+//            if (null != birthday) {
+//
+//                Instant instant = birthday.toInstant();
+//                LocalDate usageLocalDate = instant.atZone(ZoneId.systemDefault()).toLocalDate();
+//                LocalDate now = LocalDate.now();
+//                // 获取两个日期天数相差
+//                long until = usageLocalDate.until(now, ChronoUnit.YEARS) + 1;
+//                result.setAge(String.valueOf(until));
+//            }
+//        }
         return result;
     }