浏览代码

退费问题,现在可以申请科室也退费了。

xiaochan 1 年之前
父节点
当前提交
96f27c64c0

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>11.5.5</version>
+    <version>11.5.6</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 23 - 5
src/main/java/thyyxxk/webserver/service/hospitalizationCosts/HospitalizationCostsService.java

@@ -2,8 +2,10 @@ package thyyxxk.webserver.service.hospitalizationCosts;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import jdk.nashorn.internal.runtime.RewriteException;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import thyyxxk.webserver.config.exception.BizException;
@@ -162,11 +164,8 @@ public class HospitalizationCostsService {
                     "" : item.getOrderNo().stripTrailingZeros().toPlainString();
             // 项目判断
             if ("00".equals(item.getSerial())) {
-                // 项目中如果录入人是自己的话就不需要判断这个费用的执行科室了。
-                if (!item.getOpIdCode().equals(userInfo.getCode())) {
-                    if (publicServer.noNeedRule() && !deptList.contains(item.getExecUnit())) {
-                        sb.append("请对应的执行科室进行退费。");
-                    }
+                if (judgmentOfTheDepartment(userInfo.getCode(), item, deptList)) {
+                    sb.append("请对应的执行科室或申请科室退费。");
                 }
                 // 只退费设置
                 refundOnly.add(setDefaultValuesAndAutoincrements(item, maxDetailSn, -1));
@@ -256,6 +255,25 @@ public class HospitalizationCostsService {
         return ResultVoUtil.success();
     }
 
+
+    /**
+     * 科室退费限制
+     *
+     * @param userCode 当前人员
+     * @param item     数据
+     * @param deptList 科室
+     * @return 提示
+     */
+    private boolean judgmentOfTheDepartment(String userCode, ZyDetailChargeTable item, Set<String> deptList) {
+        if (publicServer.noNeedRule()) {
+            return false;
+        }
+        if (item.getOpIdCode().equals(userCode)) {
+            return false;
+        }
+        return !deptList.contains(item.getExecUnit()) && !deptList.contains(item.getDeptCode());
+    }
+
     /**
      * 退费前置校验
      *

+ 8 - 9
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuLuRuServer.java

@@ -1,6 +1,8 @@
 package thyyxxk.webserver.service.zhuyuanyisheng;
 
+import ch.qos.logback.core.db.dialect.DBUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.db.DbUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -249,18 +251,12 @@ public class YiZhuLuRuServer {
         String userCode = TokenUtil.getInstance().getTokenUserId();
         XinZhenYiZhu patInfo = dao.queryPatientInfo(param.getInpatientNo(), param.getAdmissTimes());
 
-        // 是否可以确认
-        List<BigDecimal> confirmOrderInformation = new ArrayList<>();
-
         List<XinZhenYzActOrder> confirmYzList = new ArrayList<>();
 
         YiZhuCheckData checkData = new YiZhuCheckData(dao);
         checkData.init(yiZhuList, patInfo).judgeExclusion();
 
-        Map<String, Object> checkMap = checkData.startCheck((item) -> {
-            confirmYzList.add(item);
-            confirmOrderInformation.add(item.getActOrderNo());
-        });
+        Map<String, Object> checkMap = checkData.startCheck(confirmYzList::add);
 
         if (checkData.multipleExclusions()) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "一次性不能确认多条全排斥医嘱。");
@@ -565,9 +561,12 @@ public class YiZhuLuRuServer {
             }
         }
 
+        try {
+            sqlSession.commit();
+        } finally {
+            DbUtil.close(sqlSession);
+        }
 
-        sqlSession.commit();
-        sqlSession.close();
     }
 
     private void setTempInfo(CacheOnce<XinZhenYzActOrder> drug, XinZhenYzActOrder data, XinZhenYiZhu patInfo) {