培训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,检查元数据映射有没有映射上,没有映射上,添加上,保存,关掉,再打开检查一下有没有添加上,添加上以后发布元数据,重启服务器,清缓存,普通用户登录,联查单据。