Browse Source

医保登记页面添加内容

lighter 1 year ago
parent
commit
b1d8768779

+ 13 - 0
src/main/java/thyyxxk/webserver/controller/medicalinsurance/SiMzController.java

@@ -3,6 +3,7 @@ package thyyxxk.webserver.controller.medicalinsurance;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import thyyxxk.webserver.config.auth.PassToken;
+import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.markmtfees.MzDepositFile;
 import thyyxxk.webserver.entity.markmtfees.MzReceipt;
@@ -13,7 +14,9 @@ import thyyxxk.webserver.entity.medicalinsurance.setlinfo.FundDetail;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.MzPatientInfo;
 import thyyxxk.webserver.entity.medicalinsurance.query.SiPatInfo;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.SpcChrDiseAcct;
+import thyyxxk.webserver.entity.outpatient.medicalinfo.MzBlRecord;
 import thyyxxk.webserver.service.medicalinsurance.SiMzService;
+import thyyxxk.webserver.utils.ResultVoUtil;
 
 import java.util.List;
 import java.util.Map;
@@ -118,4 +121,14 @@ public class SiMzController {
     public ResultVo<String> saveSiMzDiags(@RequestBody List<SiMzDiag> diags) {
         return service.saveSiMzDiags(diags);
     }
+
+    @GetMapping("/getMzBlRecord")
+    public ResultVo<MzBlRecord> getMzBlRecord(@RequestParam("patientId") String patientId,
+                                              @RequestParam("times") Integer times) {
+        MzBlRecord mzBlRecord = service.getMzBlRecord(patientId, times);
+        if (null == mzBlRecord) {
+            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "没有找到患者本次就诊的病历。");
+        }
+        return ResultVoUtil.success(mzBlRecord);
+    }
 }

+ 8 - 0
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiMzDao.java

@@ -5,6 +5,7 @@ import thyyxxk.webserver.entity.markmtfees.*;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.*;
 import thyyxxk.webserver.entity.medicalinsurance.query.PsnBaseInfo;
 import thyyxxk.webserver.entity.medicalinsurance.query.SiPatInfo;
+import thyyxxk.webserver.entity.outpatient.medicalinfo.MzBlRecord;
 
 import java.util.List;
 
