/// <summary>
    /// 看有没有权限启动相对应的流程
    /// </summary>
    /// <param name="strUserID">用户编号</param>
    /// <param name="strWF_ID">流程编号</param>
    /// <returns>返回值</returns>
    private bool IsHaveRightToDealTheStep(string strUserID, string strID, ref TWfSettingTaskVo dealStep, ref string strUrl)
    {
        TWfInstTaskDetailVo step = new TWfInstTaskDetailLogic().Details(new TWfInstTaskDetailVo()
        {
            ID = strID
        });

        if (string.IsNullOrEmpty(step.ID))
        {
            return(false);
        }
        TWfSettingTaskVo task = new TWfSettingTaskLogic().Details(new TWfSettingTaskVo()
        {
            WF_ID = step.WF_ID, WF_TASK_ID = step.WF_TASK_ID, SORT_FIELD = TWfSettingTaskVo.TASK_ORDER_FIELD, SORT_TYPE = " asc "
        });

        if (string.IsNullOrEmpty(task.ID))
        {
            return(false);
        }
        //判断是否有相关启动权限

        strUrl = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo()
        {
            WF_ID = step.WF_ID, WF_TASK_ID = step.WF_TASK_ID
        }).UCM_ID;
        dealStep = task;
        return(true);

        #region 原具备环节权限的判定

        //if (task.OPER_TYPE == "01" && task.OPER_VALUE.IndexOf(strUserID) > -1)
        //{
        //    strUrl = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo() { WF_ID = step.WF_ID, WF_TASK_ID = step.WF_TASK_ID }).UCM_ID;
        //    dealStep = task;
        //    return true;
        //}

        //if (task.OPER_TYPE == "02")
        //{
        //    DataTable dtUserPost = new TSysUserPostLogic().SelectByTable(new TSysUserPostVo());
        //    foreach (DataRow dr in dtUserPost.Rows)
        //    {
        //        if (dr[TSysUserPostVo.USER_ID_FIELD].ToString() == strUserID)
        //        {
        //            if (task.OPER_VALUE.IndexOf(dr[TSysUserPostVo.POST_ID_FIELD].ToString()) > -1)
        //            {
        //                //目前只处理了页面处理方式的连接地址
        //                dealStep = task;
        //                strUrl = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo() { WF_ID = step.WF_ID, WF_TASK_ID = task.WF_TASK_ID }).UCM_ID;
        //                if (!string.IsNullOrEmpty(strUrl))
        //                    return true;
        //            }
        //        }
        //    }
        //}
        //return false;

        #endregion
    }
    public void grdList_Command(object sender, GridViewCommandEventArgs e)
    {
        string strID = e.CommandArgument.ToString();

        if (e.CommandName == "iDelete")
        {
            TWfSettingTaskVo        setStep   = new TWfSettingTaskLogic().Details(strID);
            TWfSettingTaskLogic     taskLogic = new TWfSettingTaskLogic();
            TWfSettingTaskCmdLogic  cmdLogic  = new TWfSettingTaskCmdLogic();
            TWfSettingTaskFormLogic formLogic = new TWfSettingTaskFormLogic();
            bool bIsSucess = taskLogic.Delete(strID);
            if (bIsSucess)
            {
                cmdLogic.Delete(new TWfSettingTaskCmdVo()
                {
                    WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
                });
                formLogic.Delete(new TWfSettingTaskFormVo()
                {
                    WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
                });
            }
            InitUserData();
            string strMessage = LogInfo.UserInfo.USER_NAME + "删除环节:" + setStep.WF_TASK_ID + " 成功";
            (this.Page as PageBase).WriteLog(i3.ValueObject.ObjectBase.LogType.WFEidtSettingInfo, "", strMessage);
        }
    }
    public static string deleteData(string strValue)
    {
        TWfSettingTaskVo        setStep   = new TWfSettingTaskLogic().Details(strValue);
        TWfSettingTaskLogic     taskLogic = new TWfSettingTaskLogic();
        TWfSettingTaskCmdLogic  cmdLogic  = new TWfSettingTaskCmdLogic();
        TWfSettingTaskFormLogic formLogic = new TWfSettingTaskFormLogic();
        bool bIsSucess = taskLogic.Delete(strValue);

        if (bIsSucess)
        {
            cmdLogic.Delete(new TWfSettingTaskCmdVo()
            {
                WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
            });
            formLogic.Delete(new TWfSettingTaskFormVo()
            {
                WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
            });
        }
        string strMessage = new PageBase().LogInfo.UserInfo.USER_NAME + "删除环节:" + setStep.WF_TASK_ID + " 成功";

        new PageBase().WriteLog("删除环节", "", strMessage);

        return(bIsSucess == true ? "1" : "0");
    }
    private void InitSetpData(string strID)
    {
        TWfSettingTaskVo setStep = new TWfSettingTaskLogic().Details(strID);

        BindObjectToControlsMode(setStep);
        string strCommandList         = setStep.COMMAND_NAME;
        string strOperList            = setStep.OPER_VALUE;
        string strFunctionList        = setStep.FUNCTION_LIST;
        TWfSettingTaskFormVo formTemp = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo()
        {
            WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
        });

        //开始给表单和空间地址赋值
        UCM_TYPE.SelectedIndex      = UCM_TYPE.Items.IndexOf(UCM_TYPE.Items.FindByValue(formTemp.UCM_TYPE));
        UCM_ID.Text                 = formTemp.UCM_ID;
        rdbtnlstAndOr.SelectedIndex = rdbtnlstAndOr.Items.IndexOf(rdbtnlstAndOr.Items.FindByValue(setStep.TASK_AND_OR));
        //开始给命令节点赋值
        string[] strList1 = strCommandList.Split('|');
        foreach (string strTemp in strList1)
        {
            foreach (ListItem li in ckbxlstCMDList.Items)
            {
                if (li.Value == strTemp)
                {
                    li.Selected = true;
                }
            }
        }
        //开始给附加功能赋值
        string[] strList3 = strFunctionList.Split('|');
        foreach (string strTemp in strList3)
        {
            foreach (ListItem li in ckbxlstPowerList.Items)
            {
                if (li.Value == strTemp)
                {
                    li.Selected = true;
                }
            }
        }


        //开始给用户|职位赋值
        rdbtnlstOperType.SelectedIndex = rdbtnlstOperType.Items.IndexOf(rdbtnlstOperType.Items.FindByValue(setStep.OPER_TYPE));
        rdbtnlstOperType_SelectedIndexChanged(new object(), new EventArgs());
        string[] strList2 = strOperList.Split('|');
        foreach (string strTemp in strList2)
        {
            ListItem li = lsbAll.Items.FindByValue(strTemp);
            if (null != li)
            {
                ListItem liTemp = new ListItem(li.Text, li.Value);
                lsbStep.Items.Add(liTemp);
            }
        }
    }
