Explorar o código

结算单上传中添加手术分值。

xiaochan %!s(int64=3) %!d(string=hai) anos
pai
achega
1180cae254

+ 0 - 17
src/main/java/thyyxxk/webserver/entity/heliyongyao/RationalUse.java

@@ -1,17 +0,0 @@
-package thyyxxk.webserver.entity.heliyongyao;
-
-import lombok.Data;
-
-/**
- * <p>
- * 描述: 合理用药
- * </p>
- *
- * @author xc
- * @date 2022-03-31 11:28
- */
-@Data
-public class RationalUse {
-    private String BaseXml;
-    private String DetailsXml;
-}

+ 5 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/inpatient/YbZyDisDiag.java

@@ -28,6 +28,11 @@ public class YbZyDisDiag {
     private String siDiagType;
     private Integer admissCond;
 
+    /**
+     * 手术分值
+     */
+    private String ssfz;
+
     private Boolean newData = false;
 
     public Integer getId() {

+ 5 - 3
src/main/java/thyyxxk/webserver/service/heliyongyao/RationalUseServer.java

@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import thyyxxk.webserver.config.exception.BizException;
+import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.constants.Capacity;
 import thyyxxk.webserver.dao.his.heliyongyao.RationalUseDao;
 import thyyxxk.webserver.dao.his.zhuyuanyisheng.YiZhuLuRuDao;
@@ -75,9 +77,6 @@ public class RationalUseServer {
         String detailsXml = yaoPinXinXi(param.getInpatientNo(), param.getAdmissTimes(), param.getCfType(), yp, doct, yaoPinMap);
 
         String js = "{\"BaseXml\":\"{" + baseXml + "}\",\"DetailsXml\":\"{" + detailsXml + "}\"}";
-//        Map<String, String> rationalUseMap = new HashMap<>(Capacity.TWO);
-//        rationalUseMap.put("BaseXml", baseXml);
-//        rationalUseMap.put("DetailsXml", detailsXml);
         JSONObject json = JSONObject.parseObject(js);
         log.info("上传数据:{} ", json);
         try {
@@ -134,6 +133,9 @@ public class RationalUseServer {
                               Map<String, YaoPin> yaoPinMap) {
         StringBuilder sb = new StringBuilder();
         RationalUsePatient patient = dao.huanZheXinXi(patNo, times);
+        if (patient == null) {
+            throw new BizException(ExceptionEnum.LOGICAL_ERROR, "没有找到对应患者的信息。");
+        }
         XinZhenYiZhu patient1 = yiZhuLuRuDao.huoQuHuanZheXinXi(patNo, times);
         // 中西药处方/医嘱类型标识
         // 就诊类型

+ 16 - 4
src/main/java/thyyxxk/webserver/service/medicalinsurance/SetlListUpldService.java

@@ -33,6 +33,7 @@ import thyyxxk.webserver.entity.medicalinsurance.setllistupldTemp.*;
 import thyyxxk.webserver.entity.querydata.JieSuanDanChaXun;
 import thyyxxk.webserver.entity.querydata.SiSetlinfoTemp;
 import thyyxxk.webserver.service.PublicServer;
+import thyyxxk.webserver.service.casefrontsheet.CaseFrontSheetService;
 import thyyxxk.webserver.service.wxapi.SendWxInfoService;
 import thyyxxk.webserver.utils.*;
 import thyyxxk.webserver.websocket.WebSocketServer;
@@ -60,9 +61,10 @@ public class SetlListUpldService {
     private final PublicServer publicServer;
     private final SendWxInfoService sendWxInfoService;
     private final SiLogDao logDao;
+    private final CaseFrontSheetService caseFrontSheetService;
 
     public SetlListUpldService(ExecService exec, SiQueryDao queryDao, UpIdCollectionDao upIdCollectionDao,
-                               DismissDao dismissDao, PublicServer publicServer, SendWxInfoService sendWxInfoService, SiLogDao logDao) {
+                               DismissDao dismissDao, PublicServer publicServer, SendWxInfoService sendWxInfoService, SiLogDao logDao, CaseFrontSheetService caseFrontSheetService) {
         this.exec = exec;
         this.queryDao = queryDao;
         this.dao = upIdCollectionDao;
@@ -70,6 +72,7 @@ public class SetlListUpldService {
         this.publicServer = publicServer;
         this.sendWxInfoService = sendWxInfoService;
         this.logDao = logDao;
+        this.caseFrontSheetService = caseFrontSheetService;
     }
 
     /**
@@ -569,11 +572,11 @@ public class SetlListUpldService {
         Set<String> inpatientNos = new HashSet<>();
         for (SiSetlinfoTemp item : page.getRecords()) {
             inpatientNos.add(item.getPatNo());
-            item.setGendName(item.getGend().equals("1") ? "男" : "女");
+            item.setGendName("1".equals(item.getGend()) ? "男" : "女");
             if (item.getClrOptinsName() == null) {
-                if (item.getClrOptins().equals("439900")) {
+                if ("439900".equals(item.getClrOptins())) {
                     item.setClrOptinsName("省本级");
-                } else if (item.getClrOptins().equals("430199")) {
+                } else if ("430199".equals(item.getClrOptins())) {
                     item.setClrOptinsName("市本级");
                 }
             }
@@ -791,6 +794,15 @@ public class SetlListUpldService {
         // 诊断编码
         zy.setYbZyDisDiag(dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb"));
         zy.setNewYbZyDisDiag(dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb_modify"));
+
+        for (YbZyDisDiag item : zy.getYbZyDisDiag()) {
+            item.setSsfz(caseFrontSheetService.fetchSsfz(item.getDisDiag().trim(), patNo, times).getData());
+        }
+
+        for (YbZyDisDiag item : zy.getNewYbZyDisDiag()) {
+            item.setSsfz(caseFrontSheetService.fetchSsfz(item.getDisDiag().trim(), patNo, times).getData());
+        }
+
         return ResultVoUtil.success(zy);
     }