public override ActionResult PageView() { string userName = this.GetQueryString("SystemName"); if (!string.IsNullOrEmpty(userName)) { string pwd = this.GetQueryString("PWD"); string sql = "select count(0) from S_A_User where Code ='" + userName + "'"; var db = SQLHelper.CreateSqlHelper(ConnEnum.Base); if (Convert.ToInt32(db.ExecuteScalar(sql)) > 0 && !String.IsNullOrEmpty(userName)) { FormulaHelper.ContextSet("AgentUserLoginName", userName); System.Web.Security.FormsAuthentication.SetAuthCookie(userName, false); } } return(base.PageView()); }
public List <RoutineDTO> _StartRoutine(string id) { var userAccount = Request.RequestUri.ParseQueryString().Get("UserAccount"); FormulaHelper.ContextSet("AgentUserLoginName", userAccount); List <ButtonInfo> buttonInfoList = flowService.JsonGetFlowButtons("", ""); FormulaHelper.ContextRemoveByKey("AgentUserLoginName"); var list = new List <RoutineDTO>(); foreach (var btn in buttonInfoList) { if (btn.routingParams != null) { var routine = new RoutineDTO(); routine.ID = btn.id; if (btn.routingParams.selectMode == "SelectOneUser" || btn.routingParams.selectMode == "SelectOneUserInScope") { routine.OwnerType = OwnerType.Single; } else if (btn.routingParams.selectMode == "SelectMultiUser" || btn.routingParams.selectMode == "SelectMultiUserInScope" || btn.routingParams.selectMode == "SelectOneOrg" || btn.routingParams.selectMode == "SelectMultiOrg") { routine.OwnerType = OwnerType.Multi; } else { routine.OwnerType = OwnerType.None; } routine.OwnerUserIDs = btn.routingParams.userIDs; routine.RoutineName = btn.text; routine.MustInputComment = btn.routingParams.mustInputComment; list.Add(routine); } } return(list); }
public TaskDTO _GetTaskDetail(string id) { var formInstanceID = Request.RequestUri.ParseQueryString().Get("FormInstanceID"); var userID = Request.RequestUri.ParseQueryString().Get("UserID"); var userAccount = Request.RequestUri.ParseQueryString().Get("UserAccount"); FormulaHelper.ContextSet("AgentUserLoginName", userAccount); S_WF_InsTaskExec task = GetTaskExec(id); TaskDTO dto = new TaskDTO(); dto.ID = task.ID; dto.CreateTime = task.CreateTime; dto.FlowName = task.S_WF_InsFlow.FlowName; dto.TaskName = task.S_WF_InsTask.TaskName; dto.FlowCategory = task.S_WF_InsFlow.FlowCategory; dto.FormInstanceID = task.S_WF_InsFlow.FormInstanceID; dto.FormInstanceCode = task.S_WF_InsFlow.S_WF_InsDefFlow.TableName; dto.FormDic = task.S_WF_InsFlow.FormDic; dto.SendTaskUserNames = task.S_WF_InsTask.SendTaskUserNames; dto.CreateUserID = task.S_WF_InsFlow.CreateUserID; dto.CreateUserName = task.S_WF_InsFlow.CreateUserName; //新加字段 dto.ExecTime = task.ExecTime; dto.IsFinished = task.ExecTime.HasValue; dto.TaskUserID = task.ExecUserID; dto.TaskUserName = task.ExecUserName; dto.FlowDefCode = task.S_WF_InsFlow.S_WF_InsDefFlow.Code; dto.Routines = GetRountineList(formInstanceID, id, dto.FormDic); dto.DefStepID = task.S_WF_InsTask.S_WF_InsDefStep.DefStepID; dto.DefStepName = task.S_WF_InsTask.S_WF_InsDefStep.Name; dto.HideAdvice = task.S_WF_InsTask.S_WF_InsDefStep.HideAdvice == "1"; FormulaHelper.ContextRemoveByKey("AgentUserLoginName"); return(dto); }
//public override bool ValiateToken //{ // get // { // return false; // } //} public override ActionResult PageView() { string userName = this.GetQueryString("SystemName"); if (!string.IsNullOrEmpty(userName)) { userName = HttpUtility.UrlDecode(userName); string pwd = this.GetQueryString("PWD"); string sql = "select count(0) from S_A_User where Code ='" + userName + "'"; var db = SQLHelper.CreateSqlHelper(ConnEnum.Base); if (Convert.ToInt32(db.ExecuteScalar(sql)) > 0 && !String.IsNullOrEmpty(userName)) { FormulaHelper.ContextSet("AgentUserLoginName", userName); FormulaHelper.SetAuthCookie(userName); } } var ArchiveType = System.Configuration.ConfigurationManager.AppSettings["ArchiveType"]; ViewBag.ArchiveType = string.IsNullOrEmpty(ArchiveType) ? "PdfFile" : ArchiveType; return(base.PageView()); }
public List <RoutineDTO> GetRountineLists(string formInstanceID, string id, [FromBody] PostSubmitTaskDTO taskDto) { var userAccount = Request.RequestUri.ParseQueryString().Get("UserAccount"); FormulaHelper.ContextSet("AgentUserLoginName", userAccount); string formdata = JsonHelper.ToJson(taskDto.FormDic); FlowService flowservice = new FlowService(this, taskDto.FormDic, "", id); List <ButtonInfo> buttonInfoList = new List <ButtonInfo>(); if (string.IsNullOrEmpty(id)) { buttonInfoList = flowservice.JsonGetFlowButtons("", ""); var list = new List <RoutineDTO>(); foreach (var btn in buttonInfoList) { if (btn.routingParams != null) { var routine = new RoutineDTO(); routine.ID = btn.id; if (btn.routingParams.userIDs == "") { if (btn.routingParams.selectMode == "SelectOneUser") { routine.OwnerType = OwnerType.Single; } else if (btn.routingParams.selectMode == "SelectMultiUser") { routine.OwnerType = OwnerType.Multi; } else if (!string.IsNullOrEmpty(btn.routingParams.userIDsFromField) || !string.IsNullOrEmpty(btn.routingParams.orgIDFromField) || !string.IsNullOrEmpty(btn.routingParams.roleIDsFromField)) { routine.OwnerType = OwnerType.None; } else { routine.OwnerType = OwnerType.None; } } else { if (btn.routingParams.selectMode == "SelectOneUserInScope" || btn.routingParams.selectMode == "SelectOnePrjUser") { routine.OwnerType = OwnerType.Single; } else if (btn.routingParams.selectMode == "SelectMultiUserInScope" || btn.routingParams.selectMode == "SelectMultiPrjUser") { routine.OwnerType = OwnerType.Multi; } else { routine.OwnerType = OwnerType.Special; } if (btn.routingParams.selectAgain) { if (btn.routingParams.selectMode == "SelectOneUserInScope" || btn.routingParams.selectMode == "SelectOnePrjUser" || btn.routingParams.selectMode == "SelectOneUser") { routine.OwnerType = OwnerType.Single; if (btn.routingParams.selectMode == "SelectOneUser") { routine.OwnerUserIDs = ""; } } else if (btn.routingParams.selectMode == "SelectMultiUserInScope" || btn.routingParams.selectMode == "SelectMultiPrjUser" || btn.routingParams.selectMode == "SelectMultiUser") { routine.OwnerType = OwnerType.Multi; if (btn.routingParams.selectMode == "SelectMultiUser") { routine.OwnerUserIDs = ""; } } } } routine.OwnerUserIDs = btn.routingParams.userIDs; routine.RoutineName = btn.text; routine.MustInputComment = btn.routingParams.mustInputComment; list.Add(routine); } } return(list); } else { buttonInfoList = flowservice.JsonGetFlowButtons(formInstanceID, id, true); } FormulaHelper.ContextRemoveByKey("AgentUserLoginName"); List <RoutineDTO> Routines = new List <RoutineDTO>(); List <RoutineDTO> staticRoutines = new List <RoutineDTO>(); for (var i = 0; i < buttonInfoList.Count; i++) { RoutineDTO routine; var item = buttonInfoList[i]; if (item.id == "btnDoBack" || item.id == "btnDoBackFirst" || item.id == "btnDoBackFirstReturn") { routine = new RoutineDTO { ID = item.id, RoutineName = item.text, }; routine.OwnerType = OwnerType.None; routine.OwnerUserIDs = ""; staticRoutines.Add(routine); continue; } else if (item.id == "btnDelegate" || item.id == "btnAsk") { routine = new RoutineDTO { ID = item.id, RoutineName = item.text, }; routine.OwnerType = OwnerType.Single; routine.OwnerUserIDs = ""; staticRoutines.Add(routine); continue; } else if (item.id == "btnCirculate") { routine = new RoutineDTO { ID = item.id, RoutineName = item.text, }; routine.OwnerType = OwnerType.Multi; routine.OwnerUserIDs = ""; staticRoutines.Add(routine); continue; } else if (item.id == "btnView" || item.id == "btnReply" || item.id == "btnWithdrawAsk" || item.id == "btnWithdraw" || item.id == "btnDelete") { routine = new RoutineDTO { ID = item.id, RoutineName = item.text, }; routine.OwnerType = OwnerType.None; routine.OwnerUserIDs = ""; staticRoutines.Add(routine); continue; } else if (item.id.StartsWith("btn")) { //buttonInfoList.Remove(item); //这句注释掉,否则循环都乱了 continue; } routine = new RoutineDTO { ID = item.id, RoutineName = item.text, MustInputComment = item.routingParams.mustInputComment, SelectAgain = item.routingParams.selectAgain, DefaultComment = item.routingParams.defaultComment }; Routines.Add(routine); routine.OwnerType = OwnerType.None; routine.OwnerUserIDs = item.routingParams.userIDs; if (item.routingParams.flowComplete == true) //移动端在流程结束时不再选人 { routine.OwnerType = OwnerType.None; routine.OwnerUserIDs = ""; continue; } if (item.routingParams.routingID.Contains(','))//分支路由不用选人 { routine.OwnerType = OwnerType.None; continue; } if (item.routingParams.userIDs == "") { if (item.routingParams.selectMode == "SelectOneUser") { routine.OwnerType = OwnerType.Single; } else if (item.routingParams.selectMode == "SelectMultiUser") { routine.OwnerType = OwnerType.Multi; } else if (!string.IsNullOrEmpty(item.routingParams.userIDsFromField) || !string.IsNullOrEmpty(item.routingParams.orgIDFromField) || !string.IsNullOrEmpty(item.routingParams.roleIDsFromField)) { routine.OwnerType = OwnerType.None; } else { routine.OwnerType = OwnerType.None; } } else { if (item.routingParams.selectMode == "SelectOneUserInScope" || item.routingParams.selectMode == "SelectOnePrjUser") { routine.OwnerType = OwnerType.Single; } else if (item.routingParams.selectMode == "SelectMultiUserInScope" || item.routingParams.selectMode == "SelectMultiPrjUser") { routine.OwnerType = OwnerType.Multi; } else { routine.OwnerType = OwnerType.Special; } if (item.routingParams.selectAgain) { if (item.routingParams.selectMode == "SelectOneUserInScope" || item.routingParams.selectMode == "SelectOnePrjUser" || item.routingParams.selectMode == "SelectOneUser") { routine.OwnerType = OwnerType.Single; if (item.routingParams.selectMode == "SelectOneUser") { routine.OwnerUserIDs = ""; } } else if (item.routingParams.selectMode == "SelectMultiUserInScope" || item.routingParams.selectMode == "SelectMultiPrjUser" || item.routingParams.selectMode == "SelectMultiUser") { routine.OwnerType = OwnerType.Multi; if (item.routingParams.selectMode == "SelectMultiUser") { routine.OwnerUserIDs = ""; } } } } } //排序需要与PC端一致,故反过来 for (int i = 0; i < staticRoutines.Count; i++) { Routines.Add(staticRoutines[i]); } return(Routines); }
public override ActionResult PageView() { string userName = this.GetQueryString("SystemName"); if (!string.IsNullOrEmpty(userName)) { userName = HttpUtility.UrlDecode(userName); string pwd = this.GetQueryString("PWD"); string sql = "select count(0) from S_A_User where Code ='" + userName + "'"; var db = SQLHelper.CreateSqlHelper(ConnEnum.Base); if (Convert.ToInt32(db.ExecuteScalar(sql)) > 0 && !String.IsNullOrEmpty(userName)) { FormulaHelper.ContextSet("AgentUserLoginName", userName); FormulaHelper.SetAuthCookie(userName); } } base.PageView(); string ID = Request["ID"]; string wbsValue = string.Empty; string projectInfoID = string.Empty; string wbsID = Request["WBSID"]; string majorWBSID = string.Empty; var entity = this.GetEntityByID <T_EXE_MajorPutInfo>(ID); if (entity == null) { projectInfoID = this.GetQueryString("ProjectInfoID"); wbsValue = Request["OutMajorValue"]; } else { projectInfoID = entity.ProjectInfoID; wbsValue = entity.OutMajorValue; } var projectInfo = this.GetEntityByID <S_I_ProjectInfo>(projectInfoID); if (projectInfo == null) { throw new Formula.Exceptions.BusinessException("未找到ID为【" + projectInfoID + "】的项目信息"); } if (string.IsNullOrEmpty(wbsID)) { wbsID = projectInfo.WBSRoot.ID; } else { var wbsNode = this.GetEntityByID <S_W_WBS>(wbsID.Split(',').FirstOrDefault()); var majorNode = wbsNode.Seniorities.FirstOrDefault(a => a.WBSType == WBSNodeType.Major.ToString()); if (majorNode != null) { majorWBSID = majorNode.ID; } } //根据项目下专业节点,将项目项目下专业节点的WBSVAlue和Name拼成一个枚举 StringBuilder sb = new StringBuilder("\n"); sb.AppendLine(); sb.AppendFormat("\n var WBSID = '{0}'; \n var MajorWBSID = '{1}';", wbsID, majorWBSID); sb.AppendLine(); ViewBag.Script += sb.ToString(); return(View()); }
public ActionResult MainContentElePower() { string userName = this.GetQueryString("SystemName"); if (!string.IsNullOrEmpty(userName)) { userName = HttpUtility.UrlDecode(userName); string pwd = this.GetQueryString("PWD"); string sql = "select count(0) from S_A_User where Code ='" + userName + "'"; var db = SQLHelper.CreateSqlHelper(ConnEnum.Base); if (Convert.ToInt32(db.ExecuteScalar(sql)) > 0 && !String.IsNullOrEmpty(userName)) { FormulaHelper.ContextSet("AgentUserLoginName", userName); FormulaHelper.SetAuthCookie(userName); } } string projectInfoID = this.Request["ProjectInfoID"]; var dt = this.SqlHelper.ExecuteDataTable(string.Format("select * from S_I_ProjectInfo where ID='{0}'", projectInfoID)); var projectInfo = this.GetEntityByID <S_I_ProjectInfo>(projectInfoID); if (projectInfo == null || dt.Rows.Count == 0) { throw new Formula.Exceptions.BusinessException("未能获得指定项目信息"); } ViewBag.ProjectInfo = projectInfo; var marketProjectInfoID = projectInfo.MarketProjectInfoID; #region QBSTree var baseConfig = FormulaHelper.GetEntities <BaseConfigEntities>(); var catagoryType = QBSNodeType.Catagory.ToString(); var qbsType = QBSNodeType.QBS.ToString(); var QBSCatagoryList = projectInfo.ProjectMode.S_T_QBSTemplate.Where(d => d.NodeType == catagoryType).OrderBy(d => d.SortIndex).ToList(); var QBSList = projectInfo.ProjectMode.S_T_QBSTemplate.Where(d => d.NodeType == qbsType).OrderBy(d => d.SortIndex).ToList(); var uiFO = new Base.Logic.BusinessFacade.UIFO(); List <QBSTemplateInfo> QBSResList = new List <QBSTemplateInfo>(); var qualitative = QBSType.Qualitative.ToString(); var quantify = QBSType.Quantify.ToString(); foreach (var item in QBSList) { var QBSInfo = new QBSTemplateInfo(); this.UpdateEntity(QBSInfo, item.ToDic()); QBSResList.Add(QBSInfo); var sql = item.SQL; if (string.IsNullOrEmpty(sql)) { continue; } var resSQL = uiFO.ReplaceString(sql, dt.Rows[0]); var connDt = SQLHelper.CreateSqlHelper(item.ConnName); var resDt = connDt.ExecuteDataTable(resSQL); //定性 if (item.QBSType == qualitative) { if (resDt.Columns.Contains(CommonConst.QualitativeState) && resDt.Rows.Count != 0 && !string.IsNullOrEmpty(resDt.Rows[0][CommonConst.QualitativeState].ToString())) { QBSInfo.ResState = DateTime.Parse(resDt.Rows[0][CommonConst.QualitativeState].ToString()).ToString("yyyy-MM-dd"); QBSInfo.LinkUrl = uiFO.ReplaceString(item.LinkUrl, resDt.Rows[0]); } else { QBSInfo.ResState = ""; QBSInfo.LinkUrl = uiFO.ReplaceString(item.LinkUrl); } } //定量 else { if (resDt.Columns.Contains(CommonConst.QuantifyNum) && resDt.Rows.Count != 0) { QBSInfo.ResState = resDt.Rows[0][CommonConst.QuantifyNum].ToString(); QBSInfo.LinkUrl = uiFO.ReplaceString(item.LinkUrl, resDt.Rows[0]); } else { QBSInfo.ResState = "0"; QBSInfo.LinkUrl = uiFO.ReplaceString(item.LinkUrl); } } } ViewBag.QBSCatagoryList = QBSCatagoryList; ViewBag.QBSList = QBSResList; #endregion #region 项目专业信息 var projectType = Project.Logic.WBSNodeType.Project.ToString(); var majorType = Project.Logic.WBSNodeType.Major.ToString(); var wbsInfo = this.entities.Set <S_W_WBS>().Where(d => d.ProjectInfoID == projectInfoID).OrderBy(a => a.Level).ThenBy(a => a.SortIndex).ToList(); var majorWBSList = wbsInfo.Where(d => d.WBSType == projectType || d.WBSType == majorType).Select(d => new { Name = d.Name, ProjectInfoID = d.ProjectInfoID, WBSType = d.WBSType, WBSValue = d.WBSValue }).Distinct().ToList(); var obsUsers = this.entities.Set <S_W_OBSUser>().Where(d => d.ProjectInfoID == projectInfoID).ToList(); var OBSUserList = new List <OBSUserInfo>(); foreach (var obsUser in obsUsers) { var obsInfo = new OBSUserInfo(); this.UpdateEntity(obsInfo, obsUser.ToDic()); var userInfo = FormulaHelper.GetUserInfoByID(obsUser.UserID); if (userInfo != null) { obsInfo.TEL = userInfo.MobilePhone; OBSUserList.Add(obsInfo); } #region 角色排序 switch (obsUser.RoleCode) { default: obsInfo.SortIndex = 900; break; case "MajorPrinciple": obsInfo.SortIndex = 100; break; case "Designer": obsInfo.SortIndex = 200; break; case "Collactor": obsInfo.SortIndex = 300; break; case "Auditor": obsInfo.SortIndex = 400; break; case "Approver": obsInfo.SortIndex = 400; break; case "ProjectManager": obsInfo.SortIndex = 10; break; case "DesignManager": obsInfo.SortIndex = 20; break; } #endregion } var productList = this.entities.Set <S_E_Product>().Where(d => d.ProjectInfoID == projectInfoID).ToList(); var workHourList = SQLHelper.CreateSqlHelper(ConnEnum.HR).ExecuteList <WorkHourViewList>(string.Format("select * from S_W_UserWorkHour where ProjectID='{0}'", projectInfoID)); ViewBag.WBSInfo = wbsInfo; ViewBag.ObsUserInfo = OBSUserList; ViewBag.ProductList = productList; ViewBag.WorkHourList = workHourList; var taskWorks = this.entities.Set <S_W_TaskWork>().Where(a => a.ProjectInfoID == projectInfoID).ToList(); ViewBag.taskWorks = taskWorks; var costList = FormulaHelper.GetEntities <MarketEntities>().Set <S_FC_CostInfo>().Where(a => a.ProjectID == marketProjectInfoID && a.ProjectType == Market.Logic.Const.defaultDirectCostType).ToList(); var directCostValue = costList.Where(a => a.CostType == Market.Logic.Const.defaultDirectCostType).Select(a => a.CostValue).Sum(); var paymentCostValue = costList.Where(a => a.CostType != Market.Logic.Const.defaultDirectCostType).Select(a => a.CostValue).Sum(); var totalCostValue = costList.Select(a => a.CostValue).Sum(); ViewBag.DirectValue = string.Format("{0:N2}", directCostValue / 10000); ViewBag.PaymentCostValue = string.Format("{0:N2}", paymentCostValue / 10000); ViewBag.TotalCostValue = string.Format("{0:N2}", totalCostValue / 10000); var productNumColumnOptionList = new Dictionary <string, object>(); var printCountColumnOptionList = new Dictionary <string, object>(); foreach (var wbs in majorWBSList) { var majorValue = ""; if (wbs.WBSType != projectType) { majorValue = wbs.WBSValue; } productNumColumnOptionList.Add("productNum_" + wbs.WBSValue, JsonHelper.ToJson(this.GetColumnChartOption(wbs.ProjectInfoID, "提交量", "ProductNum", majorValue))); printCountColumnOptionList.Add("printCount_" + wbs.WBSValue, JsonHelper.ToJson(this.GetColumnChartOption(wbs.ProjectInfoID, "出图量", "PrintCount", majorValue))); } ViewBag.ProductNumColumnOption = JsonHelper.ToJson(productNumColumnOptionList); ViewBag.PrintCountColumnOption = JsonHelper.ToJson(printCountColumnOptionList); #endregion #region 里程碑信息 var milestoneList = this.entities.Set <S_P_MileStone>().Where(d => d.ProjectInfoID == projectInfoID).ToList(); var prjBaseHelper = SQLHelper.CreateSqlHelper(ConnEnum.InfrasBaseConfig); var majorDt = prjBaseHelper.ExecuteDataTable("select Name,Code from S_D_WBSAttrDefine where Type='Major'"); var majorDic = new Dictionary <string, string>(); foreach (DataRow item in majorDt.Rows) { majorDic.Add(item["Code"].ToString(), item["Name"].ToString()); } ViewBag.MileStoneList = milestoneList; ViewBag.MajorDic = majorDic; var subProjectList = projectInfo.S_W_WBS.Where(d => d.WBSType == WBSNodeType.SubProject.ToString()).ToList(); if ((subProjectList.Count == 0 && !projectInfo.WBSRoot.StructNodeInfo.ChildCode.Contains(WBSNodeType.SubProject.ToString())) || milestoneList.Count == milestoneList.Count(a => a.WBSID == projectInfo.RootWBSID)) //兼容所有里程碑都挂在root节点上的情况 { var list = new List <S_W_WBS>(); list.Add(projectInfo.WBSRoot); ViewBag.MileStoneWBSList = list; } else { ViewBag.MileStoneWBSList = subProjectList; } #endregion return(View()); }