| 
					
				 | 
			
			
				@@ -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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |