private int getNodeTimeFrmDB(string strPlanId, string strNodeType, ref string strStartTime, ref string strFinishTime) { strStartTime = ""; strFinishTime = ""; TMisMonitorProcessMgmLogic objLogic = new TMisMonitorProcessMgmLogic(); TMisMonitorProcessMgmVo objVo = new TMisMonitorProcessMgmVo(); objVo.TASK_ID = strPlanId; DataTable dt = objLogic.SelectByTable(objVo); for (int i = 0; i < dt.Rows.Count; i++) { string strTmpNodeType = dt.Rows[i]["MONITOR_TYPE"].ToString().Trim(); if (strTmpNodeType == strNodeType) { strStartTime = dt.Rows[i]["MONITOR_TIME_START"].ToString().Trim(); strFinishTime = dt.Rows[i]["MONITOR_TIME_FINISH"].ToString().Trim(); return(0); } } return(1); }
// 用户手动调整时间后,数据更新 public void saveDate(string strPlanId, string strNodeName, string strStartTime, string strFinishTime, string strStartMofified) { TMisMonitorProcessMgmLogic objLogic = new TMisMonitorProcessMgmLogic(); TMisMonitorProcessMgmVo objVo = new TMisMonitorProcessMgmVo(); int i = 0; for (; i < arrTaskName.Length; i++) { if (strNodeName == arrTaskName[i]) { break; } } if (i == arrTaskName.Length) { // 没有找到该节点的配置信息,应该是前台传过来的参数不对 return; } // 任务开始时间更新,结束时间自动更新 if ("true" == strStartMofified) { strFinishTime = GetNextNDate(strStartTime, arrTaskValue[i]); } // 更新本节点信息 objVo.TASK_ID = strPlanId; objVo.MONITOR_TYPE = strNodeName; objVo.MONITOR_TIME_START = strStartTime; objVo.MONITOR_TIME_FINISH = strFinishTime; objLogic.Edit(objVo); // 更新后续节点的信息 string strFlowingNodeStart = strFinishTime; if (0 == i) { //任务总体时间更新,各节点不自动更新 return; } ++i; for (; i < arrTaskName.Length; i++) { objVo.Init(); objVo.TASK_ID = strPlanId; objVo.MONITOR_TYPE = arrTaskName[i]; objVo.MONITOR_TIME_START = strFlowingNodeStart; objVo.MONITOR_TIME_FINISH = GetNextNDate(strFlowingNodeStart, arrTaskValue[i]); objLogic.Edit(objVo); strFlowingNodeStart = objVo.MONITOR_TIME_FINISH; } }
private static void GetBusniessStartAndEndTime(string userNo, string url, string workID, string fid, string pWorkID, out string businessStartTime, out string businessEndTime) { businessStartTime = ""; businessEndTime = ""; var requestParams = url.Split(new string[] { "&", "?" }, StringSplitOptions.RemoveEmptyEntries); var mgmType = ""; foreach (var param in requestParams) { if (param.ToLower().StartsWith("mgmtype")) { mgmType = param.Split('=')[1].Trim(); break; } } if (mgmType == "") { return; } var ccflowID = ""; if (!string.IsNullOrEmpty(pWorkID) && pWorkID != "0") { ccflowID = GetFatherIDOfSubFlow(userNo, Convert.ToInt64(workID)).ToString(); } else if (!string.IsNullOrEmpty(fid) && fid != "0") { ccflowID = fid; } else { ccflowID = workID; } TMisMonitorProcessMgmLogic objLogic = new TMisMonitorProcessMgmLogic(); TMisMonitorProcessMgmVo objVo = objLogic.DetailsByCCFlowIDAndType(ccflowID, mgmType); if (objVo.ID != "") { businessStartTime = objVo.MONITOR_TIME_START; businessEndTime = objVo.MONITOR_TIME_FINISH; } }
// 首次调用此表单需要创建数据 public void createDate(string strPlanId) { TMisMonitorProcessMgmLogic objLogic = new TMisMonitorProcessMgmLogic(); TMisMonitorProcessMgmVo objVo = new TMisMonitorProcessMgmVo(); objVo.TASK_ID = strPlanId; DataTable dt = objLogic.SelectByTable(objVo); // 第2+次加载此页面时,不用重复创建信息 if (0 != dt.Rows.Count) { return; } for (int i = 0; i < arrTaskName.Length; i++) { objVo.Init(); objVo.TASK_ID = strPlanId; objVo.ID = i3.View.PageBase.GetSerialNumber("t_mis_process_mgm_id"); string strNodeName = arrTaskName[i]; string strStartTime = ""; string strFinishTime = ""; GetNodeDate(strNodeName, ref strStartTime, ref strFinishTime); objVo.MONITOR_TIME_START = strStartTime; objVo.MONITOR_TIME_FINISH = strFinishTime; objVo.MONITOR_TYPE = strNodeName; objLogic.Create(objVo); } return; }