浏览代码

Merge branch 'master' of https://172.16.32.165/lighter/web-server

lighter 1 年之前
父节点
当前提交
5f5cb395ec

+ 25 - 1
src/main/java/thyyxxk/webserver/controller/view/Patient360Controller.java

@@ -8,6 +8,8 @@ import thyyxxk.webserver.entity.casefrontsheet.CaseFrontsheetMain;
 import thyyxxk.webserver.entity.casefrontsheet.JieShouHuiZhenPojo;
 import thyyxxk.webserver.entity.casefrontsheet.YshHzRecord;
 import thyyxxk.webserver.entity.casefrontsheet.request.SheetOverview;
+import thyyxxk.webserver.entity.markmtfees.MzDepositFile;
+import thyyxxk.webserver.entity.outpatient.medicalinfo.MzBlRecord;
 import thyyxxk.webserver.entity.view.patient360.MedicalTrack;
 import thyyxxk.webserver.entity.view.patient360.PatientInfo360;
 import thyyxxk.webserver.entity.view.patient360.ZyFeeDetail;
@@ -17,11 +19,13 @@ import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.XinZhenYzActOrder;
 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.YiZhuFeiYongChaXunTiaoJian;
 import thyyxxk.webserver.service.inpatient.casefrontsheet.CaseFrontSheetMainService;
 import thyyxxk.webserver.service.inpatient.casefrontsheet.JieShouHuiZhenService;
+import thyyxxk.webserver.service.medicalinsurance.SiMzService;
 import thyyxxk.webserver.service.view.Patient360Server;
 import thyyxxk.webserver.service.zhuyuanyisheng.HuiZhenShenQingService;
 import thyyxxk.webserver.utils.ResultVoUtil;
 
 import java.util.List;
+import java.util.Map;
 
 
 @RestController
@@ -33,12 +37,14 @@ public class Patient360Controller {
     private final HuiZhenShenQingService hzService;
 
     private final JieShouHuiZhenService jshzService;
+    private final SiMzService siMzService;
 
-    public Patient360Controller(Patient360Server server, CaseFrontSheetMainService caseFrontSheetMainService, HuiZhenShenQingService hzService, JieShouHuiZhenService jshzService) {
+    public Patient360Controller(Patient360Server server, CaseFrontSheetMainService caseFrontSheetMainService, HuiZhenShenQingService hzService, JieShouHuiZhenService jshzService, SiMzService siMzService) {
         this.server = server;
         this.caseFrontSheetMainService = caseFrontSheetMainService;
         this.hzService = hzService;
         this.jshzService = jshzService;
+        this.siMzService = siMzService;
     }
 
     @GetMapping("/getMedicalTrack")
@@ -92,4 +98,22 @@ public class Patient360Controller {
         return server.getOrderDetailByOrderNo(orderNo);
     }
 
+    @GetMapping("/mz/getMzReceipts")
+    public ResultVo<List<MzDepositFile>> getMzReceipts(@RequestParam("mzNo") String mzNo,
+                                                       @RequestParam("date") String date) {
+        return server.getMzReceipts(mzNo, date);
+    }
+
+
+    @PostMapping("/mz/getHistoryReceiptDetail")
+    public ResultVo<Map<String, Object>> getHistoryReceiptDetail(@RequestBody MzDepositFile mzDepositFile) {
+        return siMzService.getHistoryReceiptDetail(mzDepositFile);
+    }
+
+
+    @GetMapping("/mz/selectMzBlRecord")
+    public ResultVo<MzBlRecord> selectMzBlRecord(@RequestParam("patNo") String patNo, @RequestParam("times") Integer times) {
+        return server.selectMzBlRecord(patNo, times);
+    }
+
 }

+ 15 - 0
src/main/java/thyyxxk/webserver/dao/his/view/Patient360Dao.java

@@ -93,4 +93,19 @@ public interface Patient360Dao {
             " and parent_no = #{orderNo}")
     List<BigDecimal> getParentNoByOrderNo(String patNo, Integer times, BigDecimal orderNo);
 
+
+    @Select("select rtrim(patient_id)                      as patNo," +
+            "       rtrim(patient_id) + '_' +  CONVERT(varchar(100), charge_date, 23) as uid, " +
+            "       CONVERT(varchar(100), charge_date, 23) as date," +
+            "       outOrHosp  = 1" +
+            "from mz_charge_detail a\n" +
+            "where a.patient_id = #{mzNo}\n" +
+            "  and pay_mark = 0\n" +
+            "  and confirm_flag != 4\n" +
+            "  and isnull(cash_id, '') != '99998'\n" +
+            "group by patient_id,\n" +
+            "         CONVERT(varchar(100), charge_date, 23)\n" +
+            "order by date;")
+    List<MedicalTrack> getMzMedicalTrack(String mzNo);
+
 }

+ 0 - 6
src/main/java/thyyxxk/webserver/entity/view/patient360/MedicalTrack.java

