//获取任务列表
    private void getTaskLst(string strUserID)
    {
        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        //当前页面
        int intPageIndex = Convert.ToInt32(Request.Params["page"]);
        //每页记录数
        int intPageSize = Convert.ToInt32(Request.Params["pagesize"]);

        string strWF_SERVICE_NAME          = (Request.Params["SrhWF_SERVICE_NAME"] != null) ? Request.Params["SrhWF_SERVICE_NAME"] : "";
        string strSRC_USER                 = (Request.Params["SrhSRC_USER"] != null) ? Request.Params["SrhSRC_USER"] : "";
        string strINST_TASK_STARTTIME_from = (Request.Params["SrhINST_TASK_STARTTIME_from"] != null) ? Request.Params["SrhINST_TASK_STARTTIME_from"] : "";
        string strINST_TASK_STARTTIME_to   = (Request.Params["SrhINST_TASK_STARTTIME_to"] != null) ? Request.Params["SrhINST_TASK_STARTTIME_to"] : "";

        TWfInstTaskDetailLogic logic = new TWfInstTaskDetailLogic();
        string strState = "";

        if (Request["isQueding"] == null || Request["isQueding"].ToString().Trim().Length == 0 || Request["isQueding"].ToString().ToLower().Trim() == "undefined")
        {
            strState = "XX";
        }
        else
        {
            strState = TWfCommDict.StepState.StateConfirm;
        }
        DataTable dt            = logic.SelectByTableForUserTaskListEx(strUserID, strState, strWF_SERVICE_NAME, strSRC_USER, strINST_TASK_STARTTIME_from, strINST_TASK_STARTTIME_to, intPageIndex, intPageSize);
        int       intTotalCount = logic.GetSelectResultCountForUserTaskListEx(strUserID, strState, strWF_SERVICE_NAME, strSRC_USER, strINST_TASK_STARTTIME_from, strINST_TASK_STARTTIME_to);
        string    strJson       = CreateToJson(dt, intTotalCount);

        Response.Write(strJson);
        Response.End();
    }
 protected void Page_Load(object sender, EventArgs e)
 {
     ID.Value = Request.QueryString[TWfSettingTaskVo.ID_FIELD];
     if (!string.IsNullOrEmpty(ID.Value))
     {
         TWfSettingTaskVo    dealtStep = new TWfSettingTaskVo();
         TWfInstTaskDetailVo realStep  = new TWfInstTaskDetailLogic().Details(ID.Value);
         string strFirstStepUrl        = "";
         bool   bIsHaveRight           = IsHaveRightToDealTheStep(this.LogInfo.UserInfo.ID, ID.Value, ref dealtStep, ref strFirstStepUrl);
         if (bIsHaveRight)
         {
             //以下是处理转向的问题
             //增加对参数的自适应功能  (strFirstStepUrl.IndexOf("?") > -1 ? "&" : "?")
             string strStatment = string.Format((strFirstStepUrl.IndexOf("?") > -1 ? "&" : "?") + "{0}={1}&{2}={3}&IS_WF_DEAL=1&{4}={5}&{6}={7}&{8}={9}",
                                                TWfSettingTaskVo.WF_ID_FIELD, dealtStep.WF_ID,
                                                TWfSettingTaskVo.WF_TASK_ID_FIELD, dealtStep.WF_TASK_ID,
                                                TWfInstTaskOpinionsVo.WF_INST_TASK_ID_FIELD, realStep.ID,
                                                TWfInstTaskDetailVo.WF_INST_ID_FIELD, realStep.WF_INST_ID,
                                                TWfSettingTaskVo.TASK_ORDER_FIELD, dealtStep.TASK_ORDER); //环节序号(刘静楠,2013/7/17)
             Response.Redirect(strFirstStepUrl + strStatment);
         }
         else
         {
             //Alert("您不具备操作环节:" + ID.Value + "的权限,请咨询管理员");
             //让其转向到另一个页面
             //Update By SSZ LigerUI 信息提示方法,并关闭当前窗口 2013-2-4
             LigerDialogPageCloseAlert("<b>您不具备操作环节:" + ID.Value + "的权限<br />或者配置中已无此环节信息,请咨询管理员</b>", DialogMold.waitting.ToString(), "3300");
             //让其转向到另一个页面
         }
     }
 }
    public void InitData(string strInstStepID)
    {
        string strDataModel = "[{0}] 由 [{1}] {2}";

        if (null == strInstStepID || strInstStepID.Trim() == "")
        {
            return;
        }
        TWfInstTaskDetailVo titdv = new TWfInstTaskDetailLogic().Details(strInstStepID);
        TWfInstControlVo    tcv   = new TWfInstControlLogic().Details(titdv.WF_INST_ID);
        TWfSettingTaskVo    ttv   = new TWfSettingTaskLogic().Details(new TWfSettingTaskVo()
        {
            WF_ID = titdv.WF_ID, WF_TASK_ID = titdv.WF_TASK_ID
        });
        TWfInstTaskDetailVo titdv2 = new TWfInstTaskDetailLogic().Details(new TWfInstTaskDetailVo()
        {
            WF_TASK_ID = tcv.WF_TASK_ID
        });
        TWfInstTaskDetailVo titdvPre = new TWfInstTaskDetailLogic().Details(titdv.PRE_INST_TASK_ID);

        Label1.Text = tcv.WF_SERVICE_NAME;
        Label2.Text = tcv.WF_STARTTIME;
        Label3.Text = GetWFStateName(tcv.WF_STATE);
        Label5.Text = (titdv2.ID == "" ? "该流程已处理完毕" : titdv2.INST_TASK_CAPTION);
        Label6.Text = string.Format(strDataModel, titdv.INST_TASK_STARTTIME, GetUserNameFromID(titdv.SRC_USER, true), "创建任务");
        Label7.Text = string.Format(strDataModel, titdv.CFM_TIME, GetUserNameFromID(titdv.CFM_USER, true), "认领任务");
        Label8.Text = string.Format(strDataModel, titdv.INST_TASK_ENDTIME, GetUserNameFromID(titdv.REAL_USER, true), "完成任务");
        Label9.Text = (titdvPre.ID == ""?"无上一环节":(titdvPre.INST_TASK_CAPTION + ":" + string.Format(strDataModel, titdvPre.INST_TASK_ENDTIME, GetUserNameFromID(titdvPre.REAL_USER, true), "完成")));
    }
    /// <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
    }
    //获取信息
    private void getData()
    {
        string strUserID = base.LogInfo.UserInfo.ID;

        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        //当前页面
        int intPageIndex = Convert.ToInt32(Request.Params["page"]);
        //每页记录数
        int intPageSize = Convert.ToInt32(Request.Params["pagesize"]);

        if (strSortname == null || strSortname.Length < 0)
        {
            strSortname = "WF_STARTTIME";
        }

        TWfInstTaskDetailLogic logic  = new TWfInstTaskDetailLogic();
        TWfInstTaskDetailVo    detail = new TWfInstTaskDetailVo();

        detail.SORT_FIELD = strSortname;
        detail.SORT_TYPE  = strSortorder;
        DataTable dt            = logic.SelectByTableForUserDealing_OA("2A", intPageIndex, intPageSize);
        int       intTotalCount = logic.GetSelectResultCountForUserDealing_OA("2A");
        string    strJson       = CreateToJson(dt, intTotalCount);

        Response.Write(strJson);
        Response.End();
    }
        /// <summary>
        /// 销毁指定流程,并且置所有的环节为已处理状态
        /// 修改目的:强行结束流程
        /// 修改时间:2013-5-16
        /// 修改人:邵世卓
        /// </summary>
        /// <param name="strID">TWfInstControlVo.ID</param>
        /// <returns></returns>
        public bool WFOperateForKillBySSZ(string strID)
        {
            new TWfInstControlLogic().Edit(new TWfInstControlVo()
            {
                ID                 = strID,
                WF_STATE           = TWfCommDict.WfState.StateFinish,
                WF_SUSPEND_STATE   = "2",
                WF_SUSPEND_ENDTIME = this.GetDateTimeToStanString()
            });
            //然后将目前环节的处理结果置为已处理,保证不被任务列表搜索到
            List <TWfInstTaskDetailVo> taskInstList = new TWfInstTaskDetailLogic().SelectByObject(new TWfInstTaskDetailVo()
            {
                WF_INST_ID = strID
            }, 0, 0);

            //所有的置为已处理(包括未处理的)
            foreach (TWfInstTaskDetailVo temp in taskInstList)
            {
                new TWfInstTaskDetailLogic().Edit(new TWfInstTaskDetailVo()
                {
                    ID = temp.ID,
                    INST_TASK_ENDTIME    = this.GetDateTimeToStanString(),
                    INST_TASK_STATE      = TWfCommDict.StepState.StateDown,
                    INST_TASK_DEAL_STATE = TWfCommDict.StepDealState.ForKill
                });
            }
            return(true);
        }
    //发文退回
    public void Get_FW_BackTaskList(string Task_Status)
    {
        TWfInstTaskDetailLogic logic = new TWfInstTaskDetailLogic();
        DataTable dt      = logic.Get_FW_BackTaskList(base.LogInfo.UserInfo.ID, Task_Status);
        string    strJson = CreateToJson(dt, 15);

        Response.Write(strJson);
        Response.End();
    }
    public void InitTitle()
    {
        TWfInstTaskDetailVo detail  = new TWfInstTaskDetailLogic().Details(WF_INST_TASK_ID.Value);
        TWfInstControlVo    control = new TWfInstControlLogic().Details(WF_INST_ID.Value);

        lblWFName.Text      = control.WF_CAPTION;
        lblStepName.Text    = detail.INST_TASK_CAPTION;
        lblServiceCode.Text = control.WF_SERVICE_CODE;
        lblCreateTime.Text  = control.WF_STARTTIME;
    }
