diff --git a/asg_form/Controllers/AssignmentController.cs b/asg_form/Controllers/AssignmentController.cs index 478d926..30e7ca4 100644 --- a/asg_form/Controllers/AssignmentController.cs +++ b/asg_form/Controllers/AssignmentController.cs @@ -22,7 +22,7 @@ namespace asg_form.Controllers public long id { get; set; } public string chinaname { get; set; } public string createPerson { get; set; } - public long createUserId { get; set; } + public long? createUserId { get; set; } public long userId { get; set; } public string taskName { get; set; } public string taskDescription { get; set; } @@ -39,7 +39,7 @@ namespace asg_form.Controllers { public string Chinaname { get; set; } public string CreatePerson { get; set; } - public long CreateUserid { get; set; } + public long? CreateUserid { get; set; } public long UserId { get; set; } public string TaskName { get; set; } public string TaskDescription { get; set; } @@ -219,10 +219,12 @@ namespace asg_form.Controllers query = query.Where(n => n.status == status); } + var customOrder = new[] { '1','0','3','2' }; + var TotalRecords = await query.CountAsync(); var Tasks = await query - .OrderByDescending(a => a.status) + .OrderByDescending(a => System.Array.IndexOf(customOrder, a.status)) .Skip((page - 1) * limit) .Take(limit) .ToListAsync(); diff --git a/asg_form/Controllers/Budget/BgCountController.cs b/asg_form/Controllers/Budget/BgCountController.cs index 2b5d292..a25073e 100644 --- a/asg_form/Controllers/Budget/BgCountController.cs +++ b/asg_form/Controllers/Budget/BgCountController.cs @@ -1,8 +1,10 @@ -using asg_form.Controllers.Teamregistration; +using Manganese.Array; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using System.Security.Claims; +using Microsoft.EntityFrameworkCore; +using RestSharp.Extensions; namespace asg_form.Controllers.Budget { @@ -18,7 +20,7 @@ namespace asg_form.Controllers.Budget public long source_event_id { get; set; } public string used_event_name { get; set; } public long used_event_id { get; set; } - //public string use_person {} + //public string use_person { get; set; } //public long use_person_id { get; set; } public string change_time { get; set; } public string use_status { get; set; } @@ -37,16 +39,16 @@ namespace asg_form.Controllers.Budget this.roleManager = roleManager; this.userManager = userManager; } - private class bgMsg + public class bgMsg { public string budgetYear { get; set; } - public int budgetMoney { get; set;} + public int budgetMoney { get; set; } public string budgetType { get; set; } public string budgetName { get; set; } public string sourceEventName { get; set; } public long sourceEventId { get; set; } - public string budgetUsed { get; set; } - public string usedEventName { get;set; } + public string budgetUsed { get; set; } + public string usedEventName { get; set; } public long usedEventId { get; set; } public string updatePerson { get; set; } public string updateTime { get; set; }//自动生成时间 @@ -66,7 +68,7 @@ namespace asg_form.Controllers.Budget return Ok(new error_mb { code = 500, message = "请插入必要字段" }); } var dateString = DateTime.Now.ToString(); ; - using(TestDbContext sub = new TestDbContext()) + using (TestDbContext sub = new TestDbContext()) { var budget = new BgDB { @@ -81,13 +83,118 @@ namespace asg_form.Controllers.Budget used_event_name = msg.usedEventName, used_event_id = msg.usedEventId, use_status = "0", - update_person = null, - update_time = null, + update_person = null,///// + update_time = dateString, }; - sub.budgetDetails.Add(budget); - await sub.SaveChangesAsync(); - return Ok(new error_mb { code = 200, message = "新增预算成功" }); + sub.budgetDetails.Add(budget); + await sub.SaveChangesAsync(); + return Ok(new error_mb { code = 200, message = "新增预算成功" }); + } } + + [Route("api/v1/admin/updateBg")] + [HttpPost] + [Authorize] + public async Task> UpdBg(long id, [FromBody] bgMsg msg) + { + if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin")) + { + return Ok(new error_mb { code = 401, message = "您没有权限" }); + } + if (msg == null) + { + return Ok(new error_mb { code = 500, message = "请插入必要字段" }); + } + var currentTime = DateTime.Now; + using (TestDbContext sub = new TestDbContext()) + { + var budget = await sub.budgetDetails.FindAsync(id); + if (budget == null) + { + return Ok(new error_mb { code = 404, message = "预算记录未找到" }); + } + budget.budget_year = msg.budgetYear; + budget.budget_money = msg.budgetMoney; + budget.budget_type = msg.budgetType; + budget.budget_name = msg.budgetName; + budget.source_event_name = msg.sourceEventName; + budget.source_event_id = msg.sourceEventId; + budget.budget_used = msg.budgetUsed; + budget.used_event_name = msg.usedEventName; + budget.used_event_id = msg.usedEventId; + budget.update_person = msg.updatePerson; + budget.update_time = currentTime.ToString(); + await sub.SaveChangesAsync(); + return Ok(new error_mb { code = 200, message = "更新预算成功" }); + } } + + [Route("api/v1/admin/getBg")] + [HttpGet] + [Authorize] + public async Task> GetBgBySourceEventId([FromQuery] int sourceEventId) + { + if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin")) + { + return Ok(new { code = 401, message = "您没有权限", data = new List() }); + } + + try + { + using (TestDbContext dbContext = new TestDbContext()) + { + var budgets = await dbContext.budgetDetails + .Where(b => b.source_event_id == sourceEventId) + .ToListAsync(); + + if(budgets == null) return Ok(new { code = 404, message="没有找到这个数据" }); + return Ok(new { code = 200, data = budgets }); + } + } + catch (Exception ex) + { + return StatusCode(500, new { code = 500, message = "服务器错误", details = ex.Message }); + } + } + + [Route("api/v1/admin/updateBudgetUsage")] + [HttpPost] + [Authorize] + public async Task> UpdBgUsage([FromBody] UpdateBg request) + { + if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin")) + { + return Ok(new { code = 401, message = "您没有权限" }); + } + try + { + using (var db = new TestDbContext()) + { + var budget = await db.budgetDetails.FindAsync(request.BudgetId); + if (budget == null) + { + return NotFound(new { code = 404, message = "预算记录未找到" }); + } + budget.use_status = "1"; + //budget.use_person = request.UsePerson; + //budget.use_personId = request.UsePersonId; + budget.change_time = DateTime.Now.ToString(); + await db.SaveChangesAsync(); + return Ok(new { code = 200, message = "更新使用情况成功" }); + } + } + catch (Exception ex) + { + return StatusCode(500, new { code = 500, message = "服务器错误", details = ex.Message }); + } + } + + public class UpdateBg + { + public int BudgetId { get; set; } + public string UsePerson { get; set; } + public int UsePersonId { get; set; } + } + } }