/// <summary> /// 对象编辑 /// </summary> /// <param name="tWfInstTaskDetail_UpdateSet">UpdateSet用户对象</param> /// <param name="tWfInstTaskDetail_UpdateWhere">UpdateWhere用户对象</param> /// <returns>是否成功</returns> public bool Edit(TWfInstTaskDetailVo tWfInstTaskDetail_UpdateSet, TWfInstTaskDetailVo tWfInstTaskDetail_UpdateWhere) { string strSQL = SqlHelper.BuildUpdateExpress(tWfInstTaskDetail_UpdateSet, TWfInstTaskDetailVo.T_WF_INST_TASK_DETAIL_TABLE); strSQL += this.BuildWhereStatement(tWfInstTaskDetail_UpdateWhere); return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false); }
/// <summary> /// 获取对象DataTable /// </summary> /// <param name="tWfInstTaskDetail">对象</param> /// <param name="iIndex">起始页码</param> /// <param name="iCount">每页数目</param> /// <returns>返回结果</returns> public DataTable SelectByTable(TWfInstTaskDetailVo tWfInstTaskDetail, int iIndex, int iCount) { string strSQL = " select * from T_WF_INST_TASK_DETAIL {0} "; strSQL = String.Format(strSQL, BuildWhereStatement(tWfInstTaskDetail)); return(SqlHelper.ExecuteDataTable(BuildPagerExpress(strSQL, iIndex, iCount))); }
/// <summary> /// 根据实例环节获取环节配置数据,再查看其是否为结束环节【根据实例环节编号间接判断是否为结束环节】 /// </summary> /// <param name="strInstStepID">实例环节ID</param> /// <returns></returns> public bool IsEndStep(string strInstStepID) { TWfSettingTaskLogic logic = new TWfSettingTaskLogic(); TWfInstTaskDetailVo detail = Details(strInstStepID); return(logic.IsEndStep(detail.WF_ID, detail.WF_TASK_ID)); }
//获取信息 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> /// 对象编辑 /// </summary> /// <param name="tWfInstTaskDetail">用户对象</param> /// <returns>是否成功</returns> public bool Edit(TWfInstTaskDetailVo tWfInstTaskDetail) { string strSQL = SqlHelper.BuildUpdateExpress(tWfInstTaskDetail, TWfInstTaskDetailVo.T_WF_INST_TASK_DETAIL_TABLE); strSQL += string.Format(" where ID='{0}' ", tWfInstTaskDetail.ID); return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false); }
/// <summary> /// 对象删除 /// </summary> /// <param name="Id">ID</param> /// <returns>是否成功</returns> public bool Delete(TWfInstTaskDetailVo tWfInstTaskDetail) { string strSQL = "delete from T_WF_INST_TASK_DETAIL "; strSQL += this.BuildWhereStatement(tWfInstTaskDetail); return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false); }
/// <summary> /// 获取对象List /// </summary> /// <param name="tWfInstTaskDetail">对象</param> /// <param name="iIndex">起始页码</param> /// <param name="iCount">每页数目</param> /// <returns>返回结果</returns> public List <TWfInstTaskDetailVo> SelectByObject(TWfInstTaskDetailVo tWfInstTaskDetail, int iIndex, int iCount) { string strSQL = String.Format("select * from T_WF_INST_TASK_DETAIL " + this.BuildWhereStatement(tWfInstTaskDetail)); //增加对排序的支持,流程排序一致以正序排列 if (!string.IsNullOrEmpty(tWfInstTaskDetail.SORT_FIELD)) { strSQL += (" ORDER BY " + tWfInstTaskDetail.SORT_FIELD + " " + (string.IsNullOrEmpty(tWfInstTaskDetail.SORT_TYPE) ? " ASC " : tWfInstTaskDetail.SORT_TYPE)); } return(SqlHelper.ExecuteObjectList(tWfInstTaskDetail, BuildPagerExpress(strSQL, iIndex, iCount))); }
/// <summary> /// 功能描述:获取指定时间范围内的任务 /// 创建时间:2012-12-23 /// 创建人:邵世卓 /// </summary> /// <param name="tWfInstTaskDetail">任务对象</param> /// <param name="strINST_TASK_STARTTIME_from">时间上限</param> /// <param name="strINST_TASK_STARTTIME_to">时间下限</param> /// <returns></returns> public int GetSelectResultCountForDayTaskList(TWfInstTaskDetailVo tWfInstTaskDetail, string strINST_TASK_STARTTIME_from, string strINST_TASK_STARTTIME_to) { string strSQL = "select Count(*) from T_WF_INST_TASK_DETAIL " + this.BuildWhereStatement(tWfInstTaskDetail); if (strINST_TASK_STARTTIME_from.Length > 0) { strSQL += " and INST_TASK_STARTTIME >= '" + strINST_TASK_STARTTIME_from + " 0:00:00'"; } if (strINST_TASK_STARTTIME_to.Length > 0) { strSQL += " and INST_TASK_STARTTIME <= '" + strINST_TASK_STARTTIME_to + " 23:59:59'"; } return(Convert.ToInt32(SqlHelper.ExecuteScalar(strSQL))); }
/// <summary> /// 创建实例流程(包括未处理的第一个环节)数据接口 /// </summary> /// <param name="strWFID">流程代码</param> /// <param name="strObjectUser">目标处理人用户ID</param> /// <param name="strCreateUser">生成人员ID</param> /// <param name="strServiceCode">业务类型编码</param> /// <param name="strServiceName">业务类型名称</param> /// <returns></returns> public bool CreateInstWFAndFirstStep(string strWFID, string strObjectUser, string strCreateUser, string strServiceCode, string strServiceName) { TWfInstTaskDetailVo detail = new TWfInstTaskDetailVo(); TWfInstControlVo control = new TWfInstControlVo(); TWfSettingTaskVo task = new TWfSettingTaskLogic().GetFirstStep(strWFID); TWfSettingFlowVo flow = new TWfSettingFlowLogic().Details(new TWfSettingFlowVo() { WF_ID = strWFID }); //如果不存在数据,则返回 if (string.IsNullOrEmpty(task.ID) || string.IsNullOrEmpty(flow.ID)) { return(false); } detail.ID = GetGUID(); detail.INST_NOTE = task.TASK_NOTE; detail.INST_TASK_CAPTION = task.TASK_CAPTION; detail.INST_TASK_STARTTIME = GetDateTimeToStanString(); detail.INST_TASK_STATE = TWfCommDict.StepState.StateNormal; detail.OBJECT_USER = strObjectUser; detail.SRC_USER = strCreateUser; detail.WF_ID = strWFID; detail.WF_INST_ID = GetGUID(); detail.WF_SERIAL_NO = GetDateTimeToStringFor15(); detail.WF_TASK_ID = task.WF_TASK_ID; control.ID = detail.WF_INST_ID; control.IS_SUB_FLOW = "0"; control.WF_CAPTION = flow.WF_CAPTION; control.WF_ID = strWFID; control.WF_INST_TASK_ID = detail.ID; control.WF_NOTE = flow.WF_NOTE; control.WF_PRIORITY = TWfCommDict.WfPriority.Priority_1; control.WF_SERIAL_NO = detail.WF_SERIAL_NO; control.WF_SERVICE_CODE = strServiceCode; control.WF_SERVICE_NAME = strServiceName; control.WF_STARTTIME = detail.INST_TASK_STARTTIME; control.WF_STATE = TWfCommDict.WfState.StateNormal; control.WF_TASK_ID = detail.WF_TASK_ID; bool bIsDetail = this.Create(detail); bool bIsControl = new TWfInstControlLogic().Create(control); return(bIsDetail & bIsControl); }
/// <summary> /// 排序,取出时间最靠后的所有环节,组成单一数据 /// </summary> /// <param name="InstTaskList"></param> /// <returns></returns> private List <TWfInstTaskDetailVo> GetTrueInstStep(List <TWfInstTaskDetailVo> InstTaskList) { List <TWfInstTaskDetailVo> list = new List <TWfInstTaskDetailVo>(); foreach (TWfInstTaskDetailVo temp in InstTaskList) { if (list.Contains(temp)) { continue; } //如果没有,则开始比对 TWfInstTaskDetailVo baidu = new TWfInstTaskDetailVo(); bool bIsHave = false; bool bIsExsit = false; foreach (TWfInstTaskDetailVo google in list) { if (google.WF_TASK_ID == temp.WF_TASK_ID) { bIsExsit = true; if (DateTime.Parse(google.INST_TASK_STARTTIME) < DateTime.Parse(temp.INST_TASK_STARTTIME)) { bIsHave = true; baidu = temp; } } } if (!bIsExsit) { list.Add(temp); } else if (bIsHave) { foreach (TWfInstTaskDetailVo tt in list) { if (tt.WF_TASK_ID == temp.WF_TASK_ID && tt.ID != temp.ID) { list.Remove(tt); list.Add(baidu); break; } } } } return(list); }
public static bool SetTaskToConfirm(string strValue, bool bIsUnConfirm) { TWfInstTaskDetailVo ttdv = new TWfInstTaskDetailVo(); ttdv.ID = strValue; if (!bIsUnConfirm) { ttdv.CFM_TIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ttdv.INST_TASK_STATE = TWfCommDict.StepState.StateConfirm; ttdv.CFM_USER = new PageBase().LogInfo.UserInfo.ID; } else { ttdv.CFM_UNTIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ttdv.INST_TASK_STATE = TWfCommDict.StepState.StateNormal; } return(new TWfInstTaskDetailLogic().Edit(ttdv)); }
/// <summary> /// 功能描述:获取某一业务单对应所有相关的工作流属性 /// 包括ID:WF_INST_DETAIL的ID,CONTROL_ID:WF_INST_CONTROL的ID(同一业务流程所有环节相同),OBJECT_USER:接收人,REAL_USER:实际处理人,SRC_USER:发送人,WF_ID:流程名,INST_TASK_CAPTION:环节名称 /// INST_TASK_STARTTIME:环节开始时间,INST_TASK_ENDTIME:环节结束时间,INST_TASK_STATE:环节执行状态(2A:待办,2B:已办) /// TASK_ORDER:环节顺序(开始环节取最小数,结束环节取最大数) /// 创建时间:2013-1-8 /// 创建人:邵世卓 /// </summary> /// <param name="tWfInstTaskDetail">实例对象</param> /// <param name="strServiceName">业务相关名称,如Task_ID</param> /// <param name="strServiceValue">业务相关值,如委托书ID或监测任务ID</param> /// <returns></returns> public DataTable GetWFDetailByBusinessInfo(TWfInstTaskDetailVo tWfInstTaskDetail, string strServiceName, string strServiceValue) { string strSQL = @"select control.ID as CONTROL_ID,detail.ID,detail.OBJECT_USER,detail.REAL_USER,detail.SRC_USER,detail.WF_ID,detail.INST_TASK_CAPTION, detail.INST_TASK_STARTTIME,detail.INST_TASK_ENDTIME,detail.INST_TASK_STATE,task.TASK_ORDER from ({0}) detail JOIN T_WF_SETTING_TASK task ON detail.WF_TASK_ID=task.ID JOIN T_WF_INST_CONTROL control ON detail.WF_INST_ID=control.ID"; string strDetail = "select * from T_WF_INST_TASK_DETAIL "; strDetail += BuildWhereStatement(tWfInstTaskDetail); if (!string.IsNullOrEmpty(strServiceName) && !string.IsNullOrEmpty(strServiceValue)) { strDetail += string.Format(" and ID in (select WF_INST_TASK_ID from T_WF_INST_TASK_SERVICE where SERVICE_KEY_NAME='{0}' and SERVICE_KEY_VALUE='{1}')", strServiceName, strServiceValue); } strSQL = string.Format(strSQL, strDetail); strSQL = string.Format(strSQL, BuildWhereStatement(tWfInstTaskDetail)); return(SqlHelper.ExecuteDataTable(strSQL)); }
/// <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(""); }
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(); }
/// <summary> /// 对象添加 /// </summary> /// <param name="tWfInstTaskDetail">对象</param> /// <returns>是否成功</returns> public bool Create(TWfInstTaskDetailVo tWfInstTaskDetail) { string strSQL = SqlHelper.BuildInsertExpress(tWfInstTaskDetail, TWfInstTaskDetailVo.T_WF_INST_TASK_DETAIL_TABLE); return(SqlHelper.ExecuteNonQuery(CommandType.Text, strSQL) > 0 ? true : false); }
/// <summary> /// 对象编辑 /// </summary> /// <param name="tWfInstTaskDetail_UpdateSet">UpdateSet用户对象</param> /// <param name="tWfInstTaskDetail_UpdateWhere">UpdateWhere用户对象</param> /// <returns>是否成功</returns> public bool Edit(TWfInstTaskDetailVo tWfInstTaskDetail_UpdateSet, TWfInstTaskDetailVo tWfInstTaskDetail_UpdateWhere) { return(access.Edit(tWfInstTaskDetail_UpdateSet, tWfInstTaskDetail_UpdateWhere)); }
/// <summary> /// 对象编辑 /// </summary> /// <param name="tWfInstTaskDetail">用户对象</param> /// <returns>是否成功</returns> public bool Edit(TWfInstTaskDetailVo tWfInstTaskDetail) { return(access.Edit(tWfInstTaskDetail)); }
/// <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); }
/// <summary> /// 对象删除 /// </summary> /// <param name="Id">ID</param> /// <returns>是否成功</returns> public bool Delete(TWfInstTaskDetailVo tWfInstTaskDetail) { return(access.Delete(tWfInstTaskDetail)); }
/// <summary> /// 获取对象List /// 【大数据量慎用】 /// </summary> /// <param name="tWfInstTaskDetail">对象</param> /// <param name="iIndex">起始页码</param> /// <param name="iCount">每页数目</param> /// <returns>返回结果</returns> public List <TWfInstTaskDetailVo> SelectAllByObject(TWfInstTaskDetailVo tWfInstTaskDetail) { string strSQL = String.Format("select * from T_WF_INST_TASK_DETAIL " + this.BuildWhereStatement(tWfInstTaskDetail)); return(SqlHelper.ExecuteObjectList(tWfInstTaskDetail, strSQL)); }
/// <summary> /// 功能描述:获取指定时间范围内的任务 /// 创建时间:2012-12-23 /// 创建人:邵世卓 /// <param name="tWfInstTaskDetail">任务对象</param> /// <param name="strINST_TASK_STARTTIME_from">时间上限</param> /// <param name="strINST_TASK_STARTTIME_to">时间下限</param> /// <returns></returns> public int GetSelectResultCountForDayTaskList(TWfInstTaskDetailVo tWfInstTaskDetail, string strINST_TASK_STARTTIME_from, string strINST_TASK_STARTTIME_to) { return(access.GetSelectResultCountForDayTaskList(tWfInstTaskDetail, strINST_TASK_STARTTIME_from, strINST_TASK_STARTTIME_to)); }
/// <summary> /// 功能描述:获取某一业务单对应所有相关的工作流属性 /// 包括ID:WF_INST_DETAIL的ID,CONTROL_ID:WF_INST_CONTROL的ID(同一业务流程所有环节相同),OBJECT_USER:接收人,REAL_USER:实际处理人,SRC_USER:发送人,WF_ID:流程名,INST_TASK_CAPTION:环节名称 /// INST_TASK_STARTTIME:环节开始时间,INST_TASK_ENDTIME:环节结束时间,INST_TASK_STATE:环节执行状态(2A:待办,2B:已办) /// TASK_ORDER:环节顺序(开始环节取最小数,结束环节取最大数) /// 创建时间:2013-1-8 /// 创建人:邵世卓 /// </summary> /// <param name="tWfInstTaskDetail">实例对象</param> /// <param name="strServiceName">业务相关名称,如Task_ID</param> /// <param name="strServiceValue">业务相关值,如委托书ID或监测任务ID</param> /// <returns></returns> public DataTable GetWFDetailByBusinessInfo(TWfInstTaskDetailVo tWfInstTaskDetail, string strServiceName, string strServiceValue) { return(access.GetWFDetailByBusinessInfo(tWfInstTaskDetail, strServiceName, strServiceValue)); }
/// <summary> /// 根据对象构造条件语句 /// </summary> /// <param name="tWfInstTaskDetail"></param> /// <returns></returns> public string BuildWhereStatement(TWfInstTaskDetailVo tWfInstTaskDetail) { StringBuilder strWhereStatement = new StringBuilder(" Where 1=1 "); if (null != tWfInstTaskDetail) { //环节实例编号 if (!String.IsNullOrEmpty(tWfInstTaskDetail.ID.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND ID = '{0}'", tWfInstTaskDetail.ID.ToString())); } //流程实例编号 if (!String.IsNullOrEmpty(tWfInstTaskDetail.WF_INST_ID.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND WF_INST_ID = '{0}'", tWfInstTaskDetail.WF_INST_ID.ToString())); } //流水号 if (!String.IsNullOrEmpty(tWfInstTaskDetail.WF_SERIAL_NO.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND WF_SERIAL_NO = '{0}'", tWfInstTaskDetail.WF_SERIAL_NO.ToString())); } //流程编号 if (!String.IsNullOrEmpty(tWfInstTaskDetail.WF_ID.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND WF_ID = '{0}'", tWfInstTaskDetail.WF_ID.ToString())); } //环节编号 if (!String.IsNullOrEmpty(tWfInstTaskDetail.WF_TASK_ID.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND WF_TASK_ID = '{0}'", tWfInstTaskDetail.WF_TASK_ID.ToString())); } //上环节实例编号 if (!String.IsNullOrEmpty(tWfInstTaskDetail.PRE_INST_TASK_ID.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND PRE_INST_TASK_ID = '{0}'", tWfInstTaskDetail.PRE_INST_TASK_ID.ToString())); } //上环节编号 if (!String.IsNullOrEmpty(tWfInstTaskDetail.PRE_TASK_ID.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND PRE_TASK_ID = '{0}'", tWfInstTaskDetail.PRE_TASK_ID.ToString())); } //此环节简述 if (!String.IsNullOrEmpty(tWfInstTaskDetail.INST_TASK_CAPTION.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND INST_TASK_CAPTION = '{0}'", tWfInstTaskDetail.INST_TASK_CAPTION.ToString())); } //此节点详细描述 if (!String.IsNullOrEmpty(tWfInstTaskDetail.INST_NOTE.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND INST_NOTE = '{0}'", tWfInstTaskDetail.INST_NOTE.ToString())); } //此环节开始时间 if (!String.IsNullOrEmpty(tWfInstTaskDetail.INST_TASK_STARTTIME.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND INST_TASK_STARTTIME = '{0}'", tWfInstTaskDetail.INST_TASK_STARTTIME.ToString())); } //此环节结束时间 if (!String.IsNullOrEmpty(tWfInstTaskDetail.INST_TASK_ENDTIME.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND INST_TASK_ENDTIME = '{0}'", tWfInstTaskDetail.INST_TASK_ENDTIME.ToString())); } //此环节状态 if (!String.IsNullOrEmpty(tWfInstTaskDetail.INST_TASK_STATE.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND INST_TASK_STATE = '{0}'", tWfInstTaskDetail.INST_TASK_STATE.ToString())); } //环节处理状态 if (!String.IsNullOrEmpty(tWfInstTaskDetail.INST_TASK_DEAL_STATE.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND INST_TASK_DEAL_STATE = '{0}'", tWfInstTaskDetail.INST_TASK_DEAL_STATE.ToString())); } //目标操作人 if (!String.IsNullOrEmpty(tWfInstTaskDetail.OBJECT_USER.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND OBJECT_USER = '******'", tWfInstTaskDetail.OBJECT_USER.ToString())); } //实际操作人 if (!String.IsNullOrEmpty(tWfInstTaskDetail.REAL_USER.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND REAL_USER = '******'", tWfInstTaskDetail.REAL_USER.ToString())); } //发送人 if (!String.IsNullOrEmpty(tWfInstTaskDetail.SRC_USER.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND SRC_USER = '******'", tWfInstTaskDetail.SRC_USER.ToString())); } //环节提示信息 if (!String.IsNullOrEmpty(tWfInstTaskDetail.INST_TASK_MSG.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND INST_TASK_MSG = '{0}'", tWfInstTaskDetail.INST_TASK_MSG.ToString())); } //是否超时 if (!String.IsNullOrEmpty(tWfInstTaskDetail.IS_OVERTIME.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND IS_OVERTIME = '{0}'", tWfInstTaskDetail.IS_OVERTIME.ToString())); } //是否提醒 if (!String.IsNullOrEmpty(tWfInstTaskDetail.IS_REMIND.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND IS_REMIND = '{0}'", tWfInstTaskDetail.IS_REMIND.ToString())); } //确认人 if (!String.IsNullOrEmpty(tWfInstTaskDetail.CFM_USER.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND CFM_USER = '******'", tWfInstTaskDetail.CFM_USER.ToString())); } //确认时间 if (!String.IsNullOrEmpty(tWfInstTaskDetail.CFM_TIME.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND CFM_TIME = '{0}'", tWfInstTaskDetail.CFM_TIME.ToString())); } //撤销时间 if (!String.IsNullOrEmpty(tWfInstTaskDetail.CFM_UNTIME.ToString().Trim())) { strWhereStatement.Append(string.Format(" AND CFM_UNTIME = '{0}'", tWfInstTaskDetail.CFM_UNTIME.ToString())); } } return(strWhereStatement.ToString()); }
public TWfInstTaskDetailLogic(TWfInstTaskDetailVo _tWfInstTaskDetail) { tWfInstTaskDetail = _tWfInstTaskDetail; access = new TWfInstTaskDetailAccess(); }
/// <summary> /// 根据对象获取全部数据,用Table承载 /// 数据量较小时使用【不推荐】 /// </summary> /// <param name="tWfInstTaskDetail"></param> /// <returns></returns> public DataTable SelectByTable(TWfInstTaskDetailVo tWfInstTaskDetail) { string strSQL = "select * from T_WF_INST_TASK_DETAIL " + this.BuildWhereStatement(tWfInstTaskDetail); return(SqlHelper.ExecuteDataTable(strSQL)); }
/// <summary> /// 获得查询结果总行数,用于分页 /// </summary> /// <param name="tWfInstTaskDetail">对象</param> /// <returns>返回行数</returns> public int GetSelectResultCount(TWfInstTaskDetailVo tWfInstTaskDetail) { string strSQL = "select Count(*) from T_WF_INST_TASK_DETAIL " + this.BuildWhereStatement(tWfInstTaskDetail); return(Convert.ToInt32(SqlHelper.ExecuteScalar(strSQL))); }
/// <summary> /// 对象添加 /// </summary> /// <param name="sysRole">对象</param> /// <returns>是否成功</returns> public bool Create(TWfInstTaskDetailVo tWfInstTaskDetail) { return(access.Create(tWfInstTaskDetail)); }
/// <summary> /// 根据对象特征获取单一对象 /// </summary> /// <param name="tWfInstTaskDetail">对象</param> /// <returns></returns> public TWfInstTaskDetailVo SelectByObject(TWfInstTaskDetailVo tWfInstTaskDetail) { string strSQL = "select * from T_WF_INST_TASK_DETAIL " + this.BuildWhereStatement(tWfInstTaskDetail); return(SqlHelper.ExecuteObject(new TWfInstTaskDetailVo(), strSQL)); }
public string CreatStepHtml(List <TWfSettingTaskVo> taskList, List <TWfInstTaskDetailVo> InstTaskList) { string strJianTou = "<img src='img/down2012.gif' />"; //string strModel = "<div " + strConstColor + ">#A1#</div>" + strJianTou;//增加向下的箭头的话,在这个里面加就行了。在最后时移除一个 string strModel = "<div class='#DCD#'><h2>{0}</h2><p><span>环节状态:</span><strong>{1}</strong><br /><span>处理者:</span>{2} <span>办理时间:</span>{3}</p>" + strJianTou + "</div>"; //string strInstStepHtml = "环节名称:{0}<br />环节状态:<span style='font-weight:bold;'>{1}</span><br />处理者:{2}"; //<div class="{#BCD#}"><h2>{0}</h2><p><span>环节状态:</span><strong>{1}</strong><br /><span>处理者:</span>{2}</p></div> //update by ssz 当任务未进入工作流时直接返回 begin if (InstTaskList.Count <= 0) { return(""); } //update end //获取最后一在用的环节 TWfInstTaskDetailVo instTaskLast = InstTaskList[InstTaskList.Count - 1]; List <TWfInstTaskDetailVo> instHaveStep = GetTrueInstStep(InstTaskList); int iStepOrder = 0; string strHtmlString = ""; foreach (TWfSettingTaskVo tsdv in taskList) { string strHeader = ""; //设置环节颜色 string strStepColor = "listgreen"; //if (instTaskLast.WF_TASK_ID == tsdv.WF_TASK_ID) //{ // strStepColor = "listyellow"; // iStepOrder = int.Parse(tsdv.TASK_ORDER); //} if (instTaskLast.WF_TASK_ID == tsdv.WF_TASK_ID && instTaskLast.INST_TASK_STATE == "2A") { strStepColor = "listyellow"; iStepOrder = int.Parse(tsdv.TASK_ORDER); } if (int.Parse(tsdv.TASK_ORDER) > iStepOrder && iStepOrder != 0) { //如果是退回的节点,则要显示不同颜色 bool bIsBack = false; foreach (TWfInstTaskDetailVo ttdv in InstTaskList) { if (tsdv.WF_TASK_ID == ttdv.WF_TASK_ID && ttdv.INST_TASK_DEAL_STATE == TWfCommDict.StepDealState.ForBack) { bIsBack = true; break; } } if (bIsBack) { strStepColor = "listred"; } else { strStepColor = "listgray"; } } //先替换配置环节内容 strHeader = strModel.Replace("#DCD#", strStepColor); //增加信号量,如果一直没有匹配上,则说明需要现实配置信息,环节配置信息也需要显示 bool bIsHaveInstTask = false; foreach (TWfInstTaskDetailVo ttdv in instHaveStep) { if (ttdv.WF_TASK_ID == tsdv.WF_TASK_ID) { bIsHaveInstTask = true; string strHeaderUser = ttdv.REAL_USER.Trim().Length > 0 ? ttdv.REAL_USER : ttdv.OBJECT_USER; strHeader = string.Format(strHeader, ttdv.INST_TASK_CAPTION, GetStepStateName(ttdv.INST_TASK_STATE, ttdv.INST_TASK_DEAL_STATE), GetUserNameFromID(strHeaderUser, true), ttdv.INST_TASK_ENDTIME ); break; } } if (!bIsHaveInstTask) { //只显示配置本身信息, strHeader = string.Format(strHeader, tsdv.TASK_CAPTION, "未启动", "", ""); } strHtmlString += strHeader; } return(strHtmlString.Remove(strHtmlString.Length - strJianTou.Length - 6)); }
/// <summary> /// 根据对象特征获取单一对象 /// </summary> /// <param name="tWfInstTaskDetail">对象</param> /// <returns></returns> public TWfInstTaskDetailVo SelectByObject(TWfInstTaskDetailVo tWfInstTaskDetail) { return(access.SelectByObject(tWfInstTaskDetail)); }