考核接口修改

parent 50fc203c
...@@ -29,6 +29,14 @@ public class AssessController : Controller ...@@ -29,6 +29,14 @@ public class AssessController : Controller
this.userService = userService; this.userService = userService;
} }
//考核类别列表
[HttpPost]
[Route("assesslist")]
public ApiResponse AssessList([CustomizeValidator(RuleSet = "List"), FromBody]AssessRequest request)
{
return assessService.AssessList(request.AllotID);
}
//新增考核类别 //新增考核类别
[HttpPost] [HttpPost]
[Route("addassess")] [Route("addassess")]
...@@ -70,6 +78,14 @@ public ApiResponse SetAssessType([FromBody]SetAssessRequest request) ...@@ -70,6 +78,14 @@ public ApiResponse SetAssessType([FromBody]SetAssessRequest request)
return assessService.SetAssessType(request); return assessService.SetAssessType(request);
} }
//考核列头列表
[HttpPost]
[Route("columnlist")]
public ApiResponse ColumnList([CustomizeValidator(RuleSet = "List"), FromBody]AssessColumnRequest request)
{
return assessService.ColumnList(request.AssessID);
}
//新增考核项 //新增考核项
[HttpPost] [HttpPost]
[Route("addcolumn")] [Route("addcolumn")]
...@@ -93,5 +109,21 @@ public ApiResponse DelColumn([CustomizeValidator(RuleSet = "Del"), FromBody]Asse ...@@ -93,5 +109,21 @@ public ApiResponse DelColumn([CustomizeValidator(RuleSet = "Del"), FromBody]Asse
{ {
return assessService.DelColumn(request.ColumnID); return assessService.DelColumn(request.ColumnID);
} }
//考核数据列表
[HttpPost]
[Route("datalist")]
public ApiResponse DataList([CustomizeValidator(RuleSet = "List"), FromBody]AssessDataRequest request)
{
return assessService.DataList(request.AssessID);
}
//考核数据修改
[HttpPost]
[Route("editassessdata")]
public ApiResponse EditAssessData([CustomizeValidator(RuleSet = "Edit"), FromBody]AssessDataRequest request)
{
return assessService.EditAssessData(request.AssessRow);
}
} }
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
namespace Performance.DtoModels namespace Performance.DtoModels
{ {
public class AssessColumnRequest public class AssessColumnRequest : ApiRequest
{ {
public int ColumnID { get; set; } public int ColumnID { get; set; }
public int AssessID { get; set; } public int AssessID { get; set; }
...@@ -34,6 +34,11 @@ public AssessColumnRequestValidator() ...@@ -34,6 +34,11 @@ public AssessColumnRequestValidator()
RuleFor(t => t.ParentID).NotNull().GreaterThan(-1); RuleFor(t => t.ParentID).NotNull().GreaterThan(-1);
RuleFor(t => t.ColumnName).NotNull().NotEmpty(); RuleFor(t => t.ColumnName).NotNull().NotEmpty();
}); });
RuleSet("List", () =>
{
RuleFor(t => t.AssessID).NotNull().GreaterThan(0);
});
} }
} }
} }
using FluentValidation;
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class AssessDataRequest : ApiRequest
{
public int AssessID { get; set; }
public List<AssessRow> AssessRow { get; set; }
}
public class AssessRow
{
public int DataID { get; set; }
public int AssessID { get; set; }
public List<AssessData> AssessData { get; set; }
public AssessRow()
{
AssessData = new List<AssessData>();
}
}
public class AssessData
{
public int ColumnID { get; set; }
public int ColumnName { get; set; }
public decimal ColumnValue { get; set; }
}
public class AssessDataRequestValidator : AbstractValidator<AssessDataRequest>
{
public AssessDataRequestValidator()
{
RuleSet("List", () =>
{
RuleFor(t => t.AssessID).NotNull().GreaterThan(0);
});
RuleSet("Edit", () =>
{
RuleFor(t => t.AssessRow).NotNull().Must(p => p != null && p.Count > 0);
});
}
}
}
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
namespace Performance.DtoModels namespace Performance.DtoModels
{ {
public class AssessRequest public class AssessRequest : ApiRequest
{ {
public int AssessID { get; set; } public int AssessID { get; set; }
public int AllotID { get; set; } public int AllotID { get; set; }
...@@ -32,6 +32,11 @@ public AssessRequestValidator() ...@@ -32,6 +32,11 @@ public AssessRequestValidator()
RuleFor(t => t.AllotID).NotNull().NotEmpty(); RuleFor(t => t.AllotID).NotNull().NotEmpty();
RuleFor(t => t.AssessName).NotNull().NotEmpty(); RuleFor(t => t.AssessName).NotNull().NotEmpty();
}); });
RuleSet("List", () =>
{
RuleFor(t => t.AllotID).NotNull().NotEmpty();
});
} }
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class AssessDataResponse
{
public int ID { get; set; }
/// <summary>
/// 考核类别ID
/// </summary>
public Nullable<int> AssessID { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
public List<AssessData> AssessData { get; set; }
public AssessDataResponse()
{
AssessData = new List<AssessData>();
}
}
}
using Performance.DtoModels; using Performance.DtoModels;
using Performance.EntityModels; using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Repository; using Performance.Repository;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -22,6 +23,18 @@ public class AssessService : IAutoInjection ...@@ -22,6 +23,18 @@ public class AssessService : IAutoInjection
this.perforAscolumnsRepository = perforAscolumnsRepository; this.perforAscolumnsRepository = perforAscolumnsRepository;
} }
#region 考核类别
/// <summary>
/// 考核类别列表
/// </summary>
/// <param name="allotID"></param>
/// <returns></returns>
public ApiResponse AssessList(int allotID)
{
var list = perforAsassessRepository.GetEntities(t => t.AllotID == allotID);
return new ApiResponse(ResponseType.OK, list);
}
/// <summary> /// <summary>
/// 新增 /// 新增
/// </summary> /// </summary>
...@@ -89,6 +102,19 @@ public ApiResponse SetAssessType(SetAssessRequest request) ...@@ -89,6 +102,19 @@ public ApiResponse SetAssessType(SetAssessRequest request)
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail); return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
} }
#endregion
#region 考核项
/// <summary>
/// 列头列表
/// </summary>
/// <param name="assessID"></param>
/// <returns></returns>
public ApiResponse ColumnList(int assessID)
{
var list = perforAscolumnsRepository.GetEntities(t => t.AssessID == assessID);
return new ApiResponse(ResponseType.OK, list);
}
/// <summary> /// <summary>
/// 新增考核项 /// 新增考核项
...@@ -143,5 +169,58 @@ public ApiResponse DelColumn(int columnID) ...@@ -143,5 +169,58 @@ public ApiResponse DelColumn(int columnID)
var result = perforAscolumnsRepository.Remove(entity); var result = perforAscolumnsRepository.Remove(entity);
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail); return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
} }
#endregion
#region 考核数据
/// <summary>
/// 考核数据列表
/// </summary>
/// <param name="assessID"></param>
/// <returns></returns>
public ApiResponse DataList(int assessID)
{
var entity = perforAsassessRepository.GetEntity(t => t.ID == assessID);
if (entity == null)
return new ApiResponse(ResponseType.Fail, "考核类别ID无效");
var list = perforAsdataRepository.GetEntities(t => t.AssessID == assessID);
if (list != null)
{
var response = list.Select(t => new AssessDataResponse
{
ID = t.ID,
AssessID = t.AssessID,
Department = t.Department,
AssessData = string.IsNullOrEmpty(t.RowData)
? new List<AssessData>()
: JsonHelper.Deserialize<List<AssessData>>(t.RowData)
});
return new ApiResponse(ResponseType.OK, response);
}
return new ApiResponse(ResponseType.OK);
}
/// <summary>
/// 编辑考核数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public ApiResponse EditAssessData(List<AssessRow> request)
{
var dataIDList = request.Select(t => t.DataID).ToList();
var dataList = perforAsdataRepository.GetEntities(t => dataIDList.Contains(t.ID));
foreach (var item in request)
{
var entity = dataList.FirstOrDefault(t => t.ID == item.DataID);
if (entity != null)
{
entity.RowData = JsonHelper.Serialize(item.AssessData);
perforAsdataRepository.Update(entity);
}
}
return new ApiResponse(ResponseType.OK);
}
#endregion
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment