Browse Source

付款结算单保存回写到账通知

zthwr 3 years ago
parent
commit
f518457c7f

+ 118 - 0
zjcmp_cd/zjcmp_cd/src/client/nccloud/web/cmp/billmanagement/paybills/action/PaybillsInsertAction.java

@@ -0,0 +1,118 @@
+package nccloud.web.cmp.billmanagement.paybills.action;
+
+import nc.bs.framework.common.NCLocator;
+import nc.impl.pubapp.pattern.data.vo.VOQuery;
+import nc.itf.uap.IVOPersistence;
+import nc.vo.cmp.bill.BillAggVO;
+import nc.vo.cmp.bill.BillDetailVO;
+import nc.vo.cmp.bill.BillVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.ifm.redeem.InvestRedeemVO;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.lang.UFDouble;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.web.container.IRequest;
+import nccloud.framework.web.ui.pattern.billcard.BillCard;
+import nccloud.web.cmp.billmanagement.paybills.common.EnumFlowOperation;
+import nccloud.web.cmp.billmanagement.paybills.common.NCCClientInfo;
+import nccloud.web.cmp.billmanagement.paybills.common.PaybillsCommonAction;
+import nccloud.web.cmp.billmanagement.paybills.common.PaybillsUtil;
+import nccloud.web.tmpub.pub.ms.util.SagasBizUtil;
+
+public class PaybillsInsertAction extends PaybillsCommonAction {
+	public Object doAction(IRequest request) {
+		plog.start("save+paybill-zhuanhuancard");
+		BillCard card = super.getCard(request);
+		plog.end("paybill-canshuzhuanhuan");
+		String pagecode = card.getPageid();
+		plog.start("paybillzhuanhuan-vo");
+		BillAggVO vo = super.aggVOConvert(request);
+		plog.end("paybill-zhuanhuanvo");
+		if (null != vo.getParentVO()) {
+			((BillVO) vo.getParentVO()).setBill_status(-10);
+			((BillVO) vo.getParentVO()).setBill_type("F5");
+			BillDetailVO[] detailvos = (BillDetailVO[]) vo.getChildrenVO();
+			for (BillDetailVO detailvo: detailvos) {
+				detailvo.setBill_type("F5");
+				
+			}
+		}
+//		if(null == ((BillVO)vo.getParentVO()).getCustomerName()) {
+//			NCCClientInfo clientInfo = new NCCClientInfo();
+//			String user = clientInfo.getClientInfo().getUserid();
+////			((BillVO) vo.getParentVO()).setCustomerName(user);
+//			((BillVO) vo.getParentVO()).setPk_customer(user);
+//			BillDetailVO[] detailvos = (BillDetailVO[]) vo.getChildrenVO();
+//			for (BillDetailVO detailvo: detailvos) {
+//				detailvo.setCustomerName(user);
+//			}
+//		}
+		plog.start("paybill-chulijibenxinxi");
+		PaybillsUtil.Paybills2BusiAgg(vo);
+		plog.end("paybill-chulijibenxinxi");
+		BillAggVO[] result = null;
+
+		try {
+			plog.start("paybillsaga-caozuoxinxi");
+			SagasBizUtil.setOperInfo("36070PBR_D5_card", "save");
+			plog.end("paybillsagacaozuoxinxi");
+			plog.start("paybill-zhixingdongzuojiaoben");
+			result = super.cloudPFlowEvent(new BillAggVO[]{super.deleteRow(vo)}, EnumFlowOperation.SAVEBASE.getCode());
+			plog.end("paybill-zhixingdongzuojiaoben");
+			
+			
+		    /**
+		     * 
+		     * 到账通知发布生成的付款结算
+		     * 回写信息到到账通知发布
+		     * 
+		     */
+			for(BillAggVO aggvo:result) {
+				BillVO headvo=(BillVO) aggvo.getParentVO();
+				if (null != headvo.getDef11()) {
+		    	 VOQuery<InformerVO> querysordr = new VOQuery<InformerVO>(InformerVO.class);
+		         //到账通知发布主表
+		    	 String [] pks=new String[] {headvo.getDef11()};
+		   	    InformerVO[] informerVO = querysordr.query(pks);
+//		    	if(headvo.getRedeemmoney().compareTo(informerVO[0].getMoneyy())!=0) {
+//		    		ExceptionUtils.wrapBusinessException("理财赎回表头【赎回金额】要等于 到账通知的【金额】! ");
+//		    	}
+		    	if(!headvo.getDef12().equals("")) {
+		    		UFDouble srcmoney = new UFDouble(headvo.getDef12());
+		    		if(!srcmoney.equals(headvo.getPrimal_money())) {
+		    			ExceptionUtils.wrapBusinessException("付款金额和到账通知的金额不等,请检验。 ");
+		    		}
+		    	}
+		    	 informerVO[0].setGenerateflag("hasgenerate");//已生成
+		    	 informerVO[0].setUsemoney(headvo.getPrimal_money());//赎回金额--付款原币金额(付款结算)
+		    	 informerVO[0].setPk_claimer(headvo.getBillmaker());//认证人
+		    	 informerVO[0].setClaimdate(headvo.getBill_date());//认证日期
+		    	 informerVO[0].setPk_lower(headvo.getPk_paybill());//主键
+		    	 informerVO[0].setLowerbilltype("F5");
+		    	 informerVO[0].setDr(0);
+		    	 
+		    	 IVOPersistence ivopce=(IVOPersistence) NCLocator.getInstance().lookup(IVOPersistence.class.getName());
+		    	 
+		    	 try {
+					ivopce.updateVO(informerVO[0]);
+				} catch (BusinessException e) {
+					// TODO Auto-generated catch block
+				   ExceptionUtils.wrapBusinessException(e.getMessage());
+				}
+		    	 
+		      }
+
+		  }
+			
+		/***************************************************************************/
+			
+		 return super.cardAfterHandler(pagecode, result[0], card);	
+			
+			
+			
+		} catch (BusinessException var7) {
+			ExceptionUtils.wrapBusinessException(var7.getMessage());
+			return null;
+		}
+	}
+}