Exemplo n.º 5
0
        private void InitSetpData(string strID)
        {
            TWfSettingTaskVo setStep = new TWfSettingTaskLogic().Details(strID);

            BindObjectToControlsMode(setStep);
            string strCommandList         = setStep.COMMAND_NAME;
            string strOperList            = setStep.OPER_VALUE;
            string strFunctionList        = setStep.FUNCTION_LIST;
            TWfSettingTaskFormVo formTemp = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo()
            {
                WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
            });

            //开始给表单和空间地址赋值
            UCM_TYPE.SelectedIndex      = UCM_TYPE.Items.IndexOf(UCM_TYPE.Items.FindByValue(formTemp.UCM_TYPE));
            UCM_ID.Text                 = formTemp.UCM_ID;
            rdbtnlstAndOr.SelectedIndex = rdbtnlstAndOr.Items.IndexOf(rdbtnlstAndOr.Items.FindByValue(setStep.TASK_AND_OR));
            //开始给命令节点赋值
            string[] strList1 = strCommandList.Split('|');
            foreach (string strTemp in strList1)
            {
                foreach (ListItem li in ckbxlstCMDList.Items)
                {
                    if (li.Value == strTemp)
                    {
                        li.Selected = true;
                    }
                }
            }
            //开始给附加功能赋值
            string[] strList3 = strFunctionList.Split('|');
            foreach (string strTemp in strList3)
            {
                foreach (ListItem li in ckbxlstPowerList.Items)
                {
                    if (li.Value == strTemp)
                    {
                        li.Selected = true;
                    }
                }
            }

            //初始化用户已有信息
            InitUserPostData(setStep);
        }
    protected void btnDeleteTask_Click(object sender, EventArgs e)
    {
        string                  strID     = GetSelectItemID();
        TWfSettingTaskVo        setStep   = new TWfSettingTaskLogic().Details(strID);
        TWfSettingTaskLogic     taskLogic = new TWfSettingTaskLogic();
        TWfSettingTaskCmdLogic  cmdLogic  = new TWfSettingTaskCmdLogic();
        TWfSettingTaskFormLogic formLogic = new TWfSettingTaskFormLogic();
        bool bIsSucess = taskLogic.Delete(strID);

        if (bIsSucess)
        {
            cmdLogic.Delete(new TWfSettingTaskCmdVo()
            {
                WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
            });
            formLogic.Delete(new TWfSettingTaskFormVo()
            {
                WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
            });
        }
        InitUserData();
    }
    //获取数据
    private void GetData(string strWF_ID, string strWF_TASK_ID)
    {
        TWfSettingTaskVo objVo = new TWfSettingTaskLogic().Details(new TWfSettingTaskVo()
        {
            WF_TASK_ID = strWF_TASK_ID, WF_ID = strWF_ID
        });
        TWfSettingTaskFormVo formTemp = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo()
        {
            WF_TASK_ID = strWF_TASK_ID, WF_ID = strWF_ID
        });

        objVo.POSITION_IX = formTemp.UCM_TYPE;
        objVo.POSITION_IY = formTemp.UCM_ID;

        objVo.COMMAND_NAME = objVo.COMMAND_NAME.Replace("|", ";");
        if (objVo.COMMAND_NAME.EndsWith(";"))
        {
            objVo.COMMAND_NAME = objVo.COMMAND_NAME.Substring(0, objVo.COMMAND_NAME.Length - 1);
        }

        objVo.FUNCTION_LIST = objVo.FUNCTION_LIST.Replace("|", ";");
        if (objVo.FUNCTION_LIST.EndsWith(";"))
        {
            objVo.FUNCTION_LIST = objVo.FUNCTION_LIST.Substring(0, objVo.FUNCTION_LIST.Length - 1);
        }

        objVo.OPER_VALUE = objVo.OPER_VALUE.Replace("|", ";");
        if (objVo.OPER_VALUE.EndsWith(";"))
        {
            objVo.OPER_VALUE = objVo.OPER_VALUE.Substring(0, objVo.OPER_VALUE.Length - 1);
        }

        objVo.OPER_TYPE = GetUserNames(objVo.OPER_VALUE);

        string strJson = ToJson(objVo);

        Response.Write(strJson);
        Response.End();
    }