@@ -27,12 +27,6 @@ public class MedicalTrack {
      */
     private String uid;
 
-    /**
-     * 住院患者用 1 - 在院 0 - 出院
-     */
-    private Integer inTheHospital;
-
-
     /**
      * 入院时间
      */

+ 0 - 1
src/main/java/thyyxxk/webserver/service/externalhttp/ThmzSystem.java

@@ -7,7 +7,6 @@ import thyyxxk.webserver.entity.mzpayqrcode.PatInfo;
 import java.util.Map;
 
 public interface ThmzSystem {
-
     @Post("{url}/queryPatientInfo")
     PatInfo queryPatientInfo(@Var("url") String url, @JSONBody JSONObject obj);
 

+ 1 - 2
src/main/java/thyyxxk/webserver/service/inpatient/XiangMuLuRuService.java

@@ -101,9 +101,8 @@ public class XiangMuLuRuService {
             }
             page.setRecords(dao.huanZheXiangMuFeiYongV2(qw, param.getCurrentPage(), param.getPageSize(), param.getRiQiPaiXu()));
         } else {
-
             // 查询药品
-            qw.ne("serial", "00");
+            qw.ne("isnull(nullif(rtrim(serial), ''), '00')", "00");
             if (param.getTotal() == 0) {
                 page.setTotal(dao.huanZheYaoPinFeiYongTotalV2(qw));
             }

+ 34 - 3
src/main/java/thyyxxk/webserver/service/view/Patient360Server.java

@@ -4,9 +4,12 @@ import com.alibaba.fastjson.JSONObject;
 import lombok.Data;
 import org.springframework.stereotype.Service;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
+import thyyxxk.webserver.dao.his.medicalinsurance.SiMzDao;
 import thyyxxk.webserver.dao.his.view.Patient360Dao;
 import thyyxxk.webserver.dao.his.zhuyuanyisheng.YiZhuLuRuDao;
 import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.markmtfees.MzDepositFile;
+import thyyxxk.webserver.entity.outpatient.medicalinfo.MzBlRecord;
 import thyyxxk.webserver.entity.view.patient360.MedicalTrack;
 import thyyxxk.webserver.entity.view.patient360.PatientInfo360;
 import thyyxxk.webserver.entity.view.patient360.ZyFeeDetail;
@@ -16,12 +19,16 @@ import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.XinZhenYzActOrder;
 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.YiZhuFeiYongChaXunTiaoJian;
 import thyyxxk.webserver.service.zhuyuanyisheng.YiZhuLuRuServer;
 import thyyxxk.webserver.service.zhuyuanyisheng.emr.EmrServer;
+import thyyxxk.webserver.utils.DateUtil;
 import thyyxxk.webserver.utils.ResultVoUtil;
 import thyyxxk.webserver.utils.StringUtil;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -33,10 +40,16 @@ public class Patient360Server {
 
     private final YiZhuLuRuDao yiZhuLuRuDao;
 
-    public Patient360Server(Patient360Dao dao, EmrServer emrServer, YiZhuLuRuDao yiZhuLuRuDao) {
+    private final SiMzDao siMzDao;
+
+    public Patient360Server(Patient360Dao dao,
+                            EmrServer emrServer,
+                            YiZhuLuRuDao yiZhuLuRuDao,
+                            SiMzDao siMzDao) {
         this.dao = dao;
         this.emrServer = emrServer;
         this.yiZhuLuRuDao = yiZhuLuRuDao;
+        this.siMzDao = siMzDao;
     }
 
     public ResultVo<PatientInfo360> getMedicalTrack(String patientId, Integer outOrHosp) {
@@ -45,8 +58,16 @@ public class Patient360Server {
         if (patientInfo360 == null) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "未找到患者信息");
         }
-        patientInfo360.getMedicalTrackList().addAll(dao.getHospMedicalTrack(patientInfo360.getInpatientNo()));
-        // todo 门诊时间
+
+        List<MedicalTrack> list = new ArrayList<>();
+
+        //   住院时间
+        list.addAll(dao.getHospMedicalTrack(patientInfo360.getInpatientNo()));
+        // 门诊时间
+        list.addAll(dao.getMzMedicalTrack(patientInfo360.getMzNo()));
+        // list 根据 date 字段字符串排序
+        list = list.stream().sorted(Comparator.comparing(MedicalTrack::getDate)).collect(Collectors.toList());
+        patientInfo360.getMedicalTrackList().addAll(list);
         return ResultVoUtil.success(patientInfo360);
     }
 
@@ -101,4 +122,14 @@ public class Patient360Server {
     }
 
 
+    public ResultVo<List<MzDepositFile>> getMzReceipts(String mzNo, String date) {
+        return ResultVoUtil.success(siMzDao.selectMzDepositFiles(mzNo, date + " 00:00:00", date + " 23:59:59"));
+    }
+
+
+    public ResultVo<MzBlRecord> selectMzBlRecord(String patNo, Integer times) {
+        return ResultVoUtil.success(siMzDao.selectMzBlRecord(patNo, times));
+    }
+
+
 }