Преглед изворни кода

优化代码以及护理出量看不到问题

xiaochan пре 2 година
родитељ
комит
88ef8dd9b1

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/emr/EmrPatientDao.java

@@ -330,7 +330,7 @@ public interface EmrPatientDao {
             "       rec_date_str = (convert(varchar(10), rec_date, 23))," +
             "       rec_time_str = (convert(varchar(5), rec_time, 24)), " +
             "       temperature_1," +
-            "       temperature_1_type,col_1_name,col_1_am,col_2_name,col_2_am," +
+            "       temperature_1_type,col_1_name,col_1_am,col_2_name,col_2_am,urine_color,urine_quan_color," +
             "       patient_state, " +
             "       pulse_1, " +
             "       breathe_1, " +

+ 8 - 2
src/main/java/thyyxxk/webserver/service/examinations/BloodSugarQueryServer.java

@@ -1,6 +1,5 @@
 package thyyxxk.webserver.service.examinations;
 
-import com.alibaba.fastjson.JSON;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
@@ -26,6 +25,7 @@ public class BloodSugarQueryServer {
     public BloodSugarQueryServer(BloodSugarQueryDao dao) {
         this.dao = dao;
     }
+    private final static List<String> NAME_LIST = Arrays.asList("空腹", "早餐后", "中餐前", "中餐后", "晚餐前", "晚餐后", "零点", "三点");
 
 
     public ResultVo<Map<String, Object>> getPatientLoodSugar(String panNo, Integer times) {
@@ -50,8 +50,14 @@ public class BloodSugarQueryServer {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有查询到该患者的血糖信息。");
         }
 
+
         Map<String, List<BgNursingTestSync>> map = list.stream().collect(
-                Collectors.groupingBy(item -> DateUtil.formatDatetime(item.getTestTime(), DateUtil.DATE))
+                Collectors.groupingBy(item -> {
+                    if (!NAME_LIST.contains(item.getTimecodeName())) {
+                        item.setTimecodeName("随机血糖");
+                    }
+                    return DateUtil.formatDatetime(item.getTestTime(), DateUtil.DATE);
+                })
         );
 
         List<PackagedBloodGlucoseData> data = new ArrayList<>();

+ 20 - 6
src/main/java/thyyxxk/webserver/service/zhuyuanyiji/QueRenYiZhuShouFeiServer.java

@@ -1,10 +1,12 @@
 package thyyxxk.webserver.service.zhuyuanyiji;
 
+import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
@@ -45,6 +47,10 @@ public class QueRenYiZhuShouFeiServer {
         this.patientService = patientService;
     }
 
+    public QueRenYiZhuShouFeiServer getThis() {
+        return SpringUtil.getBean(this.getClass());
+    }
+
     /**
      * @param yzActOrder 查询条件 住院号,住院次数,执行科室, 分页
      * @return 返回分页数据
@@ -168,17 +174,25 @@ public class QueRenYiZhuShouFeiServer {
             pa.setLedgerSn(patient.getLedgerSn());
             huanZhe.add(pa);
         }
+        getThis().acceptFees(huanZhe);
+        log.info("医嘱确费保存==》操作人:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(xuYaoQueFei, GetDateFormat.DATE_TIME));
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功 (๑*◡*๑)");
+    }
+
+
+    /**
+     * 通过患者的住院号 确认费用
+     *
+     * @param huanZhe 患者信息
+     */
+    @Async
+    public void acceptFees(Set<Patient> huanZhe) {
         for (Patient patient : huanZhe) {
             try {
                 patientService.receiveAndRecalculateCost(patient);
-            } catch (Exception e) {
-                JSONObject obj = new JSONObject();
-                obj.put("message", String.format("患者名字为:【%s】,医嘱确认成功但接受费用失败,请护士重新接受费用", patient.getName()));
-                WebSocketServer.sendMessageByUserCode(TokenUtil.getTokenUserId(), SocketMsg.socketVo(Message.SYSTEM_NOTIFICATION, obj));
+            } catch (Exception ignored) {
             }
         }
-        log.info("医嘱确费保存==》操作人:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(xuYaoQueFei, GetDateFormat.DATE_TIME));
-        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功 (๑*◡*๑)");
     }
 
 }