Browse Source

完成草药退药新流程

xiaochan 1 year ago
parent
commit
36c8bcb5f6

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

@@ -213,19 +213,15 @@ public interface CaoYaoYiZhuDao {
                              @Param("times") Integer times,
                              @Param("orderNo") BigDecimal orderNo);
 
-    @Update("update yz_act_order_cy set status_flag = 'T' " +
+    @Update("update yz_act_order_cy set status_flag = '${statusFlag}' " +
             "where inpatient_no = #{patNo} and admiss_times = #{times} and order_no = #{orderNo}  ")
     void genXingCaoYaoShanChuBiaoZhi(@Param("patNo") String patNo,
                                      @Param("times") Integer times,
-                                     @Param("orderNo") BigDecimal orderNo);
+                                     @Param("orderNo") BigDecimal orderNo,
+                                     @Param("statusFlag") String statusFlag);
 
 
-    @Update("update yz_act_order " +
-            "set status_flag = '-1', " +
-            "    instruction = N'作废'," +
-            "    order_name = N'作废' + order_name " +
-            "where act_order_no = #{orderNo}")
+    @Delete("delete yz_act_order where act_order_no = #{orderNo}")
     void shanChuYiZhu(@Param("orderNo") BigDecimal orderNo);
 
- 
 }

+ 30 - 11
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/CaoYaoYiZhuService.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.jetbrains.annotations.NotNull;
 import org.springframework.stereotype.Service;
@@ -43,16 +44,29 @@ public class CaoYaoYiZhuService {
     private final PublicServer publicServer;
     private final YiZhuLuRuDao yiZhuLuRuDao;
     private final YiZhuLuRuServer yiZhuLuRuServer;
-    private final XiangMuLuRuDao xiangMuLuRuDao;
-    private final HospitalizationCostsService hospitalizationCostsService;
 
-    public CaoYaoYiZhuService(CaoYaoYiZhuDao dao, PublicServer publicServer, YiZhuLuRuDao yiZhuLuRuDao, YiZhuLuRuServer yiZhuLuRuServer, XiangMuLuRuDao xiangMuLuRuDao, HospitalizationCostsService hospitalizationCostsService) {
+    @Getter
+    public enum CaoYaoEnumStatusFlag {
+        申请退药("T"),
+        删除("d"),
+        收费("2"),
+        配药中("3");
+
+        private final String flag;
+
+        CaoYaoEnumStatusFlag(String flag) {
+            this.flag = flag;
+        }
+    }
+
+    public CaoYaoYiZhuService(CaoYaoYiZhuDao dao,
+                              PublicServer publicServer,
+                              YiZhuLuRuDao yiZhuLuRuDao,
+                              YiZhuLuRuServer yiZhuLuRuServer) {
         this.dao = dao;
         this.publicServer = publicServer;
         this.yiZhuLuRuDao = yiZhuLuRuDao;
         this.yiZhuLuRuServer = yiZhuLuRuServer;
-        this.xiangMuLuRuDao = xiangMuLuRuDao;
-        this.hospitalizationCostsService = hospitalizationCostsService;
     }
 
     public ResultVo<List<YzActOrderCy>> huoQuCaoYaoShuJu(CaoYaoChaXunTiaoJian param) {
@@ -272,12 +286,17 @@ public class CaoYaoYiZhuService {
         if (cy == null) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有查询到原来的信息。");
         }
-        log.info("删除草药==》操作人:{},数据:{}", TokenUtil.getInstance().getTokenUserId(), JSON.toJSONStringWithDateFormat(cy, GetDateFormat.DATE_TIME));
-        dao.genXingCaoYaoShanChuBiaoZhi(patNo, times, orderNo);
-//        dao.shanChuYiZhu(orderNo);
-        // 根据医嘱号退费
-//        hospitalizationCostsService.refundsByPatientOrder(cy.getInpatientNo(), cy.getAdmissTimes(), cy.getOrderNo());
-        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE);
+        log.info("删除草药==》操作人:{}", TokenUtil.getInstance().getTokenUserId());
+        String message;
+        if (CaoYaoEnumStatusFlag.收费.getFlag().equals(cy.getStatusFlag())) {
+            dao.genXingCaoYaoShanChuBiaoZhi(patNo, times, orderNo, CaoYaoEnumStatusFlag.删除.getFlag());
+            dao.shanChuYiZhu(orderNo);
+            message = "无需申请退药成功。";
+        } else {
+            dao.genXingCaoYaoShanChuBiaoZhi(patNo, times, orderNo, CaoYaoEnumStatusFlag.申请退药.getFlag());
+            message = "申请退药成功。";
+        }
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE, message);
     }
 
 }

+ 1 - 1
src/main/resources/application-cytest.yml

@@ -15,7 +15,7 @@ spring:
     cache: false
   datasource:
     dynamic:
-      primary: his
+      primary: dev
       strict: false
       datasource:
         his: