lihong 1 年之前
父節點
當前提交
6c659be55b

+ 45 - 10
src/main/java/cn/hnthyy/thmz/controller/api/MedicalViewApiController.java

@@ -896,18 +896,53 @@ public class MedicalViewApiController {
             if(mzChargeDetail == null){
                 return R.error("没有待收费记录");
             }
-            MzDepositFile mzDepositFile = new MzDepositFile();
-            if(totalFee.compareTo(BigDecimal.ZERO) == 0){
-                mzDepositFile.setChequeType(Constants.CASH);
+            PayInfo payInfo = tsmzService.calculateCost(whiteList.getOpId(), patientId, times, 1);
+            if(payInfo !=null  && payInfo.getCode() == 0){
+                List<MzDepositFile> mzDepositFiles = new ArrayList<>();
+                BigDecimal tempTotal = BigDecimal.ZERO;
+                if(payInfo.getAcctPay().compareTo(BigDecimal.ZERO) == 1){
+                    tempTotal = tempTotal.add(payInfo.getAcctPay());
+                }
+                if(payInfo.getFundPay().compareTo(BigDecimal.ZERO) == 1){
+                    tempTotal = tempTotal.add(payInfo.getFundPay());
+                }
+                if(totalFee.compareTo(tempTotal) == 1){
+                    MzDepositFile mzDepositFile = new MzDepositFile();
+                    if(totalFee.compareTo(BigDecimal.ZERO) == 0){
+                        mzDepositFile.setChequeType(Constants.CASH);
+                    }else {
+                        mzDepositFile.setChequeType(Constants.ZZWX);
+                    }
+                    mzDepositFile.setAmount(totalFee.subtract(tempTotal));
+                    mzDepositFiles.add(mzDepositFile);
+                }
+                //如果门诊统筹支付有值,添加收费方式
+                if (payInfo.getFundPay().compareTo(BigDecimal.ZERO) == 1) {
+                    MzDepositFile ybjzmzDepositFile =new MzDepositFile();
+                    ybjzmzDepositFile.setAmount(payInfo.getFundPay());
+                    ybjzmzDepositFile.setChequeType(Constants.YBJZ);
+                    ybjzmzDepositFile.setPsordnum(null);
+                    ybjzmzDepositFile.setAgtordnum(null);
+                    mzDepositFiles.add(ybjzmzDepositFile);
+                }
+                //如果个人账户支付有值,添加收费方式
+                if (payInfo.getAcctPay().compareTo(BigDecimal.ZERO) == 1) {
+                    MzDepositFile grzhmzDepositFile =new MzDepositFile();
+                    grzhmzDepositFile.setAmount(payInfo.getAcctPay());
+                    grzhmzDepositFile.setChequeType(Integer.valueOf(2).equals(payInfo.getCardType()) ? Constants.SHENYGZ : Constants.SSHIYBGZ);
+                    grzhmzDepositFile.setPsordnum(null);
+                    grzhmzDepositFile.setAgtordnum(null);
+                    mzDepositFiles.add(grzhmzDepositFile);
+                }
+                if(CollUtil.isNotEmpty(mzDepositFiles)){
+                    mzDepositFileVo.setMzDepositFiles(mzDepositFiles);
+                    mzChargeDetailService.chargeFee(whiteList.getOpId(), mzDepositFileVo, whiteList.getOpId());
+                }else {
+                    throw new BizException("获取医保费用失败");
+                }
             }else {
-                mzDepositFile.setChequeType(Constants.ZZWX);
+                throw new BizException("获取医保费用失败");
             }
-            mzDepositFile.setAmount(totalFee);
-            List<MzDepositFile> mzDepositFiles = new ArrayList<>();
-            mzDepositFiles.add(mzDepositFile);
-            mzDepositFileVo.setMzDepositFiles(mzDepositFiles);
-            setYbDepositFile(whiteList, mzDepositFileVo, mzDepositFile, mzDepositFiles);
-            mzChargeDetailService.chargeFee(whiteList.getOpId(), mzDepositFileVo, whiteList.getOpId());
         } catch (MzException e) {
             throw new BizException(e.getMessage());
         }

+ 4 - 4
src/main/java/cn/hnthyy/thmz/controller/mz/MzChargeDetailController.java

@@ -2857,10 +2857,10 @@ public class MzChargeDetailController {
     public R queryPrescriptionModifyPermission(@RequestBody Map<String,Object> query){
         String patientId = Convert.toStr(query.get("patientId"));
         Integer times = Convert.toInt(query.get("times"));
-        boolean flag =tsmzService.queryModifyPermission(patientId,times,TokenUtil.getUser().getUserCode());
-        if(!flag){
-            return R.error("不可以修改处方");
-        }
+        //boolean flag =tsmzService.queryModifyPermission(patientId,times,TokenUtil.getUser().getUserCode());
+        //if(!flag){
+        //    return R.error("不可以修改处方");
+        //}
         return R.ok();
     }
 

+ 1 - 1
src/main/java/cn/hnthyy/thmz/controller/zy/APatientMiController.java

@@ -34,7 +34,7 @@ public class APatientMiController {
 
 
     @UserLoginToken
-    @PostMapping("/queryAPatientBySocialNo")
+    @PostMapping("/queryApaientInfoByKeyWard")
     public R queryApaientInfoByKeyWard(@RequestBody Map<String,Object> params){
         String keyWard = Convert.toStr(params.get("keyWard"),"");
         if(StrUtil.isBlank(keyWard)){