@@ -116,6 +117,9 @@ public interface SiMzDao {
     @Select("select max(national_code) from ${table} where code=#{code}")
     String selectNationalCode(@Param("code") String code, @Param("table") String table);
 
+    @Select("select max(yb_comment_new) from yp_zd_dict where code=#{code} ")
+    String selectYbComment(@Param("code") String code);
+
     @Delete("delete from t_si_mz_diag where pat_no=#{patNo} and times=#{times}")
     void deleteMzDiags(@Param("patNo") String patNo, @Param("times") int times);
 
@@ -155,4 +159,8 @@ public interface SiMzDao {
 
     @Select("select staff_id from t_si_setlinfo where pat_no=#{patNo} and times=#{times} and revoked=0")
     String selectSetlStaff(@Param("patNo") String patNo, @Param("times") int times);
+
+    @Select("select emr_chief_complaint,emr_hpi,emr_ps,emr_pe,emr_fzjc " +
+            "from mz_bl_record where patient_id=#{patNo} and times=#{times} ")
+    MzBlRecord selectMzBlRecord(@Param("patNo") String patNo, @Param("times") int times);
 }

+ 1 - 0
src/main/java/thyyxxk/webserver/entity/markmtfees/MzReceipt.java

@@ -52,6 +52,7 @@ public class MzReceipt {
     private BigDecimal chargeFee;
     private Boolean checked;
     private String nationalCode;
+    private String ybComment;
 
     public String getDrugName() {
         return null == drugName ? "" : (drugName).trim();

+ 97 - 0
src/main/java/thyyxxk/webserver/entity/outpatient/medicalinfo/MzBlRecord.java

@@ -0,0 +1,97 @@
+package thyyxxk.webserver.entity.outpatient.medicalinfo;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class MzBlRecord {
+    //病人id
+    private String patientId;
+    //就诊次数
+    private Integer times;
+    // 病历号
+    private String emrNo;
+    //就诊时间
+    private Date visitDate;
+    //医生编码
+    private String doctorCode;
+    //部门编码
+    private String deptCode;
+    //是否首诊 0 初诊  1 复诊
+    private String firstOrNot;
+    //主诉
+    private String emrChiefComplaint;
+    //现病史
+    private String emrHpi;
+    //既往史
+    private String emrPs;
+    //体格检查   对应 otherCheck
+    private String emrPe;
+    //辅助检查
+    private String emrFzjc;
+    //处理意见
+    private String emrProcess;
+    //现用药
+    private String emrXyy;
+    //营养评估
+    private String emrYypg;
+    //功能评估
+    private String emrGnpg;
+    //健康教育 前端参数传入到此参数截止
+    private String emrJkjy;
+
+    //
+    private Integer age;
+    //
+    private String gmText;
+    //
+    private String statusFlag;
+    //辩证分析
+    private String emrBzfx;
+    //
+    private String emrZf;
+    //
+    private String diseases;
+    //
+    private String blType;
+
+
+    //个人史
+    private String personalHistory;
+    //家族史
+    private String familyHistory;
+    //婚育史
+    private String obstericalHistory;
+    //体重
+    private Double weight;
+    //体温
+    private Double temperature;
+    //脉搏
+    private Integer sphygmus;
+    //呼吸
+    private Integer breathe;
+    //血压高值
+    private Integer pressureHigh;
+    //血压低值
+    private Integer pressureFloor;
+    //血压高值(左)
+    private Integer pressureHighLeft;
+    //血压低值(左)
+    private Integer pressureFloorLeft;
+    //初步诊断
+    private String tentativeDiagnosis;
+    //药品与诊疗的处方明细 打印处方时用,json 结构   {"zyPrescription": [],"zlPrescription":[],"xyPrescription": {"pyPrescription":[],"ycPrescription":[],"mjPrescription":[],"jePrescription":[]}}
+    private String prescriptionDetail;
+    //非数据库字段,查询参数
+    private List<String> patientIds;
+    //非数据库字段,显示病人姓名
+    private String patientName;
+    //病历排除的缴费次数 非数据库字段
+    private Integer exceptTimes;
+    //非数据库字段 诊断名称
+    private String icdText;
+    //非数据库字段 诊断编码
+    private String icdCode;
+}

+ 6 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiMzService.java

@@ -23,6 +23,7 @@ import thyyxxk.webserver.entity.medicalinsurance.query.PsnBaseInfo;
 import thyyxxk.webserver.entity.medicalinsurance.query.QryPsnBsInfo;
 import thyyxxk.webserver.entity.medicalinsurance.query.SiPatInfo;
 import thyyxxk.webserver.entity.medicalinsurance.setlinfo.FundDetail;
+import thyyxxk.webserver.entity.outpatient.medicalinfo.MzBlRecord;
 import thyyxxk.webserver.service.externalhttp.SiMzSrvc;
 import thyyxxk.webserver.service.externalhttp.ThmzSystem;
 import thyyxxk.webserver.utils.*;
@@ -212,6 +213,7 @@ public class SiMzService {
         if ("00".equals(receipt.getGroupNo())) {
             receipt.setDrugUnit(dao.selectXmChargeUnit(receipt.getChargeItemCode()));
         } else {
+            receipt.setYbComment(dao.selectYbComment(receipt.getChargeItemCode()));
             if (null != detail.get("serial")) {
                 receipt.setSerial(detail.get("serial").toString());
                 receipt.setSpecification(dao.selectSpecification(receipt.getChargeItemCode(), receipt.getSerial()));
@@ -548,4 +550,8 @@ public class SiMzService {
         log.info("THMZ修改报销数据:\n参数:{}\n结果:{}", amt, resultMap);
         return resultMap;
     }
+
+    public MzBlRecord getMzBlRecord(String patientId, Integer times) {
+        return dao.selectMzBlRecord(patientId, times);
+    }
 }