Foxtable(狐表)用户栏目专家坐堂 → 审批流程设计相关


  共有5488人关注过本帖树形打印复制链接

主题:审批流程设计相关

帅哥哟,离线,有人找我吗?
cd_tdh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
审批流程设计相关  发帖心情 Post By:2020/3/18 15:14:00 [只看该作者]

老师,我有个审核流程表,结构如下:


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200318150427.png
图片点击可在新窗口打开查看

有个测试表,表中有个审批状态列,提交审批后,审批状态 = 审批流程表中的“提交申请状态”

我想做一个通用审批窗口,每次执行审批时,先根据“测试表”中的审批状态,在审批流程表中找到对应的流程,审批完,“测试表”中的审批状态就等于对应审批流程的状态。直到审批状态为审批完成,请老师指教一下应该怎么写通用的“审核窗口”中通过的按钮代码。


[此贴子已经被作者于2020/3/18 17:19:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/18 15:52:00 [只看该作者]

这种表结构我表示无能为力。

建议把流程表改为竖表存储流程:
如表结构:表名、状态,审核人角色、序号
存储的数据如:
测试表、状态1、员工1,1
测试表、状态2、员工2,2
测试表、状态3、经理1,3
测试表、状态4、经理2,4

这样查询的时候,比如测试表当前状态为【状态2】,那么就可以查询到流程表中表名为“测试表”,状态=状态2的序号为2,就很容易知道下一步就是序号3,审核按钮把测试表改为【状态3】即可。使用find只需要2步查询就能知道下一步是什么状态,如果使用sql只需要一步就能获取下一步状态



 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/18 15:58:00 [只看该作者]

好的,谢谢老师,我改为竖表试试,不会再请教。
[此贴子已经被作者于2020/3/18 15:57:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/18 17:17:00 [只看该作者]

老师,表结构我修改了,请老师看看。这个流程我弄完了分享出来,论坛这方面太少了,会做的都不愿意分享出来。

 

[此贴子已经被作者于2020/3/26 9:51:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/18 17:28:00 [只看该作者]

1、根据需要审核的行,获取表名和这一行的状态
2、根据表名和状态到流程表查询下一步流程的状态名称
3、把需要审核的行的状态改为上面查询的结果

 回到顶部
帅哥哟,离线,有人找我吗?
yuweijie
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:188 积分:1904 威望:0 精华:0 注册:2017/12/20 20:41:00
  发帖心情 Post By:2020/3/18 22:22:00 [只看该作者]

看看

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/19 8:44:00 [只看该作者]

老师,下一步的流程状态怎么写呢?

Dim dr As Row = Tables(vars("editTable")).Current
Dim ds  As  DataRow = DataTables("审核流程表").SQLFind("表名称 = '"& vars("editTable")&"'") '找出编号为03的产品
If ds IsNot Nothing Then  '如果找到的话

    If dr("审批状态") = ds("审核状态") Then
        If _UserPost = ds("二级审核") Then
            msgbox(_UserPost)
            Dim dw As Row = Tables("审核意见表").AddNew()
            dw("表名称")= vars("editTable")
            dw("审核部门")= _UserGroup
            dw("审核人")= _UserXingMing
            dw("审核日期")= Date.Now
            dw("审核意见")= e.Form.Controls("TextBox1").text
            dw("ID")= dr("ID")
            dr("审批状态") = ds("二级审核状态")
        Else
            MessageBox.Show("你没有审核资格","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
            e.Cancel = True
        End If
    End If
Else
    MessageBox.Show("该表未加入审批流程,请给管理员联系","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    e.Cancel = True
End If


 回到顶部
帅哥哟,离线,有人找我吗?
chen37280600
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1279 积分:7953 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2020/3/19 9:27:00 [只看该作者]

流程设计,如果简单的一步审批,那就业务表一个字段行了。

1但是如果流程步骤多,就应该把流程跟业务表分离。用一个表,专门存审批。如果你这样横向扩展,就会导致非常多的重复字段。而且当你流程退回重审时,无法保留之前的审批日志
2如果审批中涉及到对其他表的大量操作,记得开数据库事务。因为执行时间长,客户很可能执行到一半把软件强制关了!


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/19 10:13:00 [只看该作者]

7楼的代码都没有做任何的改动,还是照搬1楼的。

1、根据需要审核的行,获取表名和这一行的状态
Dim dr As Row = Tables(vars("editTable")).Current
Dim ds  As  DataRow = DataTables("审核流程表").SQLFind("表名称 = '"& vars("editTable")&"' and 审核状态='" & dr("审批状态") & "'") 
2、根据表名和状态到流程表查询下一步流程的状态名称
Dim dr2  As  DataRow = DataTables("审核流程表").SQLFind("表名称 = '"& vars("editTable")&"' and 流程编号> '" & ds("流程编号") & "'" ,"流程编号") 
3、把需要审核的行的状态改为上面查询的结果
dr("审批状态") = dr2("审核状态")

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/23 16:16:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200323161518.png
图片点击可在新窗口打开查看
请老师指导一下这个表这样设计有没优化的地方?

 回到顶部
总数 29 1 2 3 下一页