Esempio n. 9
0
    /// <summary>
    /// 初始化所有数据的入口
    /// </summary>
    public void InitWFData()
    {
        string strID   = hdID.Value;
        string strType = hdType.Value;
        //先获取流程,环节数据等内容
        TWfInstControlVo        control  = new TWfInstControlLogic().Details(strID);
        List <TWfSettingTaskVo> taskList = new TWfSettingTaskLogic().SelectByObjectListForSetp(new TWfSettingTaskVo()
        {
            WF_ID = control.WF_ID
        });
        List <TWfInstTaskDetailVo> InstTaskList = new TWfInstTaskDetailLogic().SelectByObject(new TWfInstTaskDetailVo()
        {
            WF_INST_ID = strID
        }, 0, 200);

        CreatAllData(control, taskList, InstTaskList);
    }
Esempio n. 10
0
    /// <summary>
    /// 初始化所有数据的入口
    /// </summary>
    public void InitWFData()
    {
        string strID   = hdID.Value;
        string strType = hdType.Value;
        //先获取流程,环节数据等内容
        TWfInstControlVo        control  = new TWfInstControlLogic().Details(strID);
        List <TWfSettingTaskVo> taskList = new TWfSettingTaskLogic().SelectByObjectListForSetp(new TWfSettingTaskVo()
        {
            WF_ID = control.WF_ID
        });
        List <TWfInstTaskDetailVo> InstTaskList = new TWfInstTaskDetailLogic().SelectByObject(new TWfInstTaskDetailVo()
        {
            WF_INST_ID = strID, SORT_FIELD = TWfInstTaskDetailVo.INST_TASK_STARTTIME_FIELD, SORT_TYPE = i3.ValueObject.ConstValues.SortType.ASC
        }, 0, 200);

        //CreatAllData(control, taskList, InstTaskList);
        CreatShowData(control, taskList, InstTaskList);
    }
