|  | @@ -13,6 +13,7 @@ import nc.itf.uap.IUAPQueryBS;
 | 
	
		
			
				|  |  |  import nc.itf.uap.IVOPersistence;
 | 
	
		
			
				|  |  |  import nc.itf.uap.pf.IPFBusiAction;
 | 
	
		
			
				|  |  |  import nc.jdbc.framework.processor.BeanProcessor;
 | 
	
		
			
				|  |  | +import nc.jdbc.framework.processor.ColumnProcessor;
 | 
	
		
			
				|  |  |  import nc.md.persist.framework.IMDPersistenceQueryService;
 | 
	
		
			
				|  |  |  import nc.ui.trade.business.HYPubBO_Client;
 | 
	
		
			
				|  |  |  import nc.vo.cdmc.cdm.contract.ContractVO;
 | 
	
	
		
			
				|  | @@ -114,27 +115,56 @@ public Object doAction(IRequest request)
 | 
	
		
			
				|  |  |  			appendvos[i] = getInformerManageService().cancelMakeBill(cancelvos[i]);
 | 
	
		
			
				|  |  |  			
 | 
	
		
			
				|  |  |        
 | 
	
		
			
				|  |  | -      /**
 | 
	
		
			
				|  |  | -       * 取消生单的贷款放款删除
 | 
	
		
			
				|  |  | -       */
 | 
	
		
			
				|  |  | -		if("36Z3".equals(cancelvos[i].getLowerbilltype())) {
 | 
	
		
			
				|  |  | -      	try {
 | 
	
		
			
				|  |  | -	    		AggFinancepayVO aggfinancepayvo = (AggFinancepayVO) service.queryBillOfNCObjectByPK(AggFinancepayVO.class,cancelvos[i].getPk_lower()).getContainmentObject();
 | 
	
		
			
				|  |  | -				ipf.processAction("DELETE", "36Z3", null, aggfinancepayvo, null, null);//删除贷款付款单
 | 
	
		
			
				|  |  | -			} catch (Exception e) {
 | 
	
		
			
				|  |  | -				// TODO Auto-generated catch block
 | 
	
		
			
				|  |  | -				e.printStackTrace();
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -      	
 | 
	
		
			
				|  |  | -      	cancelvos[i].setGenerateflag("hasnogenerate");
 | 
	
		
			
				|  |  | -      	cancelvos[i].setUsemoney(new UFDouble(0));
 | 
	
		
			
				|  |  | -      	cancelvos[i].setPk_claimer("");
 | 
	
		
			
				|  |  | -      	cancelvos[i].setUsemoney(new UFDouble(0));
 | 
	
		
			
				|  |  | -      	cancelvos[i].setClaimdate(null);
 | 
	
		
			
				|  |  | -      	cancelvos[i].setPk_lower("");
 | 
	
		
			
				|  |  | -      	cancelvos[i].setLowerbilltype("");
 | 
	
		
			
				|  |  | -      	IVOPersistence.updateVO(cancelvos[i]);//修改到账通知单
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | +			if("36Z3".equals(cancelvos[i].getLowerbilltype())) {
 | 
	
		
			
				|  |  | +				String qrysql = "select vbillstatus from cdmc_financepay where dr=0 and pk_financepay = '"+cancelvos[i].getPk_lower()+"'";
 | 
	
		
			
				|  |  | +				int vbillstatus = (int) iuap.executeQuery(qrysql,new ColumnProcessor());
 | 
	
		
			
				|  |  | +				String status = String.valueOf(vbillstatus);
 | 
	
		
			
				|  |  | +				if(status=="1"||status.equals("1")) {
 | 
	
		
			
				|  |  | +					ExceptionUtils.wrapBusinessException("只有自由态的单据才能够删除!");
 | 
	
		
			
				|  |  | +					return null;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				String pk_srcbill= cancelvos[i].getPk_lower();//贷款放款主键
 | 
	
		
			
				|  |  | +				UFDouble loanmny = cancelvos[i].getUsemoney();//占用金额
 | 
	
		
			
				|  |  | +				FinancepayVO financepayvo;
 | 
	
		
			
				|  |  | +				try {
 | 
	
		
			
				|  |  | +					String sql = "select * from cdmc_financepay where dr=0 and pk_financepay = '"+pk_srcbill+"'";
 | 
	
		
			
				|  |  | +					financepayvo = (FinancepayVO) iuap.executeQuery(sql,new BeanProcessor(FinancepayVO.class));
 | 
	
		
			
				|  |  | +					financepayvo.setDr(1);
 | 
	
		
			
				|  |  | +					IVOPersistence.updateVO(financepayvo);//删除贷款放款单
 | 
	
		
			
				|  |  | +					String contractid = financepayvo.getContractid();//贷款合同主键
 | 
	
		
			
				|  |  | +			    	String payplan = financepayvo.getPayplan();//放款计划主键
 | 
	
		
			
				|  |  | +			    	String contractsql = "select * from cdmc_contract where dr=0 and pk_contract = '"+contractid+"'";
 | 
	
		
			
				|  |  | +			    	ContractVO contractvo = (ContractVO) iuap.executeQuery(contractsql,new BeanProcessor(ContractVO.class));
 | 
	
		
			
				|  |  | +			    	contractvo.setCcmny(contractvo.getCcmny().add(loanmny));
 | 
	
		
			
				|  |  | +			    	contractvo.setAvailablemny(contractvo.getCcmny());
 | 
	
		
			
				|  |  | +			    	contractvo.setAvailableolmny(contractvo.getCcmny());
 | 
	
		
			
				|  |  | +			    	IVOPersistence.updateVO(contractvo);
 | 
	
		
			
				|  |  | +			    	String repaysql = "select * from cdmc_payplan where pk_payplan_b = '"+payplan+"'";
 | 
	
		
			
				|  |  | +			    	PayPlanVO payplanvo = (PayPlanVO) iuap.executeQuery(repaysql,new BeanProcessor(PayPlanVO.class));
 | 
	
		
			
				|  |  | +			    	payplanvo.setCanpaymny(payplanvo.getCanpaymny().add(loanmny));
 | 
	
		
			
				|  |  | +			    	IVOPersistence.updateVO(payplanvo);
 | 
	
		
			
				|  |  | +				} catch (Exception e) {
 | 
	
		
			
				|  |  | +					// TODO Auto-generated catch block
 | 
	
		
			
				|  |  | +					e.printStackTrace();
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +				try {
 | 
	
		
			
				|  |  | +					AggFinancepayVO aggfinancepayvo = (AggFinancepayVO) service.queryBillOfNCObjectByPK(AggFinancepayVO.class,cancelvos[i].getPk_lower()).getContainmentObject();
 | 
	
		
			
				|  |  | +					ipf.processAction("DELETE", "36Z3", null, aggfinancepayvo, null, null);
 | 
	
		
			
				|  |  | +				} catch (Exception e) {
 | 
	
		
			
				|  |  | +					// TODO Auto-generated catch block
 | 
	
		
			
				|  |  | +					e.printStackTrace();
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +				cancelvos[i].setGenerateflag("hasnogenerate");
 | 
	
		
			
				|  |  | +				cancelvos[i].setUsemoney(new UFDouble(0));
 | 
	
		
			
				|  |  | +				cancelvos[i].setPk_claimer("");
 | 
	
		
			
				|  |  | +				cancelvos[i].setUsemoney(new UFDouble(0));
 | 
	
		
			
				|  |  | +				cancelvos[i].setClaimdate(null);
 | 
	
		
			
				|  |  | +				cancelvos[i].setPk_lower("");
 | 
	
		
			
				|  |  | +				cancelvos[i].setLowerbilltype("");
 | 
	
		
			
				|  |  | +				IVOPersistence.updateVO(cancelvos[i]);//修改到账通知单
 | 
	
		
			
				|  |  | +			} 
 | 
	
		
			
				|  |  |  			if("36Z5".equals(cancelvos[i].getLowerbilltype())) {
 | 
	
		
			
				|  |  |  	        	try {
 | 
	
		
			
				|  |  |  	        		AggRepayIntstVO aggrepayintstvo = (AggRepayIntstVO) service.queryBillOfNCObjectByPK(AggRepayIntstVO.class,cancelvos[i].getPk_lower()).getContainmentObject();
 |