|
@@ -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) {
|
|
|
+
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ payaccount = (String) iuap.executeQuery(paysql, new ColumnProcessor("pk_bankaccsub"));
|
|
|
+ payaccountname = (String) iuap.executeQuery(paysql, new ColumnProcessor("accname"));
|
|
|
+ } catch (BusinessException e) {
|
|
|
+
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ if(pk_customer!="") {
|
|
|
+
|
|
|
+ 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.setPk_customer(pk_customer);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ billaggvo.setParent(billvo);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ 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;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|