瀏覽代碼

住院和门诊登记需要填病种

lighter 2 年之前
父節點
當前提交
6e4c495563

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>2</version>
+    <version>1</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 4 - 3
src/main/java/thyyxxk/webserver/dao/his/inpatient/PatientDao.java

@@ -45,7 +45,7 @@ public interface PatientDao {
             "admissDept=rtrim(a.admiss_dept), a.matn_type,smallDept=rtrim(a.small_dept), " +
             "smallDeptName=rtrim((select name from zd_unit_code where code=small_dept)), " +
             "admiss_date,ybRegisterDate=isnull(yb_register_date, admiss_date), " +
-            "responceType=a.med_type, " +
+            "responceType=a.med_type,a.dise_code,a.dise_name, " +
             "zkWard=rtrim(a.zk_ward),ward=(a.ward),a.latechb_flag,a.pret_flag,ledgerSn=a.times_billed, " +
             "admissStatus=rtrim(a.admiss_status), " +
             "dismissOrder=(select count(1) from yz_act_order y where y.inpatient_no=b.inpatient_no  " +
@@ -78,7 +78,7 @@ public interface PatientDao {
             "birthDate=(convert(varchar(10), birth_date, 21)),home_tel=rtrim(b.home_tel), " +
             "admissPhysician=rtrim(a.admiss_physician), " +
             "admissPhysicianName=rtrim((select name FROM a_employee_mi WHERE code = a.admiss_physician)), " +
-            "referPhysician=rtrim(a.refer_physician), " +
+            "referPhysician=rtrim(a.refer_physician),a.dise_code,a.dise_name, " +
             "referPhysicianName=rtrim((select name FROM a_employee_mi WHERE code = a.refer_physician)), " +
             "admissDiagStr=rtrim(isnull(a.admiss_diag_str,'')), " +
             "clinicDiagStr=rtrim(isnull(a.clinic_diag_str,'')), " +
@@ -173,7 +173,8 @@ public interface PatientDao {
 
     @Update("update zy_actpatient set yb_register_date=#{ybRegisterDate},med_type=#{medType},responce_type=#{responceType}, " +
             "admdvs=#{admdvs},refer_physician=#{referPhysician},matn_type=#{matnType},latechb_flag=#{latechbFlag}," +
-            "pret_flag=#{pretFlag} where inpatient_no=#{inpatientNo} and admiss_times=#{admissTimes}")
+            "pret_flag=#{pretFlag},dise_code=#{diseCode},dise_name=#{diseName} where inpatient_no=#{inpatientNo} " +
+            "and admiss_times=#{admissTimes}")
     void updateZyActpatient(Patient param);
 
 

+ 3 - 8
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiZyDao.java

@@ -53,14 +53,9 @@ public interface SiZyDao {
      * @param ledgerSn    账页号
      * @return 入院基本信息
      */
-    @Select("select b.psn_no,b.insutype,b.psn_name, " +
-            "isnull(a.yb_register_date,a.admiss_date) as begntime, " +
-            "mdtrtCertType='02', " +
-            "b.certno as mdtrtCertNo, " +
-            "certType='1', " +
-            "b.certno, " +
-            "b.med_type, " +
-            "rtrim(a.inpatient_no) as iptNo, " +
+    @Select("select b.psn_no,b.insutype,b.psn_name,isnull(a.yb_register_date,a.admiss_date) as begntime, " +
+            "mdtrtCertType='02',b.certno as mdtrtCertNo,certType='1',b.certno,b.med_type, " +
+            "rtrim(a.inpatient_no) as iptNo,a.dise_code as diseCodg,a.dise_name, " +
             "atddrNo=(select rtrim(isnull(yb_code,code)) from a_employee_mi where code=isnull(a.refer_physician,a.admiss_physician)), " +
             "chfpdrName=(select rtrim(name) from a_employee_mi where code=isnull(a.refer_physician,a.admiss_physician)), " +
             "rtrim(a.small_dept) as admDeptCodg, " +

+ 2 - 0
src/main/java/thyyxxk/webserver/entity/inpatient/patient/Patient.java

@@ -117,6 +117,8 @@ public class Patient {
 
     private Date begntime;
     private Date endtime;
+    private String diseCode;
+    private String diseName;
 
     public String getSexName() {
         if (sex == null) {

+ 36 - 36
src/main/java/thyyxxk/webserver/entity/medicalinsurance/inpatient/AdmMdtrtinfo.java

@@ -14,7 +14,7 @@ import java.util.Date;
 public class AdmMdtrtinfo {
     /**
      * 人员编号
-     * */
+     */
     @JSONField(name = "psn_no")
     private String psnNo;
 
@@ -23,112 +23,112 @@ public class AdmMdtrtinfo {
 
     /**
      * 险种类型
-     * */
+     */
     private String insutype;
 
     /**
      * 开始时间
-     * */
+     */
     private Date begntime;
 
     /**
      * 就诊凭证类型
-     * */
+     */
     @JSONField(name = "mdtrt_cert_type")
     private String mdtrtCertType;
 
     /**
      * 就诊凭证编号(就诊凭证类型为“01”时填写电子凭证令牌,为“02”时填写身份证号,为“03”时填写社会保障卡卡号)
-     * */
+     */
     @JSONField(name = "mdtrt_cert_no")
     private String mdtrtCertNo;
 
     /**
      * 卡识别码(就诊凭证类型为“03”时必填)
-     * */
+     */
     @JSONField(name = "card_sn")
     private String cardSn;
 
     /**
      * 证件类型
-     * */
+     */
     @JSONField(name = "cert_type")
     private String certType;
 
     /**
      * 证件号码
-     * */
+     */
     private String certno;
 
     /**
      * 医疗类别
-     * */
+     */
     @JSONField(name = "med_type")
     private String medType;
 
     /**
      * 住院号
-     * */
+     */
     @JSONField(name = "ipt_no")
     private String iptNo;
 
     /**
      * 主治医生编码
-     * */
+     */
     @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;
 
     /**
      * 病种编码(按照标准编码填写:按病种结算病种目录代码(bydise_setl_list_code) 日间手术病种目录代码(daysrg_dise_list_code))
-     * */
+     */
     @JSONField(name = "dise_codg")
     private String diseCodg;
 
     /**
      * 病种名称
-     * */
+     */
     @JSONField(name = "dise_name")
     private String diseName;
 
@@ -137,94 +137,94 @@ public class AdmMdtrtinfo {
      * 以下部分的字段非必填
      * ==================================================================
      * 联系人姓名
-     * */
+     */
     @JSONField(name = "coner_name")
     private String conerName;
 
     /**
      * 联系电话
-     * */
+     */
     private String tel;
 
     /**
      * 病历号
-     * */
+     */
     private String medrcdno;
 
     /**
      * 主要病情描述
-     * */
+     */
     @JSONField(name = "main_cond_dscr")
     private String mainCondDscr;
 
     /**
      * 手术操作代码(日间手术病种时必填)
-     * */
+     */
     @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;
 
     /**
      * 胎次
-     * */
+     */
     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")
     private String birctrlMatnDate;
 
     /**
      * 病种类型
-     * */
+     */
     @JSONField(name = "dise_type_code")
     private String diseTypeCode;
 

+ 0 - 11
src/main/java/thyyxxk/webserver/entity/triage/triage.iml

@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" packagePrefix="thyyxxk.webserver.entity.triage" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>

+ 22 - 4
src/main/java/thyyxxk/webserver/service/inpatient/PatientService.java

@@ -178,6 +178,22 @@ public class PatientService {
         if (null == medType) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请选择患者的医疗类别!");
         }
+        if (medType == MedType.MATERNITY_HOSPITALIZATION) {
+            if (StringUtil.isBlank(patient.getMatnType())) {
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "生育类别不能为空!");
+            }
+            if (StringUtil.isBlank(patient.getLatechbFlag())) {
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "是否晚育不能为空!");
+            }
+            if (StringUtil.isBlank(patient.getPretFlag())) {
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "是否早产不能为空!");
+            }
+        }
+        if (medType == MedType.MATERNITY_HOSPITALIZATION || medType == MedType.SINGLE_DISEASE_HOSPITALIZATION) {
+            if (StringUtil.isBlank(patient.getDiseCode())) {
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "患者病种不能为空!");
+            }
+        }
         if (StringUtil.isBlank(patient.getDutyNurse())) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "责任护士不能为空!");
         }
@@ -212,10 +228,12 @@ public class PatientService {
 
         String zyh = patient.getInpatientNo();
         int times = patient.getAdmissTimes();
-        param.getDiags().forEach(itm -> {
-            itm.setInpatientNo(zyh);
-            itm.setAdmissTimes(times);
-        });
+        for (int i = 0; i < param.getDiags().size(); i++) {
+            ZyInYbDiag diag = param.getDiags().get(i);
+            diag.setInpatientNo(zyh);
+            diag.setAdmissTimes(times);
+        }
+
         patient.setResponceType(medType.getResponceType());
         log.info("【操作员:{}】保存患者信息:{} ", patient.getStaffId(), param);
         if (dao.isBatjBa2Exist(patient.getInpatientNo(), patient.getAdmissTimes()) == 0) {

+ 4 - 2
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiZyService.java

@@ -110,12 +110,14 @@ public class SiZyService {
                 admMdtrtinfo.setMdtrtCertNo(qrinfo.getString("ecToken"));
             }
         }
+        if (StringUtil.isBlank(admMdtrtinfo.getDiseCodg())) {
+            admMdtrtinfo.setDiseCodg(admDiseinfos.get(0).getDiagCode());
+            admMdtrtinfo.setDiseName(admDiseinfos.get(0).getDiagName());
+        }
         admMdtrtinfo.setInsutype(p.getInsutype());
         admMdtrtinfo.setAdmDiagDscr(admDiseinfos.get(0).getDiagName());
         admMdtrtinfo.setDscgMaindiagCode(admDiseinfos.get(0).getDiagCode());
         admMdtrtinfo.setDscgMaindiagName(admDiseinfos.get(0).getDiagName());
-        admMdtrtinfo.setDiseCodg(admDiseinfos.get(0).getDiagCode());
-        admMdtrtinfo.setDiseName(admDiseinfos.get(0).getDiagName());
         admMdtrtinfo.setMatnType(p.getMatnType());
         admMdtrtinfo.setLatechbFlag(p.getLatechbFlag());
         admMdtrtinfo.setPretFlag(p.getPretFlag());