📄 xgprocess.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "xgprocess"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Private Cnn As New ADODB.Connection
Private ProRs As New ADODB.Recordset '循环流程纪录
Private Rs As New ADODB.Recordset
Private Com As New ADODB.Command '处理插入与更新
Private Curstepnum As String
Private Curflowname As String
Private Curformnum As String
Private Curformname As String
Private Prostr As String
Private ErrorMessage As String
Public Sub flowprocess(Curuserdept)
Dim Ifagree As String
Dim Parent_no, Action_type, Tell_type, Judge_type, Judge_result, Form_unit, Judge_symbol, Judge_value As String
Dim Flow_title, Check_member, Company_member, Formtype, Uname As String
Dim Tname()
If Cnn.State = 1 Then
Prostr = "select * from workflow_process_rec "
ProRs.Open Prostr
While Not ProRs.EOF And Not ProRs.BOF '有工作流处理纪录
Curstepnum = ProRs.Fields("flow_no") '当前步骤
Curflowname = ProRs.Fields("flow_name") '当前流程名
Curformnum = ProRs.Fields("date_id") '当前表单ID
Prostr = "select form_name from workflow_date_id where date_id='" & Curformnum & "'"
Rs.Open Prostr
If Not Rs.EOF And Not Rs.BOF Then Curformname = Rs.Fields("form_name") '当前表单名称
Rs.Close
Prostr = "select * from workflow_flow_construction where flow_no='" & Curstepnum & "' and flow_name='" & Curflowname & "'"
Rs.Open Prostr
If Not Rs.EOF And Not Rs.BOF Then '有当前流程步骤纪录
Parent_no = Rs.Fields("parent_no")
Action_type = Rs.Fields("action_type")
Tell_type = Rs.Fields("tell_type")
Judge_type = Rs.Fields("judge_type")
Judge_result = Rs.Fields("judge_result")
Form_unit = Rs.Fields("form_unit")
Judge_symbol = Rs.Fields("judge_symbol")
Judge_value = Rs.Fields("judge_value")
Flow_title = Rs.Fields("flow_title")
Check_member = Rs.Fields("check_member")
Company_member = Rs.Fields("company_member")
Rs.Close
If Action_type <> "结束" Then
'//------------------------有审批完成的工作------------------------------------------------------
Prostr = "select * from workflow_check_rec where ifcheck='yes' and flow_name='" & Curflowname & "' and flow_no='" & Curstepnum & "' and date_id='" & Curformnum & "'"
Rs.Open Prostr
While Not Rs.EOF And Not Rs.BOF
Ifagree = Rs.Fields("ifagree")
Rs.Close
Prostr = "select flow_no from workflow_flow_construction where parent_no='" & Curstepnum & "' and flow_name='" & Curflowname & "' and judge_result='" & Ifagree & "'and judge_type='审批判断'"
Rs.Open Prostr
Com.CommandText = "update workflow_process_rec set flow_no='" & Rs.Fields("flow_no") & "' where flow_no='" & Curstepnum & "' and flow_name='" & Curflowname & "' and date_id='" & Curformnum & "'"
Com.Execute
Rs.MoveNext
Wend
Rs.Close
'//----------------------------------------------------------------------------------------------
Select Case Action_type
'---------------------------------------------
Case "开始"
Forprocess ("开始")
Case "判断"
Forprocess ("判断")
'---------------------------------------------
Case "审批"
Select Case Check_member
Case "公司负责人"
Prostr = "select username from userinf where ifcompanymang='yes'"
Rs.Open Prostr
While Not Rs.EOF And Not Rs.BOF
Com.CommandText = "insert into workflow_check_rec (checkusername,date_id,flow_name,flow_no)values('" & Rs.Fields("username") & "','" & Curformnum & "','" & Curflowname & "','" & Curstepnum & "')"
Com.Execute
Rs.MoveNext
Wend
Rs.Close
Case "部门负责人"
Prostr = "select username from userinf where ifdeptmentmang='yes' and userdept='" & Curuserdept & "'"
Rs.Open Prostr
While Not Rs.EOF And Not Rs.BOF
Com.CommandText = "insert into workflow_check_rec (checkusername,date_id,flow_name,flow_no)values('" & Rs.Fields("username") & "','" & Curformnum & "','" & Curflowname & "','" & Curstepnum & "')"
Com.Execute
Rs.MoveNext
Wend
Rs.Close
Case "公司成员"
Prostr = "select * from workflow_check_rec where checkusername='" & Company_member & "' and date_id='" & Curformnum & "' and flow_name='" & Curflowname & "' and flow_no='" & Curstepnum & "'"
Rs.Open Prostr
If Rs.EOF And Rs.BOF Then
Com.CommandText = "insert into workflow_check_rec (checkusername,date_id,flow_name,flow_no)values('" & Company_member & "','" & Curformnum & "','" & Curflowname & "','" & Curstepnum & "')"
Com.Execute
Rs.MoveNext
End If
Rs.Close
End Select
Case "通知"
Forprocess ("通知")
'------------------------------------------
Select Case Tell_type
Case "通知表单提交人"
Prostr = "select username from workflow_date_id where date_id='" & Curformnum & "' and form_name='" & Curformname & "'"
Rs.Open Prostr
Com.CommandText = "insert into workflow_tell_user(username,date_id,form_name,flow_name,flow_no)values('" & Rs.Fields("username") & "','" & Curformnum & "','" & Curformname & "','" & Curflowname & "','" & Curstepnum & "')"
Com.Execute
Rs.Close
Case "通知所有人"
Prostr = "select username from userinf"
Rs.Open Prostr
While Not Rs.EOF And Not Rs.BOF
Com.CommandText = "insert into workflow_tell_user(username,date_id,form_name,flow_name,flow_no)values('" & Rs.Fields("username") & "','" & Curformnum & "','" & Curformname & "','" & Curflowname & "','" & Curstepnum & "')"
Com.Execute
Wend
Rs.Close
Case "通知指定人"
Com.CommandText = "insert into workflow_tell_user(username,date_id,form_name,flow_name,flow_no)values('" & Company_member & "','" & Curformnum & "','" & Curformname & "','" & Curflowname & "','" & Curstepnum & "')"
Com.Execute
Case "通知表单单元人员"
Prostr = "select form_type from workflow_form_construction where form_arrno='" & Form_unit & "' and form_name='" & Curformname & "'"
Rs.Open Prostr
If Not Rs.EOF And Not Rs.BOF Then Formtype = Rs.Fields("form_type")
Rs.Close
Prostr = "select content from workflow_" & Formtype & "_content where form_arrno='" & Form_unit & "' and form_name='" & Curformname & "' and date_id='" & Curformnum & "'"
Rs.Open Prostr
If Not Rs.EOF And Not Rs.BOF Then Uname = Rs.Fields("content")
Rs.Close
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -