pancy vor 3 Jahren
Ursprung
Commit
abb073e697
36 geänderte Dateien mit 5980 neuen und 0 gelöschten Zeilen
  1. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/arappub/action/BillSaveAction.class
  2. 294 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/arappub/action/BillSaveAction.java
  3. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/gatheringbill/action/InformerToGatheringBillAction.class
  4. 191 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/gatheringbill/action/InformerToGatheringBillAction.java
  5. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepayCommitAction.class
  6. 84 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepayCommitAction.java
  7. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepaySaveAction.class
  8. 315 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepaySaveAction.java
  9. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/InformerToFinancepayAction.class
  10. 93 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/InformerToFinancepayAction.java
  11. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/InformerToRepayintstAction.class
  12. 72 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/InformerToRepayintstAction.java
  13. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstCommitAction.class
  14. 113 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstCommitAction.java
  15. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstSaveAction.class
  16. 158 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstSaveAction.java
  17. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastCancelAction.class
  18. 185 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastCancelAction.java
  19. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastSaveAction.class
  20. 636 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastSaveAction.java
  21. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/InformerToPaybillAction.class
  22. 181 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/InformerToPaybillAction.java
  23. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/PaybillsInsertAction.class
  24. 117 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/PaybillsInsertAction.java
  25. BIN
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/informer/informer/action/ListCancelGenerateAction.class
  26. 287 0
      hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/informer/informer/action/ListCancelGenerateAction.java
  27. 1909 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/arap/app/config/authorize/arap_authorize.xml
  28. 78 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/arap/gatheringbill/config/action/gatheringBill.xml
  29. 139 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/financepay/config/action/NCCfinancepay.xml
  30. 56 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/financepay/config/authorize/financepay.xml
  31. 104 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/repayintst/config/action/NCCrepayintst.xml
  32. 44 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/repayintst/config/authorize/repayintst.xml
  33. 251 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cmp/billmanagement/paybills/config/action/paybills.xml
  34. 81 0
      hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cmp/billmanagement/paybills/config/authorize/NCCPAYBILL.xml
  35. BIN
      modules/cmp/META-INF/classes/nccloud/bs/cmp/informer/NCCInformerBS.class
  36. 592 0
      modules/cmp/META-INF/classes/nccloud/bs/cmp/informer/NCCInformerBS.java

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/arappub/action/BillSaveAction.class


+ 294 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/arappub/action/BillSaveAction.java

@@ -0,0 +1,294 @@
+package nccloud.web.arap.arappub.action;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import nc.bs.dao.BaseDAO;
+import nc.itf.cmp.busi.ISettleinfoCarrier;
+import nc.itf.cmp.settlement.ISettlementQueryService;
+import nc.itf.fipub.summary.ISummaryQueryService;
+import nc.utils.crosscheckrule.CrossControlMsgException;
+import nc.vo.arap.basebill.BaseAggVO;
+import nc.vo.arap.basebill.BaseItemVO;
+import nc.vo.arap.bill.util.BillEventHandlerUtil;
+import nc.vo.arap.exception.ArapTbbException;
+import nc.vo.arap.gathering.AggGatheringBillVO;
+import nc.vo.arap.gathering.GatheringBillVO;
+import nc.vo.arap.pay.PayBillItemVO;
+import nc.vo.arap.pub.BillEnumCollection.BillSatus;
+import nc.vo.arap.utils.ArrayUtil;
+import nc.vo.cmp.settlement.SettlementAggVO;
+import nc.vo.cmp.settlement.SettlementBodyVO;
+import nc.vo.fipub.exception.ExceptionHandler;
+import nc.vo.fipub.summary.SummaryVO;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.pub.AggregatedValueObject;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.CircularlyAccessibleValueObject;
+import nc.vo.pub.lang.UFDateTime;
+import nc.vo.pub.lang.UFDouble;
+import nccloud.commons.lang.StringUtils;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.core.json.IJson;
+import nccloud.framework.core.util.GridCompareUtils;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.framework.web.action.itf.ICommonAction;
+import nccloud.framework.web.container.IRequest;
+import nccloud.framework.web.json.JsonFactory;
+import nccloud.framework.web.processor.template.BillCardConvertProcessor;
+import nccloud.framework.web.ui.pattern.billcard.BillCard;
+import nccloud.framework.web.ui.pattern.billcard.BillCardOperator;
+import nccloud.pubitf.arap.arappub.IArapBillPubUtilService;
+import nccloud.pubitf.arap.arappub.IConfirmBillService;
+import nccloud.web.arap.arappub.Info.SaveInfo;
+import nccloud.web.arap.arappub.util.ArapBillScaleUtil;
+import nccloud.web.arap.arappub.util.ArapBillUIUtil;
+import nccloud.web.arap.arappub.util.BillActionUtils;
+import nccloud.web.arap.arappub.util.BillCardUtil;
+
+public class BillSaveAction implements ICommonAction {
+	public Object doAction(IRequest request) {
+		String str = request.read();
+		(new BillActionUtils()).setBusiInfoParm(str);
+		IJson json = JsonFactory.create();
+		SaveInfo info = (SaveInfo) json.fromJson(str, SaveInfo.class);
+		Object obj = this.doSave(info);
+		if (obj instanceof AggregatedValueObject) {
+			BillCardOperator operator = new BillCardOperator(info.getCardData().getPageid());
+			operator.setCodes(BillCardUtil.getTransCodes());
+			operator.setTransFlag(false);
+			BillCard billCard = operator.toCard(obj);
+			
+			try {
+				(new ArapBillScaleUtil()).processBillCardScale(billCard);
+			} catch (BusinessException var9) {
+				ExceptionUtils.wrapBusinessException(ExceptionUtils.unmarsh(var9).getMessage());
+			}
+
+			return GridCompareUtils.compareBillCardGrid(info.getCardData(), billCard);
+		} else {
+			return obj;
+		}
+	}
+
+	protected Object doSave(SaveInfo info) {
+		BillCardConvertProcessor processor = new BillCardConvertProcessor();
+		BaseAggVO bill = (BaseAggVO) processor.fromBillCard(info.getCardData());
+		if (bill == null) {
+			ExceptionUtils
+					.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("2006pub_0", "02006pub-0782"));
+		}
+		String Bill_type = (String) bill.getParent().getAttributeValue("pk_billtype");
+		if(Bill_type.equals("F2")) {
+			GatheringBillVO gatheringbillvo = (GatheringBillVO) bill.getParent();
+			String billstatus = gatheringbillvo.getBillstatus().toString();
+			String approvestatus = gatheringbillvo.getApprovestatus().toString();
+			if(approvestatus.equals("-1")&&billstatus.equals("1")) {
+				gatheringbillvo.setBillstatus(-1);
+				bill.setParent(gatheringbillvo);
+			}
+			String srcno = gatheringbillvo.getDef14();//上游单据号
+			UFDouble srcnmny = new UFDouble(gatheringbillvo.getDef12());//上游金额
+			UFDouble money = gatheringbillvo.getMoney();
+			if(srcnmny!=null&&!srcnmny.equals(new UFDouble(0))&&srcno!=""&&srcnmny.toString()!="") {
+				if(!srcnmny.equals(money)) {
+					ExceptionUtils.wrapBusinessException("收款金额和到账通知的金额不等,请检验。");
+					return null;
+				}
+			}
+		}
+		
+		if (null != info.getMap()) {
+			bill.getParent().setAttributeValue("commitMap", info.getMap());
+		}
+
+		if (info.isIscommit()) {
+			bill.setSaveorSaveAndCommit(true);
+		}
+
+		if (info.getExtype() != null && "1".equals(info.getExtype())) {
+			bill.setAlarmPassed(info.isFlag());
+		}
+
+		if (info.getExtype() != null && "2".equals(info.getExtype())) {
+			bill.setCrossCheckPassed(info.isFlag());
+		}
+
+		Object aggVO = null;
+
+		try {
+			this.validate(bill, info);
+		} catch (BusinessException var9) {
+			ExceptionUtils.wrapBusinessException(ExceptionUtils.unmarsh(var9).getMessage());
+		}
+
+		try {
+			Object executeBatchPM;
+			if (!info.getUiState().equals("add")) {
+				if (info.getUiState().equals("edit")) {
+					bill.getHeadVO().setModifiedtime(new UFDateTime(new Date()));
+					if (info.getRefNode() != null && "isCoorcomfirm".equals(info.getRefNode())) {
+						bill.getHeadVO().setCoordflag(1);
+						ArapBillUIUtil.setNewClientDateAndUser(new AggregatedValueObject[]{bill});
+						bill.getHeadVO().setStatus(1);
+						aggVO = (BaseAggVO) ((BaseAggVO) ((IConfirmBillService) ServiceLocator
+								.find(IConfirmBillService.class)).updateConfirmInfo(bill));
+					} else {
+						ArapBillUIUtil.setEditClientDateAndUser(new AggregatedValueObject[]{bill});
+						executeBatchPM = ArapBillUIUtil.executeBatchPM("SAVE", bill);
+						if (executeBatchPM instanceof HashMap) {
+							return executeBatchPM;
+						}
+
+						aggVO = (AggregatedValueObject) ArrayUtil.getFirstInArrays(new Object[]{executeBatchPM});
+					}
+				}
+			} else {
+				if (bill instanceof ISettleinfoCarrier && info.getPk_settle() != null) {
+					SettlementAggVO[] settleVOs = ((ISettlementQueryService) ServiceLocator
+							.find(ISettlementQueryService.class))
+									.querySettlementAggVOsByPks(new String[]{info.getPk_settle()});
+					if (settleVOs != null && settleVOs.length != 0) {
+						SettlementBodyVO[] childrenVO = (SettlementBodyVO[]) ((SettlementBodyVO[]) settleVOs[0]
+								.getChildrenVO());
+						CircularlyAccessibleValueObject[] childrenVO2 = bill.getChildrenVO();
+
+						for (int i = 0; i < childrenVO.length; ++i) {
+							childrenVO[i].setBusilineno(i);
+							childrenVO2[i].setAttributeValue("rowno", i);
+						}
+
+						((ISettleinfoCarrier) bill).setSettlementInfo(settleVOs[0]);
+					}
+				}
+
+				ArapBillUIUtil.setNewClientDateAndUser(new AggregatedValueObject[]{bill});
+				executeBatchPM = ArapBillUIUtil.executeBatchPM("SAVE", bill);
+				if (executeBatchPM instanceof HashMap) {
+					return executeBatchPM;
+				}
+
+				aggVO = (AggregatedValueObject) ArrayUtil.getFirstInArrays(new Object[]{executeBatchPM});
+				String Billtype = (String) bill.getParent().getAttributeValue("pk_billtype");
+				if(Billtype.equals("F2")) {
+					AggGatheringBillVO agggatheringbillvo = (AggGatheringBillVO) aggVO;
+					GatheringBillVO head = (GatheringBillVO) agggatheringbillvo.getParent();
+					String pk_src = head.getDef11();
+					String billmaker = head.getBillmaker();//制单人
+					String pk_lower = head.getPk_gatherbill();
+					String ts = head.getTs().toString();
+					String pk_billtypecode = head.getPk_billtype();
+					UFDouble money = head.getMoney();
+					try {
+						String sql = "update cmp_informer set generateflag = 'hasgenerate',usemoney = '"+money+"',pk_claimer='"+billmaker+"',claimdate='"+ts+"',pk_lower = '"+pk_lower+"',lowerbilltype='"+pk_billtypecode+"' where dr=0 and pk_informer = '"+pk_src+"'";
+						int count = new BaseDAO().executeUpdate(sql);
+					} catch (Exception e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				}
+				
+			}
+
+			ArapBillUIUtil.refreshChildVO2HeadVO(new AggregatedValueObject[]{(AggregatedValueObject) aggVO});
+		} catch (Exception var10) {
+			Throwable exception = ExceptionUtils.unmarsh(var10);
+			HashMap map;
+			if (exception instanceof ArapTbbException) {
+				map = new HashMap();
+				map.put("message", exception.getMessage());
+				map.put("exType", "1");
+				return map;
+			}
+
+			if (exception instanceof CrossControlMsgException) {
+				map = new HashMap();
+				map.put("message", exception.getMessage());
+				map.put("exType", "2");
+				return map;
+			}
+
+			ExceptionUtils.wrapException(var10);
+		}
+
+		return aggVO;
+	}
+
+	private void validate(BaseAggVO bill, SaveInfo info) throws BusinessException {
+		HashMap<String, String> map = null;
+		BaseItemVO[] childrens = (BaseItemVO[]) ((BaseItemVO[]) bill.getChildrenVO());
+		List<BaseItemVO> list = new ArrayList();
+
+		for (int i = 0; i < childrens.length; ++i) {
+			if (childrens[i].getStatus() != 3) {
+				if (StringUtils.isNotEmpty(childrens[i].getChecktype())
+						&& 2 != BillEventHandlerUtil.getNoteClassByPK(childrens[i].getChecktype())
+						&& StringUtils.isEmpty(childrens[i].getCheckno())) {
+					throw ExceptionHandler.createException(
+							NCLangRes4VoTransl.getNCLangRes().getStrByID("2006arappub0523_0", "02006arappub0523-0000"));
+				}
+
+				BaseItemVO item = childrens[i];
+				if (item.getScomment() != null) {
+					if (map == null) {
+						map = new HashMap();
+						SummaryVO[] summaryVOList = ((ISummaryQueryService) ServiceLocator
+								.find(ISummaryQueryService.class)).queryAllSummaryVO();
+						if (summaryVOList != null && summaryVOList.length > 0) {
+							SummaryVO[] var9 = summaryVOList;
+							int var10 = summaryVOList.length;
+
+							for (int var11 = 0; var11 < var10; ++var11) {
+								SummaryVO summaryVO = var9[var11];
+								map.put(summaryVO.getPk_summary(), summaryVO.getSummaryname());
+							}
+						}
+					}
+
+					if (map.get(item.getScomment()) != null) {
+						item.setScomment((String) map.get(item.getScomment()));
+					}
+				}
+
+				list.add(childrens[i]);
+			}
+		}
+
+		if (null != list && list.size() != 0) {
+			bill.setChildrenVO((CircularlyAccessibleValueObject[]) list.toArray(new BaseItemVO[list.size()]));
+			childrens = (BaseItemVO[]) ((BaseItemVO[]) bill.getChildrenVO());
+			if (childrens[0] instanceof PayBillItemVO) {
+				Map<String, String> supplierMap = new HashMap();
+				Map<String, String> recaccountMap = new HashMap();
+
+				for (int i = 0; i < childrens.length - 1; ++i) {
+					String recaccount = (String) childrens[i].getAttributeValue("recaccount");
+					String sup = (String) childrens[i].getAttributeValue("supplier");
+					String freecust = (String) childrens[i].getAttributeValue("freecust");
+					if (freecust == null) {
+						if (sup != null) {
+							supplierMap.put(sup, info.getCardData().getBody().getModel().getRows()[i]
+									.getCell("supplier").getDisplay());
+						}
+
+						if (recaccount != null) {
+							recaccountMap.put(recaccount, info.getCardData().getBody().getModel().getRows()[i]
+									.getCell("recaccount").getDisplay());
+						}
+					}
+				}
+
+				((IArapBillPubUtilService) ServiceLocator.find(IArapBillPubUtilService.class))
+						.checkSupplierAndrecaccount(supplierMap, recaccountMap);
+			}
+
+			bill.getHeadVO().setBillstatus(BillSatus.Save.VALUE);
+		} else {
+			throw ExceptionHandler
+					.createException(NCLangRes4VoTransl.getNCLangRes().getStrByID("2006pub_0", "02006pub-0012"));
+		}
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/gatheringbill/action/InformerToGatheringBillAction.class


+ 191 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/arap/gatheringbill/action/InformerToGatheringBillAction.java

@@ -0,0 +1,191 @@
+package nccloud.web.arap.gatheringbill.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.arap.gathering.AggGatheringBillVO;
+import nc.vo.arap.gathering.GatheringBillItemVO;
+import nc.vo.arap.gathering.GatheringBillVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.pub.BusinessException;
+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;
+
+public class InformerToGatheringBillAction 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];
+		NCCClientInfo clientInfo = new NCCClientInfo();
+		String user = clientInfo.getClientInfo().getUserid();
+		SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Date date = new Date(System.currentTimeMillis()); 
+        UFDate billdate = new UFDate( formatter.format(date));
+        String year = billdate.toString().substring(0, 4);
+        String month = billdate.toString().substring(5, 7);
+		InformerVO informervo = new InformerVO();
+		AggGatheringBillVO agggatheringbillvo = new AggGatheringBillVO();
+		GatheringBillVO gatheringbillvo = new GatheringBillVO();
+		GatheringBillItemVO childrenVO = new GatheringBillItemVO();
+		String sql = "select * from cmp_informer where dr=0 and pk_informer = '"+pk+"'";
+		IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
+		String recaccount ="";//收款银行
+		String payaccount = "";//付款银行
+		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.getBankaccount()+"'";
+		String paysql = "select pk_bankaccsub from bd_bankaccsub where code = '"+informervo.getOppbankaccount()+"'";
+		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());
+		} catch (BusinessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		String customersql = "select pk_customer from bd_customer where name = '"+informervo.getOppunitname()+"'";
+		String customer = "";
+		try {
+			customer = (String) iuap.executeQuery(customersql, new ColumnProcessor());//客户
+		} catch (BusinessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		gatheringbillvo.setPaydate(informervo.getInfodate());
+		gatheringbillvo.setBillyear(year);
+		gatheringbillvo.setBillperiod(month);
+		gatheringbillvo.setCreationtime(new UFDateTime());
+		gatheringbillvo.setPk_fiorg(informervo.getPk_org());
+		gatheringbillvo.setPk_fiorg_v(informervo.getPk_org_v());
+		gatheringbillvo.setBillclass("sk");
+		gatheringbillvo.setPk_billtype("F2");
+		gatheringbillvo.setPk_org_v(informervo.getPk_org_v());
+		gatheringbillvo.setPk_org(informervo.getPk_org());
+		gatheringbillvo.setBilldate(billdate);
+		gatheringbillvo.setObjtype(0);
+		if(customer!="") {
+			gatheringbillvo.setCustomer(customer);
+		}
+		else {
+			gatheringbillvo.setCustomer(user);
+		}
+		gatheringbillvo.setPk_tradetypeid("0001A11000000000151O");
+		gatheringbillvo.setPk_tradetype("D2");
+		gatheringbillvo.setPk_busitype("0001A110000000000RMH");
+		gatheringbillvo.setPk_currtype("1002Z0100000000001K1");
+		gatheringbillvo.setRate(new UFDouble(1));
+		gatheringbillvo.setMoney(informervo.getMoneyy());
+		gatheringbillvo.setLocal_money(informervo.getMoneyy());
+		gatheringbillvo.setRecaccount(recaccount);
+		gatheringbillvo.setPayaccount(payaccount);
+		gatheringbillvo.setBillstatus(-1);
+//		gatheringbillvo.setApprovestatus(-1);
+		gatheringbillvo.setEffectstatus(0);
+		gatheringbillvo.setDef15(informervo.getVbillno());//上游单据号
+		gatheringbillvo.setDef14(informervo.getInfodate().toString());//zhifuriqi
+		gatheringbillvo.setDef11(pk);//上游单据主键
+		gatheringbillvo.setDef12(informervo.getMoneyy().toString());//上游金额
+		gatheringbillvo.setDef13(informervo.getBankrelated_code());//对账标识
+		gatheringbillvo.setPk_group(informervo.getPk_group());
+		gatheringbillvo.setTs(new UFDateTime());
+		gatheringbillvo.setSendcountryid("0001Z010000000079UJJ");
+		gatheringbillvo.setTaxcountryid("0001Z010000000079UJJ");
+		gatheringbillvo.setSrc_syscode(0);
+		
+		gatheringbillvo.setSyscode(0);
+		agggatheringbillvo.setChildrenVO(new GatheringBillItemVO[]{childrenVO});
+		childrenVO.setScomment(informervo.getMemo());
+		childrenVO.setObjtype(0);
+		if(customer!="") {
+			childrenVO.setCustomer(customer);
+		}
+		else {
+			childrenVO.setCustomer(user);
+		}
+		childrenVO.setPrepay(0);
+		childrenVO.setPk_currtype("1002Z0100000000001K1");
+		childrenVO.setRate(new UFDouble(1));
+		childrenVO.setMoney_cr(informervo.getMoneyy());
+		childrenVO.setLocal_money_cr(informervo.getMoneyy());
+		childrenVO.setLocal_money_bal(informervo.getMoneyy());
+		childrenVO.setLocal_notax_cr(informervo.getMoneyy());
+		childrenVO.setLocal_price(new UFDouble(0));
+		childrenVO.setLocal_taxprice(new UFDouble(0));
+		childrenVO.setMoney_bal(informervo.getMoneyy());
+		childrenVO.setNotax_cr(informervo.getMoneyy());
+		childrenVO.setOccupationmny(informervo.getMoneyy());
+		childrenVO.setRecaccount(recaccount);
+		childrenVO.setPayaccount(payaccount);
+		childrenVO.setBillclass("sk");
+		childrenVO.setPk_recpaytype("GLOBZ300000000000001");
+		childrenVO.setBankrelated_code(informervo.getBankrelated_code());//对账标识码
+		childrenVO.setBilldate(billdate);
+		childrenVO.setBusidate(billdate);
+		childrenVO.setBuysellflag(1);
+		childrenVO.setPk_billtype("F2");
+		childrenVO.setPk_group(informervo.getPk_group());
+		childrenVO.setPk_org(informervo.getPk_org());
+		childrenVO.setPk_org_v(informervo.getPk_org_v());
+		childrenVO.setPk_tradetype("D2");
+		childrenVO.setPk_tradetypeid("0001A11000000000151O");
+		childrenVO.setSett_org(informervo.getPk_org());
+		childrenVO.setSett_org_v(informervo.getPk_org_v());
+		childrenVO.setTs(new UFDateTime());
+		childrenVO.setPk_fiorg(informervo.getPk_org());
+		childrenVO.setPk_fiorg_v(informervo.getPk_org_v());
+		childrenVO.setPk_gatheritem("ID_INDEX0");
+		childrenVO.setQuantity_bal(new UFDouble(0));
+		childrenVO.setDirection(-1);
+		childrenVO.setPaydate(informervo.getInfodate());
+		childrenVO.setDef9(informervo.getInfodate().toString());//zhifuriqi
+	//	childrenVO.setRowno(0);
+		agggatheringbillvo.setParent(gatheringbillvo);
+//		BillCardConvertProcessor processor = new BillCardConvertProcessor();
+//		billCard = processor.convert("20060GBM_CARD", agggatheringbillvo);
+//		Translator translator = new Translator();
+//		translator.translate(billCard);
+//		BillCardFormulaHandler handler = new BillCardFormulaHandler(billCard);
+//		handler.handleLoadFormula();
+//		handler.handleBodyLoadFormula();
+//		AllocateDefaultValue4NCCUtil.setAllocateDefaultValue(billCard, true, false);
+	
+			
+		billCard = NCCUIDataModuleUtil.buildCardDataFormula(agggatheringbillvo, "20060GBM_CARD", "add");
+		return billCard;
+	}
+
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepayCommitAction.class


+ 84 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepayCommitAction.java

@@ -0,0 +1,84 @@
+package nccloud.web.cdmc.cdm.financepay.action;
+
+import java.util.List;
+import java.util.Map;
+
+import nc.bs.framework.common.NCLocator;
+import nc.itf.uap.IUAPQueryBS;
+import nc.vo.cdmc.cdm.financepay.AggFinancepayVO;
+import nc.vo.cdmc.pub.adapter.FinancepaySagaInfoAdapter;
+import nc.vo.cdmc.pub.constants.CdmcPubConst;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.pub.BusinessException;
+import nccloud.dto.cdmc.financepay.utils.FinancepayPrecisionUtil;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.pub.tmpub.ms.vo.TMSagasBizInfoAdapter;
+import nccloud.pubitf.tmpub.pub.ITMPrecisionServiceForNCC;
+import nccloud.vo.tmpub.precison.PrecisionField;
+import nccloud.web.cdmc.cdm.financepay.util.FinancepayPubUtil;
+import nccloud.web.cdmc.cdm.financepay.util.FinancepayQueryUtil;
+import nccloud.web.cdmc.common.action.CommonCommitAction;
+import nccloud.web.tmpub.pub.ms.util.SagasBizUtil;
+import nccloud.web.tmpub.pub.translate.ExtraTranslator;
+
+public class FinancepayCommitAction extends CommonCommitAction<AggFinancepayVO> {
+	protected AggFinancepayVO[] queryBillsByPks(String[] operaPks) throws BusinessException {
+		AggFinancepayVO[] aggvos = FinancepayQueryUtil.queryBillsByPks(operaPks);
+		if (aggvos == null || aggvos.length == 0) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_cdm001_0", "0cdmc_cdm001-0230"));
+		}
+
+		aggvos = (AggFinancepayVO[]) ((AggFinancepayVO[]) ((ITMPrecisionServiceForNCC) ServiceLocator
+				.find(ITMPrecisionServiceForNCC.class)).processAggVOPrecision(aggvos,
+						FinancepayPrecisionUtil.getHeadPrecisionFields(),
+						FinancepayPrecisionUtil.getBodyPrecisionFieldsVOMap(), false, true));
+		return aggvos;
+	}
+
+	protected Object doBusinessProcess(AggFinancepayVO[] operaVOs, Object userobj) throws BusinessException {
+		FinancepaySagaInfoAdapter adapter = new FinancepaySagaInfoAdapter();
+		IUAPQueryBS iuap = NCLocator.getInstance().lookup(IUAPQueryBS.class);
+		Object result = super.doCommitProcess(operaVOs, userobj, new TMSagasBizInfoAdapter[]{adapter});
+		for(int i = 0;i < operaVOs.length;i++) {
+			try {
+				String sql ="update cmp_bankaccdetail set bankrelated_code = '"+operaVOs[0].getParent().getAttributeValue("vdef8").toString()+"'   where vbillno = '"+operaVOs[0].getParent().getAttributeValue("vbillno").toString()+"' and nvl(dr,0)=0";
+				iuap.executeQuery(sql, null);
+			} catch (Exception e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		return result;
+	}
+
+	protected String getActionCode() {
+		return CdmcPubConst.CONST_ACTION_SAVE;
+	}
+
+	protected String getBillTypeCode() {
+		return CdmcPubConst.CONST_BILLTYPE_FINANCEPAY;
+	}
+
+	protected ExtraTranslator getExtraTranslator() {
+		return FinancepayPubUtil.buildExtraTranslator();
+	}
+
+	protected Map<String, List<PrecisionField>> getBodyPrecisionFields() {
+		return FinancepayPrecisionUtil.getBodyPrecisionFields();
+	}
+
+	protected List<PrecisionField> getHeadPrecisionFields() {
+		return FinancepayPrecisionUtil.getHeadPrecisionFields();
+	}
+
+	protected void setOprBtnCode() {
+		try {
+			SagasBizUtil.setOperInfo((String) null, "commit");
+		} catch (BusinessException var2) {
+			ExceptionUtils.wrapException(var2);
+		}
+
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepaySaveAction.class


+ 315 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/FinancepaySaveAction.java

@@ -0,0 +1,315 @@
+package nccloud.web.cdmc.cdm.financepay.action;
+
+import java.util.List;
+import java.util.Map;
+
+import nc.bs.dao.BaseDAO;
+import nc.bs.framework.common.NCLocator;
+import nc.itf.cdmc.cdm.contract.IContractQueryService;
+import nc.itf.cdmc.cdm.pub.IPubQueryService;
+import nc.itf.uap.IUAPQueryBS;
+import nc.vo.cdmc.cdm.contract.AggContractVO;
+import nc.vo.cdmc.cdm.contract.ContractVO;
+import nc.vo.cdmc.cdm.financepay.AggFinancepayVO;
+import nc.vo.cdmc.cdm.financepay.BankGroupInfoVO;
+import nc.vo.cdmc.cdm.financepay.FinAuthInfoVO;
+import nc.vo.cdmc.cdm.financepay.FinStatusEnum;
+import nc.vo.cdmc.cdm.financepay.FinancepayVO;
+import nc.vo.cdmc.cdm.financepay.PlanRepayVO;
+import nc.vo.cdmc.cdm.financepay.RegenplanEnum;
+import nc.vo.cdmc.cdm.util.RepayPrcplNCUtil;
+import nc.vo.cdmc.pub.RepayMethodTypeEnum;
+import nc.vo.cdmc.pub.adapter.FinancepaySagaInfoAdapter;
+import nc.vo.cdmc.pub.constants.CdmcPubConst;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.CircularlyAccessibleValueObject;
+import nc.vo.pub.ISuperVO;
+import nc.vo.pub.lang.UFBoolean;
+import nc.vo.pub.lang.UFDate;
+import nc.vo.pub.lang.UFDouble;
+import nc.vo.tmpub.util.ModuleEnum;
+import nccloud.dto.cdmc.financepay.utils.FinancepayPrecisionUtil;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.framework.web.container.ClientInfo;
+import nccloud.framework.web.container.SessionContext;
+import nccloud.pubitf.tmpub.pub.IModuleEnableCheckService;
+import nccloud.pubitf.tmpub.pub.ISagasBizService;
+import nccloud.pubitf.tmpub.pub.ITMPrecisionServiceForNCC;
+import nccloud.vo.tmpub.precison.PrecisionField;
+import nccloud.web.cdmc.cdm.contract.util.ContractQueryUtil;
+import nccloud.web.cdmc.cdm.financepay.util.FinancepayPubUtil;
+import nccloud.web.cdmc.common.action.CommonSaveAction;
+import nccloud.web.tmpub.pub.ms.util.SagasBizUtil;
+import nccloud.web.tmpub.pub.translate.ExtraTranslator;
+
+public class FinancepaySaveAction extends CommonSaveAction<AggFinancepayVO> {
+	private IPubQueryService pubQueryService = (IPubQueryService) ServiceLocator.find(IPubQueryService.class);
+	IModuleEnableCheckService checkservice = (IModuleEnableCheckService) ServiceLocator
+			.find(IModuleEnableCheckService.class);
+
+	protected AggFinancepayVO doBusinessSave(AggFinancepayVO operaVO) throws BusinessException {
+		this.validateBeforeSave(operaVO);
+		this.checkPlanMny(operaVO);
+		this.doBefore(operaVO);
+		FinancepayVO head = operaVO.getParentVO();
+		String vdef7 = head.getVdef7();//上游金额
+		String pk_src = head.getPk_srcbill();//上游单据主键
+		String billmaker = head.getBillmaker();//制单人
+//		UFDate billmaketime = head.getBillmaketime();//制单时间
+		if(vdef7!=null&&vdef7!=""&&pk_src!="") {
+			UFDouble headmoney = new UFDouble(vdef7);
+			UFDouble loanmny = head.getLoanmny();
+			if(!loanmny.equals(headmoney)) {
+				ExceptionUtils.wrapBusinessException("放款金额和到账通知的金额不等,请检验。");
+				return null;
+			}
+		}
+		
+		SagasBizUtil.setOperInfo("36630BDLC_CARD", "change");
+		Object result = super.callActionScript(CdmcPubConst.CONST_ACTION_SAVEBASE,
+				CdmcPubConst.CONST_BILLTYPE_FINANCEPAY, new AggFinancepayVO[]{operaVO});
+		AggFinancepayVO[] saveVOs = (AggFinancepayVO[]) ((AggFinancepayVO[]) result);
+		saveVOs = (AggFinancepayVO[]) ((AggFinancepayVO[]) ((ITMPrecisionServiceForNCC) ServiceLocator
+				.find(ITMPrecisionServiceForNCC.class)).processAggVOPrecision(saveVOs,
+						FinancepayPrecisionUtil.getHeadPrecisionFields(),
+						FinancepayPrecisionUtil.getBodyPrecisionFieldsVOMap(), false, true));
+		RepayPrcplNCUtil.sortFinancepayVOs(saveVOs);
+		AggFinancepayVO savevo = saveVOs[0];
+		String pk_lower = savevo.getParentVO().getPk_financepay();
+		String ts = savevo.getParentVO().getTs().toString();
+		String pk_billtypecode = savevo.getParentVO().getPk_billtypecode();
+		
+		try {
+			String sql = "update cmp_informer set generateflag = 'hasgenerate',usemoney = '"+vdef7+"',pk_claimer='"+billmaker+"',claimdate='"+ts+"',pk_lower = '"+pk_lower+"',lowerbilltype='"+pk_billtypecode+"' where dr=0 and pk_informer = '"+pk_src+"'";
+			int count = new BaseDAO().executeUpdate(sql);
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return saveVOs[0];
+	}
+
+	protected String getPageCode() {
+		return CdmcPubConst.CONST_PAGECODE_FINANCEPAY_CARD;
+	}
+
+	private void validateBeforeSave(AggFinancepayVO operaVO) throws BusinessException {
+		FinancepayVO head = operaVO.getParentVO();
+		String pk_contract = head.getContractid();
+		
+		
+		AggContractVO[] aggcontractvos = ((IContractQueryService) ServiceLocator.find(IContractQueryService.class))
+				.getAggVOsByPKs(new String[]{pk_contract});
+		if (aggcontractvos != null && aggcontractvos.length > 0) {
+			ContractVO contractvo = aggcontractvos[0].getParentVO();
+			if (contractvo.getVbillstatus() != null && contractvo.getVbillstatus() != 1) {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0105"));
+			}
+		}
+
+		UFBoolean initflag = head.getInitflag();
+		if (!UFBoolean.TRUE.equals(initflag)) {
+			UFDate fuhedate = this.pubQueryService.getQiChuYuEFuHeDate(head.getPk_org(), head.getDebitunitacctid());
+			if (null != fuhedate && head.getLoandate().beforeDate(fuhedate)) {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0106"));
+			}
+		}
+
+		try {
+			if (head.getPk_financepay() != null) {
+				FinancepaySagaInfoAdapter adapter = new FinancepaySagaInfoAdapter();
+				ISagasBizService sagaService = (ISagasBizService) ServiceLocator.find(ISagasBizService.class);
+				String pk_financepay = head.getPk_financepay();
+				sagaService.checkFrozen(adapter, pk_financepay);
+			}
+		} catch (Exception var9) {
+			ExceptionUtils.wrapException(var9);
+		}
+
+		if (UFDouble.ZERO_DBL.compareTo(head.getLoanmny()) >= 0) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0032"));
+		}
+
+		if (head.getUnloanmny() != null && head.getUnloanmny().doubleValue() < 0.0D) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0096"));
+		}
+
+		this.checkUnRuleRepayPlan(operaVO);
+		if (!UFBoolean.TRUE.equals(head.getIsautogenrepayplan()) && (operaVO.getChildren(PlanRepayVO.class) == null
+				|| operaVO.getChildren(PlanRepayVO.class).length == 0)) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0033"));
+		}
+
+		if (head.getContenddate() != null && head.getLoandate().asBegin().after(head.getContenddate().asBegin())) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0034"));
+		}
+
+		ISuperVO[] authVOs = operaVO.getChildren(FinAuthInfoVO.class);
+		if (authVOs == null || authVOs.length == 0) {
+			if (UFBoolean.TRUE.equals(head.getPayreleaseauth())) {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0035"));
+			}
+
+			if (UFBoolean.TRUE.equals(head.getIspayusecc())) {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0036"));
+			}
+		}
+
+		ISuperVO[] bankGroupVOs = operaVO.getChildren(BankGroupInfoVO.class);
+		if (UFBoolean.TRUE.equals(head.getAgentbankmgt()) && (bankGroupVOs == null || bankGroupVOs.length == 0)) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0037"));
+		}
+
+	}
+
+	public void checkUnRuleRepayPlan(AggFinancepayVO operaVO) {
+		FinancepayVO head = operaVO.getParentVO();
+		if (!UFBoolean.TRUE.equals(head.getEnablerule())
+				&& RepayMethodTypeEnum.UNRULE.getValue().equals(head.getRepaytype())) {
+			ISuperVO[] planSuperVOs = operaVO.getChildren(PlanRepayVO.class);
+			if (planSuperVOs != null && planSuperVOs.length != 0) {
+				PlanRepayVO[] planVOs = (PlanRepayVO[]) ((PlanRepayVO[]) planSuperVOs);
+				PlanRepayVO[] var5 = planVOs;
+				int var6 = planVOs.length;
+
+				for (int var7 = 0; var7 < var6; ++var7) {
+					PlanRepayVO planVO = var5[var7];
+					UFDouble preMny = planVO.getPremny() == null ? UFDouble.ZERO_DBL : planVO.getPremny();
+					UFDouble repayAmount = planVO.getRepayamount() == null
+							? UFDouble.ZERO_DBL
+							: planVO.getRepayamount();
+					UFDouble advanceMny = planVO.getAdvancemny() == null ? UFDouble.ZERO_DBL : planVO.getAdvancemny();
+					if (preMny.compareTo(repayAmount.add(advanceMny)) < 0) {
+						ExceptionUtils.wrapBusinessException(
+								NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0075")
+										+ planVO.getPlanrepaycode() + NCLangRes4VoTransl.getNCLangRes()
+												.getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0076")
+										+ repayAmount.add(advanceMny) + "]");
+					}
+				}
+			} else {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0074"));
+			}
+		}
+
+	}
+
+	private void doBefore(AggFinancepayVO operaVO) {
+		String pk_group = SessionContext.getInstance().getClientInfo().getPk_group();
+		ClientInfo clientInfo = SessionContext.getInstance().getClientInfo();
+		FinancepayVO head = (FinancepayVO) operaVO.getParent();
+		String pk_contract = head.getContractid();
+
+		try {
+			if (head.getDebittoloan().booleanValue()) {
+				this.checkservice.isEnableByGroup(pk_group, ModuleEnum.ICDMC, true);
+			}
+
+			AggContractVO[] aggContractVOs = ContractQueryUtil.queryBillsByPks(new String[]{pk_contract});
+			if (aggContractVOs != null && aggContractVOs.length == 1) {
+				ContractVO contract = aggContractVOs[0].getParentVO();
+				if (head.getContractname() == null || head.getContractmny() == null
+						|| head.getContractmny().doubleValue() == 0.0D) {
+					head.setContractname(contract.getContractname());
+					head.setContractmny(contract.getLoanmny());
+				}
+			}
+		} catch (BusinessException var12) {
+			;
+		}
+
+		if (head.getPk_financepay() == null) {
+			head.setCreator(clientInfo.getUserid());
+			head.setPk_group(clientInfo.getPk_group());
+			head.setPk_billtypecode(CdmcPubConst.CONST_BILLTYPE_FINANCEPAY);
+			head.setPk_billtypeid(CdmcPubConst.CONST_BILLTYPEPK_FINANCEPAY);
+			head.setBusistatus(FinStatusEnum.NOCOMMIT.toIntValue());
+			head.setVersiontime(head.getLoandate());
+			this.setXietong(head);
+			head.setRegenrepayplan((String) null);
+		} else {
+			if (FinStatusEnum.NOCOMMIT.toIntValue() == head.getBusistatus() && -1 == head.getVbillstatus()) {
+				head.setVersiontime(head.getLoandate());
+			}
+
+			head.setModifier(clientInfo.getUserid());
+			CircularlyAccessibleValueObject[] allChildren = operaVO.getAllChildrenVO();
+			if (allChildren != null && allChildren.length > 0) {
+				String pk_parent = head.getPk_financepay();
+				CircularlyAccessibleValueObject[] var8 = allChildren;
+				int var9 = allChildren.length;
+
+				for (int var10 = 0; var10 < var9; ++var10) {
+					CircularlyAccessibleValueObject child = var8[var10];
+					if (child.getAttributeValue("pk_financepay") == null
+							|| "".equals(child.getAttributeValue("pk_financepay").toString())) {
+						child.setAttributeValue("pk_financepay", pk_parent);
+					}
+				}
+			}
+		}
+
+	}
+
+	private void setXietong(FinancepayVO head) {
+		head.setCanloan(head.getLoanmny());
+		head.setAlreadyloan(UFDouble.ZERO_DBL);
+		head.setUnpaymny(head.getLoanmny());
+	}
+
+	protected ExtraTranslator getExtraTranslator() {
+		return FinancepayPubUtil.buildExtraTranslator();
+	}
+
+	protected Map<String, List<PrecisionField>> getBodyPrecisionFields() {
+		return FinancepayPrecisionUtil.getBodyPrecisionFields();
+	}
+
+	protected List<PrecisionField> getHeadPrecisionFields() {
+		return FinancepayPrecisionUtil.getHeadPrecisionFields();
+	}
+
+	private void checkPlanMny(AggFinancepayVO aggVO) {
+		FinancepayVO head = aggVO.getParentVO();
+		if ((!UFBoolean.TRUE.equals(head.getEnablerule()) || !Integer.valueOf(-1).equals(head.getVbillstatus())
+				|| !Integer.valueOf(-1).equals(head.getBusistatus()))
+				&& (RepayMethodTypeEnum.UNRULE.getValue().equals(head.getRepaytype())
+						|| RegenplanEnum.UNREGENREPAYPLAN.getValue().equals(head.getRegenrepayplan()))) {
+			PlanRepayVO[] planVOs = (PlanRepayVO[]) ((PlanRepayVO[]) aggVO.getChildren(PlanRepayVO.class));
+			UFDouble preSumMny = UFDouble.ZERO_DBL;
+			if (planVOs != null && planVOs.length >= 1) {
+				PlanRepayVO[] var5 = planVOs;
+				int var6 = planVOs.length;
+
+				for (int var7 = 0; var7 < var6; ++var7) {
+					PlanRepayVO plan = var5[var7];
+					if (plan.getStatus() != 3) {
+						UFDouble preMny = plan.getPremny() == null ? UFDouble.ZERO_DBL : plan.getPremny();
+						preSumMny = preSumMny.add(preMny);
+					}
+				}
+
+				if (!preSumMny.equals(head.getLoanmny())) {
+					ExceptionUtils.wrapBusinessException(
+							NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0095"));
+				}
+			} else {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0033"));
+			}
+		}
+
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/InformerToFinancepayAction.class


+ 93 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/financepay/action/InformerToFinancepayAction.java

@@ -0,0 +1,93 @@
+package nccloud.web.cdmc.cdm.financepay.action;
+
+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.pattern.billcard.BillCard;
+import nccloud.framework.web.ui.pattern.billcard.BillCardFormulaHandler;
+import nccloud.web.ifac.pub.util.NCCPageInfoUtil;
+import nccloud.web.sf.allocation.allocate.util.AllocateDefaultValue4NCCUtil;
+//import nc.vo.cmp.informer.AggInformerMappingVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.lang.UFDouble;
+import nc.bs.framework.common.NCLocator;
+import nc.itf.uap.IUAPQueryBS;
+import nc.itf.uap.pf.IPfExchangeService;
+import nc.jdbc.framework.processor.BeanListProcessor;
+import nc.jdbc.framework.processor.BeanProcessor;
+import nc.jdbc.framework.processor.ColumnProcessor;
+import nc.laf.persistence.BeanPersistence;
+import nc.vo.cdmc.cdm.financepay.AggFinancepayVO;
+import nc.vo.cdmc.cdm.financepay.FinancepayVO;
+import nc.itf.cmp.informer.IInformerQueryService;
+
+
+public class InformerToFinancepayAction 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];
+		
+		InformerVO informervo = new InformerVO();
+		FinancepayVO financepayvo = new FinancepayVO();
+		AggFinancepayVO aggfinancepayvo = new AggFinancepayVO();
+		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 debitunitacctid = "";
+		String jfsql = "select pk_bankaccsub,accname from bd_bankaccsub where  code = '"+informervo.getBankaccount()+"'";
+		try {
+			debitunitacctid = (String) iuap.executeQuery(jfsql, new ColumnProcessor());
+		} catch (BusinessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		if(debitunitacctid != null) {
+			financepayvo.setDebitunitacctid(debitunitacctid);
+		}
+		financepayvo.setPk_currtype("1002Z0100000000001K1");
+		financepayvo.setLoanmny(informervo.getMoneyy());
+		financepayvo.setOlcrate(new UFDouble(1));
+		financepayvo.setUnloanmny(informervo.getMoneyy());
+		financepayvo.setBusistatus(-1);
+		financepayvo.setVbillstatus(-1);
+		financepayvo.setPk_srcbill(pk);
+		financepayvo.setPk_group(informervo.getPk_group());
+		financepayvo.setPk_org(informervo.getPk_org());
+		financepayvo.setPk_org_v(informervo.getPk_org_v());
+		financepayvo.setSrcbillno(informervo.getVbillno());
+		financepayvo.setVdef7(informervo.getMoneyy().toString());//ÉÏÓνð¶î
+		financepayvo.setVdef8(informervo.getBankrelated_code());//¶ÔÕ˱êʶÂë
+		
+		aggfinancepayvo.setParent(financepayvo);
+		BillCardConvertProcessor processor = new BillCardConvertProcessor();
+		billCard = processor.convert("36630BDLC_CARD", aggfinancepayvo);
+		Translator translator = new Translator();
+		translator.translate(billCard);
+		BillCardFormulaHandler handler = new BillCardFormulaHandler(billCard);
+		handler.handleLoadFormula();
+		handler.handleBodyLoadFormula();
+		try {
+			AllocateDefaultValue4NCCUtil.setAllocateDefaultValue(billCard, true, false);
+		} catch (BusinessException var15) {
+			ExceptionUtils.wrapException(var15);
+		}
+		return billCard;
+	}
+
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/InformerToRepayintstAction.class


+ 72 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/InformerToRepayintstAction.java

@@ -0,0 +1,72 @@
+package nccloud.web.cdmc.cdm.repayinterest.action;
+
+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.vo.cdmc.cdm.repayintst.AggRepayIntstVO;
+import nc.vo.cdmc.cdm.repayintst.RepayIntstVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.pub.BusinessException;
+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.pattern.billcard.BillCard;
+import nccloud.framework.web.ui.pattern.billcard.BillCardFormulaHandler;
+import nccloud.web.ifac.pub.util.NCCPageInfoUtil;
+import nccloud.web.sf.allocation.allocate.util.AllocateDefaultValue4NCCUtil;
+
+public class InformerToRepayintstAction 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];
+		
+		InformerVO informervo = new InformerVO();
+		RepayIntstVO repayintstvo = new RepayIntstVO();
+		AggRepayIntstVO aggrepayintstvo = new AggRepayIntstVO();
+		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();
+		}
+		repayintstvo.setPk_currtype("1002Z0100000000001K1");
+		repayintstvo.setBusistatus(-1);
+		repayintstvo.setVbillstatus(-1);
+		repayintstvo.setPk_srcbill(pk);
+		repayintstvo.setPk_group(informervo.getPk_group());
+		repayintstvo.setPk_org(informervo.getPk_org());
+		repayintstvo.setPk_org_v(informervo.getPk_org_v());
+		repayintstvo.setSrcbillno(informervo.getVbillno());
+		repayintstvo.setVdef7(informervo.getMoneyy().toString());//上游金额
+		repayintstvo.setVdef4(informervo.getBankrelated_code());//对账标识码
+		repayintstvo.setPk_srcbilltypeid(informervo.getPk_billtypeid());//上游单据类型主键
+		aggrepayintstvo.setParent(repayintstvo);
+		BillCardConvertProcessor processor = new BillCardConvertProcessor();
+		billCard = processor.convert("36630BLPI_CARD", aggrepayintstvo);
+		Translator translator = new Translator();
+		translator.translate(billCard);
+		BillCardFormulaHandler handler = new BillCardFormulaHandler(billCard);
+		handler.handleLoadFormula();
+		handler.handleBodyLoadFormula();
+		try {
+			AllocateDefaultValue4NCCUtil.setAllocateDefaultValue(billCard, true, false);
+		} catch (BusinessException var15) {
+			ExceptionUtils.wrapException(var15);
+		}
+		return billCard;
+	}
+
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstCommitAction.class


