|  | @@ -415,7 +415,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 | 
	
		
			
				|  |  |          //如果有欠费记账的收费,新增退费重收记录
 | 
	
		
			
				|  |  |  //        List<MzChargeDetail> newMzChargeDetailList = getMzChargeDetails(opId, mzDepositFileVo, now, serialNo);
 | 
	
		
			
				|  |  |  //        getMzChargeDetailService().saveMzChargeDetail(newMzChargeDetailList);
 | 
	
		
			
				|  |  | -        List<MzDepositFile> newMzDepositFileList = getMzDepositFiles(mzDepositFileVo, now, serialNo);
 | 
	
		
			
				|  |  | +        List<MzDepositFile> newMzDepositFileList = getMzDepositFiles(mzDepositFileVo, now, serialNo,opId);
 | 
	
		
			
				|  |  |          if(newMzDepositFileList.size()>0 && mzDepositFileMapper.selectBySameParams(newMzDepositFileList.get(0))>0){
 | 
	
		
			
				|  |  |              throw new MzException("当前病人本次处方已经成功缴费,无需重复缴费");
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -1335,6 +1335,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 | 
	
		
			
				|  |  |                          newMzReceiptSerial.setChargeDate(now);
 | 
	
		
			
				|  |  |                          newMzReceiptSerial.setSerialNo(serialNo);
 | 
	
		
			
				|  |  |                          newMzReceiptSerial.setOperatorId(opId);
 | 
	
		
			
				|  |  | +                        newMzReceiptSerial.setPayId(opId);
 | 
	
		
			
				|  |  |                          newMzReceiptSerial.setReceiptSn(serialNo);
 | 
	
		
			
				|  |  |                          newMzReceiptSerial.setReceiptBill("");
 | 
	
		
			
				|  |  |                          newMzReceiptSerial.setChequeType(mzDepositFileVo.getMzDepositFiles().get(0).getChequeType());
 | 
	
	
		
			
				|  | @@ -1371,6 +1372,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 | 
	
		
			
				|  |  |                      j.setDcountDate(null);
 | 
	
		
			
				|  |  |                      j.setChargeDcountNo(YesNoEnum.NO.code);
 | 
	
		
			
				|  |  |                      j.setChargeDcountDate(null);
 | 
	
		
			
				|  |  | +                    j.setOperatorId(opId);
 | 
	
		
			
				|  |  | +                    j.setPayId(opId);
 | 
	
		
			
				|  |  |                      newList.add(j);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              });
 | 
	
	
		
			
				|  | @@ -1386,7 +1389,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 | 
	
		
			
				|  |  |       * @param serialNo
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    private List<MzDepositFile> getMzDepositFiles(MzDepositFileVo mzDepositFileVo, Date now, int serialNo) {
 | 
	
		
			
				|  |  | +    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) {
 | 
	
	
		
			
				|  | @@ -1401,6 +1404,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 | 
	
		
			
				|  |  |                          newMzDepositFile.setSerialNo(serialNo);
 | 
	
		
			
				|  |  |                          newMzDepositFile.setReceiptSn(serialNo);
 | 
	
		
			
				|  |  |                          newMzDepositFile.setChequeType(mzDepositFileVo.getMzDepositFiles().get(0).getChequeType());
 | 
	
		
			
				|  |  | +                        newMzDepositFile.setOpId(opId);
 | 
	
		
			
				|  |  |                          newList.add(newMzDepositFile);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      j.setReceiptNo(0 - j.getReceiptNo());
 | 
	
	
		
			
				|  | @@ -1409,6 +1413,9 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 | 
	
		
			
				|  |  |                      j.setSerialNo(0 - j.getSerialNo());
 | 
	
		
			
				|  |  |                      j.setPayMark(PayMarkEnum.RETURN_PREMIUM.code);
 | 
	
		
			
				|  |  |                      j.setChargeDate(now);
 | 
	
		
			
				|  |  | +                    j.setOpId(opId);
 | 
	
		
			
				|  |  | +                    j.setChargeDate(null);
 | 
	
		
			
				|  |  | +                    j.setChequeNo(YesNoEnum.NO.code.toString());
 | 
	
		
			
				|  |  |                      newList.add(j);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              });
 |