Esempio n. 11
0
    public void InitListData(string strUserID)
    {
        TWfInstTaskDetailLogic logic = new TWfInstTaskDetailLogic();

        pager.RecordCount = logic.GetSelectResultCountForUserTaskList(strUserID, TWfCommDict.StepState.StateDown);
        DataTable dtTaskDetail2 = logic.SelectByTableForUserTaskList(strUserID, TWfCommDict.StepState.StateDown, pager.CurrentPageIndex, pager.PageSize);

        if (null == StepTable)
        {
            DataTable dtTask = new TWfSettingTaskLogic().SelectByTable(new TWfSettingTaskVo());
            StepTable = dtTask;
        }
        if (null == WFTable)
        {
            DataTable dtWF = new TWfSettingFlowLogic().SelectByTable(new TWfSettingFlowVo());
            WFTable = dtWF;
        }
        grdDownList.DataSource = dtTaskDetail2.DefaultView;
        grdDownList.DataBind();
    }
    //获取任务列表
    private void getTaskLst(string strUserID, string strTaskState)
    {
        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        //当前页面
        int intPageIndex = Convert.ToInt32(Request.Params["page"]);
        //每页记录数
        int intPageSize = Convert.ToInt32(Request.Params["pagesize"]);

        string strWF_SERVICE_NAME          = (Request.Params["SrhWF_SERVICE_NAME"] != null) ? Request.Params["SrhWF_SERVICE_NAME"] : "";
        string strSRC_USER                 = (Request.Params["SrhSRC_USER"] != null) ? Request.Params["SrhSRC_USER"] : "";
        string strINST_TASK_STARTTIME_from = (Request.Params["SrhINST_TASK_STARTTIME_from"] != null) ? Request.Params["SrhINST_TASK_STARTTIME_from"] : "";
        string strINST_TASK_STARTTIME_to   = (Request.Params["SrhINST_TASK_STARTTIME_to"] != null) ? Request.Params["SrhINST_TASK_STARTTIME_to"] : "";

        TWfInstTaskDetailLogic logic = new TWfInstTaskDetailLogic();
        DataTable dt            = logic.SelectByTableForUserTaskListEx(strUserID, strTaskState, strWF_SERVICE_NAME, strSRC_USER, strINST_TASK_STARTTIME_from, strINST_TASK_STARTTIME_to, intPageIndex, intPageSize);
        int       intTotalCount = logic.GetSelectResultCountForUserTaskListEx(strUserID, strTaskState, strWF_SERVICE_NAME, strSRC_USER, strINST_TASK_STARTTIME_from, strINST_TASK_STARTTIME_to);
        string    strJson       = CreateToJson(dt, intTotalCount);

        Response.Write(strJson);
        Response.End();
    }
    /// <summary>
    /// 获取委托书流程信息
    /// </summary>
    /// <param name="strBusinessID">业务ID</param>
    /// <returns></returns>
    protected string getFlowInfo(string strBusinessID)
    {
        string strWf_ID = "RPT";//默认为报告流程

        //流程类别
        if (!string.IsNullOrEmpty(Request.QueryString["contract_type"]))
        {
            switch (Request.QueryString["contract_type"])
            {
            //自送样流程
            case "04":
                strWf_ID = "SAMPLE_WT";
                break;

            //验收流程
            case "05":
                strWf_ID = "WF_A";
                break;

            //常规委托书流程
            default:
                strWf_ID = "WT_FLOW";
                break;
            }
        }
        //构造实例明细对象
        TWfInstTaskDetailVo objTaskDetail = new TWfInstTaskDetailVo();

        objTaskDetail.WF_ID = strWf_ID;
        //获取业务流程所有环节信息
        DataTable dt = new TWfInstTaskDetailLogic().GetWFDetailByBusinessInfo(objTaskDetail, "task_id", Request.QueryString["business_id"]);

        if (dt.Rows.Count > 0)
        {
            return(dt.Rows[0]["CONTROL_ID"].ToString() + "|" + GetStepHeight(strWf_ID));
        }
        return("");
    }