+ 113 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstCommitAction.java

@@ -0,0 +1,113 @@
+package nccloud.web.cdmc.cdm.repayinterest.action;
+
+import java.util.List;
+import java.util.Map;
+
+import nc.bs.framework.common.NCLocator;
+import nc.itf.uap.IUAPQueryBS;
+import nc.vo.cdmc.cdm.repayintst.AggRepayIntstVO;
+import nc.vo.cdmc.cdm.repayintst.RepayIntstVO;
+import nc.vo.cdmc.pub.adapter.FinancepaySagaInfoAdapter;
+import nc.vo.cdmc.pub.adapter.RepayIntstSagaInfoAdapter;
+import nc.vo.cdmc.pub.constants.CdmcPubConst;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.lang.UFDate;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.framework.web.container.SessionContext;
+import nccloud.pub.tmpub.ms.vo.TMSagasBizInfoAdapter;
+import nccloud.pubitf.tmpub.pub.ISagasBizService;
+import nccloud.vo.tmpub.precison.PrecisionField;
+import nccloud.web.cdmc.cdm.repayinterest.util.RepayIntstPubUtil;
+import nccloud.web.cdmc.cdm.repayinterest.util.RepayIntstQueryUtil;
+import nccloud.web.cdmc.common.action.CommonCommitAction;
+import nccloud.web.tmpub.pub.ms.util.SagasBizUtil;
+import nccloud.web.tmpub.pub.translate.ExtraTranslator;
+
+public class RepayIntstCommitAction extends CommonCommitAction<AggRepayIntstVO> {
+	protected AggRepayIntstVO[] queryBillsByPks(String[] operaPks) {
+		AggRepayIntstVO[] aggvos = RepayIntstQueryUtil.queryBillsByPks(operaPks);
+		if (aggvos == null || aggvos.length == 0) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_cdm001_0", "0cdmc_cdm001-0230"));
+		}
+
+		return aggvos;
+	}
+
+	protected Object doBusinessProcess(AggRepayIntstVO[] operaVOs, Object userobj) {
+		try {
+			String userId = SessionContext.getInstance().getClientInfo().getUserid();
+			AggRepayIntstVO[] var4 = operaVOs;
+			int var5 = operaVOs.length;
+
+			for (int var6 = 0; var6 < var5; ++var6) {
+				AggRepayIntstVO commitVO = var4[var6];
+				commitVO.getParentVO().setSubmitter(userId);
+				commitVO.getParentVO().setSubmitdate(new UFDate());
+			}
+
+			RepayIntstSagaInfoAdapter adapter = new RepayIntstSagaInfoAdapter();
+			ISagasBizService sagaService = (ISagasBizService) ServiceLocator.find(ISagasBizService.class);
+			FinancepaySagaInfoAdapter adapterFinancePay = new FinancepaySagaInfoAdapter();
+			AggRepayIntstVO[] var16 = operaVOs;
+			int var8 = operaVOs.length;
+
+			for (int var9 = 0; var9 < var8; ++var9) {
+				AggRepayIntstVO commitVO = var16[var9];
+				RepayIntstVO parentVO = commitVO.getParentVO();
+				if (parentVO != null && parentVO.getLoancode() != null) {
+					sagaService.checkFrozen(adapterFinancePay, parentVO.getLoancode());
+				}
+			}
+			Object result = super.doCommitProcess(operaVOs, userobj, new TMSagasBizInfoAdapter[]{adapter});
+			IUAPQueryBS iuap = NCLocator.getInstance().lookup(IUAPQueryBS.class);
+			for (int var6 = 0; var6 < var5; ++var6) {
+				AggRepayIntstVO commitVO = var4[var6];
+				try {
+					String sql ="update cmp_bankaccdetail set bankrelated_code = '"+commitVO.getParent().getAttributeValue("vdef4").toString()+"'   where vbillno = '"+commitVO.getParent().getAttributeValue("vbillno").toString()+"' and nvl(dr,0)=0";
+					iuap.executeQuery(sql, null);
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+			return result;
+		} catch (BusinessException var12) {
+			ExceptionUtils
+					.wrapException(NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0039")
+							+ var12.getMessage(), var12);
+			return null;
+		}
+	}
+
+	protected String getActionCode() {
+		return CdmcPubConst.CONST_ACTION_SAVE;
+	}
+
+	protected String getBillTypeCode() {
+		return CdmcPubConst.CONST_BILLTYPE_REPAYINTST;
+	}
+
+	protected ExtraTranslator getExtraTranslator() {
+		return RepayIntstPubUtil.buildExtraTranslator();
+	}
+
+	protected Map<String, List<PrecisionField>> getBodyPrecisionFields() {
+		return RepayIntstPubUtil.getBodyPrecisionFields();
+	}
+
+	protected List<PrecisionField> getHeadPrecisionFields() {
+		return RepayIntstPubUtil.getHeadPrecisionFields();
+	}
+
+	protected void setOprBtnCode() {
+		try {
+			SagasBizUtil.setOperInfo((String) null, "commit");
+		} catch (BusinessException var2) {
+			ExceptionUtils.wrapException(var2);
+		}
+
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstSaveAction.class


+ 158 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cdmc/cdm/repayinterest/action/RepayIntstSaveAction.java

@@ -0,0 +1,158 @@
+package nccloud.web.cdmc.cdm.repayinterest.action;
+
+import java.util.List;
+import java.util.Map;
+
+import nc.bs.dao.BaseDAO;
+import nc.itf.cdmc.cdm.financepay.IFinancepayQueryService;
+import nc.vo.cdmc.cdm.financepay.AggFinancepayVO;
+import nc.vo.cdmc.cdm.financepay.FinStatusEnum;
+import nc.vo.cdmc.cdm.financepay.FinancepayVO;
+import nc.vo.cdmc.cdm.repayintst.AggRepayIntstVO;
+import nc.vo.cdmc.cdm.repayintst.RepayIntstVO;
+import nc.vo.cdmc.pub.adapter.FinancepaySagaInfoAdapter;
+import nc.vo.cdmc.pub.adapter.RepayIntstSagaInfoAdapter;
+import nc.vo.cdmc.pub.constants.CdmcPubConst;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.CircularlyAccessibleValueObject;
+import nc.vo.pub.lang.UFDate;
+import nc.vo.pub.lang.UFDouble;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.framework.web.container.ClientInfo;
+import nccloud.framework.web.container.SessionContext;
+import nccloud.pubitf.tmpub.pub.ISagasBizService;
+import nccloud.vo.tmpub.precison.PrecisionField;
+import nccloud.web.cdmc.cdm.repayinterest.util.RepayIntstPubUtil;
+import nccloud.web.cdmc.common.action.CommonSaveAction;
+import nccloud.web.tmpub.pub.translate.ExtraTranslator;
+
+public class RepayIntstSaveAction extends CommonSaveAction<AggRepayIntstVO> {
+	protected AggRepayIntstVO doBusinessSave(AggRepayIntstVO operaVO) throws BusinessException {
+		this.doBefore(operaVO);
+		RepayIntstVO headvo =  operaVO.getParentVO();
+		String vdef7 = headvo.getVdef7();//上游金额
+		String pk_src = headvo.getPk_srcbill();//上游单据主键
+		String billmaker = headvo.getBillmaker();//制单人
+		if(vdef7!=null&&vdef7!=""&&pk_src!="") {
+			UFDouble headmoney = new UFDouble(vdef7);
+			UFDouble payintmoney = headvo.getPayintmoney();
+			if(!payintmoney.equals(headmoney)) {
+				ExceptionUtils.wrapBusinessException("付息金额和到账通知的金额不等,请检验。");
+				return null;
+			}
+		}
+		operaVO.getParentVO().setGlcpayintmoney(new UFDouble(0));
+		operaVO.getParentVO().setGllpayintmoney(new UFDouble(0));
+		operaVO.getParentVO().setPaytotalintstmny(new UFDouble(0));
+		Object result = super.callActionScript(CdmcPubConst.CONST_ACTION_SAVEBASE,
+				CdmcPubConst.CONST_BILLTYPE_REPAYINTST, new AggRepayIntstVO[]{operaVO});
+		AggRepayIntstVO[] saveVOs = (AggRepayIntstVO[]) ((AggRepayIntstVO[]) result);
+		AggRepayIntstVO savevo = saveVOs[0];
+		String pk_lower = savevo.getParentVO().getPk_repayintst();
+		String ts = savevo.getParentVO().getTs().toString();
+		String pk_billtypecode = savevo.getParentVO().getPk_billtypecode();
+		try {
+			String sql = "update cmp_informer set generateflag = 'hasgenerate',usemoney = '"+vdef7+"',pk_claimer='"+billmaker+"',claimdate='"+ts+"',pk_lower = '"+pk_lower+"',lowerbilltype='"+pk_billtypecode+"' where dr=0 and pk_informer = '"+pk_src+"'";
+			int count = new BaseDAO().executeUpdate(sql);
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return saveVOs[0];
+	}
+
+	protected String getPageCode() {
+		return CdmcPubConst.CONST_PAGECODE_REPAYINTST_CARD;
+	}
+
+	private void validateBeforeSave(AggRepayIntstVO operaVO) {
+		RepayIntstVO head = (RepayIntstVO) operaVO.getParent();
+		String srctype = head.getPk_srcbilltypeid();
+		if (CdmcPubConst.CONST_BILLTYPE_REPAYPRCPL.equals(srctype)) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0049"));
+		}
+
+	}
+
+	private void doBefore(AggRepayIntstVO operaVO) {
+		ClientInfo clientInfo = SessionContext.getInstance().getClientInfo();
+		RepayIntstVO head = (RepayIntstVO) operaVO.getParent();
+		if (head.getPk_repayintst() == null) {
+			head.setCreator(clientInfo.getUserid());
+			head.setBillmakedate(new UFDate(clientInfo.getBizDateTime()));
+			head.setPk_group(clientInfo.getPk_group());
+			head.setPk_billtypecode(CdmcPubConst.CONST_BILLTYPE_REPAYINTST);
+			head.setPk_billtypeid(CdmcPubConst.CONST_BILLTYPEPK_REPAYINTST);
+			head.setBusistatus(-1);
+		} else {
+			try {
+				RepayIntstSagaInfoAdapter adapter = new RepayIntstSagaInfoAdapter();
+				ISagasBizService sagaService = (ISagasBizService) ServiceLocator.find(ISagasBizService.class);
+				sagaService.checkFrozen(adapter, head.getPrimaryKey());
+				FinancepaySagaInfoAdapter adapterFinancePay = new FinancepaySagaInfoAdapter();
+				if (head.getLoancode() != null) {
+					sagaService.checkFrozen(adapterFinancePay, head.getLoancode());
+				}
+			} catch (Exception var9) {
+				ExceptionUtils.wrapBusinessException(var9.getMessage());
+			}
+
+			head.setModifier(clientInfo.getUserid());
+			CircularlyAccessibleValueObject[] allchildren = operaVO.getAllChildrenVO();
+			if (allchildren != null) {
+				CircularlyAccessibleValueObject[] var13 = allchildren;
+				int var15 = allchildren.length;
+
+				for (int var7 = 0; var7 < var15; ++var7) {
+					CircularlyAccessibleValueObject obj = var13[var7];
+					obj.setAttributeValue("pk_repayintst", head.getPk_repayintst());
+				}
+			}
+		}
+
+		if (head.getShdpayintmny().compareTo(head.getPayintmoney()) < 0) {
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0050"));
+		}
+
+		try {
+			AggFinancepayVO[] payVOS = ((IFinancepayQueryService) ServiceLocator.find(IFinancepayQueryService.class))
+					.getAggVOsByPKs(new String[]{head.getLoancode()});
+			if (payVOS == null || payVOS.length == 0) {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0040"));
+			}
+
+			FinancepayVO financepayVO = payVOS[0].getParentVO();
+			if (FinStatusEnum.TERMINATE.toIntValue() == financepayVO.getBusistatus()
+					|| FinStatusEnum.FINISH.toIntValue() == financepayVO.getBusistatus()) {
+				ExceptionUtils.wrapBusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0051"));
+			}
+
+//			if (financepayVO.getUnrepayintstmny() == null
+//					|| financepayVO.getUnrepayintstmny().compareTo(UFDouble.ZERO_DBL) == 0) {
+//				ExceptionUtils.wrapBusinessException(
+//						NCLangRes4VoTransl.getNCLangRes().getStrByID("cdmc_ncc003_0", "0cdmc_ncc003-0052"));
+//			}
+		} catch (Exception var10) {
+			ExceptionUtils.wrapException(var10);
+		}
+
+	}
+
+	protected ExtraTranslator getExtraTranslator() {
+		return RepayIntstPubUtil.buildExtraTranslator();
+	}
+
+	protected Map<String, List<PrecisionField>> getBodyPrecisionFields() {
+		return RepayIntstPubUtil.getBodyPrecisionFields();
+	}
+
+	protected List<PrecisionField> getHeadPrecisionFields() {
+		return RepayIntstPubUtil.getHeadPrecisionFields();
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastCancelAction.class


+ 185 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastCancelAction.java

@@ -0,0 +1,185 @@
+package nccloud.web.cmp.bankcontrast.actions;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+import nc.bs.dao.BaseDAO;
+import nc.bs.framework.common.NCLocator;
+import nc.itf.br.syfile.ISyFileRequiresNew;
+import nc.itf.gl.contrast.IContrastAccountPrv;
+import nc.itf.gl.contrast.IContrastPrv;
+import nc.itf.uap.IUAPQueryBS;
+import nc.itf.uif.pub.IUifService;
+import nc.jdbc.framework.processor.BeanProcessor;
+import nc.jdbc.framework.processor.ColumnListProcessor;
+import nc.jdbc.framework.processor.ColumnProcessor;
+import nc.vo.cmp.bankaccbook.BankAccDetailVO;
+import nc.vo.cmp.cb.ContrastVO;
+import nc.vo.cmp.cb.GLQueryVO;
+import nc.vo.cmp.cb.GlContrastVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.lang.UFDate;
+import nccloud.framework.core.json.IJson;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.framework.web.action.itf.ICommonAction;
+import nccloud.framework.web.container.IRequest;
+import nccloud.framework.web.container.SessionContext;
+import nccloud.framework.web.json.JsonFactory;
+import nccloud.web.cmp.bankcontrast.vo.BankContrastCancelJsonToVo;
+import nccloud.web.cmp.contrastcommon.actions.BankContrastUtils;
+
+public class BankContrastCancelAction implements ICommonAction {
+	public Object doAction(IRequest request) {
+		String read = request.read();
+		IJson iJon = JsonFactory.create();
+		BankContrastCancelJsonToVo jSonVo = (BankContrastCancelJsonToVo) iJon.fromJson(read,
+				BankContrastCancelJsonToVo.class);
+
+		ContrastVO[] contrastVoArr = { jSonVo.getContrastVo() };
+		int flag = jSonVo.getFlag();
+		GlContrastVO glContrastVo = null;
+		BaseDAO basedao = new BaseDAO();
+		IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
+		GLQueryVO query = new GLQueryVO();
+		query.setPK_contrastaccount(new String[] { jSonVo.getGlContrastVo().getPk_contrastaccount() });
+		query.setPk_user(SessionContext.getInstance().getClientInfo().getUserid());
+		String year = BankContrastUtils.getAccountYear(jSonVo.getGlContrastVo().getPk_corp(),
+				new UFDate(SessionContext.getInstance().getClientInfo().getBizDateTime()), null);
+
+		query.setYears(year);
+
+		GlContrastVO[] glContrastArr = null;
+		try {
+			glContrastArr = ((IContrastAccountPrv) ServiceLocator.find(IContrastAccountPrv.class))
+					.queryContrastAccount(query);
+			if (glContrastArr == null || glContrastArr.length == 0)
+				return null;
+
+			glContrastVo = glContrastArr[0];
+
+		} catch (BusinessException e) {
+			e.printStackTrace();
+
+		}
+		try {
+			//回写到账通知
+			ContrastVO[] newConts = (ContrastVO[]) getSer().queryByCondition(ContrastVO.class, " pk_contrastaccount = '" + contrastVoArr[0].getPk_contrastaccount() + "' ");
+			for(int i = 0;i < newConts.length; i++) {
+				String pk_src = newConts[i].getPk_bankreceipt();//到账通知单主键
+				String qrysql = "select * from cmp_informer where dr=0 and pk_src = '"+pk_src+"'";
+				if(!(pk_src==null)&&!(pk_src.equals(""))) {
+					InformerVO informervo = (InformerVO) iuap.executeQuery(qrysql,new BeanProcessor(InformerVO.class));
+					String pk_lower = informervo.getPk_lower();
+					if(pk_lower==null) {
+						String updatesql = "update cmp_informer set generateflag = 'hasnogenerate',usemoney = '0',pk_claimer='',claimdate='' where dr=0 and pk_src = '"+pk_src+"'";
+						try {
+							basedao.executeUpdate(updatesql);
+						} catch (Exception e) {
+							// TODO Auto-generated catch block
+							e.printStackTrace();
+						}
+					}
+				}
+			}
+				
+			
+			
+				
+			((IContrastPrv)ServiceLocator.find(IContrastPrv.class)).deleteContrast(contrastVoArr, flag, glContrastVo);
+			
+			// 这里改完全是图省事了,考虑量不会太大 代码效率拉一点也不影响。
+			Map<String, Map<String, String[]>> oldMap = null;
+			List<Map<String, Map<String, String[]>>> newList = new ArrayList<Map<String, Map<String, String[]>>>();
+			if(contrastVoArr.length > 0) {
+				String where = " select batchnumber from gl_contrast where pk_contrastaccount = '" + contrastVoArr[0].getPk_contrastaccount() + "' ";
+				// 1、按批次号
+				if(contrastVoArr.length > 0 && contrastVoArr[0].getBatchNumber() != null) {
+					where += " and batchNumber = '" + contrastVoArr[0].getBatchNumber() + "' ";
+					
+				}
+				// 2、按日期
+				if(contrastVoArr.length > 0 && contrastVoArr[0].getContrastdate() != null) {
+					if(flag == 0) {
+						where += " and nvl(cavdate,'~')='~' and contrastdate  >= '" + contrastVoArr[0].getContrastdate() + "' ";
+					} 
+					if(flag == 1) {
+						where += " and nvl(cavdate,'~')='~' and contrastcode in  (select contrastcode from gl_contrast where corpdate >= '" + contrastVoArr[0].getContrastdate() + "' group by contrastcode)";
+					}
+				}
+				
+				where += " group by batchnumber";
+				
+				// 查询本次取消的对账记录
+				List<String> numList = (List<String>) getDao().executeQuery(where, new ColumnListProcessor());
+				for(String batnum : numList) {
+					ContrastVO[] oldConts = (ContrastVO[]) getSer().queryByCondition(ContrastVO.class, " batchNumber = '" + batnum + "' ");
+					oldMap = getSySer().getConts_RequiresNew(oldConts);
+					newList.add(oldMap);
+				}
+					
+				
+				
+				((IContrastPrv)ServiceLocator.find(IContrastPrv.class)).deleteContrast(contrastVoArr, flag, glContrastVo);
+				
+				
+				
+				// 回退附件
+				for(Map<String, Map<String, String[]>> m : newList) {
+					doSyFile(m);
+				}
+				
+				
+			}
+			
+		} catch (BusinessException e) {
+			e.printStackTrace();
+
+		}
+		return null;
+	}
+	
+	/**
+	 * @Title:doSyFile
+	 * @Description: [method] TODO whz 2022.3.4.15 取消对账触发回退附件
+	 * @return void
+	 * @param billPK
+	 * @throws BusinessException 
+	 * @Create: whz
+	 * @date: 2022年3月4日 下午3:30:17
+	 */
+	private void doSyFile(Map<String, Map<String, String[]>> map) throws BusinessException {
+		// 开始回退
+		for(String key : map.keySet()) {
+			getSySer().delBillFile_RequiresNew(map.get(key), "cmp");
+		}
+	}
+	
+	private ISyFileRequiresNew sySer;
+	
+	private ISyFileRequiresNew getSySer() {
+		if(sySer == null) {
+			sySer = NCLocator.getInstance().lookup(ISyFileRequiresNew.class);
+		}
+		return sySer;
+	}
+	
+	private IUifService service;
+	
+	private IUifService getSer() {
+		if(service == null) {
+			service = NCLocator.getInstance().lookup(IUifService.class);
+		}
+		return service;
+	}
+	private IUAPQueryBS dao;
+	
+	private IUAPQueryBS getDao() {
+		if(dao == null) {
+			dao = NCLocator.getInstance().lookup(IUAPQueryBS.class);
+		}
+		return dao;
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastSaveAction.class


+ 636 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/bankcontrast/actions/BankContrastSaveAction.java

@@ -0,0 +1,636 @@
+package nccloud.web.cmp.bankcontrast.actions;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.Vector;
+
+import nc.bs.dao.BaseDAO;
+import nc.bs.dao.DAOException;
+import nc.bs.framework.common.NCLocator;
+import nc.bs.logging.Logger;
+import nc.itf.br.syfile.ISyFileRequiresNew;
+import nc.itf.gl.contrast.IContrastAccountPrv;
+import nc.itf.gl.contrast.IContrastPrv;
+import nc.itf.uap.IUAPQueryBS;
+import nc.itf.uif.pub.IUifService;
+import nc.jdbc.framework.processor.BeanProcessor;
+import nc.jdbc.framework.processor.ColumnProcessor;
+import nc.vo.cmp.bankaccbook.BankAccDetailVO;
+import nc.vo.cmp.cb.ContrastVO;
+import nc.vo.cmp.cb.GlContrastVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.jcom.lang.StringUtil;
+import nc.vo.ml.NCLangRes4VoTransl;
+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.framework.core.exception.ExceptionUtils;
+import nccloud.framework.core.json.IJson;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.framework.web.action.itf.ICommonAction;
+import nccloud.framework.web.container.IRequest;
+import nccloud.framework.web.container.SessionContext;
+import nccloud.framework.web.json.JsonFactory;
+import nccloud.web.cmp.bankcontrast.vo.BankContrastSaveArrVo;
+import nccloud.web.cmp.bankcontrast.vo.BankContrastSaveJsonToVo;
+import nccloud.web.cmp.billmanagement.paybills.common.NCCClientInfo;
+import nccloud.web.cmp.contrastcommon.actions.BankContrastUtils;
+
+public class BankContrastSaveAction implements ICommonAction {
+	private int compareFlag = 0;
+
+	private BankContrastSaveArrVo[] banks = null;
+
+	private BankContrastSaveArrVo[] units = null;
+
+	private GlContrastVO glContrastVo = null;
+
+	private String adjustFlag = "0";
+
+	private int precision = 2;
+
+	private final String errMsgByMultMoney = NCLangRes4VoTransl.getNCLangRes().getStrByID("3607con_0", "03607con-0182");
+
+	private final String errMsgByMoney = NCLangRes4VoTransl.getNCLangRes().getStrByID("3607con_0", "03607con-0183");
+
+	public Object doAction(IRequest request) {
+		String read = request.read();
+		IJson iJon = JsonFactory.create();
+		BankContrastSaveJsonToVo jsonVo = (BankContrastSaveJsonToVo) iJon.fromJson(read,
+				BankContrastSaveJsonToVo.class);
+		NCCClientInfo clientInfo = new NCCClientInfo();
+		String user = clientInfo.getClientInfo().getUserid();
+		IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
+		BaseDAO basedao =new BaseDAO();
+		this.compareFlag = jsonVo.getCompareFlag();
+		this.banks = jsonVo.getBanks();
+		this.units = jsonVo.getUnits();
+		this.glContrastVo = jsonVo.getGlContrastVo();
+		this.adjustFlag = jsonVo.getAdjustFlag();
+		this.glContrastVo = BankContrastUtils
+				.queryContrastAcct(new String[] { this.glContrastVo.getPk_contrastaccount() }, null)[0];
+
+		try {
+			setPrecision(this.glContrastVo.getPk_currtype());
+		} catch (BusinessException e) {
+			e.printStackTrace();
+			ExceptionUtils.wrapBusinessException(
+					NCLangRes4VoTransl.getNCLangRes().getStrByID("3607nccloud_ncc_0", "03607nccloud_ncc-0049"));
+
+		}
+		if (!checkBeforeSave(this.glContrastVo))
+			return null;
+
+		if (this.compareFlag > 0) {
+			newSaveCompare(this.glContrastVo);
+			return "success";
+
+		}
+		saveMethod();
+		for(int i = 0;i < banks.length;i++) {
+			String pk_src = banks[i].getPk_bankreceipt();//银行对账单主键
+			String money = !banks[i].getCreditamount().equals("0.00")?banks[i].getCreditamount():banks[i].getDebitamount();
+			UFDateTime date = new UFDateTime();
+			String qrysql = "select * from cmp_informer where dr=0 and pk_src = '"+pk_src+"'";
+			if(!pk_src.equals("")&&!pk_src.equals(null)) {
+				try {
+					InformerVO informervo = (InformerVO) iuap.executeQuery(qrysql,new BeanProcessor(InformerVO.class));
+					String pk_lower = informervo.getPk_lower();
+					if(pk_lower==null) {
+						String updatesql = "update cmp_informer set generateflag = 'hasgenerate',usemoney = '"+money+"',pk_claimer='"+user+"',claimdate='"+date.toString()+"' where dr=0 and pk_src = '"+pk_src+"'";
+						basedao.executeUpdate(updatesql);
+					}
+					else {
+						continue;
+					}
+				} catch (BusinessException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			}
+		}
+		
+		return "success";
+	}
+
+	private boolean checkBeforeSave(GlContrastVO account) {
+		boolean flag = true;
+		boolean flag2 = false;
+		try {
+			flag2 = ((IContrastAccountPrv) ServiceLocator.find(IContrastAccountPrv.class)).isExceptional(account);
+		} catch (BusinessException e) {
+			e.printStackTrace();
+		}
+		if (flag2) {
+			flag = false;
+			ExceptionUtils
+					.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607con_0", "03607con-0222"));
+		}
+		return flag;
+	}
+
+	public void setPrecision(String key) throws BusinessException {
+		if (key == null)
+
+			return;
+		this.precision = BankContrastUtils.getPrecision(key);
+	}
+
+	private void newSaveCompare(GlContrastVO glContrastVo) {
+		ContrastVO[] vos = null;
+		ContrastVO[] vosd = null;
+		Vector<ContrastVO> vov = new Vector();
+		Vector<ContrastVO> vovd = new Vector();
+		ArrayList<String> bankNumbers = new ArrayList<>();
+		ArrayList<String> unitNumbers = new ArrayList<>();
+
+		String batchNumber = "";
+		try {
+			batchNumber = ((IContrastPrv) ServiceLocator.find(IContrastPrv.class))
+					.getMaxBatchNumber(glContrastVo.getPk_contrastaccount(), false);
+		} catch (BusinessException e) {
+			Logger.error(e.getMessage(), (Throwable) e);
+			e.printStackTrace();
+		}
+		if (!isBalance(checkDataWhenCompare())) {
+			ExceptionUtils.wrapBusinessException(getErrMsg());
+			return;
+		}
+		try {
+			int i;
+			for (i = 0; i < this.banks.length; i++) {
+				if (this.banks[i].isContrast() && !this.banks[i].isContrastOld()) {
+					String flag = this.banks[i].getStyleflag();
+					if (flag != null && flag.equals("B"))
+						ExceptionUtils.wrapBusinessException(
+								NCLangRes4VoTransl.getNCLangRes().getStrByID("3607con_0", "03607con-0220"));
+
+					ContrastVO vo = new ContrastVO();
+					vo.setPk_bankreceipt(this.banks[i].getPk_bankreceipt());
+					vo.setPk_contrastaccount(glContrastVo.getPk_contrastaccount());
+					vo.setContrastdate(getDate());
+					vo.setCorpdate(new UFDate(this.banks[i].getCheckdate()));
+					vo.setBatchNumber(batchNumber);
+					vo.setPk_org(glContrastVo.getPk_corp());
+					vo.setPk_group(getPk_group(glContrastVo.getPk_corp()));
+
+					if (this.banks[i].getDebitamount() != null
+							&& Double.parseDouble(this.banks[i].getDebitamount()) != 0.0D) {
+						vo.setMoney(new UFDouble(this.banks[i].getDebitamount()));
+						vo.setIsDebit(UFBoolean.TRUE);
+					} else {
+						vo.setMoney(new UFDouble(this.banks[i].getCreditamount()));
+						vo.setIsDebit(UFBoolean.FALSE);
+					}
+					vov.addElement(vo);
+				}
+				if (!this.banks[i].isContrast() && this.banks[i].isContrastOld()) {
+					ContrastVO vod = new ContrastVO();
+					vod.setPk_contrastaccount(glContrastVo.getPk_contrastaccount());
+					vod.setPk_bankreceipt(this.banks[i].getPk_bankreceipt());
+					vod.setBatchNumber(this.banks[i].getBatchNumber());
+					bankNumbers.add(this.banks[i].getBatchNumber());
+					vovd.addElement(vod);
+
+				}
+			}
+			for (i = 0; i < this.units.length; i++) {
+				if (this.units[i].isContrast() && !this.units[i].isContrastOld()) {
+					ContrastVO vo = new ContrastVO();
+					vo.setFk_detail(this.units[i].getFk_detail());
+					vo.setPk_contrastaccount(glContrastVo.getPk_contrastaccount());
+					vo.setContrastdate(getDate());
+					if (this.units[i].getCheckdate() != null)
+						vo.setCorpdate(new UFDate(this.units[i].getCheckdate()));
+
+					vo.setBatchNumber(batchNumber);
+					vo.setPk_org(glContrastVo.getPk_corp());
+					vo.setPk_group(getPk_group(glContrastVo.getPk_corp()));
+
+					if (this.units[i].getDebitamount() != null
+							&& Double.parseDouble(this.units[i].getDebitamount()) != 0.0D) {
+						vo.setMoney(new UFDouble(this.units[i].getDebitamount()));
+						vo.setIsDebit(UFBoolean.TRUE);
+					} else {
+						vo.setMoney(new UFDouble(this.units[i].getCreditamount()));
+						vo.setIsDebit(UFBoolean.FALSE);
+					}
+					vov.addElement(vo);
+				}
+				if (!this.units[i].isContrast() && this.units[i].isContrastOld()) {
+					ContrastVO vod = new ContrastVO();
+					vod.setPk_contrastaccount(glContrastVo.getPk_contrastaccount());
+					vod.setFk_detail(this.units[i].getFk_detail());
+					vod.setBatchNumber(this.units[i].getBatchNumber());
+					unitNumbers.add(this.units[i].getBatchNumber());
+					vovd.addElement(vod);
+				}
+			}
+		} catch (Throwable e) {
+			Logger.error(e.getMessage(), e);
+		}
+		vos = new ContrastVO[vov.size()];
+		vov.copyInto((Object[]) vos);
+
+		vosd = new ContrastVO[vovd.size()];
+		vovd.copyInto((Object[]) vosd);
+
+		try {
+			if (vos.length > 0) {
+				Vector<String> vt = new Vector();
+				Object[] vot = null;
+				for (int i = 0; i < vos.length; i++) {
+					if (vos[i].getFk_detail() != null)
+						vt.add(vos[i].getFk_detail());
+
+				}
+				if (vt != null) {
+					vot = new Object[vt.size()];
+					vt.copyInto(vot);
+
+				}
+				if (glContrastVo.getSource().intValue() == 2) {
+					ArrayList<ContrastVO> voList = new ArrayList<>();
+					for (int j = 0; j < vos.length; j++) {
+						String strfks = vos[j].getFk_detail();
+						if (!StringUtil.isEmptyWithTrim(strfks)) {
+							String[] fks = strfks.split("@@");
+							if (fks != null && fks.length > 0)
+								for (int k = 0; k < fks.length; k++) {
+									ContrastVO tempvo = (ContrastVO) vos[j].clone();
+									tempvo.setFk_detail(fks[k]);
+									tempvo.setBatchNumber(batchNumber);
+									voList.add(tempvo);
+								}
+						} else {
+							voList.add(vos[j]);
+						}
+					}
+					vos = new ContrastVO[voList.size()];
+					voList.toArray(vos);
+				}
+				((IContrastPrv) ServiceLocator.find(IContrastPrv.class)).insertContrasts(vos, glContrastVo);
+			}
+			if (vosd.length > 0) {
+
+				if (glContrastVo.getSource().intValue() == 2) {
+					ArrayList<ContrastVO> vodList = new ArrayList<>();
+					for (int i = 0; i < vosd.length; i++) {
+						String strfks = vosd[i].getFk_detail();
+						if (!StringUtil.isEmptyWithTrim(strfks)) {
+							String[] fks = strfks.split("@@");
+							if (fks != null && fks.length > 0)
+								for (int j = 0; j < fks.length; j++) {
+									ContrastVO tempvo = (ContrastVO) vosd[i].clone();
+									tempvo.setFk_detail(fks[j]);
+									vodList.add(tempvo);
+								}
+						} else {
+							vodList.add(vosd[i]);
+						}
+					}
+					vosd = new ContrastVO[vodList.size()];
+					vodList.toArray(vosd);
+				}
+				((IContrastPrv) ServiceLocator.find(IContrastPrv.class)).deleteContrast(vosd, 0, glContrastVo);
+			}
+		} catch (Throwable e) {
+			Logger.error(e.getMessage(), e);
+		}
+	}
+
+	private void saveMethod() {
+		ContrastVO[] vos = null;
+		ContrastVO[] vosd = null;
+		Vector<ContrastVO> vov = new Vector();
+		Vector<ContrastVO> vovd = new Vector();
+		ArrayList<String> addBankNumber = new ArrayList<>();
+		ArrayList<String> delBankNumber = new ArrayList<>();
+		ArrayList<String> addUnitNumber = new ArrayList<>();
+		ArrayList<String> delUnitNumber = new ArrayList<>();
+
+		String batchNumber = "";
+		try {
+			batchNumber = ((IContrastPrv) ServiceLocator.find(IContrastPrv.class))
+					.getNewBatchNumber(this.glContrastVo.getPk_contrastaccount(), getDate(), false);
+		} catch (BusinessException e) {
+			Logger.error(e.getMessage(), (Throwable) e);
+		}
+		if (!isBalance(checkData())) {
+			ExceptionUtils.wrapBusinessException(getErrMsg());
+
+			return;
+		}
+		int rows = this.banks.length;
+		try {
+			int i;
+			for (i = 0; i < rows; i++) {
+				if (this.banks[i].isContrast() && !this.banks[i].isContrastOld()) {
+					String flag = this.banks[i].getStyleflag();
+					if (flag != null && flag.equals("B")) {
+						ExceptionUtils.wrapBusinessException(
+								NCLangRes4VoTransl.getNCLangRes().getStrByID("3607con_0", "03607con-0220"));
+						return;
+					}
+					ContrastVO vo = new ContrastVO();
+					vo.setPk_bankreceipt(this.banks[i].getPk_bankreceipt());
+					vo.setPk_contrastaccount(this.glContrastVo.getPk_contrastaccount().toString());
+					vo.setContrastdate(getDate());
+					vo.setCorpdate(new UFDate(this.banks[i].getCheckdate()));
+					vo.setBatchNumber(batchNumber);
+					addBankNumber.add(batchNumber);
+					vo.setPk_org(this.glContrastVo.getPk_org());
+					vo.setPk_group(getPk_group(this.glContrastVo.getPk_org()));
+
+					if (this.banks[i].getDebitamount() != null
+							&& Double.parseDouble(this.banks[i].getDebitamount()) != 0.0D) {
+						vo.setMoney(new UFDouble(this.banks[i].getDebitamount()));
+						vo.setIsDebit(UFBoolean.TRUE);
+					} else {
+						vo.setMoney(new UFDouble(this.banks[i].getCreditamount()));
+						vo.setIsDebit(UFBoolean.FALSE);
+					}
+					vov.addElement(vo);
+				}
+				if (!this.banks[i].isContrast() && this.banks[i].isContrastOld()) {
+					ContrastVO vod = new ContrastVO();
+					vod.setPk_contrastaccount(this.glContrastVo.getPk_contrastaccount().toString());
+					vod.setPk_bankreceipt(this.banks[i].getPk_bankreceipt());
+
+					if (this.banks[i].getBatchNumber() != null) {
+						vod.setBatchNumber(this.banks[i].getBatchNumber());
+						delBankNumber.add(this.banks[i].getBatchNumber());
+					}
+					vod.setPk_org(this.glContrastVo.getPk_corp());
+					vod.setPk_group(getPk_group(this.glContrastVo.getPk_corp()));
+					vovd.addElement(vod);
+				}
+			}
+			rows = this.units.length;
+			for (i = 0; i < rows; i++) {
+				if (this.units[i].isContrast() && !this.units[i].isContrastOld()) {
+					ContrastVO vo = new ContrastVO();
+					vo.setFk_detail(this.units[i].getFk_detail());
+					vo.setPk_contrastaccount(this.glContrastVo.getPk_contrastaccount().toString());
+					vo.setContrastdate(getDate());
+					if (this.units[i].getCheckdate() != null)
+						vo.setCorpdate(new UFDate(this.units[i].getCheckdate()));
+
+					vo.setBatchNumber(batchNumber);
+					addUnitNumber.add(batchNumber);
+					vo.setPk_org(this.glContrastVo.getPk_corp());
+					vo.setPk_group(getPk_group(this.glContrastVo.getPk_corp()));
+
+					if (this.units[i].getDebitamount() != null
+							&& Double.parseDouble(this.units[i].getDebitamount()) != 0.0D) {
+						vo.setMoney(new UFDouble(this.units[i].getDebitamount()));
+						vo.setIsDebit(UFBoolean.TRUE);
+					} else {
+						vo.setMoney(new UFDouble(this.units[i].getCreditamount()));
+						vo.setIsDebit(UFBoolean.FALSE);
+					}
+					vov.addElement(vo);
+				}
+				if (!this.units[i].isContrast() && this.units[i].isContrastOld()) {
+					ContrastVO vod = new ContrastVO();
+					vod.setPk_contrastaccount(this.glContrastVo.getPk_contrastaccount().toString());
+					vod.setFk_detail(this.units[i].getFk_detail());
+					if (this.units[i].getBatchNumber() != null) {
+						vod.setBatchNumber(this.units[i].getBatchNumber());
+						delUnitNumber.add(this.units[i].getBatchNumber());
+					}
+					vod.setPk_org(this.glContrastVo.getPk_corp());
+					vod.setPk_group(getPk_group(this.glContrastVo.getPk_corp()));
+					vovd.addElement(vod);
+				}
+			}
+		} catch (Throwable e) {
+			Logger.error(e.getMessage(), e);
+
+		}
+		vos = new ContrastVO[vov.size()];
+		vov.copyInto((Object[]) vos);
+
+		vosd = new ContrastVO[vovd.size()];
+		vovd.copyInto((Object[]) vosd);
+
+		try {
+			if (vos.length > 0) {
+				Vector<String> vt = new Vector();
+				Object[] vot = null;
+				for (int i = 0; i < vos.length; i++) {
+					if (vos[i].getFk_detail() != null)
+						vt.add(vos[i].getFk_detail());
+
+				}
+				if (vt != null) {
+					vot = new Object[vt.size()];
+					vt.copyInto(vot);
+
+				}
+				if (this.glContrastVo.getSource().intValue() == 2) {
+					ArrayList<ContrastVO> voList = new ArrayList<>();
+					for (int j = 0; j < vos.length; j++) {
+						String strfks = vos[j].getFk_detail();
+						if (!StringUtil.isEmptyWithTrim(strfks)) {
+							String[] fks = strfks.split("@@");
+							if (fks != null && fks.length > 0)
+								for (int k = 0; k < fks.length; k++) {
+									ContrastVO tempvo = (ContrastVO) vos[j].clone();
+									tempvo.setFk_detail(fks[k]);
+									tempvo.setBatchNumber(batchNumber);
+									voList.add(tempvo);
+								}
+						} else {
+							voList.add(vos[j]);
+						}
+					}
+					vos = new ContrastVO[voList.size()];
+					voList.toArray(vos);
+				}
+				((IContrastPrv) ServiceLocator.find(IContrastPrv.class)).insertContrasts(vos, this.glContrastVo);
+			}
+			if (vosd.length > 0) {
+
+				if (this.glContrastVo.getSource().intValue() == 2) {
+					ArrayList<ContrastVO> vodList = new ArrayList<>();
+					for (int i = 0; i < vosd.length; i++) {
+						String strfks = vosd[i].getFk_detail();
+						if (!StringUtil.isEmptyWithTrim(strfks)) {
+							String[] fks = strfks.split("@@");
+							if (fks != null && fks.length > 0)
+								for (int j = 0; j < fks.length; j++) {
+									ContrastVO tempvo = (ContrastVO) vosd[i].clone();
+									tempvo.setFk_detail(fks[j]);
+									vodList.add(tempvo);
+								}
+						} else {
+							vodList.add(vosd[i]);
+						}
+					}
+					vosd = new ContrastVO[vodList.size()];
+					vodList.toArray(vosd);
+				}
+				((IContrastPrv) ServiceLocator.find(IContrastPrv.class)).deleteContrast(vosd, 0, this.glContrastVo);
+			}
+			this.compareFlag = 0;
+			
+			doSyFile(batchNumber);
+			
+		} catch (Throwable e) {
+			Logger.error(e.getMessage(), e);
+		}
+	}
+
+	private UFDate getDate() {
+		return new UFDate(SessionContext.getInstance().getClientInfo().getBizDateTime());
+	}
+
+	public String getPk_group(String pkOrg) {
+		return BankContrastUtils.getGroupByOrg(pkOrg);
+	}
+
+	private String getErrMsg() {
+		if (this.adjustFlag.equals("0"))
+			return this.errMsgByMultMoney;
+		if (this.adjustFlag.equals("1"))
+			return this.errMsgByMoney;
+
+		return "";
+	}
+
+	public UFDouble[] checkDataWhenCompare() {
+		UFDouble result1 = new UFDouble(0);
+		UFDouble result2 = new UFDouble(0);
+		UFDouble result3 = new UFDouble(0);
+		UFDouble result4 = new UFDouble(0);
+		try {
+			if (this.units != null && this.units.length > 0)
+
+				for (int i = 0; i < this.units.length; i++) {
+					if (this.units[i].isContrast() != this.units[i].isContrastOld()) {
+						Object temp = this.units[i].getDebitamount();
+						if (temp != null)
+							result1 = result1.add(new UFDouble(temp.toString()));
+						temp = this.units[i].getCreditamount();
+						if (temp != null)
+							result2 = result2.add(new UFDouble(temp.toString()));
+
+					}
+				}
+			if (this.banks != null && this.banks.length > 0)
+				for (int i = 0; i < this.banks.length; i++) {
+					if (this.banks[i].isContrast() != this.banks[i].isContrastOld()) {
+						Object temp = this.banks[i].getDebitamount();
+						if (temp != null)
+							result3 = result3.add(new UFDouble(temp.toString()));
+						temp = this.banks[i].getCreditamount();
+						if (temp != null)
+							result4 = result4.add(new UFDouble(temp.toString()));
+
+					}
+				}
+		} catch (Exception e) {
+			Logger.error(e.getMessage(), e);
+		}
+		UFDouble[] result = new UFDouble[4];
+		result[0] = new UFDouble(result1.doubleValue(), this.precision);
+		result[1] = new UFDouble(result2.doubleValue(), this.precision);
+		result[2] = new UFDouble(result3.doubleValue(), this.precision);
+		result[3] = new UFDouble(result4.doubleValue(), this.precision);
+		return result;
+	}
+
+	public boolean isBalance(UFDouble[] data) {
+		UFDouble result1 = (data[0] == null) ? new UFDouble(0) : data[0];
+		UFDouble result2 = (data[1] == null) ? new UFDouble(0) : data[1];
+		UFDouble result3 = (data[2] == null) ? new UFDouble(0) : data[2];
+		UFDouble result4 = (data[3] == null) ? new UFDouble(0) : data[3];
+		if (this.adjustFlag.equals("0")) {
+			if (this.glContrastVo.getContrastaspect().intValue() == 0) {
+
+				if (result1.doubleValue() == result3.doubleValue() && result2.doubleValue() == result4.doubleValue())
+					return true;
+
+				return false;
+
+			}
+			if (result1.doubleValue() == result4.doubleValue() && result2.doubleValue() == result3.doubleValue())
+				return true;
+
+			return false;
+
+		}
+		if (this.glContrastVo.getContrastaspect().intValue() == 0) {
+			if (result1.sub(result2).sub(result3).add(result4).doubleValue() == 0.0D)
+				return true;
+
+			return false;
+
+		}
+		if (result1.sub(result2).sub(result4).add(result3).doubleValue() == 0.0D)
+			return true;
+
+		return false;
+	}
+
+	public UFDouble[] checkData() {
+		UFDouble result1 = new UFDouble(0);
+		UFDouble result2 = new UFDouble(0);
+		UFDouble result3 = new UFDouble(0);
+		UFDouble result4 = new UFDouble(0);
+
+		if (this.units.length > 0)
+			for (int i = 0; i < this.units.length; i++) {
+				Object pay = this.units[i].getCreditamount();
+				Object receipt = this.units[i].getDebitamount();
+				if (null != pay && !"".equals(pay)) {
+					result2 = result2.add(new UFDouble(pay.toString()));
+				} else if (null != receipt && !"".equals(receipt)) {
+					result1 = result1.add(new UFDouble(receipt.toString()));
+
+				}
+			}
+		if (this.banks.length > 0)
+			for (int i = 0; i < this.banks.length; i++) {
+				Object pay = this.banks[i].getCreditamount();
+				Object receipt = this.banks[i].getDebitamount();
+
+				if (null != pay && !"".equals(pay)) {
+
+					result4 = result4.add(new UFDouble(pay.toString()));
+				} else if (null != receipt && !"".equals(receipt)) {
+					result3 = result3.add(new UFDouble(receipt.toString()));
+
+				}
+			}
+		UFDouble[] result = new UFDouble[4];
+		result[0] = new UFDouble(result1.doubleValue(), this.precision);
+		result[1] = new UFDouble(result2.doubleValue(), this.precision);
+		result[2] = new UFDouble(result3.doubleValue(), this.precision);
+		result[3] = new UFDouble(result4.doubleValue(), this.precision);
+		return result;
+	}
+	
+	/**
+	 * @Title:doSyFile
+	 * @Description: [method] TODO whz 2022.3.4.15 手动对账触发附件传输
+	 * @return void
+	 * @param batchNumber
+	 * @throws BusinessException 
+	 * @Create: whz
+	 * @date: 2022年3月4日 下午3:30:17
+	 */
+	private void doSyFile(String batchNumber) throws BusinessException {
+		ContrastVO[] conts = (ContrastVO[]) ServiceLocator.find(IUifService.class).queryByCondition(ContrastVO.class, " batchnumber = '" + batchNumber + "' ");
+		ISyFileRequiresNew ser = ServiceLocator.find(ISyFileRequiresNew.class);
+		
+		// 转换参数
+		Map<String, String[]> map = ser.toParam_RequiresNew(conts);
+		// 开始同步
+		ser.syBill_RequiresNew(map, "cmp");
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/InformerToPaybillAction.class


+ 181 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/InformerToPaybillAction.java

@@ -0,0 +1,181 @@
+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.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;
+
+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.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);
+		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;
+		
+	}
+
+}
+

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/PaybillsInsertAction.class


+ 117 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/billmanagement/paybills/action/PaybillsInsertAction.java

@@ -0,0 +1,117 @@
+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;
+		}
+	}
+}

BIN
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/informer/informer/action/ListCancelGenerateAction.class


+ 287 - 0
hotwebs/nccloud/WEB-INF/classes/nccloud/web/cmp/informer/informer/action/ListCancelGenerateAction.java

@@ -0,0 +1,287 @@
+package nccloud.web.cmp.informer.informer.action;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import nc.vo.cdmc.cdm.repayintst.AggRepayIntstVO;
+import nc.vo.cdmc.cdm.repayprcpl.AggRepayPrcplVO;
+import nc.bs.framework.common.NCLocator;
+import nc.bs.framework.json.core.exception.BusinessException;
+import nc.impl.pubapp.pattern.data.vo.VOQuery;
+import nc.itf.obm.ebank.cjzf.IEbankYhhd;
+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.arap.gathering.AggGatheringBillVO;
+import nc.vo.arap.gathering.GatheringBillVO;
+import nc.vo.cdmc.cdm.contract.ContractVO;
+import nc.vo.cdmc.cdm.contract.PayPlanVO;
+import nc.vo.cdmc.cdm.financepay.AggFinancepayVO;
+import nc.vo.cdmc.cdm.financepay.FinancepayVO;
+import nc.vo.cmp.bill.BillAggVO;
+import nc.vo.cmp.bill.BillVO;
+import nc.vo.cmp.informer.GenerateFlagEnum;
+import nc.vo.cmp.informer.InformerAppendVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.ifm.apply.AggInvestApplyVO;
+import nc.vo.ifm.redeem.AggInvestRedeemVO;
+import nc.vo.ifm.redeem.InvestRedeemVO;
+import nc.vo.ml.AbstractNCLangRes;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.pub.lang.UFBoolean;
+import nc.vo.pub.lang.UFDate;
+import nc.vo.pub.lang.UFDouble;
+import nc.vo.pub.workflownote.WorkflownoteVO;
+import nccloud.framework.core.exception.ExceptionUtils;
+import nccloud.framework.service.ServiceLocator;
+import nccloud.framework.web.action.itf.ICommonAction;
+import nccloud.framework.web.container.IRequest;
+import nccloud.framework.web.ui.pattern.grid.Grid;
+import nccloud.pubitf.cmp.informer.INCCInformerManageService;
+import nccloud.web.cmp.informer.action.InformerAction;
+
+public class ListCancelGenerateAction extends InformerAction
+implements ICommonAction
+{
+public Object doAction(IRequest request)
+{
+  try
+  {
+    IEbankYhhd IEbankYhhdservice = (IEbankYhhd)ServiceLocator.find(IEbankYhhd.class);
+
+    InformerVO[] informvos = getOperateInformerVOs(request);
+
+    InformerVO[] cancelvos = getRelationVO(informvos);
+
+    List list = new ArrayList();
+
+    InformerAppendVO[] appendvos = new InformerAppendVO[cancelvos.length];
+    if ((appendvos == null) || (appendvos.length == 0)) {
+      ExceptionUtils.wrapBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607nccloud_ncc1_0", "03607nccloud_ncc1-0025"));
+    }
+    IUAPQueryBS iuap = NCLocator.getInstance().lookup(IUAPQueryBS.class);
+    WorkflownoteVO Workflownote = new WorkflownoteVO();
+    IMDPersistenceQueryService service = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
+    IPFBusiAction ipf = NCLocator.getInstance().lookup(IPFBusiAction.class);
+    HashSet hs = new HashSet();
+    IVOPersistence IVOPersistence = (IVOPersistence) NCLocator.getInstance().lookup(IVOPersistence.class);
+    for (int i = 0; i < cancelvos.length; i++) {
+
+			/**
+			 * 
+			 * 取消生单的理财赎回删除
+			 * 
+			 */
+
+			if ("3642".equals(cancelvos[i].getLowerbilltype())) {
+				String qrysql = "select vbillstatus from ifm_redeem where dr=0 and pk_redeem = '"+cancelvos[i].getPk_lower()+"'";
+				int vbillstatus = (int) iuap.executeQuery(qrysql,new ColumnProcessor());
+				if(vbillstatus == 1) {
+					ExceptionUtils.wrapBusinessException("只有自由态的单据才能够删除!");
+					return null;
+				}
+				AggInvestRedeemVO redeemaggvo = (AggInvestRedeemVO) service.queryBillOfNCObjectByPK(AggInvestRedeemVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+				ipf.processAction("DELETE", "3642", null, redeemaggvo, null, null);
+//	   	    	cancelvos[i].setGenerateflag("hasnogenerate");//未生成
+//	   	    	cancelvos[i].setUsemoney(UFDouble.ZERO_DBL);//赎回金额
+				cancelvos[i].setPk_claimer("");// 认证人
+				cancelvos[i].setClaimdate(null);// 认证日期
+//	   	    	cancelvos[i].setPk_lower("");//主键
+//	   	    	cancelvos[i].setLowerbilltype("");//单据类型---暂时处理解决  【不能识别下游单据3642】
+//	   	    	cancelvos[i].setDr(0);
+//	   	    	cancelvos[i].setSubfamily("");
+				IVOPersistence.updateVO(cancelvos[i]);
+			}
+
+			/**
+			 * 
+			 * 取消生单的理财申购删除
+			 * 
+			 */
+			if ("3641".equals(cancelvos[i].getLowerbilltype())) {
+				String qrysql = "select vbillstatus from ifm_apply where dr=0 and pk_apply = '"+cancelvos[i].getPk_lower()+"'";
+				String vbillstatus = (String) iuap.executeQuery(qrysql,new ColumnProcessor());
+				if("1".equals(vbillstatus)) {
+					ExceptionUtils.wrapBusinessException("只有自由态的单据才能够删除!");
+					return null;
+				}
+				
+				AggInvestApplyVO aggInvestApplyVO = (AggInvestApplyVO) service.queryBillOfNCObjectByPK(AggInvestApplyVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+				ipf.processAction("DELETE", "3641", Workflownote, aggInvestApplyVO, null, null);				
+				cancelvos[i].setPk_claimer("");// 认证人
+				cancelvos[i].setClaimdate(null);// 认证日期
+				IVOPersistence.updateVO(cancelvos[i]);
+				
+			}
+			
+			
+			//内贷还本
+			if("36Z4".equals(cancelvos[i].getLowerbilltype())) {
+				String qrysql = "select vbillstatus from cdmc_repayprcpl where dr=0 and pk_repayprcpl = '"+cancelvos[i].getPk_lower()+"'";
+				int vbillstatus = (int) iuap.executeQuery(qrysql,new ColumnProcessor());
+				if(vbillstatus == 1) {
+					ExceptionUtils.wrapBusinessException("只有自由态的单据才能够删除!");
+					return null;
+				}
+				
+				AggRepayPrcplVO repaaycpggvo = (AggRepayPrcplVO) service.queryBillOfNCObjectByPK(AggRepayPrcplVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+				ipf.processAction("DELETE", "36Z4", null, repaaycpggvo, null, null);
+				cancelvos[i].setPk_claimer("");// 认证人
+				cancelvos[i].setClaimdate(null);// 认证日期
+				IVOPersistence.updateVO(cancelvos[i]);
+			}
+			
+			if("36Z5".equals(cancelvos[i].getLowerbilltype())) {
+	        	try {
+	        		AggRepayIntstVO aggrepayintstvo = (AggRepayIntstVO) service.queryBillOfNCObjectByPK(AggRepayIntstVO.class,cancelvos[i].getPk_lower()).getContainmentObject();
+					ipf.processAction("DELETE", "36Z5", null, aggrepayintstvo, 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("F2".equals(cancelvos[i].getLowerbilltype())) {
+				AggGatheringBillVO agggatheringbill = (AggGatheringBillVO) service.queryBillOfNCObjectByPK(AggGatheringBillVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+				GatheringBillVO gatheringbillvo = agggatheringbill.getHeadVO();
+				String billstatus = gatheringbillvo.getBillstatus().toString();
+				if(billstatus.equals("1")||billstatus.equals("8")) {
+					ExceptionUtils.wrapBusinessException("单据已经签字确认,不能删除!");
+					return null;
+				}
+			}
+			
+			if("F5".equals(cancelvos[i].getLowerbilltype())) {
+				BillAggVO aggbillvo = (BillAggVO) service.queryBillOfNCObjectByPK(BillAggVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+				BillVO billvo =  (BillVO) aggbillvo.getParent();
+				String billstatus = billvo.getBill_status().toString();
+				if(billstatus.equals("1")||billstatus.equals("8")) {
+					ExceptionUtils.wrapBusinessException("单据已经签字确认,不能删除!");
+					return null;
+				}
+			}
+
+			list.add(cancelvos[i].getPk_informer());
+			appendvos[i] = getInformerManageService().cancelMakeBill(cancelvos[i]);
+			
+			if("F2".equals(cancelvos[i].getLowerbilltype())) {
+				try {
+					AggGatheringBillVO agggatheringbill = (AggGatheringBillVO) service.queryBillOfNCObjectByPK(AggGatheringBillVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+					ipf.processAction("DELETE", "F2", null, agggatheringbill, 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("F5".equals(cancelvos[i].getLowerbilltype())) {
+				try {
+					BillAggVO aggbillvo = (BillAggVO) service.queryBillOfNCObjectByPK(BillAggVO.class, cancelvos[i].getPk_lower()).getContainmentObject();
+					ipf.processAction("DELETE", "F5", null, aggbillvo, 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 (cancelvos[i].getTranserial() != null) {
+				hs.add(cancelvos[i].getTranserial());
+			}
+		}
+    
+    String[] transerials = (String[])hs.toArray(new String[0]);
+
+    IEbankYhhdservice.DzdAutoLinkCancel(transerials);
+
+    String[] status = { GenerateFlagEnum.HASNOGENERATE
+      .getGenerateFlag(), GenerateFlagEnum.HASRELEASE
+      .getGenerateFlag() };
+    Grid grid = getResultGrid(status, list, request);
+    return getResultVO(cancelvos, appendvos, grid);
+  } catch (Exception e) {
+    ExceptionUtils.wrapException(e);
+  }
+
+  return null;
+}
+}

+ 1909 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/arap/app/config/authorize/arap_authorize.xml

@@ -0,0 +1,1909 @@
+<authorizes>
+	<authorize>
+		<!--应收单据协同设置 应付单据协同设置 -->
+		<appcode>20060CONFER,20080CONFER</appcode>
+		<actions>
+			<!--单据协同设置添加 -->
+			<action>arap.billconfer.selfinsert</action>
+			<!--单据协同设置修改 -->
+			<action>arap.billconfer.selfupdate</action>
+			<!--单据协同设置查询 -->
+			<action>arap.billconfer.query</action>
+			<!--单据协同设置删除 -->
+			<action>arap.billconfer.delete</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收查询对象注册 应付查询对象对册 -->
+		<appcode>20060QOR,20080QOR</appcode>
+		<actions>
+			<!--查询对象注册查询 -->
+			<action>arap.queryobj.query</action>
+			<!--查询对象注册获取参考数据 -->
+			<action>arap.queryobj.getData</action>
+			<!--查询对象注册重建余额表 -->
+			<action>arap.queryobj.rebuild</action>
+			<!--查询对象注册保存 -->
+			<action>arap.queryobj.save</action>
+			<!--查询对象注册开关修改 -->
+			<action>arap.queryobj.switch</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--报表初始化 应付报表初始化 -->
+		<appcode>20060RIS,20080RIS</appcode>
+		<actions>
+			<!--报表初始化查询 -->
+			<action>arap.reportnodeinit.query</action>
+			<!--报表初始化删除 -->
+			<action>arap.reportnodeinit.delete</action>
+			<!--报表初始化第二步数据 -->
+			<action>arap.reportnodeinit.getData</action>
+			<!--账表报表初始化 -->
+			<action>arap.reportnodeinit.initreport</action>
+			<!--明细账联查处理情况 -->
+			<action>arap.report.linkQueryProcessOperator</action>
+			<!--第三步小应用树 -->
+			<action>platform.appregister.appregref</action>
+			<!-- 第四步菜单树 -->
+			<action>platform.appregister.menuitemregref</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收单管理 应收单录入 应收单审批 -->
+		<appcode>20060RBM,20060RBM000,20060RBM001</appcode>
+		<actions>
+			<!--判断应收单是否需要合并计算税 -->
+			<action>arap.arappub.isConsolidatedTax</action>
+			<!--应收单删除行之后合并计算税功能 -->
+			<action>arap.arappub.deleteAfterEditCalculate</action>
+			<!--收付联查收付款协议 -->
+			<action>arap.arappub.linkterm</action>
+			<!-- 收付联查收付款协议的编辑后事件 -->
+			<action>arap.arappub.termafterevent</action>
+			<!-- 收付联查收付款协议的增行事件 -->
+			<action>arap.arappub.termaddrow</action>
+			<!--应收单查询 -->
+			<action>arap.recbill.query</action>
+			<!--应收单卡片查询 -->
+			<action>arap.recbill.cardquery</action>
+			<!--应收单查询分页 -->
+			<action>arap.recbill.querygridbypks</action>
+			<!--联查应收单 -->
+			<action>arap.recbill.querybypks</action>
+			<!--应收单表头编辑后事件 -->
+			<action>arap.recbill.cardHeadAfterEdit</action>
+			<!--应收单表体编辑后事件 -->
+			<action>arap.recbill.cardBodyAfterEdit</action>
+			<!--新增 -->
+			<action>arap.recbill.initadd</action>
+			<!--增行 -->
+			<action>arap.recbill.addline</action>
+			<!--合并税务信息 -->
+			<action>arap.recbill.linkQueryTax</action>
+			<!--小部件跳转小应用查询 -->
+			<action>arap.recbill.querywidget</action>
+			<!--收付联查结算信息 -->
+			<action>arap.arappub.linksettleinfo</action>
+			<action>cmp.settlementmanagement.settlement.card.index</action>
+			<!--交易类型 -->
+			<action>riart.ref.fiBillTypeTableRefAction</action>
+			<!-- 联查来源——卡片 -->
+			<action>arap.arappub.queryBillCardByPK</action>
+			<!-- 转单查询 -->
+			<action>arap.arappub.transferquery</action>
+			<!-- 拉单收付款合同查询 -->
+			<action>fct.bill.transferquery</action>
+			<!-- 拉单保险索赔查询 -->
+			<action>aum.compensation.srccompensation_query</action>
+			<!-- 拉单资产处置查询 -->
+			<action>aum.sale.srcsale_query</action>
+			<!-- 拉单资产租出结算单查询 -->
+			<action>alo.rent.settlerec_query</action>
+			<!-- 获取结账报告 -->
+			<action>arap.closeaccount.getcloseaccountreport</action>
+			<!-- 取消结账 -->
+			<action>arap.closeaccount.oncancelcloseAccount</action>
+			<!-- 结账检查是否有检查项 -->
+			<action>arap.closeaccount.oncheck</action>
+			<!-- 完成结账,触发结账的动作 -->
+			<action>arap.closeaccount.oncloseaccountover</action>
+			<!-- 结账根据财务组织查询结账信息 -->
+			<action>arap.closeaccount.querybypkorg</action>
+			<!--补差弹出界面确定按钮 -->
+			<action>arap.billverify.varyMoneyConfirm</action>
+			<!--收款单表头编辑后事件 -->
+			<action>arap.gatheringbill.cardheadafteredit</action>
+			<!--收款单表体编辑后事件 -->
+			<action>arap.gatheringbill.cardbodyafteredit</action>
+			<!--应收单导出 -->
+			<action>arap.recbill.recbillexport</action>
+			<!--红字应收单退款 -->
+			<action>arap.arappub.refund</action>
+			<!--红字应收单取消退款 -->
+			<action>arap.arappub.cancelrefund</action>
+			<!--红字应收单批量退款 -->
+			<action>arap.arappub.listrefund</action>
+			<!--红字应收单取消批量退款 -->
+			<action>arap.arappub.listcancelrefund</action>
+			<!--客户费用单推应收单 -->
+			<action>arap.recbill.arsubtorecbill</action>
+			<!--生成 -->
+			<action>arap.arappub.generate</action>
+			<!--批量生成 -->
+			<action>arap.arappub.listgenerate</action>
+			<!--生成发票 -->
+			<action>arap.recbill.invgenerate</action>
+			<!--批量生成发票 -->
+			<action>arap.recbill.invlistgenerate</action>
+			<!--查询对应的蓝字单据 -->
+			<action>arap.recbill.querybulebill</action>
+			<!--为了解决应收期初确认小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--应收期初查询 -->
+			<action>arap.initrecbill.query</action>
+			<!--应收期初卡片查询 -->
+			<action>arap.initrecbill.cardquery</action>
+			<!--应收期初删除 -->
+			<action>arap.initrecbill.delete</action>
+			<!--应收期初修改,新增保存 -->
+			<action>arap.initrecbill.save</action>
+			<!--应收期初挂起 -->
+			<action>arap.initrecbill.pausetransact</action>
+			<!--应收期初取消挂起 -->
+			<action>arap.initrecbill.cancelpausetransact</action>
+			<!--应收期初查询分页 -->
+			<action>arap.initrecbill.querygridbypks</action>
+			<!--应收期初卡片表头编辑后事件 -->
+			<action>arap.initrecbill.cardHeadAfterEdit</action>
+			<!--应收期初卡片表体编辑后事件 -->
+			<action>arap.initrecbill.cardBodyAfterEdit</action>
+			<!--新增时前台默认显示值事件 -->
+			<action>arap.initrecbill.defvalue</action>
+			<!--增行 -->
+			<action>arap.initrecbill.addline</action>
+			<!--修改 -->
+			<action>arap.initrecbill.edit</action>
+			<action>arap.receivablebill.initrecbill.card.index</action>
+			<!--获取默认场景下的小应用编码 -->
+			<action>arap.arappub.queryrelatedapp</action>
+			<!--为了解决应收单协同确认小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--应收单协同表头编辑后事件 -->
+			<action>arap.recbillconfer.cardHeadAfterEdit</action>
+			<!--应收单协同表体编辑后事件 -->
+			<action>arap.recbillconfer.cardBodyAfterEdit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--应收单协同确认卡片查询 -->
+			<action>arap.recbillconfer.cardquery</action>
+			<!--应收单协同确认卡片查询 -->
+			<action>arap.recbillconfer.cardquery</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--应收单协同查询分页 -->
+			<action>arap.recbillconfer.querygridbypks</action>
+			<!-- 应收单协同取消挂起 -->
+			<action>arap.recbillconfer.cancelPause </action>
+			<!-- 应收单协同复制 -->
+			<action>arap.recbillconfer.copy</action>
+			<!-- 应收单协同确认删除 -->
+			<action>arap.recbillconfer.delete</action>
+			<!-- 修改 -->
+			<action>arap.recbillconfer.edit</action>
+			<!-- 新增 -->
+			<action>arap.recbillconfer.initadd</action>
+			<!-- 应收单协同确认增加 -->
+			<action>arap.recbillconfer.insert</action>
+			<!-- 应收单协同挂起 -->
+			<action>arap.recbillconfer.pause</action>
+			<!-- 应收单协同确认查询 -->
+			<action>arap.recbillconfer.query</action>
+			<!-- 应收单协同确认修改 -->
+			<action>arap.recbillconfer.update</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+			<!-- 拉资产结算 -->
+			<action>aol.settle.settle_query</action>
+			<!-- 租出结算 -->
+			<action>rom.balancerec.balancerec_query</action>
+			<!-- 应收单拉 经营性费用 -->
+			<action>aol.lease.expense_query</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--收款单管理 收款单录入 收款单审批 -->
+		<appcode>20060GBM,20060GBM000,20060GBM001</appcode>
+		<actions>
+			<!--资金是否启用校验 -->
+			<action>arap.arappub.validatecmp</action>
+			<!--收付联查到账信息 -->
+			<action>arap.arappub.linkinformer</action>
+			<!--收款单查询 -->
+			<action>arap.gatheringbill.query</action>
+			<!--收款单分页查询 -->
+			<action>arap.gatheringbill.querygridbyids</action>
+			<!--收款单卡片查询 -->
+			<action>arap.gatheringbill.cardquery</action>
+			<!--收款单管理新增行操作 -->
+			<action>arap.gatheringbill.addline</action>
+			<!--新增 -->
+			<action>arap.gatheringbill.add</action>
+			<!--收款单表头编辑后事件 -->
+			<action>arap.gatheringbill.cardheadafteredit</action>
+			<!--收款单表体编辑后事件 -->
+			<action>arap.gatheringbill.cardbodyafteredit</action>
+			<!--销售订单推收款单处理 -->
+			<action>arap.gatheringbill.saleordertogather</action>
+			<!--收款合同的收款计划推收款单 -->
+			<action>arap.gatheringbill.fct2togatherbill</action>
+			<!--客户费用单推收款单 -->
+			<action>arap.gatheringbill.arsubtogatherbill</action>
+			<!--销售合同推收款单 -->
+			<action>arap.gatheringbill.cttogatherbill</action>
+			<!-- 资金收票推收款单 -->
+			<action>arap.gatheringbill.cmH1togatherbill</action>
+			<!--小部件跳转小应用查询 -->
+			<action>arap.gatheringbill.querywidget</action>
+			<!--获取默认场景下的小应用编码 -->
+			<action>arap.arappub.queryrelatedapp</action>
+			<!--收付联查结算信息 -->
+			<action>arap.arappub.linksettleinfo</action>
+			<!--关联结账信息 -->
+			<action>arap.arappub.associatesettinfo</action>
+			<!--交易类型 -->
+			<action>riart.ref.fiBillTypeTableRefAction</action>
+			<!-- 联查来源——卡片 -->
+			<action>arap.arappub.queryBillCardByPK</action>
+			<!-- 转单查询 -->
+			<action>arap.arappub.transferquery</action>
+			<!-- 拉单收付款合同查询 -->
+			<action>fct.bill.transferquery</action>
+			<!--补差弹出界面确定按钮 -->
+			<action>arap.billverify.varyMoneyConfirm</action>
+			<!--应收单表头编辑后事件 -->
+			<action>arap.recbill.cardHeadAfterEdit</action>
+			<!--应收单表体编辑后事件 -->
+			<action>arap.recbill.cardBodyAfterEdit</action>
+			<!--收款单导入导出 -->
+			<action>arap.gatheringbill.gatherbillexport</action>
+			<!--蓝字收款单退款 -->
+			<action>arap.arappub.refund</action>
+			<!--蓝字收款单取消退款 -->
+			<action>arap.arappub.cancelrefund</action>
+			<!--蓝字收款单批量退款 -->
+			<action>arap.arappub.listrefund</action>
+			<!--蓝字收款单取消批量退款 -->
+			<action>arap.arappub.listcancelrefund</action>
+			<!--生成 -->
+			<action>arap.arappub.generate</action>
+			<!--批量生成 -->
+			<action>arap.arappub.listgenerate</action>
+			<!--为了解决单据协同确认小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--收款单协同分页查询 -->
+			<action>arap.confirmgatheringbill.querygridbyids</action>
+			<!--收款单协同确认查询 -->
+			<action>arap.confirmgatheringbill.query</action>
+			<!--收款单协同确认卡片查询 -->
+			<action>arap.confirmgatheringbill.cardquery</action>
+			<!--收款协同表体编辑后事件 -->
+			<action>arap.confirmgatheringbill.cardbodyafteredit</action>
+			<!--收款协同表头编辑后事件 -->
+			<action>arap.confirmgatheringbill.cardheadafteredit</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!--为了解决收款期初小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--收款期初单查询 -->
+			<action>arap.initgatheringbill.query</action>
+			<!--收款期初单卡片查询 -->
+			<action>arap.initgatheringbill.cardquery</action>
+			<!--收款期初单删除 -->
+			<action>arap.initgatheringbill.delete</action>
+			<!--收款期初单新增、修改保存 -->
+			<action>arap.initgatheringbill.save</action>
+			<!--收款期初表体编辑后事件 -->
+			<action>arap.initgatheringbill.cardheadafteredit</action>
+			<!--收款期初表体编辑后事件 -->
+			<action>arap.initgatheringbill.cardbodyafteredit</action>
+			<!--新增 -->
+			<action>arap.initgatheringbill.initadd</action>
+			<!--分页页码点击 -->
+			<action>arap.initgatheringbill.querygridbypks</action>
+			<!--增行 -->
+			<action>arap.initgatheringbill.addline</action>
+			<!--打印 -->
+			<action>arap.initgatheringbill.print</action>
+			<!--修改 -->
+			<action>arap.initgatheringbill.edit</action>
+			<!--到账通知推收款单 -->
+			<action>arap.gatheringbill.InformerToGatheringBillAction</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应付单管理 应付单录入 应付单审批 -->
+		<appcode>20080PBM,20080PBM000,20080PBM001</appcode>
+		<actions>
+			<!--收付联查收付款协议 -->
+			<action>arap.arappub.linkterm</action>
+			<!-- 收付联查收付款协议的编辑后事件 -->
+			<action>arap.arappub.termafterevent</action>
+			<!-- 收付联查收付款协议的增行事件 -->
+			<action>arap.arappub.termaddrow</action>
+			<!--应付单管理卡片 -->
+			<action>arap.payablebill.querycard</action>
+			<!--应付单管理查询 -->
+			<action>arap.payablebill.queryscheme</action>
+			<!--应付单管理查询 -->
+			<action>arap.payablebill.querygridbyids</action>
+			<!--应付单管理查询 -->
+			<action>arap.payablebill.defvalue</action>
+			<!--应付单管理表头编辑后事件 -->
+			<action>arap.payablebill.cardheadafteredit</action>
+			<!--应付单管理表体编辑后事件 -->
+			<action>arap.payablebill.cardbodyafteredit</action>
+			<!--应付单列表带主键查询 -->
+			<action>arap.payablebill.querywithpks</action>
+			<!--小部件跳转小应用查询 -->
+			<action>arap.payablebill.querywidget</action>
+			<!--获取默认场景下的小应用编码 -->
+			<action>arap.arappub.queryrelatedapp</action>
+			<!--应付单新增行默认值 -->
+			<action>arap.payablebillpub.addline</action>
+			<!-- 联查来源——卡片 -->
+			<action>arap.arappub.queryBillCardByPK</action>
+			<!-- 转单查询 -->
+			<action>arap.arappub.transferquery</action>
+			<!-- 拉单收付款合同查询 -->
+			<action>fct.bill.transferquery</action>
+			<!-- 拉单资产处置查询 -->
+			<action>aum.sale.srcsale_query</action>
+			<!-- 拉单资产投保查询 -->
+			<action>aum.insurance.srcinsurance_query</action>
+			<!-- 拉单安装调试查询 -->
+			<action>aum.install.srcinstall_query</action>
+			<!-- 拉单资产租入结算单查询 -->
+			<action>ali.rent.settlerec_query</action>
+			<!-- 拉单资产临时租入租金结算单查询 -->
+			<action>ali.temporary.tempsettle_query</action>
+			<!-- 获取结账报告 -->
+			<action>arap.closeaccount.getcloseaccountreport</action>
+			<!-- 取消结账 -->
+			<action>arap.closeaccount.oncancelcloseAccount</action>
+			<!-- 结账检查是否有检查项 -->
+			<action>arap.closeaccount.oncheck</action>
+			<!-- 完成结账,触发结账的动作 -->
+			<action>arap.closeaccount.oncloseaccountover</action>
+			<!-- 结账根据财务组织查询结账信息 -->
+			<action>arap.closeaccount.querybypkorg</action>
+			<!--补差弹出界面确定按钮 -->
+			<action>arap.billverify.varyMoneyConfirm</action>
+			<!--付款单管理表体编辑后事件 -->
+			<action>arap.paybill.cardbodyafteredit</action>
+			<!--付款单管理表体编辑后事件 -->
+			<action>arap.paybill.cardbodyafteredit</action>
+			<!--应付单导入导出 -->
+			<action>arap.payablebill.payablebillexport</action>
+			<!--生成 -->
+			<action>arap.arappub.generate</action>
+			<!--批量生成 -->
+			<action>arap.arappub.listgenerate</action>
+			<!--为了解决应付期初小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--应付期初删除 -->
+			<action>arap.initpayablebill.delete</action>
+			<!--应付期初保存 -->
+			<action>arap.initpayablebill.save</action>
+			<!--应付期初卡片 -->
+			<action>arap.initpayablebill.querycard</action>
+			<!--应付期初查询 -->
+			<action>arap.initpayablebill.queryscheme</action>
+			<!--应付期初根据id查询 -->
+			<action>arap.initpayablebill.querygridbyids</action>
+			<!--应付期初表头编辑后事件 -->
+			<action>arap.initpayablebill.cardheadafteredit</action>
+			<!--应付期初表体编辑后事件 -->
+			<action>arap.initpayablebill.cardbodyafteredit</action>
+			<!--应付期初新增时前台默认显示值事件 -->
+			<action>arap.initpayablebill.defvalue</action>
+			<!--为了解决应付单协同确认小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--应付单管理表头编辑后事件 -->
+			<action>arap.confirmpayablebill.cardheadafteredit</action>
+			<!--应付单管理表体编辑后事件 -->
+			<action>arap.confirmpayablebill.cardbodyafteredit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--应付单协同确认卡片 -->
+			<action>arap.confirmpayablebill.querycard</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--应付单协同确认查询 -->
+			<action>arap.confirmpayablebill.queryscheme</action>
+			<!--应付协同确认根据id查询 -->
+			<action>arap.confirmpayablebill.querygridbyids</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+			<!--应付单,付款单,上传电子发票 -->
+			<action>arap.arappub.sendeleinvoice</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--付款单 付款单录入 付款单审批 -->
+		<appcode>20080EBM,20080EBM000,20080EBM001</appcode>
+		<actions>
+			<!--收付联查结算信息 -->
+			<action>arap.arappub.linksettleinfo</action>
+			<!--资金是否启用校验 -->
+			<action>arap.arappub.validatecmp</action>
+			<!--收付联查到账信息 -->
+			<action>arap.arappub.linkinformer</action>
+			<!--付款单管理卡片 -->
+			<action>arap.paybill.querycard</action>
+			<!--付款单管理分页根据id查询 -->
+			<action>arap.paybill.querygridbyids</action>
+			<!--付款单管理查询 -->
+			<action>arap.paybill.queryscheme</action>
+			<!--付款单管理表头编辑后事件 -->
+			<action>arap.paybill.cardheadafteredit</action>
+			<!--付款单管理表体编辑后事件 -->
+			<action>arap.paybill.cardbodyafteredit</action>
+			<!--付款单管理新增时前台默认显示值事件 -->
+			<action>arap.paybill.defvalue</action>
+			<!--付款计划推付款单 -->
+			<action>arap.paybill.putopaybill</action>
+			<!--采购合同推付款单 -->
+			<action>arap.paybill.z2topaybill</action>
+			<!--付款计划推付款单 -->
+			<action>arap.paybill.fct1topaybill</action>
+			<!--小部件跳转小应用查询 -->
+			<action>arap.paybill.querywidget</action>
+			<!--获取默认场景下的小应用编码 -->
+			<action>arap.arappub.queryrelatedapp</action>
+			<!--收付联查结算信息 -->
+			<action>arap.arappub.linksettleinfo</action>
+			<!--付款单新增行默认值 -->
+			<action>arap.paybillpub.addline</action>
+			<!-- 联查来源——卡片 -->
+			<action>arap.arappub.queryBillCardByPK</action>
+			<!-- 转单查询 -->
+			<action>arap.arappub.transferquery</action>
+			<!-- 拉单收付款合同查询 -->
+			<action>fct.bill.transferquery</action>
+			<!-- 拉单付款申请查询 -->
+			<action>cmp.apply.To36D1</action>
+			<!-- 承付 -->
+			<action>arap.arappub.commisionpay</action>
+			<!-- 取消承付 -->
+			<action>arap.arappub.cancelcommisionpay</action>
+			<!--关联结账信息 -->
+			<action>arap.arappub.associatesettinfo</action>
+			<!--补差弹出界面确定按钮 -->
+			<action>arap.billverify.varyMoneyConfirm</action>
+			<!--应付单管理表头编辑后事件 -->
+			<action>arap.payablebill.cardheadafteredit</action>
+			<!--应付单管理表体编辑后事件 -->
+			<action>arap.payablebill.cardbodyafteredit</action>
+			<!--付款单导入导出 -->
+			<action>arap.paybill.paybillexport</action>
+			<!--生成 -->
+			<action>arap.arappub.generate</action>
+			<!--批量生成 -->
+			<action>arap.arappub.listgenerate</action>
+			<!--为了解决付款期初小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--付款期初删除 -->
+			<action>arap.initpaybill.delete</action>
+			<!--付款期初插入 -->
+			<action>arap.initpaybill.save</action>
+			<!--付款期初卡片 -->
+			<action>arap.initpaybill.querycard</action>
+			<!--付款期初分页根据id查询 -->
+			<action>arap.initpaybill.querygridbyids</action>
+			<!--付款期初查询 -->
+			<action>arap.initpaybill.queryscheme</action>
+			<!--付款期初表头编辑后事件 -->
+			<action>arap.initpaybill.cardheadafteredit</action>
+			<!--付款期初表体编辑后事件 -->
+			<action>arap.initpaybill.cardbodyafteredit</action>
+			<!--付款期初新增时前台默认显示值事件 -->
+			<action>arap.initpaybill.defvalue</action>
+			<!--为了解决付款单协同确认小应用复制,按钮鉴权问题,需要在source_app_code中加一份权限 -->
+			<!--付款单协同确认卡片 -->
+			<action>arap.confirmpaybill.querycard</action>
+			<!--付款单协同确认查询 -->
+			<action>arap.confirmpaybill.queryscheme</action>
+			<!--付款协同确认根据id查询 -->
+			<action>arap.confirmpaybill.querygridbyids</action>
+			<!--付款协同表体编辑后事件 -->
+			<action>arap.confirmpaybill.cardbodyafteredit</action>
+			<!--付款协同表头编辑后事件 -->
+			<action>arap.confirmpaybill.cardheadafteredit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+			<!--应付单,付款单,上传电子发票 -->
+			<action>arap.arappub.sendeleinvoice</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收 收款 应付 付款 应收单录入 应收单审批 收款单录入 收款单审批 应付单录入 应付单审批 付款单录入 付款单审批 -->
+		<appcode>20060RBM,20060GBM,20080PBM,20080EBM,20060RBM000,20060RBM001,20060GBM000,20060GBM001,20080PBM000,20080PBM001,20080EBM000,20080EBM001
+		</appcode>
+		<actions>
+			<!--单据批量提交1234 -->
+			<action>arap.arappub.batchcommit</action>
+			<!--单据批量收回1234 -->
+			<action>arap.arappub.batchuncommit</action>
+			<!--单据删除1234 -->
+			<action>arap.arappub.delete</action>
+			<!--单据制单1234 -->
+			<action>arap.arappub.madebill</action>
+			<!--收付联查协同1234 -->
+			<action>arap.arappub.linkconfer</action>
+			<!--凭证联查单据1234 -->
+			<action>arap.arappub.queryGridByPK</action>
+			<!--单据提交1234 -->
+			<action>arap.arappub.commit</action>
+			<!--单据收回1234 -->
+			<action>arap.arappub.uncommit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据暂存1234 -->
+			<action>arap.arappub.tempsave</action>
+			<!--单据保存并提交1234 -->
+			<action>arap.arappub.saveandcommit</action>
+			<!--单据修改1234 -->
+			<action>arap.arappub.edit</action>
+			<!--单据预收付1234 -->
+			<action>arap.arappub.prepay</action>
+			<!--收付单据红冲操作1234 -->
+			<action>arap.arappub.redback</action>
+			<!--收付联查凭证1234 -->
+			<action>arap.arappub.linkvouchar</action>
+			<!--收付联查计划预算1234 -->
+			<action>arap.arappub.linktbb</action>
+			<!--转单处理1234 -->
+			<action>arap.arappub.transfer</action>
+			<!--交易类型浏览 -->
+			<action>arap.billtype.browse</action>
+			<!-- 查询所有按钮,包含新增下流程按钮 -->
+			<action>arap.arappub.queryallbtns</action>
+			<!-- 资金联查收付单据列表 -->
+			<action>arap.arappub.cmpLinkArapList</action>
+			<!-- 资金联查收付单据卡片 -->
+			<action>arap.arappub.cmpLinkArapCard</action>
+			<!--补差处理 -->
+			<action>arap.billverify.varyMoney</action>
+			<!--获取当前审批人可编辑的字段 -->
+			<action>arap.arappub.billCanEditProperties</action>
+			<!--应付单,付款单,上传电子发票 -->
+			<action>arap.arappub.sendeleinvoice</action>
+			<!-- 修改请求后台校验冻结 -->
+			<action>arap.arappub.checkfrozenforedit</action>
+			<!--到账通知推收款单 -->
+			<action>arap.gatheringbill.InformerToGatheringBillAction</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收 收款 应付 付款 应收期初 收款期初 应付期初 付款期初 未确认应收单管理 应收单录入 应收单审批 收款单录入 收款单审批 应付单录入 
+			应付单审批 付款单录入 付款单审批 -->
+		<appcode>20060RBM,20060GBM,20080PBM,20080EBM,20060ARO,20060RO,20080APO,20080PO,200605ERB,20060RBM000,20060RBM001,20060GBM000,20060GBM001,20080PBM000,20080PBM001,20080EBM000,20080EBM001,20060BDPI
+		</appcode>
+		<actions>
+			<!--单据批量提交1234 -->
+			<action>arap.arappub.batchcommit</action>
+			<!--单据批量收回1234 -->
+			<action>arap.arappub.batchuncommit</action>
+			<!--单据删除1234 -->
+			<action>arap.arappub.delete</action>
+			<!--单据制单1234 -->
+			<action>arap.arappub.madebill</action>
+			<!--收付联查协同1234 -->
+			<action>arap.arappub.linkconfer</action>
+			<!--凭证联查单据1234 -->
+			<action>arap.arappub.queryGridByPK</action>
+			<!--单据提交1234 -->
+			<action>arap.arappub.commit</action>
+			<!--单据收回1234 -->
+			<action>arap.arappub.uncommit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据暂存1234 -->
+			<action>arap.arappub.tempsave</action>
+			<!--单据保存并提交1234 -->
+			<action>arap.arappub.saveandcommit</action>
+			<!--单据修改1234 -->
+			<action>arap.arappub.edit</action>
+			<!--单据预收付1234 -->
+			<action>arap.arappub.prepay</action>
+			<!--收付单据红冲操作1234 -->
+			<action>arap.arappub.redback</action>
+			<!--收付联查凭证1234 -->
+			<action>arap.arappub.linkvouchar</action>
+			<!--收付联查计划预算1234 -->
+			<action>arap.arappub.linktbb</action>
+			<!--转单处理1234 -->
+			<action>arap.arappub.transfer</action>
+			<!--交易类型浏览 -->
+			<action>arap.billtype.browse</action>
+			<!-- 查询所有按钮,包含新增下流程按钮 -->
+			<action>arap.arappub.queryallbtns</action>
+			<!-- 资金联查收付单据列表 -->
+			<action>arap.arappub.cmpLinkArapList</action>
+			<!-- 资金联查收付单据卡片 -->
+			<action>arap.arappub.cmpLinkArapCard</action>
+			<!--补差处理 -->
+			<action>arap.billverify.varyMoney</action>
+			<!--获取当前审批人可编辑的字段 -->
+			<action>arap.arappub.billCanEditProperties</action>
+			<!--单据联查余额表123456789 -->
+			<action>arap.arappub.arapBillLinkReport</action>
+			<!-- 收付联查余额表 -->
+			<action>arap.arappub.linkbal</action>
+			<!--单据打印123456789 -->
+			<action>arap.arappub.print</action>
+			<!--输出...123456789 -->
+			<action>arap.arappub.outPut</action>
+			<!--正式打印123456789 -->
+			<action>arap.arappub.officialPrint</action>
+			<!--取消正式打印123456789 -->
+			<action>arap.arappub.cancelPrint</action>
+			<!--单据挂起123456789 -->
+			<action>arap.arappub.pause</action>
+			<!--单据取消挂起123456789 -->
+			<action>arap.arappub.cancelpause</action>
+			<!--对各种税率的可操作性的控制 -->
+			<action>arap.ref.ratecontrol</action>
+			<!--收付联查处理情况12345678 -->
+			<action>arap.arappub.linkdeal</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--单据复制12345678 -->
+			<action>arap.arappub.copy</action>
+			<!-- 收付联查收付款协议的保存 -->
+			<action>arap.arappub.linktermsave</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+			<!--用于计算表体表头金额(复制使用) -->
+			<action>arap.arappub.processImpMoney</action>
+			<!--复制的时候期初单据需要获取单据日期和业务流程 -->
+			<action>arap.arappub.getBusitypeAndBilldate</action>
+			<!-- 修改请求后台校验冻结 -->
+			<action>arap.arappub.checkfrozenforedit</action>
+			<!--到账通知推收款单 -->
+			<action>arap.gatheringbill.InformerToGatheringBillAction</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收期初管理 -->
+		<appcode>20060ARO</appcode>
+		<actions>
+			<!--应收期初查询 -->
+			<action>arap.initrecbill.query</action>
+			<!--应收期初卡片查询 -->
+			<action>arap.initrecbill.cardquery</action>
+			<!--应收期初删除 -->
+			<action>arap.initrecbill.delete</action>
+			<!--应收期初修改,新增保存 -->
+			<action>arap.initrecbill.save</action>
+			<!--应收期初挂起 -->
+			<action>arap.initrecbill.pausetransact</action>
+			<!--应收期初取消挂起 -->
+			<action>arap.initrecbill.cancelpausetransact</action>
+			<!--应收期初查询分页 -->
+			<action>arap.initrecbill.querygridbypks</action>
+			<!--应收期初卡片表头编辑后事件 -->
+			<action>arap.initrecbill.cardHeadAfterEdit</action>
+			<!--应收期初卡片表体编辑后事件 -->
+			<action>arap.initrecbill.cardBodyAfterEdit</action>
+			<!--新增时前台默认显示值事件 -->
+			<action>arap.initrecbill.defvalue</action>
+			<!--增行 -->
+			<action>arap.initrecbill.addline</action>
+			<!--修改 -->
+			<action>arap.initrecbill.edit</action>
+			<action>arap.receivablebill.initrecbill.card.index</action>
+			<!--交易类型 -->
+			<action>riart.ref.fiBillTypeTableRefAction</action>
+			<!--获取默认场景下的小应用编码 -->
+			<action>arap.arappub.queryrelatedapp</action>
+			<!--判断应收单是否需要合并计算税 -->
+			<action>arap.arappub.isConsolidatedTax</action>
+			<!--应收单导出 -->
+			<action>arap.recbill.recbillexport</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--收款期初管理 -->
+		<appcode>20060RO</appcode>
+		<actions>
+			<!--收款期初单查询 -->
+			<action>arap.initgatheringbill.query</action>
+			<!--收款期初单卡片查询 -->
+			<action>arap.initgatheringbill.cardquery</action>
+			<!--收款期初单删除 -->
+			<action>arap.initgatheringbill.delete</action>
+			<!--收款期初单新增、修改保存 -->
+			<action>arap.initgatheringbill.save</action>
+			<!--收款期初表体编辑后事件 -->
+			<action>arap.initgatheringbill.cardheadafteredit</action>
+			<!--收款期初表体编辑后事件 -->
+			<action>arap.initgatheringbill.cardbodyafteredit</action>
+			<!--新增 -->
+			<action>arap.initgatheringbill.initadd</action>
+			<!--分页页码点击 -->
+			<action>arap.initgatheringbill.querygridbypks</action>
+			<!--增行 -->
+			<action>arap.initgatheringbill.addline</action>
+			<!--打印 -->
+			<action>arap.initgatheringbill.print</action>
+			<!--交易类型 -->
+			<action>riart.ref.fiBillTypeTableRefAction</action>
+			<!--修改 -->
+			<action>arap.initgatheringbill.edit</action>
+			<!--收款单导入导出 -->
+			<action>arap.gatheringbill.gatherbillexport</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应付期初 -->
+		<appcode>20080APO</appcode>
+		<actions>
+			<!--应付期初删除 -->
+			<action>arap.initpayablebill.delete</action>
+			<!--应付期初保存 -->
+			<action>arap.initpayablebill.save</action>
+			<!--应付期初卡片 -->
+			<action>arap.initpayablebill.querycard</action>
+			<!--应付期初查询 -->
+			<action>arap.initpayablebill.queryscheme</action>
+			<!--应付期初根据id查询 -->
+			<action>arap.initpayablebill.querygridbyids</action>
+			<!--应付期初表头编辑后事件 -->
+			<action>arap.initpayablebill.cardheadafteredit</action>
+			<!--应付期初表体编辑后事件 -->
+			<action>arap.initpayablebill.cardbodyafteredit</action>
+			<!--应付期初新增时前台默认显示值事件 -->
+			<action>arap.initpayablebill.defvalue</action>
+			<!--应付单新增行默认值 -->
+			<action>arap.payablebillpub.addline</action>
+			<!--应付单导入导出 -->
+			<action>arap.payablebill.payablebillexport</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收期初 收款期初 应付期初 付款期初 -->
+		<appcode>20060ARO,20060RO,20080APO,20080PO</appcode>
+		<actions>
+			<!--期初单据批量刪除1234 -->
+			<action>arap.init.batchdelete</action>
+			<!--收付联查收付款协议1234 -->
+			<action>arap.arappub.linkterm</action>
+			<!-- 收付联查收付款协议的编辑后事件 -->
+			<action>arap.arappub.termafterevent</action>
+			<!-- 收付联查收付款协议的增行事件 -->
+			<action>arap.arappub.termaddrow</action>
+			<!--修改1234 -->
+			<action>arap.init.edit</action>
+			<!-- 期初建账 -->
+			<action>arap.init.close</action>
+			<!-- 取消期初建账 -->
+			<action>arap.init.cancelclose</action>
+			<!-- 查询所有按钮,包含新增下流程按钮 -->
+			<action>arap.arappub.queryallbtns</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--付款期初 -->
+		<appcode>20080PO</appcode>
+		<actions>
+			<!--付款期初删除 -->
+			<action>arap.initpaybill.delete</action>
+			<!--付款期初插入 -->
+			<action>arap.initpaybill.save</action>
+			<!--付款期初卡片 -->
+			<action>arap.initpaybill.querycard</action>
+			<!--付款期初分页根据id查询 -->
+			<action>arap.initpaybill.querygridbyids</action>
+			<!--付款期初查询 -->
+			<action>arap.initpaybill.queryscheme</action>
+			<!--付款期初表头编辑后事件 -->
+			<action>arap.initpaybill.cardheadafteredit</action>
+			<!--付款期初表体编辑后事件 -->
+			<action>arap.initpaybill.cardbodyafteredit</action>
+			<!--付款期初新增时前台默认显示值事件 -->
+			<action>arap.initpaybill.defvalue</action>
+			<!--付款单新增行默认值 -->
+			<action>arap.paybillpub.addline</action>
+			<!--付款单导入导出 -->
+			<action>arap.paybill.paybillexport</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--未确认应收单管理 -->
+		<appcode>200605ERB</appcode>
+		<actions>
+			<!--未确认应收单查询 -->
+			<action>arap.estirecbill.query</action>
+			<!--未确认应收单查询分页 -->
+			<action>arap.estirecbill.querygridbypks</action>
+			<!--未确认应收单卡片查询 -->
+			<action>arap.estirecbill.cardquery</action>
+			<!--未确认应收单保存 -->
+			<action>arap.estirecbill.save</action>
+			<!--未确认应收单取消挂起 -->
+			<action>arap.estirecbill.cancelPause</action>
+			<!--未确认应收单挂起 -->
+			<action>arap.estirecbill.pause</action>
+			<!--未确认应收单表体编辑后事件 -->
+			<action>arap.estirecbill.cardBodyAfterEdit</action>
+			<!--未确认应收单表头编辑后事件 -->
+			<action>arap.estirecbill.cardHeadAfterEdit</action>
+			<!--单据制单1234 -->
+			<action>arap.arappub.madebill</action>
+			<!--收付联查协同1234 -->
+			<action>arap.arappub.linkconfer</action>
+			<!--收付联查凭证1234 -->
+			<action>arap.arappub.linkvouchar</action>
+			<!--单据批量取消审批 -->
+			<action>arap.arappub.listunapprove</action>
+			<!--单据批量审批 -->
+			<action>arap.arappub.listapprove</action>
+			<!--单据修改1234 -->
+			<action>arap.arappub.edit</action>
+			<!--单据审批 -->
+			<action>arap.arappub.approve</action>
+			<!--单据取消审批 -->
+			<action>arap.arappub.unapprove</action>
+			<!--单据删除1234 -->
+			<action>arap.arappub.delete</action>
+			<!--审批单据 -->
+			<action>platform.flow.approve</action>
+			<!--暂估应收卡片页面 -->
+			<action>arap.estireceivable.estirecbill.card.index</action>
+			<!-- 联查来源——卡片 -->
+			<action>arap.arappub.queryBillCardByPK</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+			<!--单据新增、修改保存 -->
+			<action>arap.arappub.save</action>
+			<!--凭证联查单据1234 -->
+			<action>arap.arappub.queryGridByPK</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--收款单协同 -->
+		<appcode>20060GBC</appcode>
+		<actions>
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--收款单协同分页查询 -->
+			<action>arap.confirmgatheringbill.querygridbyids</action>
+			<!--收款单协同确认查询 -->
+			<action>arap.confirmgatheringbill.query</action>
+			<!--收款单协同确认卡片查询 -->
+			<action>arap.confirmgatheringbill.cardquery</action>
+			<!--收款协同表体编辑后事件 -->
+			<action>arap.confirmgatheringbill.cardbodyafteredit</action>
+			<!--收款协同表头编辑后事件 -->
+			<action>arap.confirmgatheringbill.cardheadafteredit</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--催款语气 -->
+		<appcode>20060CUFT</appcode>
+		<actions>
+			<!--收付催款语气新增行 -->
+			<action>arap.notice.addline</action>
+			<!--收付催款语气查询 -->
+			<action>arap.notice.query</action>
+			<!--收付催款语气查询 -->
+			<action>arap.notice.serch</action>
+			<!--收付催款语气卡片查询 -->
+			<action>arap.notice.cardquery</action>
+			<!--收付催款语气新增保存 -->
+			<action>arap.notice.insert</action>
+			<!--收付催款语气修改保存 -->
+			<action>arap.notice.update</action>
+			<!--收付催款语气删除 -->
+			<action>arap.notice.delete</action>
+			<!--收付催款语气编辑后事件 -->
+			<action>arap.notice.cardheadafteredit</action>
+			<!--收付催款语气编辑后事件 -->
+			<action>arap.notice.cardbodyafteredit</action>
+			<!--收付催款语气编辑后事件 -->
+			<action>arap.notice.querygridbypks</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--催款单 -->
+		<appcode>20060CUFB</appcode>
+		<actions>
+			<!--催款单打印 -->
+			<action>arap.reminder.print</action>
+			<!--催款单查询 -->
+			<action>arap.reminder.query</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--催款单打印 -->
+			<action>arap.arappub.printGridData</action>
+			<!--联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应付单协同确认 -->
+		<appcode>20080SPLC</appcode>
+		<actions>
+			<!--应付单管理表头编辑后事件 -->
+			<action>arap.confirmpayablebill.cardheadafteredit</action>
+			<!--应付单管理表体编辑后事件 -->
+			<action>arap.confirmpayablebill.cardbodyafteredit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--应付单协同确认卡片 -->
+			<action>arap.confirmpayablebill.querycard</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--应付单协同确认查询 -->
+			<action>arap.confirmpayablebill.queryscheme</action>
+			<!--应付协同确认根据id查询 -->
+			<action>arap.confirmpayablebill.querygridbyids</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应付明细联查, 应收明细联查 -->
+		<appcode>20082005,20062005</appcode>
+		<actions>
+			<!--预算联查的请求 -->
+			<action>arap.detaillink.ntbquery</action>
+			<!--总账联查的请求 -->
+			<action>arap.detaillink.glquery</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--暂估应付单管理 -->
+		<appcode>200805EPB</appcode>
+		<actions>
+			<!--单据修改 -->
+			<action>arap.arappub.edit</action>
+			<!--单据审批 -->
+			<action>arap.arappub.approve</action>
+			<!--单据取消审批 -->
+			<action>arap.arappub.unapprove</action>
+			<!--单据挂起123456789 -->
+			<action>arap.arappub.pause</action>
+			<!--单据取消挂起123456789 -->
+			<action>arap.arappub.cancelpause</action>
+			<!--单据联查余额表123456789 -->
+			<action>arap.arappub.arapBillLinkReport</action>
+			<!--单据打印123456789 -->
+			<action>arap.arappub.print</action>
+			<!--输出...123456789 -->
+			<action>arap.arappub.outPut</action>
+			<!--正式打印123456789 -->
+			<action>arap.arappub.officialPrint</action>
+			<!--取消正式打印123456789 -->
+			<action>arap.arappub.cancelPrint</action>
+			<!--收付联查凭证1234 -->
+			<action>arap.arappub.linkvouchar</action>
+			<!--单据制单1234 -->
+			<action>arap.arappub.madebill</action>
+			<!--暂估应付单卡片 -->
+			<action>arap.estipayablebill.querycard</action>
+			<!--暂估应付单查询 -->
+			<action>arap.estipayablebill.queryscheme</action>
+			<!--暂估应付单查询 -->
+			<action>arap.estipayablebill.querygridbyids</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据批量取消审批 -->
+			<action>arap.arappub.listunapprove</action>
+			<!--单据批量审批 -->
+			<action>arap.arappub.listapprove</action>
+			<!-- 联查来源——卡片 -->
+			<action>arap.arappub.queryBillCardByPK</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+			<!--凭证联查单据1234 -->
+			<action>arap.arappub.queryGridByPK</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收单协同确认 -->
+		<appcode>20060RBC</appcode>
+		<actions>
+			<!--应收单协同表头编辑后事件 -->
+			<action>arap.recbillconfer.cardHeadAfterEdit</action>
+			<!--应收单协同表体编辑后事件 -->
+			<action>arap.recbillconfer.cardBodyAfterEdit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--应收单协同确认卡片查询 -->
+			<action>arap.recbillconfer.cardquery</action>
+			<!--应收单协同确认卡片查询 -->
+			<action>arap.recbillconfer.cardquery</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--应收单协同查询分页 -->
+			<action>arap.recbillconfer.querygridbypks</action>
+			<!-- 应收单协同取消挂起 -->
+			<action>arap.recbillconfer.cancelPause </action>
+			<!-- 应收单协同复制 -->
+			<action>arap.recbillconfer.copy</action>
+			<!-- 应收单协同确认删除 -->
+			<action>arap.recbillconfer.delete</action>
+			<!-- 修改 -->
+			<action>arap.recbillconfer.edit</action>
+			<!-- 新增 -->
+			<action>arap.recbillconfer.initadd</action>
+			<!-- 应收单协同确认增加 -->
+			<action>arap.recbillconfer.insert</action>
+			<!-- 应收单协同挂起 -->
+			<action>arap.recbillconfer.pause</action>
+			<!-- 应收单协同确认查询 -->
+			<action>arap.recbillconfer.query</action>
+			<!-- 应收单协同确认修改 -->
+			<action>arap.recbillconfer.update</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--债权转移执行 债权转移查询 收款并账执行 收款并账查询 债务转移执行 债务转移查询 付款并账执行 付款并账查询 -->
+		<appcode>20060CRT,20060CRU,20060RCA,20060RCB,20080DT,20080DU,20080PCA,20080PCB
+		</appcode>
+		<actions>
+			<!--凭证联查单据1234 -->
+			<action>arap.arappub.queryGridByPK</action>
+			<!--取消并账操作 -->
+			<action>arap.debtransfer.cancletransfer</action>
+			<!--打印 -->
+			<action>arap.arappub.printDebtTransferAction</action>
+			<!--输出 -->
+			<action>arap.arappub.outDebtTransferAction</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--债权转移操作 -->
+			<action>arap.debtransfer.transfer</action>
+			<!-- 转移记录查询 -->
+			<action>arap.debtransfer.hisRecord</action>
+			<!-- 债权转移查询 -->
+			<action>arap.debtransfer.query</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收核销结果查询 -->
+		<appcode>20060VQ</appcode>
+		<actions>
+			<!--取消核销(汇总界面) -->
+			<action>arap.verifyquery.cancelVerify</action>
+			<!--取消核销(明细界面) -->
+			<action>arap.verifyquery.cancelDtlVerify</action>
+			<!--打印核销汇总 -->
+			<action>arap.arappub.printVerify</action>
+			<!--打印核销明细 -->
+			<action>arap.arappub.printVerifyDetail</action>
+			<!--核销查询 -->
+			<action>arap.verifyquery.query</action>
+			<!--默认 -->
+			<action>arap.verifyfa.setdefault</action>
+			<!--取消默认 -->
+			<action>arap.verifyfa.canceldefault</action>
+			<!--凭证联查单据 -->
+			<action>arap.arappub.queryGridByPK</action>
+			<!--从手工核销,自动核销切换到结果查询界面 -->
+			<action>arap.verifyquery.verifyMainquery</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--核销汇总切换明细查询 -->
+			<action>arap.verifyquery.detailquery</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--明细分页查询 -->
+			<action>arap.verifyquery.detailquerybyids</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收批量关账 应付批量关账 -->
+		<appcode>101007,20060BCA,20080BCA</appcode>
+		<actions>
+			<action>uapbd.org.QueryCloseAccNccAction</action>
+			<action>uapbd.org.InitBatchCloseAccNccAction</action>
+			<action>uapbd.org.QueryAccperiodmonth</action>
+			<action>uapbd.org.BatchAntiCloseAccNccAction</action>
+			<action>uapbd.org.BatchCloseAccNccAction</action>
+			<action>uapbd.org.BatchPrecloseAccNccAction</action>
+			<action>uapbd.org.BatchAntiPrecloseAccAction</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收关账 应收结账 应付关账 应付结账 -->
+		<appcode>101006,20060CA,20060TED,20080CA,20080TED</appcode>
+		<actions>
+			<action>uapbd.org.CloseaccbookModuleQryAction</action>
+			<action>uapbd.org.CloseaccbookBodyQryAction</action>
+			<action>uapbd.org.CloseaccbookPeriodQryAction</action>
+			<action>uapbd.org.PreCloseAccBookNCCAction</action>
+			<action>uapbd.org.CloseAccBookNCCAction</action>
+			<action>uapbd.org.AntiPreCloseAccBookNCCAction</action>
+			<action>uapbd.org.AntiCloseAccBookNCCAction</action>
+			<action>uapbd.org.CloseAccCheckNCCAction</action>
+			<action>uapbd.org.DoCheckCloseAccNCCAction</action>
+			<action>uapbd.org.QueryCheckItemUrlAction</action>
+			<action>arap.arappub.checkcloseacc</action>
+			<!-- 结账根据财务组织查询结账信息 -->
+			<action>arap.closeaccount.querybypkorg</action>
+			<!-- 结账检查是否有检查项 -->
+			<action>arap.closeaccount.oncheck</action>
+			<!-- 获取结账报告 -->
+			<action>arap.closeaccount.getcloseaccountreport</action>
+			<!-- 取消结账 -->
+			<action>arap.closeaccount.oncancelcloseAccount</action>
+			<!-- 完成结账,触发结账的动作 -->
+			<action>arap.closeaccount.oncloseaccountover</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收汇兑损益查询 应付汇兑损益查询 -->
+		<appcode>20060EPG,20080EPG</appcode>
+		<actions>
+			<action>platform.appregister.queryallbtns</action>
+			<!--汇兑损益损益记录查询操作 -->
+			<action>arap.agiotage.onhisrecord</action>
+			<!--汇兑损益记录界面联查明细操作 -->
+			<action>arap.agiotage.onRecordLinkDetail</action>
+			<!--汇兑损益下一步操作 -->
+			<action>arap.agiotage.oncalculation</action>
+			<!--汇兑损益记录汇总取消损益操作 -->
+			<action>arap.agiotage.onCancelAgiotageForGather</action>
+			<!--取消损益 -->
+			<action>arap.agiotage.onCancelAgiotage</action>
+			<!--导出 -->
+			<action>arap.arappub.gridOutputExcelAction</action>
+			<!-- 汇兑损益试算操作 -->
+			<action>arap.agiotage.oncalbefore</action>
+			<!-- 汇兑损益币种界面联查明细操作 -->
+			<action>arap.agiotage.onCurrLinkDetail</action>
+			<!-- 凭证联查单据 -->
+			<action>arap.arappub.queryGridByPK</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收汇兑损益计算 -->
+		<appcode>20060EPL</appcode>
+		<actions>
+			<action>platform.appregister.queryallbtns</action>
+			<!--汇兑损益损益记录查询操作 -->
+			<action>arap.agiotage.onhisrecord</action>
+			<!--汇兑损益记录界面联查明细操作 -->
+			<action>arap.agiotage.onRecordLinkDetail</action>
+			<!--汇兑损益下一步操作 -->
+			<action>arap.agiotage.oncalculation</action>
+			<!--汇兑损益记录汇总取消损益操作 -->
+			<action>arap.agiotage.onCancelAgiotageForGather</action>
+			<!--取消损益 -->
+			<action>arap.agiotage.onCancelAgiotage</action>
+			<!--导出 -->
+			<action>arap.arappub.gridOutputExcelAction</action>
+			<action>arap.receivablebill.agiotage.sumquery.index</action>
+			<action>arap.receivablebill.agiotage.calculation.index</action>
+			<!--保存 -->
+			<action>arap.agiotage.onconfirm</action>
+			<!--获取第一步表格数据 -->
+			<action>arap.agiotage.initpanel</action>
+			<!--取消损益 -->
+			<action>arap.agiotage.onCancelAgiotageBySum</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收集中结账 应付集中结账 -->
+		<appcode>2006BTED,2008BTED</appcode>
+		<actions>
+			<action>platform.appregister.queryallbtns</action>
+			<!--结账根据财务组织查询结账信息 -->
+			<action>arap.batchcloseaccount.query</action>
+			<!--结账根据财务组织查询结账信息 -->
+			<action>arap.batchcloseaccount.getReport</action>
+			<!--结账根据财务组织查询结账信息 -->
+			<action>arap.batchcloseaccount.batchcloseaccount</action>
+			<!--结账根据财务组织查询结账信息 -->
+			<action>arap.batchcloseaccount.batchcancelcloseaccount</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--客户总账表 客户余额表 客户明细账 应收收款情况查询 客户应收账龄分析(汇总) 客户应收账龄分析(明细) 客户收款账龄分析(汇总) 客户收款账龄分析(明细) 
+			客户应收欠款分析(汇总) 客户应收欠款分析(明细) 客户收款分析(汇总) 客户收款分析(明细) 客户收款预测(汇总) 客户收款预测(明细) 应收报警单 
+			客商余额表 客商明细表 -->
+		<appcode>20061901,20061902,20061903,20061904,20061906,20061907,20061908,20061909,20061910,20061911,20061912,20061913,20061914,20061915,20061916,20061934,20061935
+		</appcode>
+		<actions>
+			<action>arap.report.linkQueryProcessOperator</action>
+			<action>arap.ref.freecustcontrol</action>
+			<action>arap.arappub.reportLinkBill</action>
+			<action>arap.report.reportLinkVouchar</action>
+			<action>arap.report.linkQueryCredit</action>
+			<action>arap.report.checkSystemStartDate</action>
+			<action>arap.report.qrydate</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--供应商总账表 供应商余额表 供应商明细账 应付付款情况查询 供应商应付账龄分析(汇总) 供应商应付账龄分析(明细) 供应商付款账龄分析(汇总) 
+			供应商付款账龄分析(明细) 供应商应付欠款分析(汇总) 供应商应付欠款分析(明细) 供应商付款预测(汇总) 供应商付款预测(明细) 应付报警单 客商余额表 
+			客商明细表 -->
+		<appcode>20081901,20081902,20081903,20081904,20081906,20081907,20081908,20081909,20081910,20081911,20081912,20081913,20081914,20081929,20081930
+		</appcode>
+		<actions>
+			<action>arap.report.linkQueryProcessOperator</action>
+			<action>arap.ref.freecustcontrol</action>
+			<action>arap.arappub.reportLinkBill</action>
+			<action>arap.report.reportLinkVouchar</action>
+			<action>arap.report.linkQueryCredit</action>
+			<action>arap.report.checkSystemStartDate</action>
+			<action>arap.report.qrydate</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--单据核销 -->
+		<appcode>20062002,20082002</appcode>
+		<actions>
+			<!--补差面板数据 -->
+			<action>arap.billverify.varyMoneyPanel</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--即时核销可关联数据查询 -->
+			<action>arap.billverify.nowVerifyQuery</action>
+			<!--即时核销 -->
+			<action>arap.billverify.nowVerify</action>
+			<!--补差处理 -->
+			<action>arap.billverify.varyMoney</action>
+			<!--通过交易类型获取单据类型 -->
+			<action>arap.billverify.getbillType</action>
+			<!--补差弹出界面确定按钮 -->
+			<action>arap.billverify.varyMoneyConfirm</action>
+			<!--应付单管理表头编辑后事件 -->
+			<action>arap.payablebill.cardheadafteredit</action>
+			<!--币种编辑后事件 -->
+			<action>arap.ref.ratecontrol</action>
+			<!--应付单管理表体编辑后事件 -->
+			<action>arap.payablebill.cardbodyafteredit</action>
+			<!--预核销可关联数据查询 -->
+			<action>arap.billverify.preVerifyLinkingQuery</action>
+			<!--预核销关联记录查询 -->
+			<action>arap.billverify.preVerifyLinkedQuery</action>
+			<!--建立核销关联 -->
+			<action>arap.billverify.preVerifyLink</action>
+			<!--取消核销关联 -->
+			<action>arap.billverify.preVerifyCancelLink</action>
+			<!--收款单表头编辑后事件 -->
+			<action>arap.gatheringbill.cardheadafteredit</action>
+			<!--收款单表体编辑后事件 -->
+			<action>arap.gatheringbill.cardbodyafteredit</action>
+			<!--应收单表头编辑后事件 -->
+			<action>arap.recbill.cardHeadAfterEdit</action>
+			<!--应收单表体编辑后事件 -->
+			<action>arap.recbill.cardBodyAfterEdit</action>
+			<!--付款单管理表头编辑后事件 -->
+			<action>arap.paybill.cardheadafteredit</action>
+			<!--付款单管理表体编辑后事件 -->
+			<action>arap.paybill.cardbodyafteredit</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--交易类型 -->
+		<appcode>20062003,20082003</appcode>
+		<actions>
+			<!--交易类型浏览 -->
+			<action>arap.billtype.browse</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--资金推收款单 -->
+		<appcode>20062006,20082006</appcode>
+		<actions>
+			<!--收款单表头编辑后事件 -->
+			<action>arap.gatheringbill.cardheadafteredit</action>
+			<!--付款单管理表头编辑后事件 -->
+			<action>arap.paybill.cardheadafteredit</action>
+			<!--收款单表体编辑后事件 -->
+			<action>arap.gatheringbill.cardbodyafteredit</action>
+			<!--付款单管理表体编辑后事件 -->
+			<action>arap.paybill.cardbodyafteredit</action>
+			<!--资金到账通知认领到收付单据新增保存 -->
+			<action>arap.arappub.releasetoarapsave</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据修改1234 -->
+			<action>arap.arappub.edit</action>
+			<!---->
+			<action>cmp.informerrelease.SscRelease.list.index</action>
+			<!--资金到账通知认领到收付单据 -->
+			<action>arap.arappub.releasetoarap</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应收对账单 应付对账单 -->
+		<appcode>20061905,20081905</appcode>
+		<actions>
+			<!--对账单查询 -->
+			<action>arap.arappub.arapStatementQry</action>
+			<!--打印 -->
+			<action>arap.report.printData</action>
+			<!--对账单联查单据 -->
+			<action>arap.arappub.arapStatementBillLink</action>
+			<action>arap.arappub.arapStatementTranslateChildGrid</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--付款协同确认 -->
+		<appcode>20080SPAC</appcode>
+		<actions>
+			<!--付款单协同确认卡片 -->
+			<action>arap.confirmpaybill.querycard</action>
+			<!--付款单协同确认查询 -->
+			<action>arap.confirmpaybill.queryscheme</action>
+			<!--付款协同确认根据id查询 -->
+			<action>arap.confirmpaybill.querygridbyids</action>
+			<!--付款协同表体编辑后事件 -->
+			<action>arap.confirmpaybill.cardbodyafteredit</action>
+			<!--付款协同表头编辑后事件 -->
+			<action>arap.confirmpaybill.cardheadafteredit</action>
+			<!--单据新增、修改保存1234 -->
+			<action>arap.arappub.save</action>
+			<!--单据协同确认 -->
+			<action>arap.arappub.confirm</action>
+			<!--单据协同取消确认 -->
+			<action>arap.arappub.cancelconfirm</action>
+			<!--单据协同确认的公共批量删除 -->
+			<action>arap.arappub.confirmbatchdelete</action>
+			<!--单据协同确认的公共删除 -->
+			<action>arap.arappub.confirmdelete</action>
+			<!-- 刷新 -->
+			<action>arap.arappub.cardRefresh</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--核销结果查询 -->
+		<appcode>20080VQ</appcode>
+		<actions>
+			<!--取消核销(汇总界面) -->
+			<action>arap.verifyquery.cancelVerify</action>
+			<!--取消核销(明细界面) -->
+			<action>arap.verifyquery.cancelDtlVerify</action>
+			<!--打印核销汇总 -->
+			<action>arap.arappub.printVerify</action>
+			<!--打印核销明细 -->
+			<action>arap.arappub.printVerifyDetail</action>
+			<!--核销查询 -->
+			<action>arap.verifyquery.query</action>
+			<!--默认 -->
+			<action>arap.verifyfa.setdefault</action>
+			<!--取消默认 -->
+			<action>arap.verifyfa.canceldefault</action>
+			<!--凭证联查单据1234 -->
+			<action>arap.arappub.queryGridByPK</action>
+			<!--从手工核销,自动核销切换到结果查询界面 -->
+			<action>arap.verifyquery.verifyMainquery</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--核销汇总切换明细查询 -->
+			<action>arap.verifyquery.detailquery</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--明细分页查询 -->
+			<action>arap.verifyquery.detailquerybyids</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应付核销 应收核销 -->
+		<appcode>20080MV,20060MV</appcode>
+		<actions>
+			<!--修改 -->
+			<action>arap.verifyfa.edit</action>
+			<!--编辑后事件 -->
+			<action>arap.verifyfa.afterEvent</action>
+			<!--加载核销方案 -->
+			<action>arap.verify.loadVerifyFa</action>
+			<!--自动核销 -->
+			<action>arap.verify.autoVerify</action>
+			<!---->
+			<action>arap.verificationsheet.verifyqueryap.list.index</action>
+			<!--手工核销核销 -->
+			<action>arap.verify.verify</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--手工核销查询 -->
+			<action>arap.verify.query</action>
+			<!--手工核销全选全消 -->
+			<action>arap.verify.selectAll</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应付核销方案 应收核销方案 -->
+		<appcode>20080VPS,20060VPS</appcode>
+		<actions>
+			<!--编辑后事件 -->
+			<action>arap.verifyfa.afterEvent</action>
+			<!--修改保存 -->
+			<action>arap.verifyfa.modify</action>
+			<!--新增 -->
+			<action>arap.verifyfa.add</action>
+			<!--修改 -->
+			<action>arap.verifyfa.edit</action>
+			<!--默认 -->
+			<action>arap.verifyfa.setdefault</action>
+			<!--取消默认 -->
+			<action>arap.verifyfa.canceldefault</action>
+			<!--查询 -->
+			<action>arap.verifyfa.query</action>
+			<!--删除 -->
+			<action>arap.verifyfa.delete</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--应付汇兑损益计算 -->
+		<appcode>20080EPL</appcode>
+		<actions>
+			<action>arap.payablebill.agiotage.sumquery.index</action>
+			<action>arap.payablebill.agiotage.calculation.index</action>
+			<action>platform.appregister.queryallbtns</action>
+			<!--汇兑损益下一步操作 -->
+			<action>arap.agiotage.oncalculation</action>
+			<!--汇兑损益记录汇总取消损益操作 -->
+			<action>arap.agiotage.onCancelAgiotageForGather</action>
+			<!--汇兑损益记录界面联查明细操作 -->
+			<action>arap.agiotage.onRecordLinkDetail</action>
+			<!--取消损益 -->
+			<action>arap.agiotage.onCancelAgiotage</action>
+			<!--导出 -->
+			<action>arap.arappub.gridOutputExcelAction</action>
+			<!--保存 -->
+			<action>arap.agiotage.onconfirm</action>
+			<!--获取第一步表格数据 -->
+			<action>arap.agiotage.initpanel</action>
+			<!--取消损益 -->
+			<action>arap.agiotage.onCancelAgiotageBySum</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--汇兑损益损益记录查询操作 -->
+			<action>arap.agiotage.onhisrecord</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--客户总账表 客户余额表 客户明细账 客户收款账龄分析(明细) 客户应收欠款分析(汇总) 客户应收欠款分析(明细) 客户收款分析(汇总) 
+			客户收款分析(明细) 客户收款预测(汇总) 客户收款预测(明细) 供应商总账表 供应商余额表 供应商明细账 供应商应付账龄分析(汇总) 供应商应付账龄分析(明细) 
+			供应商付款账龄分析(汇总) 供应商付款账龄分析(明细) 供应商应付欠款分析(汇总) 供应商应付欠款分析(明细) 供应商付款预测(汇总) 供应商付款预测(明细) -->
+		<appcode>20061901,20061902,20061903,20061908,20061909,20061910,20061911,20061912,20061913,20061914,20061915,20081901,20081902,20081903,20081906,20081907,20081908,20081909,20081910,20081911,20081912,20081913,20061934,20061935,20081929,20081930
+		</appcode>
+		<actions>
+			<!-- 报表获取查询对象 -->
+			<action>arap.arappub.getQuertObjs</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<appcode>*</appcode>
+		<actions>
+			<!--打印 -->
+			<action>arap.arappub.print</action>
+			<!-- 散户参照 -->
+			<action>arap.ref.freecustcontrol</action>
+			<!-- 应付待办小部件 -->
+			<action>arap.paytodowidget.query</action>
+			<!-- 应收账龄小部件 -->
+			<action>arap.recaccountWidget.query</action>
+			<!-- 应收待办小部件 -->
+			<action>arap.rectodowidget.query</action>
+			<!--获取默认场景下的小应用编码 -->
+			<action>arap.arappub.queryrelatedapp</action>
+			<action>platform.appregister.queryappcontext</action>
+			<action>resources.arap.receivablebill.recbill.main.index</action>
+			<action>resources.arap.gatheringbill.gatheringbill.main.index.html
+			</action>
+			<action>resources.arap.payablebill.payablebill.main.index</action>
+			<action>resources.arap.paybill.paybill.main.index.html</action>
+			<action>arap.billtype.browse</action>
+			<!-- 未核销收款单参照 -->
+			<action>arap.ref.arapGathingBillRef</action>
+			<!-- 贷方引用信息指定字段 -->
+			<action>arap.ref.creditRefInfoStdRef</action>
+			<!-- 催款语气参照 -->
+			<action>arap.ref.arapReminderBillRef</action>
+			<!-- 计提维度参照 -->
+			<action>arap.ref.ProvisiondimRef</action>
+			<!-- 计提规则参照 -->
+			<action>arap.ref.BdProVisionRuleRef</action>
+			<!-- 核销方案参照 -->
+			<action>arap.ref.verifyFaRef</action>
+			<!-- 收付交易类型 -->
+			<action>arap.ref.arapTranstypeRef</action>
+			<!-- 应收交易类型 -->
+			<action>arap.ref.arTranstypeRef</action>
+			<!-- 应付交易类型 -->
+			<action>arap.ref.apTranstypeRef</action>
+			<action>arap.glaccount.transformcard</action>
+			<action>arap.glaccount.transformvo</action>
+			<action>arap.arappub.orgclossref</action>
+			<!-- 判断票据号是否是参照 -->
+			<action>arap.arappub.ischecknoref</action>
+			<!-- 判断票据类型是否是电子商业汇票 -->
+			<action>arap.arappub.checketcforbusi</action>
+			<!--收付联查单据 -->
+			<action>arap.arappub.linkarapbill</action>
+			<!--获取主账簿id -->
+			<action>arap.arappub.arapQueryAccountBookAction</action>
+			<!--对各种税率的可操作性的控制 -->
+			<action>arap.ref.ratecontrol</action>
+			<!--单据查询模板 -->
+			<action>arap.arappub.querypage</action>
+			<!--查询ar52业务参数 -->
+			<action>arap.arappub.ar52qry</action>
+			<!--保存ar52业务参数 -->
+			<action>arap.arappub.ar52save</action>
+			<!--银行电子回单查询 -->
+			<action>arap.arappub.transformBillEnclosureQuery</action>
+			<!--银行电子回单左侧树查询 -->
+			<action>arap.arappub.arapFileLeftTreeQuery</action>
+			<!-- 导出树字段显示设置 -->
+			<action>arap.arappub.arapExportTree</action>
+			<!-- 查询模块启用信息 -->
+			<action>arap.arappub.queryModuleEnable</action>
+			<!-- 到账通知推收款单 -->
+			<action>arap.gatheringbill.InformerToGatheringBillAction</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账公共功能 坏账计提-周期20060BDP 坏账损失20060BDL 坏账计提-个别计提20060BDPI 坏账收回20060BDR 
+			坏账管理台账 20060BDA -->
+		<appcode>20060BDP,20060BDL,20060BDPI,20060BDR,20060BDA</appcode>
+		<actions>
+			<!--坏账-单据修改 -->
+			<action>arap.baddebts.edit</action>
+			<!--坏账-单据保存 -->
+			<action>arap.baddebts.save</action>
+			<!--坏账-单据删除 -->
+			<action>arap.baddebts.delete</action>
+			<!--坏账-单据提交 -->
+			<action>arap.baddebts.commit</action>
+			<!--坏账-单据收回 -->
+			<action>arap.baddebts.unCommit</action>
+			<!--坏账-单据批量提交 -->
+			<action>arap.baddebts.batchCommit</action>
+			<!--坏账-单据批量收回 -->
+			<action>arap.baddebts.batchUnCommit</action>
+			<!--坏账-单据制单 -->
+			<action>arap.baddebts.madebill</action>
+			<!--坏账-单据联查凭证 -->
+			<action>arap.baddebts.linkvouchar</action>
+			<!--坏账-查询单据模板 -->
+			<action>arap.baddebts.querypage</action>
+			<!-- 查询会计期间方案 -->
+			>
+			<action>arap.report.qrydate</action>
+			<!-- 修改请求后台校验冻结 -->
+			<action>arap.arappub.checkfrozenforedit</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账计提规则设置 -->
+		<appcode>20060BDPC,20060BDPG</appcode>
+		<actions>
+			<!--计提规则保存 -->
+			<action>arap.bdprovisionrule.save</action>
+			<!--计提规则查询 -->
+			<action>arap.bdprovisionrule.query</action>
+			<!--计提规则增行 -->
+			<action>arap.bdprovisionrule.addline</action>
+			<!--计提规则停用、启用 -->
+			<action>arap.bdprovisionrule.enableOrStop</action>
+			<!--会计期间过滤获取组织期间方案 -->
+			<action>arap.report.qrydate</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账计提比率设置-集团/组织 -->
+		<appcode>20060PRSG,20060PRSO</appcode>
+		<actions>
+			<!--计提比率保存 -->
+			<action>arap.bdprovisionRatio.save</action>
+			<!--计提比率删除 -->
+			<action>arap.bdprovisionRatio.delete</action>
+			<!--计提比率修改 -->
+			<action>arap.bdprovisionRatio.edit</action>
+			<!--计提比率列表查询 -->
+			<action>arap.bdprovisionRatio.query</action>
+			<!--计提比率查询分页 -->
+			<action>arap.bdprovisionRatio.querygridbypks</action>
+			<!--计提比率卡片查询 -->
+			<action>arap.bdprovisionRatio.querycard</action>
+			<!--计提比率版本化 -->
+			<action>arap.bdprovisionRatio.versioning</action>
+			<!--计提比率取消版本化 -->
+			<action>arap.bdprovisionRatio.cancelversion</action>
+			<!--计提比率快速设置 查询 -->
+			<action>arap.bdprovisionRatio.quicksetupquery</action>
+			<!--计提比率覆盖 -->
+			<action>arap.bdprovisionRatio.cover</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账计提-周期 20060BDP -->
+		<appcode>20060BDP</appcode>
+		<actions>
+			<!--坏账计提-周期-查询 -->
+			<action>arap.bdprovision.query</action>
+			<!--坏账计提-周期-计提 -->
+			<action>arap.bdprovision.provision</action>
+			<!--坏账计提-周期-取消计提 -->
+			<action>arap.bdprovision.unProvision</action>
+			<!--坏账计提-周期-批量计提 -->
+			<action>arap.bdprovision.batchProvision</action>
+			<!--坏账计提-周期-批量取消计提 -->
+			<action>arap.bdprovision.batchUnProvision</action>
+			<!--坏账计提-周期-列表分页查询 -->
+			<action>arap.bdprovision.querygridbypks</action>
+			<!--坏账计提-周期-卡片查询 -->
+			<action>arap.bdprovision.cardquery</action>
+			<!--坏账计提-周期-卡片计提 -->
+			<action>arap.bdprovision.cardprovision</action>
+			<!--坏账计提-周期-卡片取消计提 -->
+			<action>arap.bdprovision.cardunprovision</action>
+			<!--会计平台联查坏账周期计提单列表 -->
+			<action>arap.bdprovision.fiplinklistquery</action>
+			<!--会计平台联查坏账周期计提单卡片 -->
+			<action>arap.bdprovision.fiplinkcardquery</action>
+			<!-- 修改请求后台校验冻结 -->
+			<action>arap.arappub.checkfrozenforedit</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账计提-周期审批 20060BDP000 -->
+		<appcode>20060BDP000</appcode>
+		<actions>
+			<!--坏账计提-周期-卡片查询 -->
+			<action>arap.bdprovision.cardquery</action>
+			<!--坏账-单据制单 -->
+			<action>arap.baddebts.madebill</action>
+			<!--坏账-单据联查凭证 -->
+			<action>arap.baddebts.linkvouchar</action>
+			<!--坏账-查询单据模板 -->
+			<action>arap.baddebts.querypage</action>
+			<!--会计平台联查坏账周期计提单列表 -->
+			<action>arap.bdprovision.fiplinklistquery</action>
+			<!--会计平台联查坏账周期计提单卡片 -->
+			<action>arap.bdprovision.fiplinkcardquery</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账计提-个别计提审批 20060BDPI000 -->
+		<appcode>20060BDPI000</appcode>
+		<actions>
+			<!--坏账计提-周期-卡片查询 -->
+			<action>arap.indiprovision.cardquery</action>
+			<!--坏账-单据制单 -->
+			<action>arap.baddebts.madebill</action>
+			<!--坏账-单据联查凭证 -->
+			<action>arap.baddebts.linkvouchar</action>
+			<!--坏账-查询单据模板 -->
+			<action>arap.baddebts.querypage</action>
+			<!--会计平台联查坏账周期计提单列表 -->
+			<action>arap.indiprovision.fiplinklistquery</action>
+			<!--会计平台联查坏账周期计提单卡片 -->
+			<action>arap.indiprovision.fiplinkcardquery</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账收回 审批 20060BDR000 -->
+		<appcode>20060BDR000</appcode>
+		<actions>
+			<!--坏账收回-卡片查询 -->
+			<action>arap.bdrecovery.querycard</action>
+			<!--坏账-单据制单 -->
+			<action>arap.baddebts.madebill</action>
+			<!--坏账-单据联查凭证 -->
+			<action>arap.baddebts.linkvouchar</action>
+			<!--坏账-查询单据模板 -->
+			<action>arap.baddebts.querypage</action>
+			<!--会计平台联查坏账收回单列表 -->
+			<action>arap.bdrecovery.fiplinklistquery</action>
+			<!--会计平台联查坏账收回单卡片 -->
+			<action>arap.bdrecovery.fiplinkcardquery</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账损失 审批 20060BDL000 -->
+		<appcode>20060BDL000</appcode>
+		<actions>
+			<!--坏账损失-卡片查询 -->
+			<action>arap.bdloss.cardquery</action>
+			<!--坏账-单据制单 -->
+			<action>arap.baddebts.madebill</action>
+			<!--坏账-单据联查凭证 -->
+			<action>arap.baddebts.linkvouchar</action>
+			<!--坏账-查询单据模板 -->
+			<action>arap.baddebts.querypage</action>
+			<!--会计平台联查坏账损失单列表 -->
+			<action>arap.bdloss.fiplinklistquery</action>
+			<!--会计平台联查坏账损失单卡片 -->
+			<action>arap.bdloss.fiplinkcardquery</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账损失 -->
+		<appcode>20060BDL</appcode>
+		<actions>
+			<!--坏账损失查询 -->
+			<action>arap.bdloss.query</action>
+			<!--坏账损失卡片查询 -->
+			<action>arap.bdloss.cardquery</action>
+			<!--坏账损失删除 -->
+			<action>arap.bdloss.delete</action>
+			<!--坏账损失保存 -->
+			<action>arap.bdloss.save</action>
+			<!--坏账损失列表分页查询 -->
+			<action>arap.bdloss.querygridbypks</action>
+			<!--坏账损失查询坏账 -->
+			<action>arap.bdloss.querybdloss</action>
+			<!--坏账损失表体编辑后事件 -->
+			<action>arap.bdloss.cardbodyafteredit</action>
+			<!--坏账损失表头编辑后事件 -->
+			<action>arap.bdloss.cardheadafteredit</action>
+			<!--坏账损失孙表编辑后事件 -->
+			<action>arap.bdloss.cardsunbodyafteredit</action>
+			<!--坏账损失保存并提交 -->
+			<action>arap.bdloss.saveandcommit</action>
+			<!--会计平台联查坏账损失单列表 -->
+			<action>arap.bdloss.fiplinklistquery</action>
+			<!--会计平台联查坏损失回卡片 -->
+			<action>arap.bdloss.fiplinkcardquery</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账计提-个别计提 -->
+		<appcode>20060BDPI</appcode>
+		<actions>
+			<!--个别计提查询 -->
+			<action>arap.indiprovision.query</action>
+			<!--个别计提列表分页查询 -->
+			<action>arap.indiprovision.querygridbypks</action>
+			<!--个别计提卡片查询 -->
+			<action>arap.indiprovision.cardquery</action>
+			<!--坏账计提-个别计提卡-计提 -->
+			<action>arap.indiprovision.provision</action>
+			<!--个别计提追加查询 -->
+			<action>arap.indiprovision.addquery</action>
+			<!--坏账计提-个别计提-取消计提 -->
+			<action>arap.indiprovision.unProvision</action>
+			<!--坏账计提-个别计提-批量计提 -->
+			<action>arap.indiprovision.batchProvision</action>
+			<!--坏账计提-个别计提-批量取消计提 -->
+			<action>arap.indiprovision.batchUnProvision</action>
+			<!--坏账计提-个别计提-表体编辑后事件 -->
+			<action>arap.indiprovision.cardbodyafteredit</action>
+			<!--坏账计提-个别计提-表头编辑后事件 -->
+			<action>arap.indiprovision.cardheadafteredit</action>
+			<!--坏账计提-个别计提-卡片保存 -->
+			<action>arap.indiprovision.save</action>
+			<!--坏账计提-周期-卡片计提 -->
+			<action>arap.indiprovision.cardprovision</action>
+			<!--坏账计提-周期-卡片取消计提 -->
+			<action>arap.indiprovision.cardunprovision</action>
+			<!--会计平台联查坏账周期计提单列表 -->
+			<action>arap.indiprovision.fiplinklistquery</action>
+			<!--会计平台联查坏账周期计提单卡片 -->
+			<action>arap.indiprovision.fiplinkcardquery</action>
+			<!--坏账计提-个别计提-卡片保存 提交 -->
+			<action>arap.indiprovision.saveandcommit</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账收回 -->
+		<appcode>20060BDR</appcode>
+		<actions>
+			<!--坏账收回保存 -->
+			<action>arap.bdrecovery.save</action>
+			<!--坏账收回保存提交 -->
+			<action>arap.bdrecovery.saveandcommit</action>
+			<!--坏账收回 删除 -->
+			<action>arap.bdrecovery.delete</action>
+			<!--坏账收回 修改 -->
+			<action>arap.bdrecovery.edit</action>
+			<!--坏账收回 列表查询 -->
+			<action>arap.bdrecovery.query</action>
+			<!--坏账收回 查询分页 -->
+			<action>arap.bdrecovery.querygridbypks</action>
+			<!--坏账收回 卡片查询 -->
+			<action>arap.bdrecovery.querycard</action>
+			<!--坏账收回 新增查询 -->
+			<action>arap.bdrecovery.addquery</action>
+			<!--坏账收回 行补全收回金额 -->
+			<action>arap.bdrecovery.recmomeycomplement</action>
+			<!--坏账收回 匹配应收单 -->
+			<action>arap.bdrecovery.matchar</action>
+			<!--坏账收回-表体编辑后事件 -->
+			<action>arap.bdrecovery.cardbodyafteredit</action>
+			<!--坏账收回-表头编辑后事件 -->
+			<action>arap.bdrecovery.cardheadafteredit</action>
+			<!--会计平台联查坏账收回单列表 -->
+			<action>arap.bdrecovery.fiplinklistquery</action>
+			<!--会计平台联查坏账收回卡片 -->
+			<action>arap.bdrecovery.fiplinkcardquery</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--坏账管理台账 -->
+		<appcode>20060BDA</appcode>
+		<actions>
+			<!--坏账管理台账 -->
+			<action>arap.bdaccount.query</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--语义模型预置 -->
+		<appcode>10300201,10300202,10300203,10300204</appcode>
+		<actions>
+			<!-- 账龄数据集语义模型Provider查询条件设置 -->
+			<action>arap.providerdesign.accountAgeDataSetDesign</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<!--会计平台高级查询src自定义查询条件权限 -->
+		<appcode>10170410,10170412</appcode>
+		<actions>
+			<!-- 获取制定场景下小应用和页面信息 -->
+			<action>arap.arappub.getAppMessageByBillType</action>
+			<action>arap.arappub.arapQueryAccountBookAction</action>
+			<action>arap.ref.freecustcontrol</action>
+		</actions>
+	</authorize>
+
+</authorizes>

+ 78 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/arap/gatheringbill/config/action/gatheringBill.xml

@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<actions>
+	<action>
+		<name>arap.gatheringbill.query</name>
+		<label>收款单查询</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.QueryAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.querygridbyids</name>
+		<label>收款单分页查询</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.QueryGridByIDAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.cardquery</name>
+		<label>收款单卡片查询</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.QueryCardAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.addline</name>
+		<label>收款单管理新增行操作</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.GatherAddLineAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.add</name>
+		<label>新增</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.GatherBillAddAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.cardheadafteredit</name>
+		<label>收款单表头编辑后事件</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.CardHeadAfterEditAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.cardbodyafteredit</name>
+		<label>收款单表体编辑后事件</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.CardBodyAfterEditAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.saleordertogather</name>
+		<label>销售订单推收款单处理</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.SaleOrderToGatheringBillAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.fct2togatherbill</name>
+		<label>收款合同的收款计划推收款单</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.Fct2ToGatherBillAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.arsubtogatherbill</name>
+		<label>客户费用单推收款单</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.ArsubToGatherBillAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.cttogatherbill</name>
+		<label>销售合同推收款单</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.CtToGatherBillAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.querywidget</name>
+		<label>小部件跳转小应用查询</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.QueryWidgetAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.gatherbillexport</name>
+		<label>收款单导出</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.GatherbillExportTreeAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.cmH1togatherbill</name>
+		<label>资金收票推收款单</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.CmH1ToGatherBillAction</clazz>
+	</action>
+	<action>
+		<name>arap.gatheringbill.InformerToGatheringBillAction</name>
+		<label>到账通知推收款单</label>
+		<clazz>nccloud.web.arap.gatheringbill.action.InformerToGatheringBillAction</clazz>
+	</action>
+</actions>

+ 139 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/financepay/config/action/NCCfinancepay.xml

@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<actions>
+	
+	<action>
+	  <name>cdmc.financepay.financepaysave</name>
+	  <label>贷款放款新增/修改</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepaySaveAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepaycopy</name>
+	  <label>贷款放款复制</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayCopyAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepaycardqry</name>
+	  <label>贷款放款卡片查询</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayQueryCardAction</clazz>
+	</action>
+    
+  	<action>
+	  <name>cdmc.financepay.financepaylistqry</name>
+	  <label>贷款放款列表查询</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayListQueryAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayqrybypks</name>
+	  <label>贷款放款列表根据主键查询</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayQueryByPksAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepaydelete</name>
+	  <label>贷款放款删除</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayDeleteAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepaycommit</name>
+	  <label>贷款放款提交</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayCommitAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepaysavecommit</name>
+	  <label>贷款放款保存提交</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepaySaveCommitAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayuncommit</name>
+	  <label>贷款放款收回</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayUnCommitAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayterminate</name>
+	  <label>贷款放款终止</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayTerminateAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayunterminate</name>
+	  <label>贷款放款取消终止</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayUnTerminateAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayprint</name>
+	  <label>贷款放款打印</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayPrintAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayafteredit</name>
+	  <label>贷款放款编辑后事件</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayAfterEditAciton</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepaydelversion</name>
+	  <label>贷款放款删除版本</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayDelVersionAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.common.appregisterurlquery</name>
+	  <label>贷款放款付息还本凭证</label>
+	  <clazz>nccloud.web.cdmc.cdm.contract.action.AppregisterUrlQueryAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayversionlist</name>
+	  <label>贷款放款版本记录</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayQueryVersionListAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.financepay.financepayversiondetail</name>
+	  <label>贷款放款版本详情</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayQueryVersionCardAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.financepay.voucherlinkedbill</name>
+	  <label>放款凭证联查单据</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayVoucherLinkedBillAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.financepay.vouchermake</name>
+	  <label>放款制证</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayVoucherMakeAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.financepay.vouchercancel</name>
+	  <label>放款取消制证</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayVoucherCancelAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.financepay.linkntb</name>
+	  <label>单据联查预算</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayLinkNtbAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.financepay.ntblinkbill</name>
+	  <label>预算联查单据</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayNtbLinkBillAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.financepay.comparedate</name>
+	  <label>贷款放款展期增行日期校验</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.FinancepayCompareDateAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.financepay.InformerToFinancepayAction</name>
+	  <label>到账通知生成贷款放款</label>
+	  <clazz>nccloud.web.cdmc.cdm.financepay.action.InformerToFinancepayAction</clazz>
+	</action>
+</actions>

+ 56 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/financepay/config/authorize/financepay.xml

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<authorizes>
+	<authorize>
+		<appcode>36630BDLC,36630BDLCL</appcode>
+		<actions>
+			<action>cdmc.financepay.financepaysave</action>
+			<action>cdmc.financepay.financepaycardqry</action>
+			<action>cdmc.financepay.financepaylistqry</action>
+			<action>cdmc.financepay.financepayqrybypks</action>
+			<action>cdmc.financepay.financepaydelete</action>
+			<action>cdmc.financepay.financepaycommit</action>
+			<action>cdmc.financepay.financepaysavecommit</action>
+			<action>cdmc.financepay.financepayuncommit</action>
+			<action>cdmc.financepay.financepayterminate</action>
+			<action>cdmc.financepay.financepayunterminate</action>
+			<action>cdmc.financepay.financepayprint</action>
+			<action>cdmc.financepay.financepayafteredit</action>
+			<action>cdmc.financepay.financepaydelversion</action>
+			<!--<action>cdmc.common.appregisterurlquery</action>凭证-->
+			<action>cdmc.common.loanlinkbill</action>
+			<action>cdmc.financepay.financepayversionlist</action>
+			<action>cdmc.financepay.financepayversiondetail</action>
+			<!--合同卡片查询 -->
+			<action>cdmc.contract.contractcardqry</action>
+			<!--凭证联查单据 -->
+			<action>cdmc.financepay.voucherlinkedbill</action>
+			<!--放款制证 -->
+			<action>cdmc.financepay.vouchermake</action>
+			<!--放款取消制证 -->
+			<action>cdmc.financepay.vouchercancel</action>
+			<action>ccc.bankprotocol.balance</action>
+			<action>cdmc.financepay.financepaycopy</action>
+			<action>cdmc.financepay.InformerToFinancepayAction</action>
+		</actions>
+	</authorize>
+	<authorize>
+		<appcode>*</appcode>
+		<actions>
+			<action>cdmc.financepay.financepaycardqry</action>
+			<action>cdmc.financepay.financepaylistqry</action>
+			<action>cdmc.financepay.financepayqrybypks</action>
+			<action>cdmc.financepay.financepayprint</action>
+			<action>cdmc.financepay.financepayversionlist</action>
+			<action>cdmc.financepay.financepayversiondetail</action>
+			<!--单据联查预算 -->
+			<action>cdmc.financepay.linkntb</action>
+			<!--预算联查单据 -->
+			<action>cdmc.financepay.ntblinkbill</action>
+			<!-- 还款方式查询 -->
+   			<action>tmpub.tmbd.repaymentmethodquerybypks</action>
+			<!--贷款放款展期增行日期校验 -->
+   			<action>cdmc.financepay.comparedate</action>
+			<action>cdmc.financepay.InformerToFinancepayAction</action>
+		</actions>
+	</authorize>
+</authorizes>

+ 104 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/repayintst/config/action/NCCrepayintst.xml

@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<actions>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstsave</name>
+	  <label>银行贷款付息新增/修改</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstSaveAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstcopy</name>
+	  <label>银行贷款付息复制</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstCopyAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstcardqry</name>
+	  <label>银行贷款付息卡片查询</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstQueryCardAction</clazz>
+	</action>
+    
+  	<action>
+	  <name>cdmc.repayintst.repayintstlistqry</name>
+	  <label>银行贷款付息列表查询</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstListQueryAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstqrybypks</name>
+	  <label>银行贷款付息列表根据主键查询</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstQueryByPksAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstdelete</name>
+	  <label>银行贷款付息删除</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstDeleteAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstcommit</name>
+	  <label>银行贷款付息提交</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstCommitAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstsavecommit</name>
+	  <label>银行贷款付息保存提交</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstSaveCommitAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstuncommit</name>
+	  <label>银行贷款付息收回</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstUnCommitAction</clazz>
+	</action>
+	
+	<action>
+	  <name>cdmc.repayintst.repayintstprint</name>
+	  <label>银行贷款付息打印</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstPrintAction</clazz>
+	</action>
+	
+	<action>
+		<name>cdmc.repayintst.cardeditafter</name>
+		<label>银行贷款付息编辑后事件</label>
+		<clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstCardAfterEditAction</clazz>
+	</action>
+	<action>
+		<name>cdmc.repayintst.voucherlinkedbill</name>
+		<label>银行贷款付息凭证联查单据</label>
+		<clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstVoucherLinkedBillAction</clazz>
+	</action>
+	<action>
+		<name>cdmc.repayintst.vouchercancel</name>
+		<label>银行贷款付息取消制证</label>
+		<clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstVoucherCancelAction</clazz>
+	</action>
+	<action>
+		<name>cdmc.repayintst.vouchermake</name>
+		<label>银行贷款付息制证</label>
+		<clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstVoucherMakeAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.repayintst.linkntb</name>
+	  <label>单据联查预算</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstLinkNtbAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.repayintst.ntblinkbill</name>
+	  <label>预算联查单据</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.RepayIntstNtbLinkBillAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.common.loanlinkbill</name>
+	  <label>公共的单据联查凭证</label>
+	  <clazz>nccloud.web.cdmc.common.action.LoanBillLinkVoucherQueryAction</clazz>
+	</action>
+	<action>
+	  <name>cdmc.repayintst.InformerToRepayintstAction</name>
+	  <label>到账通知生成贷款放款</label>
+	  <clazz>nccloud.web.cdmc.cdm.repayinterest.action.InformerToRepayintstAction</clazz>
+	</action>
+</actions>

+ 44 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cdmc/repayintst/config/authorize/repayintst.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<authorizes>
+	<authorize>
+		<appcode>36630BLPI,36630BLPIL</appcode>
+		<actions>
+			<action>cdmc.repayintst.repayintstsave</action>
+			<action>cdmc.repayintst.repayintstcardqry</action>
+			<action>cdmc.repayintst.repayintstlistqry</action>
+			<action>cdmc.repayintst.repayintstqrybypks</action>
+			<action>cdmc.repayintst.repayintstdelete</action>
+			<action>cdmc.repayintst.repayintstcommit</action>
+			<action>cdmc.repayintst.repayintstsavecommit</action>
+			<action>cdmc.repayintst.repayintstuncommit</action>
+			<action>cdmc.common.appregisterurlquery</action><!--凭证-->
+			<action>cdmc.common.loanlinkbill</action>
+			<action>cdmc.repayintst.repayintstprint</action>
+			<action>cdmc.repayintst.cardeditafter</action>
+			<!--凭证联查单据 -->
+			<action>cdmc.repayintst.voucherlinkedbill</action>
+			<action>cdmc.common.loanlinkbill</action>
+			<!--取消制证 -->
+			<action>cdmc.repayintst.vouchercancel</action>
+			<!--制证 -->
+			<action>cdmc.repayintst.vouchermake</action>
+			<action>cdmc.repayintst.repayintstcopy</action>
+			<action>cdmc.repayintst.InformerToRepayintstAction</action>
+		</actions>
+	</authorize>
+	
+	<authorize>
+		<appcode>*</appcode>
+		<actions>
+			<action>cdmc.repayintst.repayintstcardqry</action>
+			<action>cdmc.repayintst.repayintstlistqry</action>
+			<action>cdmc.repayintst.repayintstqrybypks</action>
+			<action>cdmc.repayintst.repayintstprint</action>
+			<!--单据联查预算 -->
+			<action>cdmc.repayintst.linkntb</action>
+			<!--预算联查单据 -->
+			<action>cdmc.repayintst.ntblinkbill</action>
+			<action>cdmc.repayintst.InformerToRepayintstAction</action>
+		</actions>
+	</authorize>
+</authorizes>

+ 251 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cmp/billmanagement/paybills/config/action/paybills.xml

@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<actions>
+  <action>
+    <name>cmp.paybills.query</name>
+    <label>查询</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsQueryAction</clazz>
+  </action>
+     <action>
+    <name>cmp.paybills.paybillconstructor</name>
+    <label>单据构造</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsConstructorAction</clazz>
+  </action>
+   <action>
+    <name>cmp.paybills.save</name>
+    <label>保存</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsInsertAction</clazz>
+  </action>
+     <action>
+    <name>cmp.paybills.copy</name>
+    <label>复制</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsCopyAction</clazz>
+  </action>
+   <action>
+    <name>cmp.billmanagement.querybypk</name>
+    <label>查询卡片</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsQueryCardAction</clazz>
+  </action>
+   <action>
+    <name>cmp.billmanagement.delete</name>
+    <label>删除</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsDeleteAction</clazz>
+  </action>
+   <action>
+    <name>cmp.paybills.update</name>
+    <label>更新</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsUpdateAction</clazz>
+  </action>
+    <action>
+    <name>cmp.paybills.querybypks</name>
+    <label>查询列表翻页</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsQueryByIdsAction</clazz>
+  </action>
+      <action>
+    <name>cmp.paybills.headcurrtypeafter</name>
+    <label>表头币种编辑</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsHeadCurrtypeAfterEventAction</clazz>
+  </action>
+   <action>
+    <name>cmp.paybills.orgchange</name>
+    <label>组织切换</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsOrgchangeEventAction</clazz>
+  </action> 
+    <action>
+    <name>cmp.paybills.bodycurrtypeafter</name>
+    <label>表体币种编辑</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsBodyCurrtypeAfterEventAction</clazz>
+  </action>
+      <action>
+    <name>cmp.paybills.bodycurrtypeafter</name>
+    <label>币种编辑</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsBodyCurrtypeAfterEventAction</clazz>
+  </action>
+    <action>
+    <name>cmp.paybills.linkqueryrecbill</name>
+    <label>付款联查收款</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsLinkQueryRecBillAction</clazz>
+  </action>
+      <action>
+    <name>cmp.paybills.reverse</name>
+    <label>红冲</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsReverseAction</clazz>
+  </action>
+    <action>
+    <name>cmp.paybills.paybillsprint</name>
+    <label>打印</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsPrintAction</clazz>
+  </action>
+      <action>
+    <name>cmp.paybills.paybillsprintlist</name>
+    <label>打印清单</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsPrintlistAction</clazz>
+  </action>
+   <action> 
+    <name>cmp.paybills.commit</name>
+    <label>提交</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsCommitAction</clazz>
+  </action>
+     <action> 
+    <name>cmp.paybills.uncommit</name>
+    <label>收回</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsUnCommitAction</clazz>
+  </action>
+    <action>
+    <name>cmp.paybills.savecommit</name>
+    <label>保存提交</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillSaveCommitAction</clazz>
+  </action>
+      <action>
+    <name>cmp.paybills.editcommit</name>
+    <label>修改提交</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillSaveCommitAction</clazz>
+  </action>
+    <action>
+    <name>cmp.paybills.commisionpay</name>
+    <label>承付</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsCommisionPayAction</clazz>
+  </action>
+      <action>
+    <name>cmp.paybills.canlecompay</name>
+    <label>取消承付</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsCanelCommisionPayAction</clazz>
+  </action> 
+     <action>
+    <name>cmp.paybills.confirm</name>
+    <label>协同确认</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsConfirmAction</clazz>
+  </action> 
+       <action>
+    <name>cmp.paybills.unconfirm</name>
+    <label>取消确认</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsUnConfirmAction</clazz>
+  </action> 
+      <action>
+    <name>cmp.paybills.associate</name>
+    <label>关联结算信息</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsAssociateAction</clazz>
+  </action> 
+       <action>
+    <name>cmp.paybills.canelassociate</name>
+    <label>取消关联结算信息</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsCanelAssociateAction</clazz>
+  </action> 
+   <action>
+    <name>cmp.paybills.linkplanquery</name>
+    <label>关联预算信息</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsLinkPlanQueryAction</clazz>
+  </action> 
+     <action>
+    <name>cmp.paybills.linkplan</name>
+    <label>关联预算信息</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsLinkPlanAction</clazz>
+  </action>
+     <action>
+    <name>cmp.paybills.linkqueryconfirm</name>
+    <label>联查协同确认</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsLinkQueryConfirmAction</clazz>
+  </action> 
+  <action>
+		<name>cmp.paybills.releasecard</name>
+		<label>付款结算到账通知认领查询</label>
+		<clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsReleaseToCardAction</clazz>
+	</action>
+	<action>
+		<name>cmp.paybills.releasesave</name>
+		<label>收款结算单到账通知认领保存</label>
+		<clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsReleaseSaveAction</clazz>
+	</action>
+		<action>
+		<name>cmp.paybills.primalmny</name>
+		<label>付款原币金额编辑后事件</label>
+		<clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillBodyPrimalmnyAfterEventAction</clazz>
+	</action>
+	  <action> 
+    <name>cmp.paybills.commitConfirm</name>
+    <label>提交指派确认</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsCommitComfirmAction</clazz>
+  </action>
+    <action> 
+    <name>cmp.paybills.assave</name>
+    <label>关联结算保存</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsAssociateSaveAction</clazz>
+  </action>
+     <action>
+    <name>cmp.paybills.bodynoteafter</name>
+    <label>表体币种编辑</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsBodyNoteAfterEventAction</clazz>
+  </action>
+     <action>
+    <name>cmp.paybills.headnoteafter</name>
+    <label>表头币种编辑</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsHeadNoteAfterEventAction</clazz>
+  </action>
+       <action>
+    <name>cmp.paybills.voucherLinkBill</name>
+    <label>凭证联查单据</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsVoucherLinkBill4NCCAction</clazz>
+  </action>
+        <action>
+    <name>cmp.paybills.rate</name>
+    <label>凭证联查单据</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsRateHandleAction</clazz>
+  </action>
+    <action> 
+    <name>cmp.paybills.assavecommit</name>
+    <label>关联结算保存提交</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillAssociateSaveCommitAction</clazz>
+   </action>
+	<action> 
+		<name>cmp.paybills.dataAuthority</name>
+		<label>数据权限校验</label>
+		<clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillDataAuthorityAction</clazz>
+	</action>
+	<action> 
+		<name>cmp.paybills.enclosurequery</name>
+		<label>附件查询</label>
+		<clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsEnclosureQueryAction</clazz>
+	</action>
+	   <action>
+    <name>cmp.paybills.commissionAfterEvent</name>
+    <label>承付类型编辑</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillBodyComisionAfterEventAction</clazz>
+  </action>
+  	  <action>
+    <name>cmp.paybills.linkQueryForFTS</name>
+    <label>FTS联查</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PayBillQueryFromFTSAction</clazz>
+  </action>
+    <action>
+    <name>cmp.paybills.commisionSaveCommit</name>
+    <label>FTS联查</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillSaveCommitAction</clazz>
+  </action>
+
+  	 <action>
+    <name>cmp.paybills.netPayBuLu</name>
+    <label>网银补录</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsNetpaymentBuluAction</clazz>
+  </action>
+    <action>
+    <name>cmp.paybills.netPayBuLuSave</name>
+    <label>网银补录保存</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsBuluSaveAction</clazz>
+  </action>
+     <action>
+    <name>cmp.paybills.isCanBuLu</name>
+    <label>交易类型是否支持补录</label>
+    <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsDJLXIsCanBuLuAction</clazz>
+  </action>
+   <action>
+   <name>cmp.paybills.gotocardcheck</name>
+   <label>付款结算跳转校验</label>
+   <clazz>nccloud.web.cmp.billmanagement.paybills.action.PaybillsGo2CardCheckAction</clazz>
+  </action>
+  <action>
+   <name>cmp.paybills.InformerToPaybillAction</name>
+   <label>到账通知到付款结算单</label>
+   <clazz>nccloud.web.cmp.billmanagement.paybills.action.InformerToPaybillAction</clazz>
+  </action>
+  
+  
+</actions>

+ 81 - 0
hotwebs/nccloud/WEB-INF/classes/yyconfig/modules/cmp/billmanagement/paybills/config/authorize/NCCPAYBILL.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<authorizes>
+	<authorize>
+		<!--付款结算、协同确认、审批、小应用、报账 、作业平台可以支持新增、结算 复制 修改 查询 删除 -->
+		<appcode>36070PBR,36070PBM,36070PBRCOMP,36070PBRAPPR,701001RWCL,105602BZPT</appcode>
+		<actions>
+			<action>cmp.paybills.paybillconstructor</action>
+			<action>cmp.paybills.save</action>
+			<action>cmp.paybills.copy</action>
+			<action>cmp.billmanagement.delete</action>
+			<action>cmp.paybills.update</action>
+			<action>cmp.paybills.headcurrtypeafter</action>
+			<action>cmp.paybills.orgchange</action>
+			<action>cmp.paybills.bodycurrtypeafter</action>
+			<action>cmp.paybills.reverse</action>
+			<action>cmp.paybills.commit</action>
+			<action>cmp.paybills.uncommit</action>
+			<action>cmp.paybills.savecommit</action>
+			<action>cmp.paybills.editcommit</action>
+			<action>cmp.paybills.commisionpay</action>
+			<action>cmp.paybills.canlecompay</action>
+			<action>cmp.paybills.confirm</action>
+			<action>cmp.paybills.unconfirm</action>
+			<action>cmp.paybills.associate</action>
+			<action>cmp.paybills.canelassociate</action>
+			<action>cmp.paybills.primalmny</action>
+			<action>cmp.paybills.commitConfirm</action>
+			<action>cmp.paybills.bodynoteafter</action>
+			<action>cmp.paybills.headnoteafter</action>
+			<action>cmp.paybills.dataAuthority</action>
+			<action>cmp.paybills.commissionAfterEvent</action>
+			<action>cmp.paybills.commisionSaveCommit</action>
+		    <action>cmp.paybills.isCanBuLu</action>
+		    <action>cmp.paybills.netPayBuLuSave</action>
+		    <action>cmp.paybills.netPayBuLu</action>
+		    <action>cmp.paybills.gotocardcheck</action>  
+		</actions>
+	</authorize>
+	
+	 <authorize>
+		<!-- 到账通知 生单 保存-->
+		<appcode>36070PBR,36070PBM,36070AIPSC,36070AIPSSC,36070AISC,36070AISCC</appcode>
+		<actions>
+		  <action>cmp.paybills.releasecard</action>
+		  <action>cmp.paybills.releasesave</action>
+		   <action>cmp.paybills.gotocardcheck</action> 
+		</actions>
+	</authorize>
+
+	 <authorize>
+		<!-- 独立结算信息推单 -->
+		<appcode>36070PBR,36070PBM,36070PBR,36070PBM,360704SM</appcode>
+		<actions>
+		  <action>cmp.paybills.assavecommit</action>
+		  <action>cmp.paybills.assave</action>
+		</actions>
+	</authorize>
+
+	<authorize>
+		<!-- 联查、查询卡片用的第地方比较多 权限  暂时配置*-->
+		<appcode>*</appcode>
+		<actions>
+			<action>cmp.paybills.query</action>
+			<action>cmp.billmanagement.querybypk</action>
+			<action>cmp.paybills.querybypks</action>
+			<action>cmp.paybills.linkqueryrecbill</action>
+			<action>cmp.paybills.paybillsprint</action>
+			<action>cmp.paybills.paybillsprintlist</action>
+			<action>cmp.paybills.linkplanquery</action>
+			<action>cmp.paybills.linkplan</action>
+			<action>cmp.paybills.linkqueryconfirm</action>
+			<action>cmp.paybills.voucherLinkBill</action>
+			<action>cmp.paybills.enclosurequery</action>
+			<action>cmp.paybills.linkQueryForFTS</action>
+			<action>cmp.paybills.rate</action>
+			<action>cmp.paybills.gotocardcheck</action> 
+			<action>cmp.paybills.InformerToPaybillAction</action> 
+		</actions>
+	</authorize>
+</authorizes>
+

BIN
modules/cmp/META-INF/classes/nccloud/bs/cmp/informer/NCCInformerBS.class


+ 592 - 0
modules/cmp/META-INF/classes/nccloud/bs/cmp/informer/NCCInformerBS.java

@@ -0,0 +1,592 @@
+package nccloud.bs.cmp.informer;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import nc.bs.cmp.informer.validate.InformerSysFlagUtil;
+import nc.bs.cmp.pub.IsExistRecordResultSetProcessor;
+import nc.bs.dao.BaseDAO;
+import nc.bs.framework.common.NCLocator;
+import nc.bs.tmpub.pub.MapResultSetProcessor;
+import nc.itf.cmp.transformbill.ITransformBillMaintainService;
+import nc.jdbc.framework.SQLParameter;
+import nc.md.persist.framework.IMDPersistenceQueryService;
+import nc.pubitf.arap.gathering.IArapGatheringBillPubService;
+import nc.pubitf.arap.pay.IArapPayBillPubService;
+import nc.pubitf.cmp.changebill.ICmpChangeBillPubService;
+import nc.pubitf.cmp.paybill.ICmpPayBillPubService;
+import nc.pubitf.cmp.recbill.ICmpRecBillPubService;
+import nc.pubitf.fts.commissiongathering.ICommissionGatherForInformerService;
+import nc.pubitf.fts.commissionpayment.ICommissionPaymentForInformerService;
+import nc.pubitf.org.IFundOrgPubService;
+import nc.pubitf.sf.allocate.IAllocateForInformerService;
+import nc.pubitf.sf.delivery.IDeliveryForInformerService;
+import nc.vo.cmp.informer.GenerateFlagEnum;
+import nc.vo.cmp.informer.InformerAppendVO;
+import nc.vo.cmp.informer.InformerReleaseVO;
+import nc.vo.cmp.informer.InformerVO;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.org.FundOrgVO;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.ISuperVO;
+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 nc.vo.pubapp.AppContext;
+import nc.vo.tmpub.datemanage.DateManageQueryVO;
+import nc.vo.tmpub.initdate.CommInitDateCheck;
+import nc.vo.tmpub.util.SqlUtil;
+import nc.vo.tmpub.util.StringUtil;
+
+public class NCCInformerBS {
+	private IMDPersistenceQueryService mdQueryService;
+	private static String modifier = "";
+
+	public InformerAppendVO noGenerateBill(InformerVO vo) throws BusinessException {
+		InformerAppendVO ret = new InformerAppendVO();
+		InformerVO newvo = (InformerVO) this.getMDQueryService().queryBillOfVOByPK(InformerVO.class,
+				vo.getPk_informer(), false);
+		InformerSysFlagUtil.checkInformerOperSysFlag("NCC", new InformerVO[]{vo});
+		if (!newvo.getTs().equals(vo.getTs())) {
+			ret.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0088"));
+			return ret;
+		} else if (!GenerateFlagEnum.HASNOGENERATE.getGenerateFlag().equals(newvo.getGenerateflag())) {
+			ret.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0103"));
+			return ret;
+		} else {
+			newvo.setGenerateflag(GenerateFlagEnum.NOGENERATE.getGenerateFlag());
+			BaseDAO dao = new BaseDAO();
+			dao.updateVO(newvo);
+			return ret;
+		}
+	}
+
+	public InformerAppendVO reGenerateBill(InformerVO vo) throws BusinessException {
+		InformerAppendVO ret = new InformerAppendVO();
+		InformerVO newvo = (InformerVO) this.getMDQueryService().queryBillOfVOByPK(InformerVO.class,
+				vo.getPk_informer(), false);
+		InformerSysFlagUtil.checkInformerOperSysFlag("NCC", new InformerVO[]{vo});
+		if (!newvo.getTs().equals(vo.getTs())) {
+			ret.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0088"));
+			return ret;
+		} else if (!GenerateFlagEnum.NOGENERATE.getGenerateFlag().equals(newvo.getGenerateflag())) {
+			ret.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0102"));
+			return ret;
+		} else {
+			newvo.setGenerateflag(GenerateFlagEnum.HASNOGENERATE.getGenerateFlag());
+			BaseDAO dao = new BaseDAO();
+			dao.updateVO(newvo);
+			return ret;
+		}
+	}
+
+	public void updatervo(InformerVO rvo, ISuperVO vo) throws BusinessException {
+		rvo.setPk_lower(vo.getPrimaryKey());
+		String billtype = (String) vo.getAttributeValue("pk_billtype");
+		if (null == billtype) {
+			billtype = (String) vo.getAttributeValue("pk_billtypecode");
+		}
+
+		if (null == billtype) {
+			billtype = (String) vo.getAttributeValue("bill_type");
+		}
+
+		rvo.setUsemoney(rvo.getMoneyy());
+		rvo.setPk_org((String) vo.getAttributeValue("pk_org"));
+		rvo.setPk_org_v((String) vo.getAttributeValue("pk_org_v"));
+		rvo.setLowerbilltype(billtype);
+		rvo.setGenerateflag(GenerateFlagEnum.HASGENERATE.getGenerateFlag());
+		rvo.setStatus(1);
+		BaseDAO dao = new BaseDAO();
+		dao.updateVO(rvo);
+	}
+
+	public InformerAppendVO cancelMakeBill(InformerVO vo) throws BusinessException {
+		InformerAppendVO ret = this.validateCancelData(vo);
+		if (ret.getErrorMessage() != null) {
+			return ret;
+		} else {
+			String billtype = vo.getLowerbilltype();
+			String pk_lower = vo.getPk_lower();
+			modifier = vo.getModifier();
+			if ("36J7".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getCommisionGatherService().cancelGenerateGather(pk_lower);
+				return ret;
+			} else if ("36J5".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getCommisionPayService().cancelGeneratePayment(pk_lower);
+				return ret;
+			} else if ("36K4".equals(billtype)) {
+				this.updateInformerNoGenerate(pk_lower);
+				this.getDeliveryService().cancelGenerateDeliveryForInform(pk_lower);
+				return ret;
+			} else if ("36K2".equals(billtype)) {
+				this.updateInformerNoGenerate(pk_lower);
+				this.getAllocateService().cancelGenerateAllocate(pk_lower);
+				return ret;
+			} else if ("F4".equals(billtype)) {
+				this.updateInformerNoGenerate(pk_lower);
+				this.getSJService().deleteInformerBill(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("F5".equals(billtype)) {
+				this.updateInformerNoGenerate(pk_lower);
+				this.getFJService().deleteInformerBill(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("F6".equals(billtype)) {
+				this.updateInformerNoGenerate(pk_lower);
+				this.getHJService().deleteInformerBill(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("F3".equals(billtype)) {
+				this.updateInformerNoGenerate(pk_lower);
+				this.getFKService().deleteBillBySourcePK(new String[]{vo.getPk_informer()});
+				return ret;
+			} else if ("F2".equals(billtype)) {
+				this.updateInformerNoGenerate(pk_lower);
+				this.getSKService().deleteBillBySourcePK(new String[]{vo.getPk_informer()});
+				return ret;
+			} else if ("36S4".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getNewHJService().deleteBills(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("36Z3".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getNewHJService().deleteBills(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("3641".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getNewHJService().deleteBills(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("3642".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getNewHJService().deleteBills(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("36Z4".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getNewHJService().deleteBills(new String[]{vo.getPk_lower()});
+				return ret;
+			} else if ("36Z5".equals(billtype)) {
+				this.updateInformerNoGenerate(vo.getPk_lower());
+				this.getNewHJService().deleteBills(new String[]{vo.getPk_lower()});
+				return ret;
+			} 
+			else {
+				return ret;
+			}
+		}
+	}
+
+	public void updateInformerNoGenerate(String pk_lower) throws BusinessException {
+		String sql = " pk_lower = '" + pk_lower + "' and generateflag='hasgenerate' ";
+		String excistSql = " select count(*) from cmp_informer where pk_lower = ? and generateflag='hasgenerate'";
+		SQLParameter parameter = new SQLParameter();
+		parameter.addParam(pk_lower);
+		BaseDAO baseDAO = new BaseDAO();
+		UFBoolean ifResult = (UFBoolean) baseDAO.executeQuery(excistSql, parameter,
+				new IsExistRecordResultSetProcessor());
+		if (!UFBoolean.FALSE.equals(ifResult)) {
+			Collection<?> result = ((IMDPersistenceQueryService) NCLocator.getInstance()
+					.lookup(IMDPersistenceQueryService.class)).queryBillOfVOByCond(InformerVO.class, sql, true, false);
+			if (result != null && result.size() != 0) {
+				InformerVO[] vos = (InformerVO[]) result.toArray(new InformerVO[0]);
+				List<String> pkInformerList = new ArrayList();
+				InformerVO[] var10 = vos;
+				int var11 = vos.length;
+
+				for (int var12 = 0; var12 < var11; ++var12) {
+					InformerVO vo = var10[var12];
+					pkInformerList.add(vo.getPk_informer());
+				}
+
+				String inPkInformerSql = SqlUtil.buildSqlForIn("pk_informer",
+						(String[]) pkInformerList.toArray(new String[0]));
+				String sumsql = " select pk_informer,sum(isnull(ly_money,0)) ljlyje from cmp_informerrelease where "
+						+ inPkInformerSql + " group by pk_informer ";
+				Map<String, String> totoalmap = (Map) baseDAO.executeQuery(sumsql, new MapResultSetProcessor());
+				InformerVO[] var21 = vos;
+				int var14 = vos.length;
+
+				for (int var15 = 0; var15 < var14; ++var15) {
+					InformerVO vo = var21[var15];
+					vo.setPk_lower((String) null);
+					String usemoney = totoalmap.get(vo.getPk_informer()) == null
+							? "0"
+							: (String) totoalmap.get(vo.getPk_informer());
+					vo.setUsemoney(new UFDouble(usemoney));
+					vo.setLowerbilltype((String) null);
+					vo.setGenerateflag(this.getGenerateFlag(vo));
+					vo.setCreator((String) null);
+					vo.setCreationtime((UFDateTime) null);
+				}
+
+				BaseDAO dao = new BaseDAO();
+				dao.updateVOArray(vos);
+			}
+		}
+	}
+
+	public void updateInformerNoGenerateOut(String pk_lower) throws BusinessException {
+		String sql = " pk_lower = '" + pk_lower + "' and generateflag='hasgenerate' ";
+		String excistSqlInform = " select count(*) from cmp_informer where pk_lower = ? and generateflag='hasgenerate'";
+		String excistSqlRelease = " select count(*) from cmp_informerrelease where pk_lower = ? and generateflag='hasgenerate'";
+		SQLParameter parameter = new SQLParameter();
+		parameter.addParam(pk_lower);
+		BaseDAO baseDAO = new BaseDAO();
+		UFBoolean ifResult = (UFBoolean) baseDAO.executeQuery(excistSqlInform, parameter,
+				new IsExistRecordResultSetProcessor());
+		int var13;
+		if (UFBoolean.TRUE.equals(ifResult)) {
+			Collection<?> result = ((IMDPersistenceQueryService) NCLocator.getInstance()
+					.lookup(IMDPersistenceQueryService.class)).queryBillOfVOByCond(InformerVO.class, sql, true, false);
+			if (result == null || result.size() == 0) {
+				return;
+			}
+
+			InformerVO[] vos = (InformerVO[]) result.toArray(new InformerVO[0]);
+			List<String> pkInformerList = new ArrayList();
+			InformerVO[] var11 = vos;
+			int var12 = vos.length;
+
+			for (var13 = 0; var13 < var12; ++var13) {
+				InformerVO vo = var11[var13];
+				pkInformerList.add(vo.getPk_informer());
+			}
+
+			String inPkInformerSql = SqlUtil.buildSqlForIn("pk_informer",
+					(String[]) pkInformerList.toArray(new String[0]));
+			String sumsql = " select pk_informer,sum(isnull(ly_money,0)) ljlyje from cmp_informerrelease where "
+					+ inPkInformerSql + " group by pk_informer ";
+			Map<String, String> totoalmap = (Map) baseDAO.executeQuery(sumsql, new MapResultSetProcessor());
+			InformerVO[] var27 = vos;
+			int var15 = vos.length;
+
+			for (int var16 = 0; var16 < var15; ++var16) {
+				InformerVO vo = var27[var16];
+				vo.setPk_lower((String) null);
+				String usemoney = totoalmap.get(vo.getPk_informer()) == null
+						? "0"
+						: (String) totoalmap.get(vo.getPk_informer());
+				vo.setUsemoney(new UFDouble(usemoney));
+				vo.setLowerbilltype((String) null);
+				vo.setGenerateflag(this.getGenerateFlag(vo));
+				vo.setCreator((String) null);
+				vo.setCreationtime((UFDateTime) null);
+			}
+
+			baseDAO.updateVOArray(vos);
+		} else {
+			SQLParameter releaseparameter = new SQLParameter();
+			releaseparameter.addParam(pk_lower);
+			UFBoolean isexist = (UFBoolean) baseDAO.executeQuery(excistSqlRelease, parameter,
+					new IsExistRecordResultSetProcessor());
+			if (UFBoolean.TRUE.equals(isexist)) {
+				Collection<?> releasevos = ((IMDPersistenceQueryService) NCLocator.getInstance()
+						.lookup(IMDPersistenceQueryService.class)).queryBillOfVOByCond(InformerReleaseVO.class, sql,
+								true, false);
+				if (releasevos == null || releasevos.size() == 0) {
+					return;
+				}
+
+				InformerReleaseVO[] vos = (InformerReleaseVO[]) releasevos.toArray(new InformerReleaseVO[0]);
+				InformerReleaseVO[] var25 = vos;
+				var13 = vos.length;
+
+				for (int var28 = 0; var28 < var13; ++var28) {
+					InformerReleaseVO vo = var25[var28];
+					vo.setPk_lower((String) null);
+					vo.setLowerbilltype((String) null);
+					vo.setCreator((String) null);
+					vo.setCreationtime((UFDateTime) null);
+					vo.setGenerateflag(GenerateFlagEnum.HASCLAIM.getGenerateFlag());
+				}
+
+				baseDAO.updateVOArray(vos);
+			}
+		}
+
+	}
+
+	private void updatervo(InformerVO vo) throws BusinessException {
+		vo.setPk_lower((String) null);
+		vo.setLowerbilltype((String) null);
+		vo.setGenerateflag(this.getGenerateFlag(vo));
+		BaseDAO dao = new BaseDAO();
+		dao.updateVO(vo);
+	}
+
+	public boolean isRelease(InformerVO vo) throws BusinessException {
+		String excistRelaseSql = " select count(*) from cmp_informerrelease where pk_informer = ? ";
+		BaseDAO baseDAO = new BaseDAO();
+		SQLParameter pk_informparam = new SQLParameter();
+		pk_informparam.addParam(vo.getPk_informer());
+		UFBoolean isrelse = (UFBoolean) baseDAO.executeQuery(excistRelaseSql, pk_informparam,
+				new IsExistRecordResultSetProcessor());
+		return isrelse.booleanValue();
+	}
+
+	public String getGenerateFlag(InformerVO vo) throws BusinessException {
+		if (vo.getUsemoney() != null && vo.getUsemoney().compareTo(UFDouble.ZERO_DBL) > 0) {
+			return GenerateFlagEnum.HASRELEASE.getGenerateFlag();
+		} else {
+			return this.isRelease(vo)
+					? GenerateFlagEnum.HASRELEASE.getGenerateFlag()
+					: GenerateFlagEnum.HASNOGENERATE.getGenerateFlag();
+		}
+	}
+
+	private InformerAppendVO validateCancelData(InformerVO rvo) throws BusinessException {
+		InformerAppendVO dvo = new InformerAppendVO();
+		
+		InformerVO newvo = (InformerVO) this.getMDQueryService().queryBillOfVOByPK(InformerVO.class,
+				rvo.getPk_informer(), false);
+//		return dvo;
+		if (!newvo.getTs().equals(rvo.getTs()) && !rvo.getModifier().equals(newvo.getModifier())) {
+			dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0088"));
+			return dvo;
+		} else if (GenerateFlagEnum.HASNOGENERATE.getGenerateFlag().equals(rvo.getGenerateflag())) {
+			dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0096"));
+			return dvo;
+		} else if (GenerateFlagEnum.NOGENERATE.getGenerateFlag().equals(newvo.getGenerateflag())) {
+			dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0097"));
+			return dvo;
+		} else if (rvo.getPk_lower() != null && rvo.getLowerbilltype() != null) {
+			if (!"36J7".equals(rvo.getLowerbilltype()) && !"36J5".equals(rvo.getLowerbilltype())
+					&& !"36K4".equals(rvo.getLowerbilltype()) && !"36K2".equals(rvo.getLowerbilltype())
+					&& !"F4".equals(rvo.getLowerbilltype()) && !"F5".equals(rvo.getLowerbilltype())
+					&& !"F6".equals(rvo.getLowerbilltype()) && !"36S4".equals(rvo.getLowerbilltype())
+					&& !"F3".equals(rvo.getLowerbilltype()) && !"F2".equals(rvo.getLowerbilltype())
+					&& !"36Z3".equals(rvo.getLowerbilltype())&& !"3641".equals(rvo.getLowerbilltype())
+					&& !"3642".equals(rvo.getLowerbilltype())&& !"36Z4".equals(rvo.getLowerbilltype())
+					&& !"36Z5".equals(rvo.getLowerbilltype())) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0101",
+						(String) null, new String[]{rvo.getLowerbilltype()}));
+				return dvo;
+			} else {
+				return dvo;
+			}
+		} else {
+			dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0098",
+					(String) null, new String[]{rvo.getPk_lower(), rvo.getLowerbilltype()}));
+			return dvo;
+		}
+	}
+
+	public void validateCommonData(InformerVO rvo, InformerAppendVO dvo) throws BusinessException {
+		if (null == rvo) {
+			dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0087"));
+		} else {
+			if (rvo.getRowno() != null) {
+				dvo.setRowNO(rvo.getRowno());
+			} else {
+				dvo.setRowNO(1);
+			}
+
+			InformerVO newvo = (InformerVO) this.getMDQueryService().queryBillOfVOByPK(InformerVO.class,
+					rvo.getPk_informer(), false);
+			if (!newvo.getTs().equals(rvo.getTs())) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0088"));
+			} else if (GenerateFlagEnum.HASGENERATE.getGenerateFlag().equals(newvo.getGenerateflag())) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607informercmp_ncc_0",
+						"03607informercmp_ncc-0024"));
+			} else if (GenerateFlagEnum.NOGENERATE.getGenerateFlag().equals(newvo.getGenerateflag())) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0090"));
+			} else {
+				if (newvo.getMoneyy()
+						.compareTo(newvo.getUsemoney() == null ? UFDouble.ZERO_DBL : newvo.getUsemoney()) <= 0) {
+					dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607informercmp_ncc_0",
+							"03607informercmp_ncc-0025") + rvo.getVbillno());
+				}
+
+			}
+		}
+	}
+
+	public Map<String, InformerAppendVO> validateCommonData(InformerVO[] rvos, InformerAppendVO informerAppendVO)
+			throws BusinessException {
+		Map<String, InformerAppendVO> informerAppendVOs = new HashMap();
+		String[] pks = new String[rvos.length];
+
+		for (int i = 0; i < rvos.length; ++i) {
+			pks[i] = rvos[i].getPk_informer();
+		}
+
+		Collection<InformerVO> newvos = this.getMDQueryService().queryBillOfVOByPKs(InformerVO.class, pks, false);
+		Map<String, InformerVO> informerVOs = new HashMap();
+		Iterator var7 = newvos.iterator();
+
+		while (var7.hasNext()) {
+			InformerVO informerVO = (InformerVO) var7.next();
+			informerVOs.put(informerVO.getPrimaryKey(), informerVO);
+		}
+
+		InformerVO[] var14 = rvos;
+		int var15 = rvos.length;
+
+		for (int var9 = 0; var9 < var15; ++var9) {
+			InformerVO rvo = var14[var9];
+			InformerAppendVO dvo = informerAppendVO.clone();
+			InformerVO newvo = (InformerVO) informerVOs.get(rvo.getPrimaryKey());
+			if (null == rvos) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0087"));
+			}
+
+			if (!newvo.getTs().equals(rvo.getTs())) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0088"));
+			}
+
+			if (GenerateFlagEnum.HASGENERATE.getGenerateFlag().equals(newvo.getGenerateflag())) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0123",
+						(String) null, new String[]{rvo.getVbillno()}));
+			}
+
+			if (GenerateFlagEnum.NOGENERATE.getGenerateFlag().equals(newvo.getGenerateflag())) {
+				dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0090"));
+			}
+
+			informerAppendVOs.put(rvo.getPrimaryKey(), dvo);
+		}
+
+		return informerAppendVOs;
+	}
+
+	public void validateCommisionData(InformerAppendVO dvo, InformerVO rvo) throws BusinessException {
+		if (rvo.getPk_org() == null) {
+			dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0085"));
+		} else if (!this.isFundOrg(rvo.getPk_org())) {
+			dvo.setErrorMessage(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0086"));
+		}
+	}
+
+	private boolean isFundOrg(String pk_org) throws BusinessException {
+		return this.getFundOrgService().isFundOrg(pk_org);
+	}
+
+	public void validateFundOrg(InformerVO rvo, InformerAppendVO dvo) throws BusinessException {
+		String pk_currFundOrg = rvo.getPk_org();
+		String pk_fundOrg = dvo.getPk_FundOrg();
+		if (!pk_currFundOrg.equals(pk_fundOrg)) {
+			HashMap<String, ArrayList<FundOrgVO>> fundOrgsMap = this.getFundOrgService()
+					.querySameFatherFundOrgPathMapByFundOrgIDS(pk_currFundOrg, pk_fundOrg);
+			if (fundOrgsMap == null) {
+				throw new BusinessException(
+						NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf1_0", "03607inf1-0055"));
+			} else {
+				Iterator var6 = ((ArrayList) fundOrgsMap.get(pk_currFundOrg)).iterator();
+
+				FundOrgVO fundOrgVO;
+				while (var6.hasNext()) {
+					fundOrgVO = (FundOrgVO) var6.next();
+					if (pk_fundOrg.equals(fundOrgVO.getPk_fatherorg())
+							&& fundOrgVO.getPrimaryKey().equals(pk_currFundOrg)) {
+						return;
+					}
+
+					if (pk_fundOrg.equals(fundOrgVO.getPk_fatherorg())) {
+						break;
+					}
+				}
+
+				var6 = ((ArrayList) fundOrgsMap.get(pk_fundOrg)).iterator();
+
+				while (var6.hasNext()) {
+					fundOrgVO = (FundOrgVO) var6.next();
+					if (pk_currFundOrg.equals(fundOrgVO.getPk_fatherorg())
+							&& fundOrgVO.getPrimaryKey().equals(pk_fundOrg)) {
+						return;
+					}
+
+					if (pk_currFundOrg.equals(fundOrgVO.getPk_fatherorg())) {
+						break;
+					}
+				}
+
+				if (dvo.getPk_FinanceOrg() == null) {
+					throw new BusinessException(
+							NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf1_0", "03607inf1-0056"));
+				} else if (dvo.getPk_accid() == null) {
+					throw new BusinessException(
+							NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf1_0", "03607inf1-0057"));
+				}
+			}
+		}
+	}
+
+	public void validateProcessDate(InformerVO rvo, InformerAppendVO dvo, String moduleID) throws BusinessException {
+		DateManageQueryVO queryVO = new DateManageQueryVO();
+		queryVO.setCurrentBusiDate(rvo.getInfodate());
+		if (!StringUtil.isNull(rvo.getPk_group())) {
+			queryVO.setPk_group(rvo.getPk_group());
+		} else {
+			queryVO.setPk_group(AppContext.getInstance().getPkGroup());
+		}
+
+		queryVO.setPk_org(rvo.getPk_org());
+		queryVO.setMaxBillDate((UFDate) null);
+		queryVO.setDateName(NCLangRes4VoTransl.getNCLangRes().getStrByID("3607inf_0", "03607inf-0115"));
+		UFDate busiDate = AppContext.getInstance().getBusiDate();
+		String result = CommInitDateCheck.checkInitDate(busiDate, rvo.getPk_org(), moduleID);
+		if (!StringUtil.isNull(result)) {
+			dvo.setErrorMessage(result);
+		}
+	}
+
+	private IFundOrgPubService getFundOrgService() {
+		return (IFundOrgPubService) NCLocator.getInstance().lookup(IFundOrgPubService.class);
+	}
+
+	public IMDPersistenceQueryService getMDQueryService() {
+		if (this.mdQueryService == null) {
+			this.mdQueryService = (IMDPersistenceQueryService) NCLocator.getInstance()
+					.lookup(IMDPersistenceQueryService.class);
+		}
+
+		return this.mdQueryService;
+	}
+
+	public IAllocateForInformerService getAllocateService() {
+		return (IAllocateForInformerService) NCLocator.getInstance().lookup(IAllocateForInformerService.class);
+	}
+
+	public IDeliveryForInformerService getDeliveryService() {
+		return (IDeliveryForInformerService) NCLocator.getInstance().lookup(IDeliveryForInformerService.class);
+	}
+
+	public ICommissionGatherForInformerService getCommisionGatherService() {
+		return (ICommissionGatherForInformerService) NCLocator.getInstance()
+				.lookup(ICommissionGatherForInformerService.class);
+	}
+
+	public ICommissionPaymentForInformerService getCommisionPayService() {
+		return (ICommissionPaymentForInformerService) NCLocator.getInstance()
+				.lookup(ICommissionPaymentForInformerService.class);
+	}
+
+	public ICmpRecBillPubService getSJService() {
+		return (ICmpRecBillPubService) NCLocator.getInstance().lookup(ICmpRecBillPubService.class);
+	}
+
+	public ICmpPayBillPubService getFJService() {
+		return (ICmpPayBillPubService) NCLocator.getInstance().lookup(ICmpPayBillPubService.class);
+	}
+
+	@Deprecated
+	public ICmpChangeBillPubService getHJService() {
+		return (ICmpChangeBillPubService) NCLocator.getInstance().lookup(ICmpChangeBillPubService.class);
+	}
+
+	public ITransformBillMaintainService getNewHJService() {
+		return (ITransformBillMaintainService) NCLocator.getInstance().lookup(ITransformBillMaintainService.class);
+	}
+
+	public IArapPayBillPubService getFKService() {
+		return (IArapPayBillPubService) NCLocator.getInstance().lookup(IArapPayBillPubService.class);
+	}
+
+	public IArapGatheringBillPubService getSKService() {
+		return (IArapGatheringBillPubService) NCLocator.getInstance().lookup(IArapGatheringBillPubService.class);
+	}
+}