Asp.Net mvc2oa工作流设计思路[图]
在家乡工作的新公司第一个项目:OA。之前没做过OA,因为设计了类似工作流的东西,所以自己去了解了一下,就有了这个博客(以下文字仅是个人理解,大师已渐行渐远)。环境:MVC2 SQL2008工作流分为几个步骤:表单(设计、分析)、流程(设计)、合并是一个完整的工作流。上图:
第一步:因为表单不是图形化设计的,我们的想法是强行定义表单格式,在后台进行分析。图片:
上图中的HTML是强制定义的,比如tabletbodytrtd必须按照这个格式定义。虽然不灵活,但功能实现了。想法:此表将解析为11个节点(申请人、申请日期、部门、休假类别、休假时间、扣薪表、休假原因、审批人、审批日期、审批结果、审批意见)
。
如上图所示,解析节点在【兴趣爱好】中通过id获取,通过HtmlAgilityPack解析,具体代码:SelectNodes(///Table/t body/TR/TD[@ ID=' Title ']),这样就可以知道表单的所有节点,标题对应的选项对应的是类,从上图也可以看出(用于。特殊控制处理:例如,时间也是通过定义class='time '加载的,然后通过jquery动态绑定。
第二步:流程。此外,用文本形式表述过程步骤,以定义过程和形式之间的关联
。
这里的处理权限与用户直接关联,用于标识谁拥有流程的处理权限。下一步是定义流程。
上图显示了休假流程的所有步骤。下面是如何制定这些步骤。
节点序号:用于表示当前流程是第一步,节点名称用于标识当前步骤的名称,是否允许附件和副署,控制附件和副署区域的显示和隐藏。下一步是确定当前步骤可以转移到哪些步骤。在左边,它已经被选中(可以是多个步骤。这里认为不同的岗位使用相同的流程,会有特殊情况。比如正常流程需要四个步骤【员工填写>经理审批>总监审批>人事备案】,但是总监请假的时候就不需要这么多步骤了【填表>人事备案】,右边拉当前流程下的所有步骤。不能写字段标识。在当前步骤中,表单的哪些节点不能填写。比如员工填写休假申请单转经理时,不能填写员工姓名、部门等信息,只能填写审批意见等节点信息。这样,流程与表单相关联,然后工作流流动。第三步:工作流转移,模拟流程转移,新建流程
。
定义工作流的名称
。
点击“是”直接跳转到流程页面,将第一个流程的相关信息存储在数据库中。
然后填写表格,选择下一步和处理程序,就可以转入下一步了。注意:我把整个表单的所有HTML代码都存储在数据库中,然后在流程流转的时候把填写好的表单内容存储在下一步,这样当流程进行到下一步的时候,我看到的表单就是最新的。这是一种愚蠢的方式,因为使用$ ('# form tableID ')无法获取表单的值,所以需要对其进行处理,获取表单内容并通过jquery直接attr(value,text value),这样就可以将表单内容存储在数据库中。
还涉及多人处理。经办人员选择多人时,流程不允许流转到下一步,除非是最后一个人,但可以填写会签意见,修改表单,修改后的表单会覆盖当前步骤表单,直到最后一个转移到下一步,这样重复就可以实现流程流转。语言能力不强,只能这样说,整个过程还是有瑕疵的。表单设计和流程设计只能是文字形式,以后可能考虑用图形代替,不支持子流程。这就是我今天写的全部。我最近才接触到定制工作流,看到了很多非常强大的工作流,所以以后会继续完善、改进和学习。
版权声明:Asp.Net mvc2oa工作流设计思路[图]是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

















