瀏覽代碼

查询邀请详情以及匹配退费。

xiaochan 4 年之前
父節點
當前提交
f3b9ace07e

+ 1 - 1
pom.xml

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

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/yibao/xiangMuLuRuDao.java

@@ -599,6 +599,6 @@ public interface xiangMuLuRuDao {
     List<ZyDetailCharge> panDuanShuJuSFPiPei(@Param("inpatientNo") String inpatientNo,
                                              @Param("admissTimes") Integer admissTimes,
                                              @Param("ziShenDetailSn") Integer ziShenDetailSn,
-                                             @Param("piPei") Integer piPeiDetailSn);
+                                             @Param("piPeiDetailSn") Integer piPeiDetailSn);
 
 }

+ 3 - 2
src/main/java/thyyxxk/webserver/entity/querydata/QueryDrugsAndProjects.java

@@ -145,8 +145,9 @@ public class QueryDrugsAndProjects {
      */
     private String disDiagComment;
 
-
+    /**
+     * 诊断编码
+     */
     private Integer disDiagNo;
 
-
 }

+ 14 - 10
src/main/java/thyyxxk/webserver/service/yibao/xiangMuLuRuService.java

@@ -179,7 +179,7 @@ public class xiangMuLuRuService {
             if (zyDetailCharge.getChargeAmount().signum() == -1 || zyDetailCharge.getAmount().signum() == -1) {
                 return ResultVoUtil.fail(ExceptionEnum.EXIST_NEGATIVE_FEES);
             }
-            // 住院 表中是 没有保存单价的
+            // 住院 表中是 没有保存单价的保存的是 金额
             zyDetailCharge.setChargeAmount(zyDetailCharge.getChargeAmount().multiply(zyDetailCharge.getAmount()));
             sum = sum.add(zyDetailCharge.getChargeAmount().multiply(zyDetailCharge.getAmount()));
             if (StringUtil.isBlank(zyDetailCharge.getChargeCode())) {
@@ -230,7 +230,7 @@ public class xiangMuLuRuService {
      * @return 返回 数据
      */
     public ResultVo<List<ZyDetailCharge>> getXiangTongFeiYong(ZyDetailCharge param) {
-        log.info("退费匹配:{}", JSON.toJSONString(param));
+        log.info("退费匹配查询数据:{}", JSON.toJSONString(param));
         return ResultVoUtil.success(dao.getXiangTongFeiYong(param.getInpatientNo(), param.getAdmissTimes(), param.getChargeCode()));
     }
 
@@ -241,23 +241,27 @@ public class xiangMuLuRuService {
      * @return 返回提示成功
      */
     public ResultVo<String> kaiShiPiPei(ZyDetailCharge param) {
-        log.info("退费匹配===> 操作人 :{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONString(param));
+        if (param.getDetailSn().equals(param.getOriDetailSn())) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "无法与自身匹配");
+        }
         List<ZyDetailCharge> list = dao.panDuanShuJuSFPiPei(param.getInpatientNo(), param.getAdmissTimes(), param.getDetailSn(), param.getOriDetailSn());
         if (list.size() > 2) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "该费用存在相同流水号");
         }
-
+        // 取出来自己肯定是负的为负数的费用 转成正的 在和下面的比较 来判断 数量和单价是否一直
         for (ZyDetailCharge zyDetailCharge : list) {
-            if (zyDetailCharge.getChargeAmount().signum() == -1 && zyDetailCharge.getChargeFee().signum() == -1) {
-                zyDetailCharge.setChargeAmount(zyDetailCharge.getChargeAmount().negate());
-                zyDetailCharge.setChargeFee(zyDetailCharge.getChargeFee().negate());
+            if (zyDetailCharge.getDetailSn().equals(param.getDetailSn())) {
+                if (zyDetailCharge.getChargeAmount().signum() == -1 && zyDetailCharge.getChargeFee().signum() == -1) {
+                    zyDetailCharge.setChargeAmount(zyDetailCharge.getChargeAmount().negate());
+                    zyDetailCharge.setChargeFee(zyDetailCharge.getChargeFee().negate());
+                }
             }
         }
-
         if (list.get(0).getChargeFee().equals(list.get(1).getChargeFee()) && list.get(0).getChargeAmount().equals(list.get(1).getChargeAmount())) {
             dao.kaiShiTuiFeiPiPei(param.getInpatientNo(), param.getAdmissTimes(), param.getDetailSn(), param.getOriDetailSn());
+            log.info("退费匹配===> 操作人 :{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONString(param));
             return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "匹配成功");
         }
-        return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "此费用数量或者费用不一致");
+        return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "匹配费用金额不一致或匹配费用为负数。╮(╯▽╰)╭");
     }
-}
+}