浏览代码

手动控制草药事务

xiaochan 1 年之前
父节点
当前提交
8a3b4013b7

+ 8 - 0
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/CaoYaoYiZhuDao.java

@@ -224,4 +224,12 @@ public interface CaoYaoYiZhuDao {
     @Delete("delete yz_act_order where act_order_no = #{orderNo}")
     void shanChuYiZhu(@Param("orderNo") BigDecimal orderNo);
 
+    @Delete("delete yz_act_order where act_order_no = #{orderNo};" +
+            "delete yz_act_order_cy where inpatient_no = '${patNo}' and admiss_times = ${times} and order_no = #{orderNo}")
+    void manualTransactions(@Param("patNo") String patNo,
+                            @Param("times") Integer times,
+                            @Param("orderNo") BigDecimal orderNo);
+
+
+
 }

+ 12 - 3
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/CaoYaoYiZhuService.java

@@ -198,15 +198,24 @@ public class CaoYaoYiZhuService {
         XinZhenYiZhu huanZheXinXi = yiZhuLuRuDao.queryPatientInfo(param.getInpatientNo(), param.getAdmissTimes());
         param.setOrderNo(publicServer.getActOrderNo());
 
-        // 生成草药和医嘱
-        generateHerbs(param, huanZheXinXi);
+        try {
+            // 生成草药和医嘱
+            generateHerbs(param, huanZheXinXi);
+        } catch (Exception e) {
+            log.error("插入草药错误:{}", e.getMessage());
+            dao.manualTransactions(param.getInpatientNo(), param.getAdmissTimes(), param.getOrderNo());
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, e.getMessage());
+        }
 
         List<String> content = new ArrayList<>();
         content.add(String.format("草药医嘱名:<span style='color:#409eff'>【%s】</span><br>" +
                 "剂数:<span style='color:#409eff'>【%s】</span><br>" +
                 "患者名:<span style='color:#409eff'>【%s】<br></span>" +
                 "床位:<span style='color:#409eff'>【%s】</span>", param.getOrderName(), param.getQuantity().toString(), huanZheXinXi.getName(), huanZheXinXi.getBedNo()));
-        publicServer.faSongXiaoXi(huanZheXinXi, content, "新增草药或颗粒医嘱", TokenUtil.getInstance().getTokenUserId());
+        try {
+            publicServer.faSongXiaoXi(huanZheXinXi, content, "新增草药或颗粒医嘱", TokenUtil.getInstance().getTokenUserId());
+        } catch (Exception ignore) {
+        }
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE);
     }