Exemplo n.º 8
0
    /// <summary>
    /// 看有没有权限启动相对应的流程
    /// </summary>
    /// <param name="strUserID">用户编号</param>
    /// <param name="strWF_ID">流程编号</param>
    /// <returns>返回值</returns>
    private bool IsHaveRightToStartTheWF(string strUserID, string strWF_ID, ref TWfSettingTaskVo firstStep, ref string strUrl)
    {
        TWfSettingFlowVo flow = new TWfSettingFlowLogic().Details(new TWfSettingFlowVo()
        {
            WF_ID = strWF_ID
        });

        if (string.IsNullOrEmpty(flow.ID))
        {
            return(false);
        }
        List <TWfSettingTaskVo> taskList = new TWfSettingTaskLogic().SelectByObjectList(new TWfSettingTaskVo()
        {
            WF_ID = strWF_ID, SORT_FIELD = TWfSettingTaskVo.TASK_ORDER_FIELD, SORT_TYPE = " asc "
        });

        if (taskList.Count == 0)
        {
            return(false);
        }
        //判断是否有相关启动权限

        #region  需要权限
        //if (taskList[0].OPER_TYPE == "01" && taskList[0].OPER_VALUE.IndexOf(strUserID) > -1)
        //{
        //    strUrl = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo() { WF_ID = strWF_ID, WF_TASK_ID = taskList[0].WF_TASK_ID }).UCM_ID;
        //    firstStep = taskList[0];
        //    return true;
        //}

        //if (taskList[0].OPER_TYPE == "02")
        //{
        //    DataTable dtUserPost = new TSysUserPostLogic().SelectByTable(new TSysUserPostVo());
        //    foreach (DataRow dr in dtUserPost.Rows)
        //    {
        //        if (dr[TSysUserPostVo.USER_ID_FIELD].ToString() == strUserID)
        //        {
        //            if (taskList[0].OPER_VALUE.IndexOf(dr[TSysUserPostVo.POST_ID_FIELD].ToString()) > -1)
        //            {
        //                //目前只处理了页面处理方式的连接地址
        //                firstStep = taskList[0];
        //                strUrl = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo() { WF_ID = strWF_ID, WF_TASK_ID = taskList[0].WF_TASK_ID }).UCM_ID;
        //                if (!string.IsNullOrEmpty(strUrl))
        //                    return true;
        //            }
        //        }
        //    }
        //}
        //return false;
        #endregion

        //石磊调整,不加入限制,任何人都可以启动流程
        //2013-05-02

        strUrl = new TWfSettingTaskFormLogic().Details(new TWfSettingTaskFormVo()
        {
            WF_ID = strWF_ID, WF_TASK_ID = taskList[0].WF_TASK_ID
        }).UCM_ID;
        firstStep = taskList[0];
        return(true);
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        string strTips = ValidateData();

        if (!string.IsNullOrEmpty(strTips))
        {
            Alert(strTips);
            return;
        }
        //构建节点记录
        TWfSettingTaskVo setStep = new TWfSettingTaskVo();

        BindControlsToObjectMode(setStep);
        setStep.WF_ID       = WF_ID.Value;
        setStep.WF_TASK_ID  = WF_TASK_ID.Value == "" ? this.GetGUID() : WF_TASK_ID.Value;
        setStep.ID          = setStep.WF_TASK_ID;
        setStep.TASK_AND_OR = rdbtnlstAndOr.SelectedValue;
        //暂时指定为01,后续扩展
        setStep.TASK_TYPE = "01";
        setStep.OPER_TYPE = rdbtnlstOperType.SelectedValue;

        //构建操作人类型和数值
        foreach (ListItem li in lsbStep.Items)
        {
            setStep.OPER_VALUE += li.Value + "|";
        }
        //构建排序的数值


        //构建附加功能值
        foreach (ListItem li in ckbxlstPowerList.Items)
        {
            if (li.Selected)
            {
                setStep.FUNCTION_LIST += li.Value + "|";
            }
        }
        //如果是空,则说明不附加任何功能,直接置空
        setStep.FUNCTION_LIST = setStep.FUNCTION_LIST == "" ? "###" : setStep.FUNCTION_LIST;

        //构建节点命令集合
        List <TWfSettingTaskCmdVo> cmdSetpList = new List <TWfSettingTaskCmdVo>();

        foreach (ListItem li in ckbxlstCMDList.Items)
        {
            if (li.Selected)
            {
                TWfSettingTaskCmdVo cmdTemp = new TWfSettingTaskCmdVo();
                cmdTemp.ID         = this.GetGUID();
                cmdTemp.WF_CMD_ID  = cmdTemp.ID;
                cmdTemp.WF_ID      = WF_ID.Value;
                cmdTemp.WF_TASK_ID = setStep.WF_TASK_ID;
                cmdTemp.CMD_NAME   = li.Value;
                cmdTemp.CMD_NOTE   = li.Text;
                cmdSetpList.Add(cmdTemp);
                //在节点表中存储一个字符串
                setStep.COMMAND_NAME += cmdTemp.CMD_NAME + "|";
            }
        }
        //构建节点表单页面记录
        TWfSettingTaskFormVo formStep = new TWfSettingTaskFormVo();

        formStep.WF_ID      = setStep.WF_ID;
        formStep.WF_TASK_ID = setStep.WF_TASK_ID;
        formStep.ID         = this.GetGUID();
        formStep.WF_TF_ID   = formStep.ID;
        formStep.UCM_ID     = UCM_ID.Text;
        formStep.UCM_TYPE   = UCM_TYPE.SelectedValue;

        //保存按钮的处理
        if (string.IsNullOrEmpty(WF_TASK_ID.Value))
        {
            //新增
            TWfSettingTaskLogic     taskLogic = new TWfSettingTaskLogic();
            TWfSettingTaskCmdLogic  cmdLogic  = new TWfSettingTaskCmdLogic();
            TWfSettingTaskFormLogic formLogic = new TWfSettingTaskFormLogic();
            //新增是构建 TASK_ORDER
            setStep.TASK_ORDER = (taskLogic.GetSelectResultCount(new TWfSettingTaskVo()
            {
                WF_ID = setStep.WF_ID
            }) + 1).ToString();

            bool bIsSucess = taskLogic.Create(setStep);
            if (bIsSucess)
            {
                cmdLogic.Create(cmdSetpList);
                formLogic.Create(formStep);
            }
            this.Alert("添加成功");
            //日志记录
        }
        else
        {
            //修改
            TWfSettingTaskLogic     taskLogic = new TWfSettingTaskLogic();
            TWfSettingTaskCmdLogic  cmdLogic  = new TWfSettingTaskCmdLogic();
            TWfSettingTaskFormLogic formLogic = new TWfSettingTaskFormLogic();
            bool bIsSucess = taskLogic.Edit(setStep);
            if (bIsSucess)
            {
                cmdLogic.Delete(new TWfSettingTaskCmdVo()
                {
                    WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
                });
                cmdLogic.Create(cmdSetpList);
                formLogic.Delete(new TWfSettingTaskFormVo()
                {
                    WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
                });
                formLogic.Create(formStep);
            }
            this.Alert("修改成功");
        }
    }
    public static string SaveData(string strid, string stWF_ID, string strWF_TASK_ID, string strTASK_CAPTION, string strTASK_NOTE, string strCOMMAND_NAME, string strCOMMAND_NAME_Text,
                                  string strFUNCTION_LIST, string strTASK_AND_OR, string strPOSITION_IX, string strPOSITION_IY, string strOPER_VALUE)
    {
        bool isSuccess = true;

        //构建节点记录
        TWfSettingTaskVo setStep = new TWfSettingTaskVo();

        setStep.WF_ID      = stWF_ID;
        setStep.WF_TASK_ID = strWF_TASK_ID == "0" ? new PageBaseForWF().GetGUID() : strWF_TASK_ID;
        setStep.ID         = strid == "0" ? setStep.WF_TASK_ID : strid;

        setStep.TASK_CAPTION  = strTASK_CAPTION;
        setStep.TASK_NOTE     = strTASK_NOTE;
        setStep.COMMAND_NAME  = strCOMMAND_NAME.Replace(";", "|");
        setStep.FUNCTION_LIST = strFUNCTION_LIST.Length == 0 ? "###" : strFUNCTION_LIST.Replace(";", "|");
        setStep.TASK_AND_OR   = strTASK_AND_OR;
        setStep.TASK_TYPE     = "01"; //暂时指定为01,后续扩展
        setStep.OPER_TYPE     = "01"; //暂时指定为用户,屏蔽用户类型“职位”,因为工作流设计无法适应用户、职位同时选的情况
        setStep.OPER_VALUE    = strOPER_VALUE.Replace(";", "|");

        //构建节点命令集合
        List <TWfSettingTaskCmdVo> cmdSetpList = new List <TWfSettingTaskCmdVo>();

        string[] arrCMDName     = strCOMMAND_NAME.Split(';');
        string[] arrCMDNameText = strCOMMAND_NAME_Text.Split(';');
        for (int i = 0; i < arrCMDName.Length; i++)
        {
            TWfSettingTaskCmdVo cmdTemp = new TWfSettingTaskCmdVo();
            cmdTemp.ID         = new PageBaseForWF().GetGUID();
            cmdTemp.WF_CMD_ID  = cmdTemp.ID;
            cmdTemp.WF_ID      = stWF_ID;
            cmdTemp.WF_TASK_ID = setStep.WF_TASK_ID;
            cmdTemp.CMD_NAME   = arrCMDName[i];
            cmdTemp.CMD_NOTE   = arrCMDNameText[i];
            cmdSetpList.Add(cmdTemp);
        }

        //构建节点表单页面记录
        TWfSettingTaskFormVo formStep = new TWfSettingTaskFormVo();

        formStep.WF_ID      = setStep.WF_ID;
        formStep.WF_TASK_ID = setStep.WF_TASK_ID;
        formStep.ID         = new PageBaseForWF().GetGUID();
        formStep.WF_TF_ID   = formStep.ID;
        formStep.UCM_ID     = strPOSITION_IY;
        formStep.UCM_TYPE   = strPOSITION_IX;

        TWfSettingTaskLogic     taskLogic = new TWfSettingTaskLogic();
        TWfSettingTaskCmdLogic  cmdLogic  = new TWfSettingTaskCmdLogic();
        TWfSettingTaskFormLogic formLogic = new TWfSettingTaskFormLogic();

        if (strid == "0")
        {
            //新增是构建 TASK_ORDER
            setStep.TASK_ORDER = (taskLogic.GetSelectResultCount(new TWfSettingTaskVo()
            {
                WF_ID = setStep.WF_ID
            }) + 1).ToString();

            bool bIsSucess = taskLogic.Create(setStep);
            if (bIsSucess)
            {
                cmdLogic.Create(cmdSetpList);
                formLogic.Create(formStep);
            }
            string strMessage = new PageBase().LogInfo.UserInfo.USER_NAME + "增加环节:" + setStep.WF_TASK_ID + " 成功";
            new PageBase().WriteLog("增加环节", "", strMessage);
        }
        else
        {
            bool bIsSucess = taskLogic.Edit(setStep);
            if (bIsSucess)
            {
                cmdLogic.Delete(new TWfSettingTaskCmdVo()
                {
                    WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
                });
                cmdLogic.Create(cmdSetpList);
                formLogic.Delete(new TWfSettingTaskFormVo()
                {
                    WF_TASK_ID = setStep.WF_TASK_ID, WF_ID = setStep.WF_ID
                });
                formLogic.Create(formStep);
            }
            string strMessage = new PageBase().LogInfo.UserInfo.USER_NAME + "修改环节:" + setStep.WF_TASK_ID + " 成功";
            new PageBase().WriteLog("修改环节", "", strMessage);
        }

        if (isSuccess)
        {
            return("1");
        }
        else
        {
            return("0");
        }
    }