?? 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 + -