瀏覽代碼

到账通知生成付款结算settletype默认=11

zthwr 3 年之前
父節點
當前提交
7d43e6956e

+ 199 - 0
zjcmp_cd/zjcmp_cd/src/client/nccloud/web/cmp/billmanagement/paybills/action/InformerToPaybillAction.java

@@ -0,0 +1,199 @@
+package nccloud.web.cmp.billmanagement.paybills.action;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import nc.bs.framework.common.NCLocator;
+import nc.itf.uap.IUAPQueryBS;
+import nc.itf.uap.pf.IPfExchangeService;
+import nc.jdbc.framework.processor.BeanProcessor;
+import nc.jdbc.framework.processor.ColumnProcessor;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.cmp.settlement.SettlementHeadVO;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.lang.UFBoolean;
+import nc.vo.pub.lang.UFDate;
+import nc.vo.pub.lang.UFDateTime;
+import nc.vo.pub.lang.UFDouble;
+import nccloud.dto.ifac.common.bean.IfacOperatorParam;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.web.action.itf.ICommonAction;
+import nccloud.framework.web.container.IRequest;
+import nccloud.framework.web.convert.translate.Translator;
+import nccloud.framework.web.processor.template.BillCardConvertProcessor;
+import nccloud.framework.web.ui.model.row.Cell;
+import nccloud.framework.web.ui.model.row.Row;
+import nccloud.framework.web.ui.pattern.billcard.BillCard;
+import nccloud.framework.web.ui.pattern.billcard.BillCardFormulaHandler;
+import nccloud.web.cmp.billmanagement.paybills.common.NCCClientInfo;
+import nccloud.web.ifac.pub.util.NCCPageInfoUtil;
+import nccloud.web.sf.allocation.allocate.util.AllocateDefaultValue4NCCUtil;
+import nccloud.web.sf.common.NCCUIDataModuleUtil;
+import nc.vo.cmp.bill.BillAggVO;
+import nc.vo.cmp.bill.BillDetailVO;
+import nc.vo.cmp.bill.BillVO;
+
+/**
+ * 
+ * 付款结算单
+ * @author pcy
+ *
+ */
+
+public class InformerToPaybillAction implements ICommonAction{
+
+	@Override
+	public Object doAction(IRequest request) {
+		// TODO Auto-generated method stub
+		IfacOperatorParam parm = (IfacOperatorParam) NCCPageInfoUtil.getParam(request, IfacOperatorParam.class);
+		IPfExchangeService exchange = NCLocator.getInstance().lookup(
+				IPfExchangeService.class);
+		BillCard billCard = null;
+		String[] pks = parm.getPks();
+		String pk = pks[0];
+		SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Date date = new Date(System.currentTimeMillis()); 
+        UFDate billdate = new UFDate( formatter.format(date));
+        NCCClientInfo clientInfo = new NCCClientInfo();
+		String user = clientInfo.getClientInfo().getUserid();
+		InformerVO informervo = new InformerVO();
+		BillAggVO billaggvo = new BillAggVO();
+		BillVO billvo = new BillVO();
+		BillDetailVO billdetailvo = new BillDetailVO();
+		String recaccount ="";//收款银行
+		String payaccount = "";//付款银行
+		String payaccountname="";
+		String sql = "select * from cmp_informer where dr=0 and pk_informer = '"+pk+"'";
+		IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
+		try {
+			informervo = (InformerVO) iuap.executeQuery(sql, new BeanProcessor(InformerVO.class));
+		} catch (BusinessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		String recsql = "select pk_bankaccsub from bd_bankaccsub where code = '"+informervo.getOppbankaccount()+"'";
+		String paysql = "select pk_bankaccsub,accname from bd_bankaccsub where  code = '"+informervo.getBankaccount()+"'";
+		try {
+			recaccount = (String) iuap.executeQuery(recsql, new ColumnProcessor());
+		} catch (BusinessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		try {
+			payaccount = (String) iuap.executeQuery(paysql, new ColumnProcessor("pk_bankaccsub"));
+			payaccountname = (String) iuap.executeQuery(paysql, new ColumnProcessor("accname"));
+		} catch (BusinessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		String customersql = "select pk_customer from bd_customer where name = '"+informervo.getOppunitname()+"'";
+		String pk_customer = "";
+		try {
+			pk_customer = (String) iuap.executeQuery(customersql, new ColumnProcessor());//客户
+		} catch (BusinessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		if(pk_customer!="") {
+			//billvo.setCustomerName(informervo.getOppunitname());
+			billvo.setPk_customer(pk_customer);
+		}
+
+		billvo.setCreator(user);
+		billvo.setBill_date(billdate);
+		billvo.setBill_status(-10);
+		billvo.setBill_type("F5");
+		billvo.setIsnetready(UFBoolean.FALSE);
+		billvo.setIsreded(UFBoolean.FALSE);
+		billvo.setIsrefused(UFBoolean.FALSE);
+		billvo.setPaystatus(1);
+		billvo.setPk_group(informervo.getPk_group());
+		billvo.setSddreversalflag(UFBoolean.FALSE);
+		billvo.setSource_flag("2");
+		billvo.setTrade_type("D5");
+		billvo.setTs(new UFDateTime());
+		billvo.setCreationtime(new UFDateTime());
+		billvo.setEffect_flag(0);
+		billvo.setGlobal_local(new UFDouble(0));
+		billvo.setGroup_local(new UFDouble(0));
+		billvo.setIs_cf(UFBoolean.FALSE);
+		billvo.setBillclass("fj");
+		billvo.setPk_billtypeid("0000Z6000000000000F5");
+		billvo.setPk_org(informervo.getPk_org());
+		billvo.setPk_org_v(informervo.getPk_org_v());
+		billvo.setPk_tradetypeid("0001A110000000001539");
+		billvo.setPk_currtype("1002Z0100000000001K1");
+		billvo.setBill_date(billdate);
+		billvo.setPk_oppaccount(payaccount);
+		billvo.setLocal_rate(new UFDouble(1));
+		billvo.setPrimal_money(informervo.getMoneyy());
+		billvo.setLocal_money(informervo.getMoneyy());
+		billvo.setObjecttype(0);
+		billvo.setPk_account(recaccount);
+		billvo.setMemo(informervo.getMemo());
+		billvo.setDef14(informervo.getVbillno());//上游单据号
+		billvo.setDef11(pk);//上游单据主键
+		billvo.setDef12(informervo.getMoneyy().toString());//上游金额
+		billvo.setDef13(informervo.getBankrelated_code());//对账标识
+		billaggvo.setChildrenVO(new BillDetailVO[] {billdetailvo});
+		billdetailvo.setBillclass("fj");
+		billdetailvo.setMemo(informervo.getMemo());
+		billdetailvo.setPk_currtype("1002Z0100000000001K1");
+		billdetailvo.setPk_oppaccount(informervo.getBankaccount());
+		billdetailvo.setPay_primal(informervo.getMoneyy());
+		billdetailvo.setObjecttype(0);
+		billdetailvo.setPaydate(billdate);
+		billdetailvo.setBankrelated_code(informervo.getBankrelated_code());//对账标识码
+		billdetailvo.setBill_date(billdate);
+		billdetailvo.setBill_type("F5");
+		billdetailvo.setCreationtime(new UFDateTime());
+		billdetailvo.setDirect_ecds(UFBoolean.FALSE);
+		billdetailvo.setDirection(-1);
+		billdetailvo.setDjxtflag(UFBoolean.FALSE);
+		billdetailvo.setIs_refuse(UFBoolean.FALSE);
+		billdetailvo.setLocal_rate(new UFDouble(1));
+		billdetailvo.setPay_local(informervo.getMoneyy());
+		billdetailvo.setPk_group(informervo.getPk_group());
+		billdetailvo.setPk_org(informervo.getPk_org());
+		billdetailvo.setPk_org_v(informervo.getPk_org_v());
+		billdetailvo.setPk_tradetypeid("0001A110000000001539");
+		billdetailvo.setRec_flag(UFBoolean.FALSE);
+		billdetailvo.setTrade_type("D5");
+		billdetailvo.setTeade_type("D5");
+		billdetailvo.setTs(new UFDateTime());
+		billdetailvo.setPaydate(informervo.getInfodate()); //付款结算单:表体支付日期=到账通知到账日期 
+		billdetailvo.setPk_account(recaccount);
+		billdetailvo.setPk_oppaccount(payaccount);
+		if(pk_customer!="") {
+		//	billdetailvo.setCustomerName(informervo.getOppunitname());
+			billdetailvo.setPk_customer(pk_customer);
+		}
+//		else {
+//			billdetailvo.setCustomerName(user);
+//		}
+		billaggvo.setParent(billvo);
+		
+		/*****************到账通知生成的付款结算单这个settletype默认=11******************/
+		
+		SettlementHeadVO settheadvo=(SettlementHeadVO) billaggvo.getSettlementInfo().getParentVO();
+		settheadvo.setSettletype(11);
+		
+		/******************************************************************************/
+		
+		
+		billCard = NCCUIDataModuleUtil.buildCardDataFormula(billaggvo, "36070PBR_D5_card", "add");
+		Row[] rows=billCard.getHead().getModel().getRows();
+		Cell cell=rows[0].getValues().get("pk_customer");
+		cell.setDisplay(informervo.getOppunitname());
+		
+		Row[] rowsbody=billCard.getBody().getModel().getRows();
+		Cell cellbody=rowsbody[0].getValues().get("pk_oppaccount");
+		cellbody.setDisplay(payaccountname);
+		
+		
+				
+		return billCard;
+		
+	}
+
+}
+