-
元数据
参照同一功能模块下的其他元数据即可,属性和接口多多益善,多了可以不用,少了以后再想加就麻烦了。记得保存好建库脚本,生成的时候会有路径选择。配到流程信息接口中的审批时间要用动态属性,不然审批的时候会报错。 -
单据
新建完成之后记得备份脚本和.upm
文件,分别在项目的script
和META-INF
目录下。一般来说单据和元数据是独立的,元数据稍微修改修改属性不需要重新生成单据。 -
分配权限
假设什么都不知道,先到用户功能权限查询节点查询当前用户的权限,随便点个职责,通过超链接跳转到职责管理页面,添加权限即可。 -
拉单
单据类型管理,添加下游单据。
单据转换规则,配得比较麻烦,可以从数据库导出pub_vochange和pub_vochange_b的数据,上正式环境的时候直接使用即可。
添加拉单按钮,配置文件可以参考系统中已有功能的配置文件,ref引用的bean一般在生成的xml中已经存在了,只是命名不一样,找到class相同的bean即可。
配置完成之后,需要去编写自己的按钮类,通过nc.ui.pub.pf.PfUtilClient
来调用流程平台的单据转换规则进行拉单。
<!-- 新增菜单 -->
<bean id="addMenuGroup" class="nc.ui.pubapp.uif2app.actions.AddMenuAction"
init-method="initUI">
<property name="billType" value="SZA1" />
<property name="actions">
<list>
<!-- <ref bean="addAction" /> -->
<ref bean="separate" />
<ref bean="addWrAction" />
</list>
</property>
<property name="model" ref="bmModel" />
<property name="pfAddInfoLoader" ref="pfAddInfoLoader"></property>
</bean>
<bean id="separate" class="nc.funcnode.ui.action.SeparatorAction" />
<bean id="pfAddInfoLoader" class="nc.ui.pubapp.uif2app.actions.PfAddInfoLoader">
<property name="billType" value="SZA1" />
<property name="model" ref="manageAppModel" />
</bean>
<!-- 参照生产报告 -->
<bean id="addWrAction" class="nc.ui.mmpac.technology.action.AddWrAction">
<property name="sourceBillType" value="55A4" />
<property name="sourceBillName" value="生产报告" />
<property name="flowBillType" value="false" />
<property name="model" ref="bmModel" />
<property name="transferViewProcessor" ref="transferViewProcessor" />
</bean>
<!-- 转单后公共代码处理 -->
<bean id="transferViewProcessor" class="nc.ui.pubapp.billref.dest.TransferViewProcessor">
<property name="list" ref="billListView" />
<!-- 列表按钮容器 -->
<property name="actionContainer" ref="actionsOfList" />
<!-- 卡片按钮容器 -->
<property name="cardActionContainer" ref="actionsOfCard" />
<!-- 单据保存按钮 -->
<property name="saveAction" ref="saveScriptAction" />
<!-- 单据提交按钮 -->
<property name="commitAction" ref="commitScriptAction" />
<!-- 单据取消按钮 -->
<property name="cancelAction" ref="cancelAction" />
<!-- 快速查询区
<property name="queryAreaShell" ref="viewa" />-->
<property name="queryInfoToolbarPanel" ref="viewb" />
<property name="billForm" ref="billForm" />
<property name="transferLogic">
<bean class="nc.ui.pubapp.billref.dest.DefaultBillDataLogic">
<property name="billForm" ref="billForm" />
</bean>
</property>
</bean>
- 自定义查询
有时候我们需要对上游单据进行过滤,不是所有的单据都需要被拉。这时候就需要编写来源单据显示类。但是来源单据查询类和查询模板标识也是要配的,不然会报错,使用默认的查询类<nc.ui.pubapp.billref.src.DefaultBillReferQuery>和查询模板即可(但是需要去功能模板设置一下节点标识)。
来源单据显示类还是引用了一个配置文件,配置了来源单据的各种信息,我们只需要重写查询服务即可。VO的命名可能千奇百怪,但是我们只要观察父类和示例的一致,就是满足条件的VO。
<!-- 转单参照单据信息 -->
<bean id="refInfo" class="nc.ui.pubapp.billref.src.RefInfo">
<property name="headVO">
<bean class="nc.vo.mmpac.wr.entity.WrVO">
</bean>
</property>
<property name="bodyVO">
<bean class="nc.vo.mmpac.wr.entity.WrItemVO">
</bean>
</property>
<property name="billVO">
<bean class="nc.vo.mmpac.wr.entity.AggWrVO">
</bean>
</property>
<property name="viewVO">
<bean class="nc.vo.mmpac.wr.entity.WrSerNoViewVO">
</bean>
</property>
<!-- 单据模板 -->
<property name="billNodeKey" value ="55A4toSZA1"></property>
<property name="billViewNodeKey" value ="55A4toSZA1"></property>
<!-- 来源单据pk -->
<property name="sourcevoPkName" value ="vbsrcid"></property>
<!-- 来源单据号 -->
<property name="sourcevoBillNOName" value ="vbsrccode"></property>
<!-- 单据查询服务 nc.ui.pubapp.uif2app.model.IQueryService -->
<property name="queryService">
<bean class="nc.ui.mmpac.m55a4.billui.model.QueryServiceFor55A4">
</bean>
</property>
</bean>
网友评论