public object NewAddMonitor(long projectId) { //判断项目ID是否为空 if (projectId <= 0) { return(APIResult.GetErrorResult("请选择所属项目!")); } #region 整合变量定义 var user = CurrentUserView; //角色权限定义 string roleType = string.Empty; //监理ID类型 long jlUserId = 0; #endregion //获取实体数据表结构checkItemList List <Epm_CheckItem> checkItemList = new List <Epm_CheckItem>(); List <Epm_InspectItem> itemDraftList = new List <Epm_InspectItem>(); using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(user))) { #region RoleType(角色权限控制) bool isAgency = proxy.IsAgencyUser(user.UserId); if (!isAgency) { bool isBranch = proxy.IsBranchCompanyUser(user.UserId); if (!isBranch) { bool isSupervisor = proxy.IsSupervisor(projectId, user.UserId); if (isSupervisor) { roleType = RoleTypeEnum.JL.ToString(); } else { roleType = RoleTypeEnum.ZJL.ToString(); } } else { roleType = RoleTypeEnum.FGS.ToString(); var getProjectCompanyResult = proxy.GetProjectCompanyByProjectId(projectId); if (getProjectCompanyResult.Flag == EResultFlag.Success && getProjectCompanyResult.Data != null) { var company = getProjectCompanyResult.Data.FirstOrDefault(t => t.IsSupervisor == 1); if (company != null) { jlUserId = company.LinkManId.Value; } } } } else { roleType = RoleTypeEnum.SGS.ToString(); } #endregion } //获取所有检查项目内容级节点 checkItemList = proxy.GetCheckItemAll().Data; itemDraftList = proxy.GetInspectItemDraft(projectId).Data; Epm_Project project = proxy.GetProject(projectId).Data; var distinctcheckItem = checkItemList.Where(t => t.RoleType == roleType && t.Level == 3).Select(a => new { a.ScoreCompany, }).Distinct().ToList(); var data = new { address = project.Name, date = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"), checkItems = checkItemList.OrderBy(t => t.Sort).Where(t => t.RoleType == roleType && t.Level == 1).Select(a => new { id = a.Id, name = a.Name, level = 1, selected = false, }), questionType = GetListQue(checkItemList, roleType), //整改单位 companies = GetListCom(checkItemList, roleType, projectId), //整改人 //rectification = GetListPer(checkItemList, roleType), //分值 score = checkItemList.OrderBy(t => t.Sort).Where(t => t.RoleType == roleType && t.Level == 3).FirstOrDefault().ScoreRange.Split(','), }; return(APIResult.GetSuccessResult(data)); } }
public object LevelChecklists(long projectId, long checkidlist, int level) { #region 整合变量定义 var user = CurrentUserView; //角色权限定义 string roleType = string.Empty; //监理ID类型 long jlUserId = 0; #endregion //获取实体数据表结构checkItemList List <Epm_CheckItem> checkItemList = new List <Epm_CheckItem>(); List <Epm_InspectItem> itemDraftList = new List <Epm_InspectItem>(); using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(user))) { #region RoleType(角色权限控制) bool isAgency = proxy.IsAgencyUser(user.UserId); if (!isAgency) { bool isBranch = proxy.IsBranchCompanyUser(user.UserId); if (!isBranch) { bool isSupervisor = proxy.IsSupervisor(projectId, user.UserId); if (isSupervisor) { roleType = RoleTypeEnum.JL.ToString(); } else { roleType = RoleTypeEnum.ZJL.ToString(); } } else { roleType = RoleTypeEnum.FGS.ToString(); var getProjectCompanyResult = proxy.GetProjectCompanyByProjectId(projectId); if (getProjectCompanyResult.Flag == EResultFlag.Success && getProjectCompanyResult.Data != null) { var company = getProjectCompanyResult.Data.FirstOrDefault(t => t.IsSupervisor == 1); if (company != null) { jlUserId = company.LinkManId.Value; } } } } else { roleType = RoleTypeEnum.SGS.ToString(); } #endregion } //获取所有检查项目内容级节点 checkItemList = proxy.GetCheckItemAll().Data; itemDraftList = proxy.GetInspectItemDraft(projectId).Data; Epm_Project project = proxy.GetProject(projectId).Data; #region 根据推送级别查询2,3级详细数据 if (level == 2) { var data = new { checkItems = checkItemList.OrderBy(t => t.Sort).Where(t => t.RoleType == roleType && t.Level == level && t.ParentId == checkidlist).Select(b => new { id = b.Id, parentId = b.ParentId, parentName = b.Name, name = b.Name, level = level, selected = false, }) }; return(APIResult.GetSuccessResult(data)); } else { var data = new { checkItems = checkItemList.Where(t => t.RoleType == roleType && t.Level == 3 && t.ParentId == checkidlist && !string.IsNullOrEmpty(t.RectificationManName)).Select(c => new { id = c.Id, parentId = c.ParentId, parentName = c.ParentName = (c.ParentName == null) ? "" : c.ParentName, name = c.Remark, level = level, selected = false, questionType = GetListQue(checkItemList, roleType), //整改单位/整改人 companies = GetListComs(checkItemList, roleType, projectId, c.Id), //分值 score = string.IsNullOrEmpty(c.ScoreRange) ? (new string[1] { "10" }) : c.ScoreRange.Split(','), }) }; return(APIResult.GetSuccessResult(data)); } #endregion } }