Esempio n. 14
0
    public void InitListData(string strUserID)
    {
        TWfInstTaskDetailVo detail = new TWfInstTaskDetailVo();

        TWfInstTaskDetailLogic logic = new TWfInstTaskDetailLogic();

        pager.RecordCount = logic.GetSelectResultCountForUserDealing(strUserID, "2A");
        DataTable dtControl = logic.SelectByTableForUserDealing(strUserID, "2A", pager.CurrentPageIndex, pager.PageSize);

        if (null == StepTable)
        {
            DataTable dtTask = new TWfSettingTaskLogic().SelectByTable(new TWfSettingTaskVo());
            StepTable = dtTask;
        }
        if (null == WFTable)
        {
            DataTable dtWF = new TWfSettingFlowLogic().SelectByTable(new TWfSettingFlowVo());
            WFTable = dtWF;
        }

        grdList.DataSource = dtControl.DefaultView;
        grdList.DataBind();
    }
Esempio n. 15
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     //
     TWfInstTaskDetailLogic logic = new TWfInstTaskDetailLogic();
     bool bIsSuccess = logic.CreateInstWFAndFirstStep("WF_TEST", "000000001", "000000001", "QJ_LIMS", "请假启动流程");
 }
        /// <summary>
        ///  流程实例返元的处理方法
        /// </summary>
        /// <param name="strID">实例流程的编号</param>
        /// <returns></returns>
        protected bool WFOperateGoStart(string strID)
        { //具有返元权限的操作人员可以做
            TWfInstTaskDetailLogic     instTaskLogic = new TWfInstTaskDetailLogic();
            List <TWfInstTaskDetailVo> taskInstList  = instTaskLogic.SelectByObject(new TWfInstTaskDetailVo()
            {
                WF_INST_ID = strID
            }, 0, 100);

            //如果指定的流程无实际的节点,则返回
            if (taskInstList.Count < 1)
            {
                return(false);
            }
            TWfInstTaskDetailVo     taskInstFirst   = taskInstList[0];
            TWfInstTaskDetailVo     taskInstLast    = taskInstList[taskInstList.Count - 1];
            List <TWfSettingTaskVo> taskSettingList = new TWfSettingTaskLogic().SelectByObjectListForSetp(new TWfSettingTaskVo()
            {
                WF_ID = taskInstFirst.WF_ID
            });
            TWfInstControlVo wfInst = new TWfInstControlLogic().Details(taskInstFirst.WF_INST_ID);

            //如果配置信息没有任何节点,则返回
            if (taskSettingList.Count < 1)
            {
                return(false);
            }

            TWfInstTaskDetailVo taskNew = new TWfInstTaskDetailVo();

            taskNew.ID                  = this.GetGUID();
            taskNew.INST_NOTE           = taskSettingList[0].TASK_NOTE;
            taskNew.INST_TASK_CAPTION   = taskSettingList[0].TASK_CAPTION;
            taskNew.INST_TASK_STARTTIME = this.GetDateTimeToStanString();
            taskNew.INST_TASK_STATE     = TWfCommDict.StepState.StateNormal;
            taskNew.OBJECT_USER         = taskInstFirst.OBJECT_USER; //使用上环节的目标处理人
            taskNew.PRE_INST_TASK_ID    = taskInstLast.ID;           //上一个环节的编号,将成为本环节的上环节编号
            //返元的所有新节点的前一个节点肯定是空的,直接置空即可
            //taskNew.PRE_TASK_ID = i3.ValueObject.ConstValues.SpecialCharacter.EmptyValuesFillChar;
            taskNew.WF_ID        = taskSettingList[0].WF_ID;
            taskNew.WF_INST_ID   = taskInstFirst.WF_INST_ID;
            taskNew.WF_SERIAL_NO = taskInstFirst.WF_SERIAL_NO;
            taskNew.WF_TASK_ID   = taskSettingList[0].ID;

            //将原环节表的标志位更新为完成
            taskInstLast.INST_TASK_ENDTIME    = this.GetDateTimeToStanString();
            taskInstLast.INST_TASK_STATE      = TWfCommDict.StepState.StateDown;
            taskInstLast.INST_TASK_DEAL_STATE = TWfCommDict.StepDealState.ForToZero;
            taskInstLast.REAL_USER            = (this.Page as PageBase).LogInfo.UserInfo.ID;

            //环节表更新完毕,接着更新控制表
            //更新控制表信息
            //退回时要把附件和评论信息放入数据库,业务数据也要全部退回
            //写入流程产生的新数据

            instTaskLogic.Create(taskNew);
            instTaskLogic.Edit(new TWfInstTaskDetailVo()
            {
                ID = taskInstLast.ID,
                INST_TASK_ENDTIME    = taskInstLast.INST_TASK_ENDTIME,
                INST_TASK_STATE      = taskInstLast.INST_TASK_STATE,
                INST_TASK_DEAL_STATE = taskInstLast.INST_TASK_DEAL_STATE,
                REAL_USER            = taskInstLast.REAL_USER
            });
            TWfInstControlLogic instWFLogic = new TWfInstControlLogic();

            instWFLogic.Edit(new TWfInstControlVo()
            {
                ID = wfInst.ID,
                WF_INST_TASK_ID = taskNew.ID,
                WF_TASK_ID      = taskNew.WF_TASK_ID
            });

            //附件和评论都无效

            //业务数据直接copy第一个节点时的数据即可
            TWfInstTaskServiceLogic     serviceLogic   = new TWfInstTaskServiceLogic();
            List <TWfInstTaskServiceVo> serviceList    = new List <TWfInstTaskServiceVo>();
            List <TWfInstTaskServiceVo> serviceOldList = new TWfInstTaskServiceLogic().SelectByObject(new TWfInstTaskServiceVo()
            {
                WF_INST_ID = taskInstFirst.WF_INST_ID, WF_INST_TASK_ID = taskInstFirst.ID
            }, 0, 100);

            if (null != serviceOldList)
            {
                foreach (TWfInstTaskServiceVo service in serviceOldList)
                {
                    //增加ID,流程实例编号、环节实例编号等内容,业务代码,Key和Value由业务系统自己处理
                    TWfInstTaskServiceVo stemp = new TWfInstTaskServiceVo();
                    stemp.ID                = this.GetGUID();
                    stemp.WF_INST_ID        = wfInst.ID;
                    stemp.WF_INST_TASK_ID   = taskNew.ID;
                    stemp.SERVICE_NAME      = service.SERVICE_NAME;
                    stemp.SERVICE_KEY_NAME  = service.SERVICE_KEY_NAME;
                    stemp.SERVICE_KEY_VALUE = service.SERVICE_KEY_VALUE;
                    stemp.SERVICE_ROW_SIGN  = service.SERVICE_ROW_SIGN;
                    serviceList.Add(stemp);
                }
            }

            foreach (TWfInstTaskServiceVo serviceTemp in serviceList)
            {
                serviceLogic.Create(serviceTemp);
            }

            return(true);
        }
    protected void btnCreateWF_Click(object sender, EventArgs e)
    {
        TWfInstTaskDetailLogic logic = new TWfInstTaskDetailLogic();

        new TWfInstTaskDetailLogic().CreateInstWFAndFirstStep("WF_TEST", "000000001", "000000001", "QJ000000001", "测试工作流,请删除");
    }
 public void ShowMsg(string strInstStepID)
 {
     TWfInstTaskDetailVo detail = new TWfInstTaskDetailLogic().Details(strInstStepID);
     lblMsg.InnerHtml = "<h1 style='font-size:18px;'>处理结果</h1><br />流程实例编号:" + detail.ID + "|<br />流程编码:" + detail.WF_ID + "|<br /> 环节编号:" + detail.WF_TASK_ID + "| <br /> 起始时间:" + detail.INST_TASK_STARTTIME + "|<br /> 结束时间:" + detail.INST_TASK_ENDTIME + "|<br /> 目标处理人:" + detail.OBJECT_USER;
 }