Bläddra i källkod

修复不能复制子医嘱的问题

xiaochan 2 år sedan
förälder
incheckning
099ed35d9b

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

@@ -108,7 +108,7 @@ public interface YiZhuLuRuDao {
                                 @Param("ledgerSn") Integer ledgerSn);
 
 
-    @Select("select                     a.act_order_no, " +
+    @Select("select                     cast(a.act_order_no as decimal) as act_order_no, " +
             "                           cast(cast(a.act_order_no as decimal) as varchar) id, " +
             "    newOrderFlag         = (select count(*) " +
             "                            from new_act_order_recording " +

+ 7 - 2
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuLuRuServer.java

@@ -1358,8 +1358,8 @@ public class YiZhuLuRuServer {
         orderList.add(fatherOrder.getActOrderNo());
         // 查询子医嘱
         QueryWrapper<?> childQw = new QueryWrapper<>();
-        // 根据父医嘱的住院号和住院次数查询医嘱
-        childQw.eq("a.parent_no", fatherOrder.getActOrderNo());
+        // 根据父医嘱的住院号和住院次数查询医嘱,设置默认值会重新生成 actOrderNo ,所以需要使用 copyOrder 中的 actOrderNo
+        childQw.eq("a.parent_no", copyOrder.getActOrderNo());
         childQw.eq("a.inpatient_no", fatherOrder.getInpatientNo());
         childQw.eq("a.admiss_times", fatherOrder.getAdmissTimes());
 
@@ -1405,6 +1405,11 @@ public class YiZhuLuRuServer {
 
     public ResultVo<List<ZyDetailCharge>> queryFeeByOrderNo(BigDecimal actOrderNo) {
         XinZhenYzActOrder yz = dao.getActOrderNoOne(actOrderNo.stripTrailingZeros().toPlainString());
+
+        if (yz == null) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR,"该医嘱未产生费用。");
+        }
+
         List<ZyDetailCharge> feeList = dao.selectOrderFee(yz);
 
         return ResultVoUtil.success(feeList);

+ 1 - 4
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/emr/EmrWebSocketServiceV2.java

@@ -11,13 +11,11 @@ import thyyxxk.webserver.service.redislike.RedisLikeService;
 import thyyxxk.webserver.utils.ResultVoUtil;
 
 import javax.websocket.Session;
-import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
 
 @Slf4j
 @Service
 public class EmrWebSocketServiceV2 {
-
     @Data
     public static class Edit {
         private Session session;
@@ -71,8 +69,7 @@ public class EmrWebSocketServiceV2 {
         if (edit == null) return;
         try {
             edit.getSession().getBasicRemote().sendText("{\"forceRefresh\":\"true\"}");
-        } catch (Exception e) {
-            log.error("封禁用户失败", e);
+        } catch (Exception ignored) {
         }
         EDITOR_USER.remove(documentId);
     }

+ 0 - 1
src/main/java/thyyxxk/webserver/websocket/WebSocketServer.java

@@ -101,7 +101,6 @@ public class WebSocketServer {
         }
     }
 
-
     @OnMessage
     public void onMessage(String message) {
         log.info("收到信息:{}", message);