App_Code/MicroWorkFlowHelper.cs

(开头部分) 119KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using MicroDBHelper;
using MicroDTHelper;
using MicroPublicHelper;
using MicroUserHelper;
using Newtonsoft.Json.Linq;
using MicroFormHelper;
using MicroNoticeHelper;

namespace MicroWorkFlowHelper
{
    /// <summary>
    /// MicroWorkFlowHelper 的摘要说明
    /// </summary>
    public class MicroWorkFlow
    {

        /// <summary>
        /// 获取流程ID(主要作用是判断当前申请表单应该走什么流程,如按生效范围:指定部门、指定职位、指定角色、指定人员生效,有记录则返回Sort第一条。没有设定生效范围则返回未设置生效范围的以)
        /// </summary>
        /// <param name="Action"></param>
        /// <param name="FormID"></param>
        /// <param name="FormsID"></param>
        /// <param name="ShortTableName"></param>
        /// <returns></returns>
        public static int GetWorkFlowID(DataTable _dtWorkFlow, string Action, string FormID, string FormsID, string ShortTableName)
        {

            int WorkFlowID = 0;

            //通常FormID不为空且FormsID不为空时如果能从FormApprovalRecords表中找到记录,说明该表单是有提交过的(即现在属于修改状态下发生的情况)
            //如果能找到记录且WorkFlowID!=0,则把WorkFlowID返回
            if (!string.IsNullOrEmpty(FormID) && !string.IsNullOrEmpty(FormsID))
            {
                string _sql2 = "select top 1 ParentID from WorkFlow where Invalid=0 and del=0 and WFID in( select WorkFlowID from FormApprovalRecords where Invalid = 0 and del = 0 and FormID = @FormID and FormsID = @FormsID )";
                SqlParameter[] _sp2 = { new SqlParameter("@FormID",SqlDbType.Int),
                                       new SqlParameter("@FormsID",SqlDbType.Int),
                                    };

                _sp2[0].Value = FormID.toInt();
                _sp2[1].Value = FormsID.toInt();

                DataTable _dt2 = MsSQLDbHelper.Query(_sql2, _sp2).Tables[0];

                if (_dt2 != null && _dt2.Rows.Count > 0)
                {
                    int ParentID = _dt2.Rows[0]["ParentID"].toInt();
                    if (ParentID != 0)
                        WorkFlowID = ParentID;
                }
            }

            //如果上述无法找到记录(即WorkFlowID保持为0),且_dtWorkFlow表记录>0时继续执行以下代码
            //通常为新增情况下发生
            if (WorkFlowID == 0 && _dtWorkFlow.Rows.Count > 0)
后面还有 2215 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。