using BZPT.Domains.Entity.Sys; using BZPT.Domains.IService.Sys; using BZPT.Domains.Services.Sys; using BZPT.Dto.Sys; using DevExtreme.AspNet.Data; using Microsoft.AspNetCore.Mvc; using Microsoft.CodeAnalysis; using NPlatform.API; using System.ComponentModel.Design; using System.Security.Claims; using System.Xml.Linq; namespace BZPT.Api.Controllers { /// /// 工程项目基本信息 /// [Route("api/[controller]/[action]")] public class ProjectInfoController : BaseController { [Autowired] private ILogger Loger { get; set; } /// /// 工程项目基本信息 /// IProjectInfoService _ProjectInfoService { get; set; } public ProjectInfoController(ILogger loger, IProjectInfoService ProjectInfoService) { Loger = loger; _ProjectInfoService = ProjectInfoService; } /// /// 根据获取项目树 /// /// 用户 ID /// 资源树结构 [HttpGet] public async Task GetUserProjectTree(string setId) { var treeData = await _ProjectInfoService.GetUserProjectTree(setId); return treeData; } /// /// 根据用户获取项目、标段、施工队、班组树 /// /// 显示层级,0项目,1标段,2劳务队,3班组 /// 资源树结构 [HttpGet] public async Task GetPSTWTree(int leve) { var treeData = await _ProjectInfoService.GetProjectTree(Context.UserID, leve); return treeData; } /// /// 根据角色获取项目树 /// /// 用户 ID /// 层级 /// 资源树结构 [HttpGet] public async Task GetOrgProjectTree(string setOrg, int leve = 0) { var treeData = await _ProjectInfoService.GetOrgProjectTree(setOrg, leve); return treeData; } /// ///工程项目基本信息列表分页 /// /// /// // GET: api/ [HttpGet] public async Task GetPage(DataSourceLoadOptions dataSourceLoadOptions) { return await _ProjectInfoService.GetPageAsync(dataSourceLoadOptions); } /// /// 添加工程项目基本信息 /// /// /// // POST api/ [HttpPost] public async Task Post([FromBody] ProjectInfoDto resource) { return await _ProjectInfoService.ProjectInfoAdd(resource); } ///// ///// 添加工程项目用户列表 ///// ///// ///// //// POST api/ //[HttpPost] //public async Task PostProjectUsers([FromBody] ProjectUserDto proUser) //{ // return await _ProjectInfoService.ProjectUserAdd(proUser); //} ///// ///// 获取用户列表分页 ///// ///// ///// //// GET: api/ //[HttpGet] //public async Task GetProUserPage([FromQuery]string projectId, [FromQuery] DataSourceLoadOptions whereExp) //{ // if (Context.Account != "admin") // { // whereExp.And(new List{ // "LoginName","<>","admin" }); // } // return await _ProjectInfoService.GetProUserPage(projectId,whereExp); //} /// /// 编辑工程项目基本信息 /// /// /// // PUT api//5 [HttpPut] public async Task Put([FromBody] ProjectInfoDto resource) { return await _ProjectInfoService.ProjectInfoEdit(resource); } ///// ///// 用户项目 ///// ///// 授权数据 ///// //// POST api/ //[HttpPost] //public async Task UserProjectGrant([FromBody] GrantProSectionInput grants) //{ // if (grants == null) // { // return Fail("授权参数缺失!"); // } // if (grants.GrantId == null) // { // return Fail("缺少目标用户"); // } // if (grants.GrantId == this.Context.UserID && this.Context.Account != "admin") // { // return Fail("不能修改自身的权限"); // } // // 调用 BatchAddAsync 方法 // return await _ProjectInfoService.UserProjectGrant(grants); //} /// /// 删除工程项目基本信息 /// /// 工程项目基本信息ID /// // DELETE api//5 [HttpDelete("{id}")] public async Task Delete(string id) { return await _ProjectInfoService.Delete(id); } } }