Commit ba828a21 by wyc

考核管理优化

parent 6abb1e02
...@@ -38,9 +38,6 @@ public AssessNewController(AssessNewService service, ClaimService claim) ...@@ -38,9 +38,6 @@ public AssessNewController(AssessNewService service, ClaimService claim)
/// 考核类别列表 /// 考核类别列表
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <remarks>
/// 接口很简单,只是展示了考核分类数据(per_assess_category)
/// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/list")] [Route("category/list")]
...@@ -52,13 +49,10 @@ public ApiResponse<List<per_assess_category>> CategoryList([FromQuery] int allot ...@@ -52,13 +49,10 @@ public ApiResponse<List<per_assess_category>> CategoryList([FromQuery] int allot
/// 考核类别新增 /// 考核类别新增
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <remarks>
/// 编码自动生成,不能修改
/// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/add")] [Route("category/add")]
public ApiResponse<AddAssessCategoryRequest> CategoryAdd([FromBody] AddAssessCategoryRequest request) public ApiResponse CategoryAdd([FromBody] AddAssessCategoryRequest request)
{ {
var userid = claim.GetUserId(); var userid = claim.GetUserId();
return _service.CategoryAdd(request, userid); return _service.CategoryAdd(request, userid);
...@@ -67,13 +61,10 @@ public ApiResponse<AddAssessCategoryRequest> CategoryAdd([FromBody] AddAssessCat ...@@ -67,13 +61,10 @@ public ApiResponse<AddAssessCategoryRequest> CategoryAdd([FromBody] AddAssessCat
/// 考核类别修改 /// 考核类别修改
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <remarks>
/// 编码不能修改
/// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/update")] [Route("category/update")]
public ApiResponse<UpdateAssessCategoryRequest> CategoryUpdate([FromBody] UpdateAssessCategoryRequest request) public ApiResponse CategoryUpdate([FromBody] UpdateAssessCategoryRequest request)
{ {
var userid = claim.GetUserId(); var userid = claim.GetUserId();
return _service.CategoryUpdate(request, userid); return _service.CategoryUpdate(request, userid);
...@@ -82,9 +73,6 @@ public ApiResponse<UpdateAssessCategoryRequest> CategoryUpdate([FromBody] Update ...@@ -82,9 +73,6 @@ public ApiResponse<UpdateAssessCategoryRequest> CategoryUpdate([FromBody] Update
/// 考核类别删除 /// 考核类别删除
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <remarks>
/// 允许批量删除,删除时要检查有没有外表引用,提示一起删除
/// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/delete")] [Route("category/delete")]
...@@ -97,29 +85,21 @@ public ApiResponse CategoryDelete([FromBody] BatchAssessCategoryRequest request) ...@@ -97,29 +85,21 @@ public ApiResponse CategoryDelete([FromBody] BatchAssessCategoryRequest request)
/// 考核下发(检查下发受影响的上报内容) /// 考核下发(检查下发受影响的上报内容)
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <remarks>
/// 类似考勤下发,需要检查受影响的内容返回展示
/// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/issue/check")] [Route("category/issue/check")]
public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck([FromBody] BatchAssessCategoryRequest request) public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck([FromBody] UpdateAssessCategoryRequest request)
{ {
return _service.CategoryIssueCheck(request); return _service.CategoryIssueCheck(request);
} }
/// <summary> /// <summary>
/// 考核下发(把当前考核类别下所有方案下发) /// 考核下发(把当前考核类别下所有方案下发)
/// </summary> /// </summary>
/// <remarks>
/// 下发分两类数据:
/// 责任科室总清单:考核分类/考核方案/考核指标 三种分类汇总集成到表中
/// 责任科室总清单明细:责任科室总清单 和 被考核核算单元 需要组合到一起存到明细表中
/// </remarks>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/issue/confirm")] [Route("category/issue/confirm")]
public ApiResponse CategoryIssueConfirm([FromBody] BatchAssessCategoryRequest request) public ApiResponse CategoryIssueConfirm([FromBody] UpdateAssessCategoryRequest request)
{ {
var userid = claim.GetUserId(); var userid = claim.GetUserId();
return _service.CategoryIssueConfirm(request, userid); return _service.CategoryIssueConfirm(request, userid);
...@@ -149,7 +129,7 @@ public ApiResponse SchemeList([FromBody] QuerySchemeList query) ...@@ -149,7 +129,7 @@ public ApiResponse SchemeList([FromBody] QuerySchemeList query)
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/add")] [Route("scheme/add")]
public ApiResponse<AddAssessSchemeRequest> SchemeAdd([FromBody] AddAssessSchemeRequest request) public ApiResponse SchemeAdd([FromBody] AddAssessSchemeRequest request)
{ {
var userid = claim.GetUserId(); var userid = claim.GetUserId();
return _service.SchemeAdd(request, userid); return _service.SchemeAdd(request, userid);
...@@ -357,9 +337,10 @@ public ApiResponse SchemeItemsUpload([FromQuery] int schemeId, int allotId, [Fro ...@@ -357,9 +337,10 @@ public ApiResponse SchemeItemsUpload([FromQuery] int schemeId, int allotId, [Fro
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/items/target/list")] [Route("scheme/items/target/list")]
public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList([FromBody] QuerySchemeItemsTargetList query) [ProducesResponseType(typeof(PagedList<AssessSchemeTargetResponse>), StatusCodes.Status200OK)]
public ApiResponse SchemeItemsTargetList([FromBody] QuerySchemeItemsTargetList query)
{ {
return _service.SchemeItemsTargetList(query); return new ApiResponse(ResponseType.OK, "", _service.SchemeItemsTargetList(query));
} }
/// <summary> /// <summary>
......
...@@ -312,9 +312,6 @@ ...@@ -312,9 +312,6 @@
考核类别列表 考核类别列表
</summary> </summary>
<param name="allotId"></param> <param name="allotId"></param>
<remarks>
接口很简单,只是展示了考核分类数据(per_assess_category)
</remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AssessNewController.CategoryAdd(Performance.DtoModels.Request.AddAssessCategoryRequest)"> <member name="M:Performance.Api.Controllers.AssessNewController.CategoryAdd(Performance.DtoModels.Request.AddAssessCategoryRequest)">
...@@ -322,9 +319,6 @@ ...@@ -322,9 +319,6 @@
考核类别新增 考核类别新增
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<remarks>
编码自动生成,不能修改
</remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AssessNewController.CategoryUpdate(Performance.DtoModels.Request.UpdateAssessCategoryRequest)"> <member name="M:Performance.Api.Controllers.AssessNewController.CategoryUpdate(Performance.DtoModels.Request.UpdateAssessCategoryRequest)">
...@@ -332,9 +326,6 @@ ...@@ -332,9 +326,6 @@
考核类别修改 考核类别修改
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<remarks>
编码不能修改
</remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AssessNewController.CategoryDelete(Performance.DtoModels.Request.BatchAssessCategoryRequest)"> <member name="M:Performance.Api.Controllers.AssessNewController.CategoryDelete(Performance.DtoModels.Request.BatchAssessCategoryRequest)">
...@@ -342,30 +333,19 @@ ...@@ -342,30 +333,19 @@
考核类别删除 考核类别删除
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<remarks>
允许批量删除,删除时要检查有没有外表引用,提示一起删除
</remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AssessNewController.CategoryIssueCheck(Performance.DtoModels.Request.BatchAssessCategoryRequest)"> <member name="M:Performance.Api.Controllers.AssessNewController.CategoryIssueCheck(Performance.DtoModels.Request.UpdateAssessCategoryRequest)">
<summary> <summary>
考核下发(检查下发受影响的上报内容) 考核下发(检查下发受影响的上报内容)
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<remarks>
类似考勤下发,需要检查受影响的内容返回展示
</remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AssessNewController.CategoryIssueConfirm(Performance.DtoModels.Request.BatchAssessCategoryRequest)"> <member name="M:Performance.Api.Controllers.AssessNewController.CategoryIssueConfirm(Performance.DtoModels.Request.UpdateAssessCategoryRequest)">
<summary> <summary>
考核下发(把当前考核类别下所有方案下发) 考核下发(把当前考核类别下所有方案下发)
</summary> </summary>
<remarks>
下发分两类数据:
责任科室总清单:考核分类/考核方案/考核指标 三种分类汇总集成到表中
责任科室总清单明细:责任科室总清单 和 被考核核算单元 需要组合到一起存到明细表中
</remarks>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
......
...@@ -2120,6 +2120,11 @@ ...@@ -2120,6 +2120,11 @@
操作类型 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4, 操作类型 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Request.EditSchemeEnterAudit.AuditRemark">
<summary>
审核或驳回原因
</summary>
</member>
<member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.Score"> <member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.Score">
<summary> <summary>
考核扣分 考核扣分
...@@ -3204,6 +3209,21 @@ ...@@ -3204,6 +3209,21 @@
状态 状态
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AssessSchemeEnterListResponse.SubmitTime">
<summary>
提交时间
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterListResponse.AuditBy">
<summary>
审核人
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterListResponse.AuditTime">
<summary>
审核时间
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterListResponse.Count"> <member name="P:Performance.DtoModels.AssessSchemeEnterListResponse.Count">
<summary> <summary>
总下发数 总下发数
...@@ -3319,6 +3339,11 @@ ...@@ -3319,6 +3339,11 @@
审核时间 审核时间
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.AuditRemark">
<summary>
审核或驳回原因
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeItemsUploadResponse.ItemName1"> <member name="P:Performance.DtoModels.AssessSchemeItemsUploadResponse.ItemName1">
<summary> <summary>
一级指标名称 一级指标名称
......
...@@ -6800,6 +6800,11 @@ ...@@ -6800,6 +6800,11 @@
审核时间 审核时间
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_assess_issue_scheme.AuditRemark">
<summary>
审核或驳回原因
</summary>
</member>
<member name="T:Performance.EntityModels.per_assess_scheme"> <member name="T:Performance.EntityModels.per_assess_scheme">
<summary> <summary>
考核方案 考核方案
......
...@@ -13,6 +13,7 @@ public class AddAssessCategoryRequest ...@@ -13,6 +13,7 @@ public class AddAssessCategoryRequest
} }
public class UpdateAssessCategoryRequest : AddAssessCategoryRequest public class UpdateAssessCategoryRequest : AddAssessCategoryRequest
{ {
public int SchemeId { get; set; }
public int CategoryId { get; set; } public int CategoryId { get; set; }
} }
public class BatchAssessCategoryRequest public class BatchAssessCategoryRequest
......
...@@ -29,6 +29,10 @@ public class EditSchemeEnterAudit ...@@ -29,6 +29,10 @@ public class EditSchemeEnterAudit
/// 操作类型 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4, /// 操作类型 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
/// </summary> /// </summary>
public Assess.AssessState State { get; set; } public Assess.AssessState State { get; set; }
/// <summary>
/// 审核或驳回原因
/// </summary>
public string? AuditRemark { get; set; }
} }
......
...@@ -46,8 +46,13 @@ public class BatchAssessSchemeItemsRequest ...@@ -46,8 +46,13 @@ public class BatchAssessSchemeItemsRequest
public class QuerySchemeItemsTargetList public class QuerySchemeItemsTargetList
{ {
public int AllotId { get; set; } public int AllotId { get; set; }
public int AssessId { get; set; }
public int SchemeId { get; set; } public int SchemeId { get; set; }
public Assess.SchemeItemsTarget SchemeItemsTarget { get; set; } public Assess.SchemeItemsTarget SchemeItemsTarget { get; set; }
public string UnitType { get; set; }
public string AccountingUnit { get; set; }
public int Page { get; set; } = 1;
public int PageSize { get; set; } = 20;
} }
public class QuerySchemeItemsList public class QuerySchemeItemsList
......
...@@ -48,6 +48,7 @@ public class AssessSchemeDataResponse ...@@ -48,6 +48,7 @@ public class AssessSchemeDataResponse
public class AssessSchemeTargetResponse public class AssessSchemeTargetResponse
{ {
public int SchemeId { get; set; }
/// <summary> /// <summary>
/// 目标Id /// 目标Id
/// </summary> /// </summary>
...@@ -121,6 +122,19 @@ public class AssessSchemeEnterListResponse ...@@ -121,6 +122,19 @@ public class AssessSchemeEnterListResponse
/// </summary> /// </summary>
public int State { get; set; } public int State { get; set; }
/// <summary> /// <summary>
/// 提交时间
/// </summary>
public DateTime? SubmitTime { get; set; }
/// <summary>
/// 审核人
/// </summary>
public string? AuditBy { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public DateTime? AuditTime { get; set; }
/// <summary>
/// 总下发数 /// 总下发数
/// </summary> /// </summary>
public int Count { get; set; } public int Count { get; set; }
...@@ -216,6 +230,10 @@ public class AssessSchemeEnterDetaiListResponse ...@@ -216,6 +230,10 @@ public class AssessSchemeEnterDetaiListResponse
/// 审核时间 /// 审核时间
/// </summary> /// </summary>
public DateTime? AuditTime { get; set; } public DateTime? AuditTime { get; set; }
/// <summary>
/// 审核或驳回原因
/// </summary>
public string? AuditRemark { get; set; }
} }
//上传 //上传
public class AssessSchemeItemsUploadResponse public class AssessSchemeItemsUploadResponse
......
...@@ -65,9 +65,6 @@ public PerAssessmentStatisticsResponse(per_assess_issue_scheme item) ...@@ -65,9 +65,6 @@ public PerAssessmentStatisticsResponse(per_assess_issue_scheme item)
} }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
......
...@@ -141,5 +141,9 @@ public class per_assess_issue_scheme ...@@ -141,5 +141,9 @@ public class per_assess_issue_scheme
/// 审核时间 /// 审核时间
/// </summary> /// </summary>
public DateTime? AuditTime { get; set; } public DateTime? AuditTime { get; set; }
/// <summary>
/// 审核或驳回原因
/// </summary>
public string? AuditRemark { get; set; }
} }
} }
...@@ -343,15 +343,15 @@ public IEnumerable<view_attendance> GetAttendance(int allotId) ...@@ -343,15 +343,15 @@ public IEnumerable<view_attendance> GetAttendance(int allotId)
/// <param name="categoryId"></param> /// <param name="categoryId"></param>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <returns></returns> /// <returns></returns>
public IEnumerable<view_assess_issue> GetAssessIssue(int[] categoryId, int allotId) public IEnumerable<view_assess_issue> GetAssessIssue(int allotId)
{ {
var connection = context.Database.GetDbConnection(); var connection = context.Database.GetDbConnection();
if (connection.State != ConnectionState.Open) connection.Open(); if (connection.State != ConnectionState.Open) connection.Open();
try try
{ {
string query = $@"SELECT * FROM view_assess_issue where AssessId in @categoryId and AllotId = @allotId"; string query = $@"SELECT * FROM view_assess_issue where AllotId = @allotId";
return connection.Query<view_assess_issue>(query, new { categoryId, allotId }, commandTimeout: 60 * 60); return connection.Query<view_assess_issue>(query, new { allotId }, commandTimeout: 60 * 60);
} }
catch (Exception) catch (Exception)
{ {
......
...@@ -47,9 +47,6 @@ public class AssessNewService : IAutoInjection ...@@ -47,9 +47,6 @@ public class AssessNewService : IAutoInjection
PerforCofaccountingRepository cofaccountingRepository, PerforCofaccountingRepository cofaccountingRepository,
PerforPerAssessIssueSchemeRepository perforPerAssessIssueSchemeRepository, PerforPerAssessIssueSchemeRepository perforPerAssessIssueSchemeRepository,
PerforUserRepository userRepository PerforUserRepository userRepository
) )
{ {
this.mapper = mapper; this.mapper = mapper;
...@@ -67,18 +64,12 @@ PerforUserRepository userRepository ...@@ -67,18 +64,12 @@ PerforUserRepository userRepository
#region 考核类别 #region 考核类别
public ApiResponse<List<per_assess_category>> CategoryList(int allotId) public ApiResponse<List<per_assess_category>> CategoryList(int allotId)
{ {
var result = perforPerAssessCategoryRepository.GetEntities(t => t.AllotId == allotId).OrderByDescending(w => w.UpdateTime).ToList(); var result = perforPerAssessCategoryRepository.GetEntities(t => t.AllotId == allotId);
if (result != null) if (result != null)
result = result.OrderByDescending(w => w.UpdateTime).ToList();
return new ApiResponse<List<per_assess_category>>(ResponseType.OK, result); return new ApiResponse<List<per_assess_category>>(ResponseType.OK, result);
else
{
return new ApiResponse<List<per_assess_category>>(ResponseType.NotFound, "暂无数据");
}
} }
public ApiResponse<AddAssessCategoryRequest> CategoryAdd(AddAssessCategoryRequest request, int userid) public ApiResponse CategoryAdd(AddAssessCategoryRequest request, int userid)
{ {
var allot = perforPerallotRepository.GetEntity(w => w.ID == request.AllotId); var allot = perforPerallotRepository.GetEntity(w => w.ID == request.AllotId);
if (allot == null) if (allot == null)
...@@ -87,67 +78,75 @@ public ApiResponse<AddAssessCategoryRequest> CategoryAdd(AddAssessCategoryReques ...@@ -87,67 +78,75 @@ public ApiResponse<AddAssessCategoryRequest> CategoryAdd(AddAssessCategoryReques
var temp = categoryData.FirstOrDefault(w => w.AllotId == request.AllotId && w.AssessName == request.Category); var temp = categoryData.FirstOrDefault(w => w.AllotId == request.AllotId && w.AssessName == request.Category);
if (temp != null) if (temp != null)
throw new PerformanceException("当前考核类别已存在"); throw new PerformanceException("当前考核类别已存在");
//查询最大编号或赋初始值
int codeMax = 0; int codeMax = 0;
if (!categoryData.Select(w => w.AssessCode).Any()) if (categoryData.Any())
codeMax = categoryData.Max(w => int.Parse(w.AssessCode.Substring(1))); int.TryParse(categoryData.Max(w => w.AssessCode.Substring(1)), out codeMax);
var assessCode = ""; string assessCode = codeMax <= 999 ? $"A{(codeMax + 1):D3}" : $"A{codeMax + 1}";
if (codeMax <= 999) var dateTime = DateTime.Now;
{
assessCode = "A" + (codeMax + 1).ToString("D3");
}
else
{
assessCode = "A" + (codeMax + 1).ToString();
}
var per_assess_category = new per_assess_category() var per_assess_category = new per_assess_category()
{ {
AllotId = request.AllotId, AllotId = request.AllotId,
AssessCode = assessCode, AssessCode = assessCode,
AssessName = request.Category, AssessName = request.Category,
CreateBy = userid, CreateBy = userid,
CreateTime = DateTime.Now, CreateTime = dateTime,
UpdateBy = userid, UpdateBy = userid,
UpdateTime = DateTime.Now, UpdateTime = dateTime,
}; };
if (perforPerAssessCategoryRepository.Add(per_assess_category)) return new ApiResponse<AddAssessCategoryRequest>(ResponseType.OK, "添加成功"); if (perforPerAssessCategoryRepository.Add(per_assess_category))
else return new ApiResponse<AddAssessCategoryRequest>(ResponseType.Fail, "添加失败"); return new ApiResponse(ResponseType.OK, "添加成功");
else return new ApiResponse(ResponseType.Fail, "添加失败");
} }
public ApiResponse<UpdateAssessCategoryRequest> CategoryUpdate(UpdateAssessCategoryRequest request, int userid) public ApiResponse CategoryUpdate(UpdateAssessCategoryRequest request, int userid)
{ {
var allot = perforPerallotRepository.GetEntity(w => w.ID == request.AllotId); var allot = perforPerallotRepository.GetEntity(w => w.ID == request.AllotId);
if (allot == null) if (allot == null)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
var any = perforPerAssessCategoryRepository.GetEntity(w => w.Id == request.CategoryId); var any = perforPerAssessCategoryRepository.GetEntity(w => w.Id == request.CategoryId);
if (any == null)
throw new PerformanceException("当前操作错误,请刷新后重试");
any.AllotId = request.AllotId; any.AllotId = request.AllotId;
any.AssessName = request.Category; any.AssessName = request.Category;
any.UpdateBy = userid; any.UpdateBy = userid;
any.UpdateTime = DateTime.Now; var dateTime = DateTime.Now;
if (perforPerAssessCategoryRepository.Update(any)) return new ApiResponse<UpdateAssessCategoryRequest>(ResponseType.OK, "修改成功"); any.UpdateTime = dateTime;
else return new ApiResponse<UpdateAssessCategoryRequest>(ResponseType.Fail, "修改失败"); if (perforPerAssessCategoryRepository.Update(any))
return new ApiResponse(ResponseType.OK, "修改成功");
else return new ApiResponse(ResponseType.Fail, "修改失败");
} }
public ApiResponse CategoryDelete(BatchAssessCategoryRequest request) public ApiResponse CategoryDelete(BatchAssessCategoryRequest request)
{ {
var temp = perforPerAssessSchemeRepository.GetEntity(w => request.CategoryId.Contains(w.AssessId)); var temp = perforPerAssessSchemeRepository.GetEntity(w => request.CategoryId.Contains(w.AssessId));
if (temp != null || temp?.Id > 0) if (temp != null || temp?.Id > 0)
throw new PerformanceException("请先删除类别下的方案"); throw new PerformanceException("请先删除类别下的方案");
var any = perforPerAssessCategoryRepository.GetEntities(w => request.CategoryId.Contains(w.Id)).ToList(); var any = perforPerAssessCategoryRepository.GetEntities(w => request.CategoryId.Contains(w.Id));
if (perforPerAssessCategoryRepository.RemoveRange(any.ToArray())) return new ApiResponse(ResponseType.OK, "删除成功"); if (any == null)
throw new PerformanceException("当前操作错误,请刷新后重试");
if (perforPerAssessCategoryRepository.RemoveRange(any.ToArray()))
return new ApiResponse(ResponseType.OK, "删除成功");
else return new ApiResponse(ResponseType.Fail, "删除失败"); else return new ApiResponse(ResponseType.Fail, "删除失败");
} }
public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck(BatchAssessCategoryRequest request) public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck(UpdateAssessCategoryRequest request)
{ {
if (request.AllotId <= 0) var allot = perforPerallotRepository.GetEntity(w => w.ID == request.AllotId);
throw new PerformanceException("绩效记录不存在"); if (allot == null)
var issueDatas = perforPerallotRepository.GetAssessIssue(request.CategoryId, request.AllotId); throw new PerformanceException("当前绩效记录不存在");
var issueSchemeDatas = perforPerAssessIssueSchemeRepository.GetEntities(w => request.CategoryId.Contains(w.AssessId)); var issueDatas = perforPerallotRepository.GetAssessIssue(request.AllotId);
var issueSchemeDatas = perforPerAssessIssueSchemeRepository.GetEntities(w => w.AllotId == request.AllotId);
if (request.CategoryId > 0)
{
issueDatas = issueDatas.Where(w => w.AssessId == request.CategoryId).ToList();
issueSchemeDatas = issueSchemeDatas.Where(w => w.AssessId == request.CategoryId).ToList();
}
if (request.SchemeId > 0)
{
issueDatas = issueDatas.Where(w => w.SchemeId == request.SchemeId).ToList();
issueSchemeDatas = issueSchemeDatas.Where(w => w.SchemeId == request.SchemeId).ToList();
}
var statisticdates = new List<PerAssessmentStatisticsResponse>(); var statisticdates = new List<PerAssessmentStatisticsResponse>();
Func<per_assess_issue_scheme, view_assess_issue, bool> func = (schemes, issues) => Func<per_assess_issue_scheme, view_assess_issue, bool> func = (schemes, issues) =>
{ {
var result = var result =
schemes.AllotId == issues.AllotId &&
schemes.AssessId == issues.AssessId && schemes.AssessId == issues.AssessId &&
schemes.AssessCode == issues.AssessCode && schemes.AssessCode == issues.AssessCode &&
schemes.AssessName == issues.AssessName && schemes.AssessName == issues.AssessName &&
...@@ -162,8 +161,8 @@ public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck(Bat ...@@ -162,8 +161,8 @@ public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck(Bat
schemes.UnitType == issues.UnitType && schemes.UnitType == issues.UnitType &&
schemes.AccountingUnit == issues.AccountingUnit && schemes.AccountingUnit == issues.AccountingUnit &&
schemes.TargetUnitCode == issues.TargetUnitCode && schemes.TargetUnitCode == issues.TargetUnitCode &&
schemes.TargetUnitType == issues.UnitType && schemes.TargetUnitType == issues.TargetUnitType &&
schemes.TargetAccountingUnit == issues.AccountingUnit; schemes.TargetAccountingUnit == issues.TargetAccountingUnit;
return result; return result;
}; };
statisticdates = issueDatas.Select(issue => statisticdates = issueDatas.Select(issue =>
...@@ -197,14 +196,24 @@ public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck(Bat ...@@ -197,14 +196,24 @@ public ApiResponse<List<PerAssessmentStatisticsResponse>> CategoryIssueCheck(Bat
return new ApiResponse<List<PerAssessmentStatisticsResponse>>(ResponseType.OK, statisticdates); return new ApiResponse<List<PerAssessmentStatisticsResponse>>(ResponseType.OK, statisticdates);
} }
//考核下发(把当前考核类别下所有方案下发) //考核下发(把当前考核类别下所有方案下发)
public ApiResponse CategoryIssueConfirm(BatchAssessCategoryRequest request, int userid) public ApiResponse CategoryIssueConfirm(UpdateAssessCategoryRequest request, int userid)
{ {
var categoryIssueCheck = CategoryIssueCheck(request).Data; var categoryIssueCheck = CategoryIssueCheck(request).Data;
var schemedatas = perforPerAssessIssueSchemeRepository.GetEntities(w => request.CategoryId.Contains(w.AssessId)); if (categoryIssueCheck == null)
throw new PerformanceException("暂无数据需要下发");
var schemedatas = perforPerAssessIssueSchemeRepository.GetEntities(w => w.AllotId == request.AllotId);
if (request.CategoryId > 0)
{
schemedatas = schemedatas.Where(w => w.AssessId == request.CategoryId).ToList();
}
if (request.SchemeId > 0)
{
schemedatas = schemedatas.Where(w => w.SchemeId == request.SchemeId).ToList();
}
var insertIssueChecks = categoryIssueCheck.Where(w => w.OperationType == (int)Attendance.OperationType.新增).ToList(); var insertIssueChecks = categoryIssueCheck.Where(w => w.OperationType == (int)Attendance.OperationType.新增).ToList();
var updateIssueChecks = categoryIssueCheck.Where(w => w.OperationType == (int)Attendance.OperationType.修改).ToList(); var updateIssueChecks = categoryIssueCheck.Where(w => w.OperationType == (int)Attendance.OperationType.修改).ToList();
var deleteIssueChecks = categoryIssueCheck.Where(w => w.OperationType == (int)Attendance.OperationType.删除).Select(w => w.Id).ToList(); var deleteIssueChecks = categoryIssueCheck.Where(w => w.OperationType == (int)Attendance.OperationType.删除).Select(w => w.Id).ToList();
var dateTime = DateTime.Now;
if (insertIssueChecks.Any()) if (insertIssueChecks.Any())
{ {
var inserts = insertIssueChecks.Select(item => var inserts = insertIssueChecks.Select(item =>
...@@ -234,9 +243,9 @@ public ApiResponse CategoryIssueConfirm(BatchAssessCategoryRequest request, int ...@@ -234,9 +243,9 @@ public ApiResponse CategoryIssueConfirm(BatchAssessCategoryRequest request, int
TargetAccountingUnit = item.TargetAccountingUnit, TargetAccountingUnit = item.TargetAccountingUnit,
State = (int)Assess.AssessState.未提交, State = (int)Assess.AssessState.未提交,
CreateBy = userid, CreateBy = userid,
CreateTime = DateTime.Now, CreateTime = dateTime,
UpdateBy = userid, UpdateBy = userid,
UpdateTime = DateTime.Now, UpdateTime = dateTime,
}; };
}).ToList(); }).ToList();
perforPerAssessIssueSchemeRepository.AddRange(inserts.ToArray()); perforPerAssessIssueSchemeRepository.AddRange(inserts.ToArray());
...@@ -264,17 +273,20 @@ public ApiResponse CategoryIssueConfirm(BatchAssessCategoryRequest request, int ...@@ -264,17 +273,20 @@ public ApiResponse CategoryIssueConfirm(BatchAssessCategoryRequest request, int
data.AssessNorm = item.AssessNorm; data.AssessNorm = item.AssessNorm;
data.UnitCode = item.UnitCode; data.UnitCode = item.UnitCode;
data.UnitType = item.UnitType; data.UnitType = item.UnitType;
data.Score = 0;
data.ScoreRemark = "";
data.AccountingUnit = item.AccountingUnit; data.AccountingUnit = item.AccountingUnit;
data.TargetUnitCode = item.TargetUnitCode; data.TargetUnitCode = item.TargetUnitCode;
data.TargetUnitType = item.TargetUnitType; data.TargetUnitType = item.TargetUnitType;
data.TargetAccountingUnit = item.TargetAccountingUnit; data.TargetAccountingUnit = item.TargetAccountingUnit;
data.State = (int)Assess.AssessState.未提交; data.State = (int)Assess.AssessState.未提交;
data.UpdateBy = userid; data.UpdateBy = userid;
data.UpdateTime = DateTime.Now; data.UpdateTime = dateTime;
data.SubmitBy = null; data.SubmitBy = null;
data.SubmitTime = null; data.SubmitTime = null;
data.AuditBy = null; data.AuditBy = null;
data.AuditTime = null; data.AuditTime = null;
data.AuditRemark = null;
updateIssuedates.Add(data); updateIssuedates.Add(data);
} }
perforPerAssessIssueSchemeRepository.UpdateRange(updateIssuedates.ToArray()); perforPerAssessIssueSchemeRepository.UpdateRange(updateIssuedates.ToArray());
...@@ -284,11 +296,9 @@ public ApiResponse CategoryIssueConfirm(BatchAssessCategoryRequest request, int ...@@ -284,11 +296,9 @@ public ApiResponse CategoryIssueConfirm(BatchAssessCategoryRequest request, int
var daletes = schemedatas.Where(w => deleteIssueChecks.Contains(w.Id)).ToList(); var daletes = schemedatas.Where(w => deleteIssueChecks.Contains(w.Id)).ToList();
perforPerAssessIssueSchemeRepository.RemoveRange(daletes.ToArray()); perforPerAssessIssueSchemeRepository.RemoveRange(daletes.ToArray());
} }
perforPerallotRepository.PerAssessIssueSchemeBackup(request.AllotId); perforPerallotRepository.PerAssessIssueSchemeBackup(request.AllotId);
return new ApiResponse(ResponseType.OK, "下发成功"); return new ApiResponse(ResponseType.OK, "下发成功");
} }
#endregion #endregion
#region 考核方案 #region 考核方案
public PagedList<AssessSchemeDataResponse> SchemeList(QuerySchemeList query) public PagedList<AssessSchemeDataResponse> SchemeList(QuerySchemeList query)
...@@ -309,10 +319,10 @@ public PagedList<AssessSchemeDataResponse> SchemeList(QuerySchemeList query) ...@@ -309,10 +319,10 @@ public PagedList<AssessSchemeDataResponse> SchemeList(QuerySchemeList query)
if (!string.IsNullOrEmpty(query.SchemeName)) if (!string.IsNullOrEmpty(query.SchemeName))
result = result.Where(w => w.SchemeName.Contains(query.SchemeName)).ToList(); result = result.Where(w => w.SchemeName.Contains(query.SchemeName)).ToList();
var totalItems = result.Count(); var totalItems = result.Count();
var pagedIssueSchemes = result.Skip((query.Page - 1) * query.PageSize).Take(query.PageSize); var pagedIssueSchemes = result.Skip((query.Page - 1) * query.PageSize).Take(query.PageSize).ToList();
return new PagedList<AssessSchemeDataResponse>(result, totalItems, query.Page, query.PageSize); return new PagedList<AssessSchemeDataResponse>(pagedIssueSchemes, query.Page, query.PageSize, totalItems);
} }
public ApiResponse<AddAssessSchemeRequest> SchemeAdd(AddAssessSchemeRequest request, int userid) public ApiResponse SchemeAdd(AddAssessSchemeRequest request, int userid)
{ {
var categorydata = perforPerAssessCategoryRepository.GetEntity(w => w.Id == request.CategoryId); var categorydata = perforPerAssessCategoryRepository.GetEntity(w => w.Id == request.CategoryId);
if (categorydata == null) if (categorydata == null)
...@@ -323,17 +333,10 @@ public ApiResponse<AddAssessSchemeRequest> SchemeAdd(AddAssessSchemeRequest requ ...@@ -323,17 +333,10 @@ public ApiResponse<AddAssessSchemeRequest> SchemeAdd(AddAssessSchemeRequest requ
throw new PerformanceException("当前考核方案已存在"); throw new PerformanceException("当前考核方案已存在");
//查询最大编号或赋初始值 //查询最大编号或赋初始值
int codeMax = 0; int codeMax = 0;
if (!schemeData.Select(w => w.SchemeCode).Any()) if (schemeData.Any())
codeMax = schemeData.Max(w => int.Parse(w.SchemeCode.Substring(1))); int.TryParse(schemeData.Max(w => w.SchemeCode.Substring(1)), out codeMax);
var schemeCode = ""; string schemeCode = codeMax <= 999 ? $"A{(codeMax + 1):D3}" : $"A{codeMax + 1}";
if (codeMax <= 999999) var dateTime = DateTime.Now;
{
schemeCode = "A" + (codeMax + 1).ToString("D6");
}
else
{
schemeCode = "A" + (codeMax + 1).ToString();
}
var per_assess_scheme = new per_assess_scheme() var per_assess_scheme = new per_assess_scheme()
{ {
AllotId = categorydata.AllotId, AllotId = categorydata.AllotId,
...@@ -341,12 +344,13 @@ public ApiResponse<AddAssessSchemeRequest> SchemeAdd(AddAssessSchemeRequest requ ...@@ -341,12 +344,13 @@ public ApiResponse<AddAssessSchemeRequest> SchemeAdd(AddAssessSchemeRequest requ
SchemeCode = schemeCode, SchemeCode = schemeCode,
SchemeName = request.SchemeName, SchemeName = request.SchemeName,
CreateBy = userid, CreateBy = userid,
CreateTime = DateTime.Now, CreateTime = dateTime,
UpdateBy = userid, UpdateBy = userid,
UpdateTime = DateTime.Now, UpdateTime = dateTime,
}; };
if (perforPerAssessSchemeRepository.Add(per_assess_scheme)) return new ApiResponse<AddAssessSchemeRequest>(ResponseType.OK, "添加成功"); if (perforPerAssessSchemeRepository.Add(per_assess_scheme))
else return new ApiResponse<AddAssessSchemeRequest>(ResponseType.Fail, "添加失败"); return new ApiResponse(ResponseType.OK, "添加成功");
else return new ApiResponse(ResponseType.Fail, "添加失败");
} }
public ApiResponse<UpdateAssessSchemeRequest> SchemeUpdate(UpdateAssessSchemeRequest request, int userid) public ApiResponse<UpdateAssessSchemeRequest> SchemeUpdate(UpdateAssessSchemeRequest request, int userid)
{ {
...@@ -397,9 +401,6 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name, ...@@ -397,9 +401,6 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
using (ExcelPackage package = new ExcelPackage(fs)) using (ExcelPackage package = new ExcelPackage(fs))
{ {
var worksheet = package.Workbook.Worksheets.Add(name); var worksheet = package.Workbook.Worksheets.Add(name);
if (rows != null && rows.Count() > 0)
{
for (int col = 0; col < headList.Count; col++) for (int col = 0; col < headList.Count; col++)
{ {
worksheet.SetValue(1, col + 1, headList[col].Alias); worksheet.SetValue(1, col + 1, headList[col].Alias);
...@@ -434,7 +435,6 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name, ...@@ -434,7 +435,6 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
worksheet.Column(col).Width = worksheet.Column(col).Width > 20 ? 20 : worksheet.Column(col).Width; worksheet.Column(col).Width = worksheet.Column(col).Width > 20 ? 20 : worksheet.Column(col).Width;
} }
#endregion #endregion
}
package.Save(); package.Save();
} }
return filepath; return filepath;
...@@ -449,8 +449,8 @@ public PagedList<per_assess_scheme_items> SchemeItemsList(QuerySchemeItemsList q ...@@ -449,8 +449,8 @@ public PagedList<per_assess_scheme_items> SchemeItemsList(QuerySchemeItemsList q
&& (string.IsNullOrEmpty(query.AccountingUnit) || w.AccountingUnit.Contains(query.AccountingUnit)) && (string.IsNullOrEmpty(query.AccountingUnit) || w.AccountingUnit.Contains(query.AccountingUnit))
&& (string.IsNullOrEmpty(query.ItemName2) || w.ItemName2.Contains(query.ItemName2))).ToList(); && (string.IsNullOrEmpty(query.ItemName2) || w.ItemName2.Contains(query.ItemName2))).ToList();
var totalItems = result.Count(); var totalItems = result.Count();
var pagedIssueSchemes = result.Skip((query.Page - 1) * query.PageSize).Take(query.PageSize); var pagedIssueSchemes = result.Skip((query.Page - 1) * query.PageSize).Take(query.PageSize).ToList();
return new PagedList<per_assess_scheme_items>(result, totalItems, query.Page, query.PageSize); return new PagedList<per_assess_scheme_items>(pagedIssueSchemes, query.Page, query.PageSize, totalItems);
} }
// 考核指标项新增 // 考核指标项新增
public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd(AddAssessSchemeItemsRequest request, int userid) public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd(AddAssessSchemeItemsRequest request, int userid)
...@@ -466,26 +466,19 @@ public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd(AddAssessSchemeIt ...@@ -466,26 +466,19 @@ public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd(AddAssessSchemeIt
if (temp != null) if (temp != null)
throw new PerformanceException("当前指标已存在"); throw new PerformanceException("当前指标已存在");
int codeMax = 0; int codeMax = 0;
if (categoryData.Select(w => w.ItemCode).Any()) if (categoryData.Any())
codeMax = categoryData.Max(w => int.Parse(w.ItemCode.Substring(1))); int.TryParse(categoryData.Max(w => w.ItemCode.Substring(1)), out codeMax);
var code = ""; string code = codeMax <= 999 ? $"A{(codeMax + 1):D3}" : $"A{codeMax + 1}";
if (codeMax <= 9999) var dateTime = DateTime.Now;
{
code = "A" + (codeMax + 1).ToString("D4");
}
else
{
code = "A" + (codeMax + 1).ToString();
}
var data = mapper.Map<per_assess_scheme_items>(request); var data = mapper.Map<per_assess_scheme_items>(request);
data.AllotId = request.AllotId; data.AllotId = request.AllotId;
data.AssessId = scheme.AssessId; data.AssessId = scheme.AssessId;
data.ItemCode = code; data.ItemCode = code;
data.UnitCode = cofAccounting.Code; data.UnitCode = cofAccounting.Code;
data.CreateBy = userid; data.CreateBy = userid;
data.CreateTime = DateTime.Now; data.CreateTime = dateTime;
data.UpdateBy = userid; data.UpdateBy = userid;
data.UpdateTime = DateTime.Now; data.UpdateTime = dateTime;
if (perforPerAssessSchemeItemsRepository.Add(data)) return new ApiResponse<AddAssessSchemeItemsRequest>(ResponseType.OK, "添加成功"); if (perforPerAssessSchemeItemsRepository.Add(data)) return new ApiResponse<AddAssessSchemeItemsRequest>(ResponseType.OK, "添加成功");
else return new ApiResponse<AddAssessSchemeItemsRequest>(ResponseType.Fail, "添加失败"); else return new ApiResponse<AddAssessSchemeItemsRequest>(ResponseType.Fail, "添加失败");
} }
...@@ -516,15 +509,15 @@ public ApiResponse SchemeItemsDelete(BatchAssessSchemeItemsRequest request) ...@@ -516,15 +509,15 @@ public ApiResponse SchemeItemsDelete(BatchAssessSchemeItemsRequest request)
else return new ApiResponse(ResponseType.Fail, "删除失败"); else return new ApiResponse(ResponseType.Fail, "删除失败");
} }
//考核对象核算单元列表清单 //考核对象核算单元列表清单
public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList(QuerySchemeItemsTargetList query) public PagedList<AssessSchemeTargetResponse> SchemeItemsTargetList(QuerySchemeItemsTargetList query)
{ {
//查询全部的方案 //查询全部的方案
var schemes = perforPerAssessSchemeRepository.GetEntities(w => w.AllotId == query.AllotId); var schemes = perforPerAssessSchemeRepository.GetEntities(w => w.AllotId == query.AllotId);
//查询方案的考核对象 //查询方案的考核对象
var schemeTargets = perforPerAssessSchemeTargetRepository.GetEntities(w => w.AllotId == query.AllotId); var schemeTargets = perforPerAssessSchemeTargetRepository.GetEntities(w => w.AssessId == query.AssessId && w.AllotId == query.AllotId);
//查询当前方案的考核对象 //查询当前方案的考核对象
var currentTargers = schemeTargets.Where(w => w.SchemeId == query.SchemeId).ToList(); var currentTargers = schemeTargets.Where(w => w.SchemeId == query.SchemeId).ToList();
//查询其他方案的考核对象 ////查询其他方案的考核对象
var otherTargers = schemeTargets.Where(w => w.SchemeId != query.SchemeId).ToList(); var otherTargers = schemeTargets.Where(w => w.SchemeId != query.SchemeId).ToList();
//查询全部的核算单元 //查询全部的核算单元
var cofaccounting = cofaccountingRepository.GetEntities(w => w.AllotId == query.AllotId); var cofaccounting = cofaccountingRepository.GetEntities(w => w.AllotId == query.AllotId);
...@@ -538,6 +531,7 @@ public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList(Query ...@@ -538,6 +531,7 @@ public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList(Query
if (currentScheme?.Id > 0) if (currentScheme?.Id > 0)
{ {
data.TargetId = currentScheme.Id; data.TargetId = currentScheme.Id;
data.SchemeId = currentScheme.SchemeId;
data.CreateBy = currentScheme.CreateBy; data.CreateBy = currentScheme.CreateBy;
data.CreateTime = currentScheme.CreateTime; data.CreateTime = currentScheme.CreateTime;
data.UpdateBy = currentScheme.UpdateBy; data.UpdateBy = currentScheme.UpdateBy;
...@@ -547,6 +541,8 @@ public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList(Query ...@@ -547,6 +541,8 @@ public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList(Query
} }
else if (otherScheme?.Id > 0) else if (otherScheme?.Id > 0)
{ {
data.TargetId = otherScheme.Id;
data.SchemeId = otherScheme.SchemeId;
data.SchemeName = schemes.Where(w => w.Id == otherScheme.SchemeId).FirstOrDefault().SchemeName; data.SchemeName = schemes.Where(w => w.Id == otherScheme.SchemeId).FirstOrDefault().SchemeName;
data.SchemeState = (int)Assess.SchemeItemsTarget.已设置其他方案; data.SchemeState = (int)Assess.SchemeItemsTarget.已设置其他方案;
} }
...@@ -560,9 +556,13 @@ public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList(Query ...@@ -560,9 +556,13 @@ public ApiResponse<List<AssessSchemeTargetResponse>> SchemeItemsTargetList(Query
if ((int)query.SchemeItemsTarget == (int)Assess.SchemeItemsTarget.未设置方案) if ((int)query.SchemeItemsTarget == (int)Assess.SchemeItemsTarget.未设置方案)
result = result.Where(w => w.SchemeState == (int)query.SchemeItemsTarget).ToList(); result = result.Where(w => w.SchemeState == (int)query.SchemeItemsTarget).ToList();
if ((int)query.SchemeItemsTarget == (int)Assess.SchemeItemsTarget.已设置方案) if ((int)query.SchemeItemsTarget == (int)Assess.SchemeItemsTarget.已设置方案)
result = result.Where(w => w.SchemeState != (int)Assess.SchemeItemsTarget.未设置方案).OrderByDescending(w => w.UpdateTime).ToList(); result = result.Where(w => w.SchemeState == (int)Assess.SchemeItemsTarget.已设置方案).ToList();
result = result.OrderBy(w => Array.IndexOf(stateOrders, w.SchemeState)).ToList(); result = result.OrderBy(w => Array.IndexOf(stateOrders, w.SchemeState)).ToList();
return new ApiResponse<List<AssessSchemeTargetResponse>>(ResponseType.OK, result); result = result.Where(w => (string.IsNullOrEmpty(query.UnitType) || w.UnitType.Contains(query.UnitType))
&& (string.IsNullOrEmpty(query.AccountingUnit) || w.AccountingUnit.Contains(query.AccountingUnit))).ToList();
var totalItems = result.Count();
var pagedIssueSchemes = result.Skip((query.Page - 1) * query.PageSize).Take(query.PageSize).ToList();
return new PagedList<AssessSchemeTargetResponse>(pagedIssueSchemes, query.Page, query.PageSize, totalItems);
} }
// 考核对象核算单元保存 // 考核对象核算单元保存
public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request, int userid) public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request, int userid)
...@@ -571,7 +571,7 @@ public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request, ...@@ -571,7 +571,7 @@ public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request,
throw new PerformanceException("当前没有需要添加或者修改的内容"); throw new PerformanceException("当前没有需要添加或者修改的内容");
var schemes = perforPerAssessSchemeRepository.GetEntity(w => w.Id == request.SchemeId); var schemes = perforPerAssessSchemeRepository.GetEntity(w => w.Id == request.SchemeId);
var dateTime = DateTime.Now;
foreach (var item in request.SchemeTargetResponse) foreach (var item in request.SchemeTargetResponse)
{ {
var any = perforPerAssessSchemeTargetRepository.GetEntity(w => w.Id == item.TargetId); var any = perforPerAssessSchemeTargetRepository.GetEntity(w => w.Id == item.TargetId);
...@@ -581,7 +581,7 @@ public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request, ...@@ -581,7 +581,7 @@ public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request,
any.AssessId = schemes.AssessId; any.AssessId = schemes.AssessId;
any.SchemeId = request.SchemeId; any.SchemeId = request.SchemeId;
any.UpdateBy = userid; any.UpdateBy = userid;
any.UpdateTime = DateTime.Now; any.UpdateTime = dateTime;
perforPerAssessSchemeTargetRepository.Update(any); perforPerAssessSchemeTargetRepository.Update(any);
} }
else else
...@@ -592,9 +592,9 @@ public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request, ...@@ -592,9 +592,9 @@ public ApiResponse SchemeItemsTargetSave(TargetAssessSchemeItemsRequest request,
data.SchemeId = request.SchemeId; data.SchemeId = request.SchemeId;
data.UnitCode = item.Code; data.UnitCode = item.Code;
data.CreateBy = userid; data.CreateBy = userid;
data.CreateTime = DateTime.Now; data.CreateTime = dateTime;
data.UpdateBy = userid; data.UpdateBy = userid;
data.UpdateTime = DateTime.Now; data.UpdateTime = dateTime;
perforPerAssessSchemeTargetRepository.Add(data); perforPerAssessSchemeTargetRepository.Add(data);
} }
} }
...@@ -725,17 +725,9 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload ...@@ -725,17 +725,9 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload
{ {
t.sort = sort++; t.sort = sort++;
int codeMax = 0; int codeMax = 0;
if (itemsDatas.Select(w => w.ItemCode).Any()) if (itemsDatas.Any())
codeMax = itemsDatas.Max(w => int.Parse(w.ItemCode.Substring(1))); int.TryParse(itemsDatas.Max(w => w.ItemCode.Substring(1)), out codeMax);
var code = ""; string code = codeMax <= 999 ? $"A{(codeMax + 1):D3}" : $"A{codeMax + 1}";
if (codeMax <= 9999)
{
code = "A" + (codeMax + sort).ToString("D4");
}
else
{
code = "A" + (codeMax + sort).ToString();
}
t.ItemCode = code; t.ItemCode = code;
}); });
var dataUpdates = upload.Where(w => w.OperationType == (int)Attendance.OperationType.修改).ToList(); var dataUpdates = upload.Where(w => w.OperationType == (int)Attendance.OperationType.修改).ToList();
...@@ -746,6 +738,7 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload ...@@ -746,6 +738,7 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload
from temp2 in tempJoin.DefaultIfEmpty() from temp2 in tempJoin.DefaultIfEmpty()
where temp2 == null where temp2 == null
select temp1; select temp1;
var dateTime = DateTime.Now;
if (dataAdds.Any()) if (dataAdds.Any())
{ {
var inserts = dataAdds.Select(item => var inserts = dataAdds.Select(item =>
...@@ -764,9 +757,9 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload ...@@ -764,9 +757,9 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload
UnitType = item.UnitType, UnitType = item.UnitType,
AccountingUnit = item.AccountingUnit, AccountingUnit = item.AccountingUnit,
CreateBy = userid, CreateBy = userid,
CreateTime = DateTime.Now, CreateTime = dateTime,
UpdateBy = userid, UpdateBy = userid,
UpdateTime = DateTime.Now, UpdateTime = dateTime,
}; };
}).ToList(); }).ToList();
perforPerAssessSchemeItemsRepository.AddRange(inserts.ToArray()); perforPerAssessSchemeItemsRepository.AddRange(inserts.ToArray());
...@@ -786,7 +779,7 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload ...@@ -786,7 +779,7 @@ public ApiResponse saveUploadResult(List<AssessSchemeItemsUploadResponse> upload
itemsData.UnitType = item.UnitType; itemsData.UnitType = item.UnitType;
itemsData.AccountingUnit = item.AccountingUnit; itemsData.AccountingUnit = item.AccountingUnit;
itemsData.UpdateBy = userid; itemsData.UpdateBy = userid;
itemsData.UpdateTime = DateTime.Now; itemsData.UpdateTime = dateTime;
itemsdatas.Add(itemsData); itemsdatas.Add(itemsData);
} }
perforPerAssessSchemeItemsRepository.UpdateRange(itemsdatas.ToArray()); perforPerAssessSchemeItemsRepository.UpdateRange(itemsdatas.ToArray());
...@@ -820,6 +813,9 @@ public ApiResponse<List<AssessSchemeEnterListResponse>> SchemeEnterList(int allo ...@@ -820,6 +813,9 @@ public ApiResponse<List<AssessSchemeEnterListResponse>> SchemeEnterList(int allo
ItemId = w.Key.ItemId, ItemId = w.Key.ItemId,
ItemName2 = w.Key.ItemName2, ItemName2 = w.Key.ItemName2,
Count = w.Count(), Count = w.Count(),
SubmitTime = w.OrderByDescending(o => o.SubmitTime).Select(s => s.SubmitTime).FirstOrDefault(),
AuditBy = w.OrderByDescending(o => o.AuditTime).Select(s => s.AuditBy).FirstOrDefault(),
AuditTime = w.OrderByDescending(o => o.AuditTime).Select(s => s.AuditTime).FirstOrDefault(),
ConfirmCount = w.Count(p => p.State == (int)Assess.AssessState.审核通过), ConfirmCount = w.Count(p => p.State == (int)Assess.AssessState.审核通过),
RejectCount = w.Count(p => p.State == (int)Assess.AssessState.驳回), RejectCount = w.Count(p => p.State == (int)Assess.AssessState.驳回),
AwaitCount = w.Count(p => p.State == (int)Assess.AssessState.待审核) AwaitCount = w.Count(p => p.State == (int)Assess.AssessState.待审核)
...@@ -846,11 +842,12 @@ public PagedList<AssessSchemeEnterDetaiListResponse> SchemeEnterDetailList(Query ...@@ -846,11 +842,12 @@ public PagedList<AssessSchemeEnterDetaiListResponse> SchemeEnterDetailList(Query
(string.IsNullOrEmpty(query.ItemName2) || w.ItemName2.Contains(query.ItemName2)) (string.IsNullOrEmpty(query.ItemName2) || w.ItemName2.Contains(query.ItemName2))
).ToList(); ).ToList();
var stateOrders = new int[] { (int)Assess.AssessState.待审核, (int)Assess.AssessState.驳回, (int)Assess.AssessState.审核通过, (int)Assess.AssessState.未提交 }; var stateOrders = new int[] { (int)Assess.AssessState.待审核, (int)Assess.AssessState.驳回, (int)Assess.AssessState.审核通过, (int)Assess.AssessState.未提交 };
var datas = mapper.Map<List<AssessSchemeEnterDetaiListResponse>>(issueSchemes);
datas = datas.OrderBy(w => stateOrders.Contains(w.State) ? Array.IndexOf(stateOrders, w.State) : int.MaxValue).ToList();
var totalItems = issueSchemes.Count(); var totalItems = issueSchemes.Count();
var pagedIssueSchemes = issueSchemes.Skip((query.Page - 1) * query.PageSize).Take(query.PageSize); var pagedIssueSchemes = datas.Skip((query.Page - 1) * query.PageSize).Take(query.PageSize).ToList();
var datas = mapper.Map<List<AssessSchemeEnterDetaiListResponse>>(pagedIssueSchemes); return new PagedList<AssessSchemeEnterDetaiListResponse>(pagedIssueSchemes, query.Page, query.PageSize, totalItems);
datas = datas.OrderBy(w => stateOrders.Contains(w.State) ? Array.IndexOf(stateOrders, w.State) : int.MaxValue).OrderByDescending(w => w.UpdateTime).ToList();
return new PagedList<AssessSchemeEnterDetaiListResponse>(datas, totalItems, query.Page, query.PageSize);
} }
public ApiResponse SchemeEnterAudit(EditSchemeEnterAudit audit, string realName) public ApiResponse SchemeEnterAudit(EditSchemeEnterAudit audit, string realName)
{ {
...@@ -858,12 +855,12 @@ public ApiResponse SchemeEnterAudit(EditSchemeEnterAudit audit, string realName) ...@@ -858,12 +855,12 @@ public ApiResponse SchemeEnterAudit(EditSchemeEnterAudit audit, string realName)
var temp = issueSchemes.FirstOrDefault(w => w.State == (int)Assess.AssessState.未提交); var temp = issueSchemes.FirstOrDefault(w => w.State == (int)Assess.AssessState.未提交);
if (temp != null || temp?.Id > 0) if (temp != null || temp?.Id > 0)
throw new PerformanceException("未提交的数据无法审核"); throw new PerformanceException("未提交的数据无法审核");
var dateTime = DateTime.Now;
foreach (var issueScheme in issueSchemes) foreach (var issueScheme in issueSchemes)
{ {
issueScheme.State = (int)audit.State; issueScheme.State = (int)audit.State;
issueScheme.AuditBy = realName; issueScheme.AuditBy = realName;
issueScheme.AuditTime = DateTime.Now; issueScheme.AuditTime = dateTime;
} }
perforPerAssessIssueSchemeRepository.UpdateRange(issueSchemes.ToArray()); perforPerAssessIssueSchemeRepository.UpdateRange(issueSchemes.ToArray());
return new ApiResponse(ResponseType.OK, "修改成功"); return new ApiResponse(ResponseType.OK, "修改成功");
...@@ -886,11 +883,12 @@ public ApiResponse SchemeEnterSubmit(int allotId, int itemId, int userid) ...@@ -886,11 +883,12 @@ public ApiResponse SchemeEnterSubmit(int allotId, int itemId, int userid)
var issueSchemes = perforPerAssessIssueSchemeRepository.GetEntities(w => w.AllotId == allotId && w.ItemId == itemId); var issueSchemes = perforPerAssessIssueSchemeRepository.GetEntities(w => w.AllotId == allotId && w.ItemId == itemId);
if (!issueSchemes.Any()) if (!issueSchemes.Any())
throw new PerformanceException("未找到需要提交的数据,请稍后在试"); throw new PerformanceException("未找到需要提交的数据,请稍后在试");
var dateTime = DateTime.Now;
foreach (var item in issueSchemes) foreach (var item in issueSchemes)
{ {
item.State = (int)Assess.AssessState.待审核; item.State = (int)Assess.AssessState.待审核;
item.SubmitBy = userid; item.SubmitBy = userid;
item.SubmitTime = DateTime.Now; item.SubmitTime = dateTime;
} }
if (perforPerAssessIssueSchemeRepository.UpdateRange(issueSchemes.ToArray())) return new ApiResponse(ResponseType.OK, "修改成功"); if (perforPerAssessIssueSchemeRepository.UpdateRange(issueSchemes.ToArray())) return new ApiResponse(ResponseType.OK, "修改成功");
else return new ApiResponse(ResponseType.Fail, "修改失败"); else return new ApiResponse(ResponseType.Fail, "修改失败");
......
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