This commit is contained in:
王炜翔 2024-10-02 21:05:36 +08:00
parent eab867e85a
commit 9f007a208d
2 changed files with 124 additions and 15 deletions

View File

@ -22,7 +22,7 @@ namespace asg_form.Controllers
public long id { get; set; } public long id { get; set; }
public string chinaname { get; set; } public string chinaname { get; set; }
public string createPerson { get; set; } public string createPerson { get; set; }
public long createUserId { get; set; } public long? createUserId { get; set; }
public long userId { get; set; } public long userId { get; set; }
public string taskName { get; set; } public string taskName { get; set; }
public string taskDescription { get; set; } public string taskDescription { get; set; }
@ -39,7 +39,7 @@ namespace asg_form.Controllers
{ {
public string Chinaname { get; set; } public string Chinaname { get; set; }
public string CreatePerson { get; set; } public string CreatePerson { get; set; }
public long CreateUserid { get; set; } public long? CreateUserid { get; set; }
public long UserId { get; set; } public long UserId { get; set; }
public string TaskName { get; set; } public string TaskName { get; set; }
public string TaskDescription { get; set; } public string TaskDescription { get; set; }
@ -219,10 +219,12 @@ namespace asg_form.Controllers
query = query.Where(n => n.status == status); query = query.Where(n => n.status == status);
} }
var customOrder = new[] { '1','0','3','2' };
var TotalRecords = await query.CountAsync(); var TotalRecords = await query.CountAsync();
var Tasks = await query var Tasks = await query
.OrderByDescending(a => a.status) .OrderByDescending(a => System.Array.IndexOf(customOrder, a.status))
.Skip((page - 1) * limit) .Skip((page - 1) * limit)
.Take(limit) .Take(limit)
.ToListAsync(); .ToListAsync();

View File

@ -1,8 +1,10 @@
using asg_form.Controllers.Teamregistration; using Manganese.Array;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Security.Claims; using System.Security.Claims;
using Microsoft.EntityFrameworkCore;
using RestSharp.Extensions;
namespace asg_form.Controllers.Budget namespace asg_form.Controllers.Budget
{ {
@ -18,7 +20,7 @@ namespace asg_form.Controllers.Budget
public long source_event_id { get; set; } public long source_event_id { get; set; }
public string used_event_name { get; set; } public string used_event_name { get; set; }
public long used_event_id { 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 long use_person_id { get; set; }
public string change_time { get; set; } public string change_time { get; set; }
public string use_status { get; set; } public string use_status { get; set; }
@ -37,16 +39,16 @@ namespace asg_form.Controllers.Budget
this.roleManager = roleManager; this.roleManager = roleManager;
this.userManager = userManager; this.userManager = userManager;
} }
private class bgMsg public class bgMsg
{ {
public string budgetYear { get; set; } public string budgetYear { get; set; }
public int budgetMoney { get; set;} public int budgetMoney { get; set; }
public string budgetType { get; set; } public string budgetType { get; set; }
public string budgetName { get; set; } public string budgetName { get; set; }
public string sourceEventName { get; set; } public string sourceEventName { get; set; }
public long sourceEventId { get; set; } public long sourceEventId { get; set; }
public string budgetUsed { get; set; } public string budgetUsed { get; set; }
public string usedEventName { get;set; } public string usedEventName { get; set; }
public long usedEventId { get; set; } public long usedEventId { get; set; }
public string updatePerson { get; set; } public string updatePerson { get; set; }
public string updateTime { get; set; }//自动生成时间 public string updateTime { get; set; }//自动生成时间
@ -66,7 +68,7 @@ namespace asg_form.Controllers.Budget
return Ok(new error_mb { code = 500, message = "请插入必要字段" }); return Ok(new error_mb { code = 500, message = "请插入必要字段" });
} }
var dateString = DateTime.Now.ToString(); ; var dateString = DateTime.Now.ToString(); ;
using(TestDbContext sub = new TestDbContext()) using (TestDbContext sub = new TestDbContext())
{ {
var budget = new BgDB var budget = new BgDB
{ {
@ -81,13 +83,118 @@ namespace asg_form.Controllers.Budget
used_event_name = msg.usedEventName, used_event_name = msg.usedEventName,
used_event_id = msg.usedEventId, used_event_id = msg.usedEventId,
use_status = "0", use_status = "0",
update_person = null, update_person = null,/////
update_time = null, update_time = dateString,
}; };
sub.budgetDetails.Add(budget); sub.budgetDetails.Add(budget);
await sub.SaveChangesAsync(); await sub.SaveChangesAsync();
return Ok(new error_mb { code = 200, message = "新增预算成功" }); return Ok(new error_mb { code = 200, message = "新增预算成功" });
}
} }
[Route("api/v1/admin/updateBg")]
[HttpPost]
[Authorize]
public async Task<ActionResult<object>> 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<ActionResult<object>> GetBgBySourceEventId([FromQuery] int sourceEventId)
{
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
return Ok(new { code = 401, message = "您没有权限", data = new List<object>() });
}
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<ActionResult<object>> 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; }
}
} }
} }