培训day09(推单和单据联查)

培训day09(推单)

1.登录集团管理员,动态建模平台–>开发配置–>单据类型管理–>云合零壹培训–> 培训放款单–>下游单据类型–>修改–>行操作–>增行–>下游单据类型YH04–>是否跨集团是–>是否业务流单据是–>保存

2.添加完之后,要清缓存并重启服务器才能继续配置

3.PxdksqdRef.java
参照数据库表或者视图名中加上sqlBuilder.append(" and billstatus = 1 ");//审批通过

4.放款单审批通过后生成合同(ApproveAfterPullOrderScHtRule.java)

public class ApproveAfterPullOrderScHtRule implements IRule<AggYhlypxhtfkdVO>{

	@Override
	public void process(AggYhlypxhtfkdVO[] aggvos) {
		// TODO 自动生成的方法存根
		for(int i = 0; i < aggvos.length; i++){
			try {
				afterApprove(aggvos[i]);
			} catch (BusinessException e) {
				// TODO: handle exception
				ExceptionUtils.wrappBusinessException("生成合同出错:" + e.getMessage());
			}
		}
	}

	private void afterApprove(AggYhlypxhtfkdVO aggvo) throws BusinessException{
		// TODO 自动生成的方法存根
		String billstatus = aggvo.getParentVO().getBillstatus().toString();
		if(!billstatus.equals("1")){
			return;
		}
		//将放款单VO转换成合同VO
		AggYhlypxdkhtVO pullOrderAggvo = (AggYhlypxdkhtVO) PfUtilTools.runChangeData("YH06", "YH04", aggvo);
		//执行合同保存
		AggYhlypxdkhtVO afterSaveAggvo = (AggYhlypxdkhtVO) doActionResult(pullOrderAggvo, "SAVEBASE", "YH04");
		//执行合同提交
		AggYhlypxdkhtVO afterCommitAggvo = (AggYhlypxdkhtVO) doActionResult(afterSaveAggvo, "SAVE", "YH04");
		//执行合同审批
		doAction(afterCommitAggvo,"APPROVE","YH04");
	}
	
	/**
	 * 执行动作脚本
	 * 
	 * @param vo
	 * @param actionCode
	 * @param billtype
	 * @throws BusinessException
	 */
	protected void doAction(AggregatedValueObject aggvo, String actionCode,
			String billtype) throws BusinessException {
		IplatFormEntry platform = NCLocator.getInstance().lookup(
				IplatFormEntry.class);
		platform.processAction(actionCode, billtype, null, aggvo, null, null);

	}

	/**
	 * 执行动作脚本
	 * 
	 * @param vo
	 * @param actionCode
	 * @param billtype
	 * @throws BusinessException
	 */
	protected AggregatedValueObject doActionResult(AggregatedValueObject aggvo,
			String actionCode, String billtype) throws BusinessException {
		IplatFormEntry platform = NCLocator.getInstance().lookup(
				IplatFormEntry.class);
		AggregatedValueObject[] resultvos = (AggregatedValueObject[]) platform
				.processAction(actionCode, billtype, null, aggvo, null, null);
		return resultvos[0];

	}
	
}

5.AceYhlypxfkdApproveBP.java

public class AceYhlypxfkdApproveBP {

	/**
	 * 审核动作
	 * 
	 * @param vos
	 * @param script
	 * @return
	 */
	public AggYhlypxhtfkdVO[] approve(AggYhlypxhtfkdVO[] clientBills, AggYhlypxhtfkdVO[] originBills) {
		for (AggYhlypxhtfkdVO clientBill : clientBills) {
			clientBill.getParentVO().setStatus(VOStatus.UPDATED);
		}
		UpdateBPTemplate<AggYhlypxhtfkdVO> bp = new UpdateBPTemplate<AggYhlypxhtfkdVO>(YhlypxfkdPluginPoint.UPDATE);
		this.addAfterRule(bp.getAroundProcesser());
		AggYhlypxhtfkdVO[] returnVos = bp.update(clientBills, originBills);
		return returnVos;
	}

	private void addAfterRule(CompareAroundProcesser<AggYhlypxhtfkdVO> compareAroundProcesser) {
		// 审批后生成合同
		compareAroundProcesser.addAfterRule(new ApproveAfterPullOrderScHtRule());

	}
}

6.重启客户端,登录集团管理员,动态建模平台–>开发配置–>单据转换规则–>新增–>来源单据类型YH06–>目的单据类型YH04–>集团级是–>保存–>设置规则
在这里插入图片描述
在这里插入图片描述
7.登录普通用户,看推单操作是否可以进行(在自己的单据节点上新建一张单子,提交、审批后会在目标单据节点上也新建一张一模一样的单子)。

(单据联查)

1.登录集团管理员,动态建模平台–>开发配置–>单据类型管理–>云合零壹培训–> 培训放款单–>下游单据类型–>修改–>行操作–>增行–>下游单据类型YH04–>是否跨集团是–>是否业务流单据是–>保存
在这里插入图片描述

2.添加完之后,要清缓存并重启服务器才能继续配置

3.重启客户端,登录集团管理员,动态建模平台–>开发配置–>单据转换规则–>新增–>来源单据类型YH06–>目的单据类型YH04–>集团级是–>保存–>设置规则
在这里插入图片描述
在这里插入图片描述

4.元数据增加映射,保存,关掉,再打开检查看有没有添加上,发布元数据,报错重启UAP,重新发布元数据(联查单据)。
在这里插入图片描述

5.Yhlypxfkd_config.xml
上游联查单据中加上<property name="billType" value="YH06" />(YH06是别人单子的单据类型)
下游联查单据中加上<property name="billType" value="YH04" />(YH04是自己单子的单据类型)

6.重启UAP,检查元数据映射有没有映射上,没有映射上,添加上,保存,关掉,再打开检查一下有没有添加上,添加上以后发布元数据,重启服务器,清缓存,普通用户登录,联查单据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和安韩Pro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值