| 
					
				 | 
			
			
				@@ -167,12 +167,12 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public MzChargeDetail unPaidToFullChargeDetail(MzChargeDetail mzChargeDetail) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(mzVisitTable==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mzVisitTable == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Integer receiptNo =mzVisitTable.getReceiptNo()+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integer receiptNo = mzVisitTable.getReceiptNo() + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (mzChargeDetails == null || mzChargeDetails.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -210,7 +210,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @throws MzException 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private List<MzChargeDetail> getMzChargeDetails(MzChargeDetail mzChargeDetail, YesNoEnum yesNo,Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private List<MzChargeDetail> getMzChargeDetails(MzChargeDetail mzChargeDetail, YesNoEnum yesNo, Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (mzChargeDetail == null || mzChargeDetail.getPatientId() == null || mzChargeDetail.getTimes() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new MzException("病人编号和就诊次数不能为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -227,7 +227,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             maxOrderNo = firstMzChargeDetail.getOrderNo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             priceId = firstMzChargeDetail.getPriceId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             priceTime = firstMzChargeDetail.getPriceTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            itemNo = formatSupplyFee(mzChargeDetails, mzChargeDetailList, itemNo,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            itemNo = formatSupplyFee(mzChargeDetails, mzChargeDetailList, itemNo, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         maxOrderNo++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, MzYjReq> mzYjReqMap = new HashMap<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -241,14 +241,14 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (mzYjReq != null && mzYjReq.getPercentFt() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     String temp = maxOrderNo.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     temp = temp + index++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    itemNo = formatYjChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, jianYans, jianChas, mzYjReq, temp, priceId, priceTime, tcNoMap,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    itemNo = formatYjChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, jianYans, jianChas, mzYjReq, temp, priceId, priceTime, tcNoMap, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     mzYjReqMap.put(mzYjReq.getOrderCode(), mzYjReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<JcJyItemCharge> jcJyItemCharges = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (jianYans.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 jcJyItemCharges = jcJyItemChargeService.queryJcItemChargeByCodeList(jianYans, ReqTypeEnum.JIAN_YAN.code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                itemNo = formatCxFeeItem(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReqMap, jianYans, tcNoMap, priceId, priceTime,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                itemNo = formatCxFeeItem(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReqMap, jianYans, tcNoMap, priceId, priceTime, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (jianChas.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<JcJyItemCharge> temps = jcJyItemChargeService.queryJcItemChargeByCodeList(jianChas, ReqTypeEnum.JIAN_CHA.code); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -260,7 +260,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (jcJyItemCharges != null && jcJyItemCharges.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (JcJyItemCharge jcJyItemCharge : jcJyItemCharges) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    itemNo = formatYjDetailChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, mzYjReqMap, jcJyItemCharge, tcNoMap, priceId, priceTime,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    itemNo = formatYjDetailChargeDetail(mzChargeDetail, mzChargeDetails, maxOrderNo, mzPatientMi, itemNo, mzYjReqMap, jcJyItemCharge, tcNoMap, priceId, priceTime, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -309,8 +309,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public List<MzChargeDetail> queryMzChargeDetailByBillItemCode(String patientId, Integer times,Integer receiptNo, String payMark, String billItemCode, List<String> billItemTypes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return mzChargeDetailMapper.selectMzChargeDetailByBillItemCode(patientId, times,receiptNo, payMark, billItemCode, billItemTypes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<MzChargeDetail> queryMzChargeDetailByBillItemCode(String patientId, Integer times, Integer receiptNo, String payMark, String billItemCode, List<String> billItemTypes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return mzChargeDetailMapper.selectMzChargeDetailByBillItemCode(patientId, times, receiptNo, payMark, billItemCode, billItemTypes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -320,14 +320,14 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (windows == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new MzException("当前操作人未设置窗口号,请先设置!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(mzVisitTable==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mzVisitTable == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Integer receiptNo =mzVisitTable.getReceiptNo()+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integer receiptNo = mzVisitTable.getReceiptNo() + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //入库收费明细数据开始 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MzChargeDetail mzChargeDetail = new MzChargeDetail(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.NO,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.NO, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getMzChargeDetailService().saveMzChargeDetail(mzChargeDetails); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzChargeDetail.setPrintFlag(YesNoEnum.NO.code.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzChargeDetail.setReceiptNo(receiptNo); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -344,14 +344,14 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int serialNo = mzSerialNoService.getSerialNo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MzReceiptSerial mzReceiptSerial = new MzReceiptSerial(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //实际支付金额 收银员收的钱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        BigDecimal hadPayable = getHadPayable(opId, mzDepositFileVo, windows, mzPatientMi, feeMap, now, serialNo, mzReceiptSerial,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (hadPayable.compareTo(totalPayable) == -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            throw new MzException("收款金额不足,实际应支付" + totalPayable.toString() + "元,但是实际只收了" + hadPayable.toString() + "元"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal hadPayable = getHadPayable(opId, mzDepositFileVo, windows, mzPatientMi, feeMap, now, serialNo, mzReceiptSerial, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (hadPayable.compareTo(totalPayable) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new MzException("收款金额有误,实际应付" + totalPayable.toString() + "元,实收" + hadPayable.toString() + "元,患者处方有修改,请重新刷当前病人收费数据"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getMzChargeDetailService().updateChargeFlag(opId, mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzPatientMi.getName(), mzChargeDetailList, now, serialNo, mzReceiptSerial.getChequeType(), null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getMzChargeDetailService().afterChargeFee(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzDepositFileVo.getMzDepositFiles(), now, serialNo, mzReceiptSerial, totalPayable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Constants.JZ_IC_CARD.equals(mzPatientMi.getIcCardNo())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           mzChargeDetailMapper.updateNameByPatientIdAndTimes(mzPatientMi.getName(),mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mzChargeDetailMapper.updateNameByPatientIdAndTimes(mzPatientMi.getName(), mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -370,7 +370,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, timeout = 36000, rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void afterChargeFee(String patientId, Integer times, List<MzDepositFile> mzDepositFiles, Date now, int serialNo, MzReceiptSerial mzReceiptSerial, BigDecimal totalPayable) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(mzDepositFileMapper.selectBySameParams(mzDepositFiles.get(0))>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mzDepositFileMapper.selectBySameParams(mzDepositFiles.get(0)) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new MzException("当前病人本次处方已经成功缴费,无需重复缴费"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MzYjReq updateMzYjReq = new MzYjReq(patientId, times); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -427,8 +427,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //如果有欠费记账的收费,新增退费重收记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        List<MzChargeDetail> newMzChargeDetailList = getMzChargeDetails(opId, mzDepositFileVo, now, serialNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        getMzChargeDetailService().saveMzChargeDetail(newMzChargeDetailList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<MzDepositFile> newMzDepositFileList = getMzDepositFiles(mzDepositFileVo, now, serialNo,opId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(newMzDepositFileList.size()>0 && mzDepositFileMapper.selectBySameParams(newMzDepositFileList.get(0))>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MzDepositFile> newMzDepositFileList = getMzDepositFiles(mzDepositFileVo, now, serialNo, opId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (newMzDepositFileList.size() > 0 && mzDepositFileMapper.selectBySameParams(newMzDepositFileList.get(0)) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new MzException("当前病人本次处方已经成功缴费,无需重复缴费"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzDepositFileService.batchSaveMzDepositFile(newMzDepositFileList); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -478,19 +478,19 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, timeout = 36000, rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public int modifyNameByPatientIdAndTimes(String name,String patientId,Integer times) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         mzChargeDetailMapper.updateNameByPatientIdAndTimes(name,patientId,times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int modifyNameByPatientIdAndTimes(String name, String patientId, Integer times) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mzChargeDetailMapper.updateNameByPatientIdAndTimes(name, patientId, times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MzPatientMi mzPatientMi = new MzPatientMi(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzPatientMi.setPatientId(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzPatientMi.setTimes(times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzPatientMi.setName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzPatientMiMapper.updateMzPatientMi(mzPatientMi); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return  mzYjReqMapper.updateNameByPatientIdAndTimes(name,patientId,times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return mzYjReqMapper.updateNameByPatientIdAndTimes(name, patientId, times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String queryJZName(String patientId, Integer times) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return mzChargeDetailMapper.selectJZName(patientId,times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return mzChargeDetailMapper.selectJZName(patientId, times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -596,10 +596,10 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (ypMzFytjList != null && ypMzFytjList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     for (YpMzFytj ypMzFytj : ypMzFytjList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         List<MzChargeDetail> mzChargeDetails = mzChargeDetailMapper.selectMzChargeDetailByChargeItemCode(ypMzFytj.getPatientId(), ypMzFytj.getTimes(), ypMzFytj.getChargeItemCode(), ypMzFytj.getOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if(mzChargeDetails==null || mzChargeDetails.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (mzChargeDetails == null || mzChargeDetails.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (MzChargeDetail mzChargeDetail:mzChargeDetails){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for (MzChargeDetail mzChargeDetail : mzChargeDetails) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             Integer syCount = BigDecimal.valueOf(mzChargeDetail.getQuantity()).subtract(mzChargeDetail.getDecAmount() == null ? BigDecimal.ZERO : mzChargeDetail.getDecAmount()).intValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //皮试药特别逻辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (Constants.XYF.equals(mzChargeDetail.getBillItemCode())) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -650,12 +650,12 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public List<MzChargeDetail> getTempMzChargeDetailListForUnPaid(MzChargeDetail mzChargeDetail) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(mzVisitTable==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mzVisitTable == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Integer receiptNo =mzVisitTable.getReceiptNo()+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Integer receiptNo = mzVisitTable.getReceiptNo() + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MzChargeDetail> mzChargeDetails = getMzChargeDetails(mzChargeDetail, YesNoEnum.YES, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (mzChargeDetails == null || mzChargeDetails.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -745,7 +745,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             MzReceiptSerial mzReceiptSerial = new MzReceiptSerial(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String payWay = Constants.CASH; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             payWay = getDeposFiles(opId, mzDepositFileVo, now, times, serialNo, totalPayable, payWay, newMzDepositFiles, allRefund); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), times, windows, mzChargeDetails.get(0).getResponceType(), feeMap, now, serialNo, mzReceiptSerial, payWay, totalPayable,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), times, windows, mzChargeDetails.get(0).getResponceType(), feeMap, now, serialNo, mzReceiptSerial, payWay, totalPayable, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             getMzChargeDetailService().updateChargeFlag(opId, mzDepositFileVo.getPatientId(), times, mzChargeDetails.get(0).getName(), mzChargeDetails, now, serialNo, payWay, mzDepositFileVo.getTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             getMzChargeDetailService().afterChargeFee(mzDepositFileVo.getPatientId(), times, newMzDepositFiles, now, serialNo, mzReceiptSerial, totalPayable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             MzPatientMi updateMzPatientMi = new MzPatientMi(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -962,7 +962,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int receiptNo = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (MzChargeDetail md : mzChargeDetails) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             MzChargeDetail temp = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (chargeItemCodeList.contains(md.getOrderNo() + "_" + md.getChargeItemCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (chargeItemCodeList.contains(md.getOrderNo() + "_" + md.getItemNo() + "_" + md.getChargeItemCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (Constants.XYF.equals(md.getBillItemCode()) || Constants.ZCYF.equals(md.getBillItemCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (ConfirmFlagEnum.DONE.code.equals(md.getConfirmFlag()) && md.getDecAmount() != null && md.getDecAmount().compareTo(BigDecimal.ZERO) == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         Double oriQuantity = md.getQuantity(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1024,7 +1024,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<MzChargeDetail> supplyFeeMzChargeDetails = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //重新计算给药方式费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     //   itemNo = formatSupplyFee(supplyFeeMzChargeDetails, newMzChargeDetailList, itemNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   itemNo = formatSupplyFee(supplyFeeMzChargeDetails, newMzChargeDetailList, itemNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         formatPriceRoundDetail(new MzChargeDetail(mzDepositFileVo.getPatientId(), times), supplyFeeMzChargeDetails, mzPatientMi, newMzChargeDetailList, 127, itemNo, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        List<String> supplyList = supplyFeeMzChargeDetails.stream().filter(u -> StringUtils.isNotBlank(u.getChargeItemCode())).map(u -> u.getChargeItemCode()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        List<MzChargeDetail> removeList = new ArrayList<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1238,7 +1238,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param mzReceiptSerial 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private BigDecimal getHadPayable(String opId, MzDepositFileVo mzDepositFileVo, Windows windows, MzPatientMi mzPatientMi, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial,Integer receiptNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private BigDecimal getHadPayable(String opId, MzDepositFileVo mzDepositFileVo, Windows windows, MzPatientMi mzPatientMi, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial, Integer receiptNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         boolean isBenYuanJiZhang = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String chequeType = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //总收款金额 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1270,7 +1270,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         hadPayable.setScale(2, BigDecimal.ROUND_FLOOR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), windows, mzPatientMi.getResponseType(), feeMap, now, serialNo, mzReceiptSerial, chequeType, isBenYuanJiZhang ? hadPayable : excludeByjzPay,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setMzReceiptSerial(opId, mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), windows, mzPatientMi.getResponseType(), feeMap, now, serialNo, mzReceiptSerial, chequeType, isBenYuanJiZhang ? hadPayable : excludeByjzPay, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return hadPayable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1289,7 +1289,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param chequeType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param hadPayable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void setMzReceiptSerial(String opId, String patientId, Integer times, Windows windows, String responseType, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial, String chequeType, BigDecimal hadPayable,Integer receiptNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void setMzReceiptSerial(String opId, String patientId, Integer times, Windows windows, String responseType, Map<String, BigDecimal> feeMap, Date now, int serialNo, MzReceiptSerial mzReceiptSerial, String chequeType, BigDecimal hadPayable, Integer receiptNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzReceiptSerial.setPatientId(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzReceiptSerial.setTimes(times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mzReceiptSerial.setReceiptNo(receiptNo); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1435,7 +1435,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param serialNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private List<MzDepositFile> getMzDepositFiles(MzDepositFileVo mzDepositFileVo, Date now, int serialNo,String opId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private List<MzDepositFile> getMzDepositFiles(MzDepositFileVo mzDepositFileVo, Date now, int serialNo, String opId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<MzDepositFile> newList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<MzDepositFile> mzDepositFiles = mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzDepositFileVo.getReceiptNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (mzDepositFiles != null && mzDepositFiles.size() > 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1623,7 +1623,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param jianYans 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Integer formatCxFeeItem(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, List<String> jianYans, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime,Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Integer formatCxFeeItem(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, List<String> jianYans, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime, Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<JyZdItem> jyZdItems = jyZdItemService.queryCxTimesByCodeList(jianYans); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MzYjReq mzYjReq = mzYjReqMap.get(jianYans.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (jyZdItems != null && jyZdItems.size() > 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1631,13 +1631,13 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (JyZdItem jyZdItem : jyZdItems) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (jyZdItem != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (StringUtils.isNotBlank(jyZdItem.getVessel()) && !vesselSets.contains(jyZdItem.getVessel())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        itemNo = formatVesselFee(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReq, vesselSets, jyZdItem, tcNoMap, priceId, priceTime,receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        itemNo = formatVesselFee(mzChargeDetail, mzChargeDetails, mzPatientMi, maxOrderNo, itemNo, mzYjReq, vesselSets, jyZdItem, tcNoMap, priceId, priceTime, receiptNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ZdChargeItem zdChargeItem = zdChargeItemService.queryZdChargeItemByCode("008910"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (zdChargeItem == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              //  throw new MzException("【收费编码:008910】不存在,请联系物价科确认!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //  throw new MzException("【收费编码:008910】不存在,请联系物价科确认!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return itemNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (YesNoEnum.YES.code.equals(zdChargeItem.getDelFlag())) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1707,7 +1707,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param jyZdItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Integer formatVesselFee(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, MzYjReq mzYjReq, Set<String> vesselSets, JyZdItem jyZdItem, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime,Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Integer formatVesselFee(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, MzPatientMi mzPatientMi, Integer maxOrderNo, Integer itemNo, MzYjReq mzYjReq, Set<String> vesselSets, JyZdItem jyZdItem, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime, Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         JyZdTubeCharge jyZdTubeCharge = jyZdTubeChargeService.queryJyZdTubeChargeByCode(jyZdItem.getVessel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (jyZdTubeCharge != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ZdChargeItem zdChargeItem = zdChargeItemService.queryZdChargeItemByCode(jyZdTubeCharge.getChargeCode()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1779,8 +1779,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Integer formatSupplyFee(List<MzChargeDetail> mzChargeDetails, List<MzChargeDetail> mzChargeDetailList, Integer itemNo,Integer receiptNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Integer formatSupplyFee(List<MzChargeDetail> mzChargeDetails, List<MzChargeDetail> mzChargeDetailList, Integer itemNo, Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (MzChargeDetail mcd : mzChargeDetailList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mcd.getSupplyAmount() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                throw new MzException("当前处方药品给药方式执行次数为空,请联系医生修改处方!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //非口服用药方式,需要写入收费记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (StringUtils.isNotBlank(mcd.getSupplyCode()) && !Constants.KOU_FU_SUPPLY_CODE.equals(mcd.getSupplyCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<MzZdSupplyCharge> mzZdSupplyChargeList = mzZdSupplyChargeService.queryMzZdSupplyChargeByCode(mcd.getSupplyCode()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1846,7 +1849,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param tcNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Integer formatYjChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, List<String> jianYans, List<String> jianChas, MzYjReq mzYjReq, String tcNo, String priceId, Date priceTime, Map<String, MzChargeDetail> tcNoMap,Integer receiptNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Integer formatYjChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, List<String> jianYans, List<String> jianChas, MzYjReq mzYjReq, String tcNo, String priceId, Date priceTime, Map<String, MzChargeDetail> tcNoMap, Integer receiptNo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MzChargeDetail newMzChargeDetail = new MzChargeDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         newMzChargeDetail.setTimes(mzChargeDetail.getTimes()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1915,11 +1918,11 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param jcJyItemCharge 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Integer formatYjDetailChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, JcJyItemCharge jcJyItemCharge, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime,Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Integer formatYjDetailChargeDetail(MzChargeDetail mzChargeDetail, List<MzChargeDetail> mzChargeDetails, Integer maxOrderNo, MzPatientMi mzPatientMi, Integer itemNo, Map<String, MzYjReq> mzYjReqMap, JcJyItemCharge jcJyItemCharge, Map<String, MzChargeDetail> tcNoMap, String priceId, Date priceTime, Integer receiptNo) throws MzException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MzYjReq mzYjReq = mzYjReqMap.get(jcJyItemCharge.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ZdChargeItem zdChargeItem = zdChargeItemService.queryZdChargeItemByCode(jcJyItemCharge.getChargeCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (zdChargeItem == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           // throw new MzException("【收费编码:" + jcJyItemCharge.getChargeCode() + "】不存在,请联系物价科确认!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // throw new MzException("【收费编码:" + jcJyItemCharge.getChargeCode() + "】不存在,请联系物价科确认!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return itemNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (YesNoEnum.YES.code.equals(zdChargeItem.getDelFlag())) { 
			 |