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
            }
        }