您的位置:首页 > 移动开发 > Unity3D

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(53)-工作流设计-我的批阅

2016-01-13 23:17 686 查看
系列目录

前言:由于工作原因工作流一直没时间更新,虽然没有更新,但是批阅和申请差不多,改变一下数据的状态字段就行,有几个园友已经率先完成了

说句实话,一个工作流用文章表达很难,我起初以为这是一个很简单的工作流程,但是要花很多时间考虑很多业务场景,这也是导致停滞不前的原因。

最近空出点时时间更新了皮肤,让系统看起来奇葩一点,顺便也把工作流梳理了一遍,最后跑通了整个流程的多个场景完成从提交表单到审批驳回结束流程

事隔已久需要重新梳理流程,辣么开始吧(由于我自己更新了皮肤,截图与之前有点不一样,但是除UI层之外其他还是一样的)

1.开始代码之前需要更新个枚举,这样不容易出错

USE [AppsDB]
GO
/****** Object:  StoredProcedure [dbo].[P_Flow_ResetCheckStepState]    Script Date: 2016/1/13 21:48:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[P_Flow_ResetCheckStepState]
@ContentId varchar(50),
@CheckState int,
@CheckFlag int
AS
BEGIN
--重新设置当前表单步骤的状态
update Flow_FormContentStepCheck set State=@CheckState where ContentId=@ContentId
--根据表单步骤设置其子下步骤分解的状态
declare FormContentStepCheckState_Cursor cursor scroll for
select Id from Flow_FormContentStepCheckState where StepCheckId in
(
select Id from Flow_FormContentStepCheck where ContentId=@ContentId
)
open FormContentStepCheckState_Cursor
declare @tempId varchar(50)
fetch next from FormContentStepCheckState_Cursor into @tempId
while @@FETCH_STATUS=0
begin
update Flow_FormContentStepCheckState set CheckFlag=@CheckFlag where Id=@tempId
fetch next from FormContentStepCheckState_Cursor into @tempId
end
close FormContentStepCheckState_Cursor
deallocate FormContentStepCheckState_Cursor
END


P_Flow_ResetCheckStepState
涉及重置所有步骤的状态存储过程。

代码分析:

1.获取当前步骤

2.获得当前的步骤模板

3.驳回直接终止审核(重置所有步骤的状态)

4.会签,获得同步骤的同批审核人
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: