Commit 2c06d7c8 by wyc

考核管理 填写模板修改/科室填报添加字段/方案添加备注/增加接口考核结果查看页面和下载/添加考核统计汇总页面

parent 0e4d060b
......@@ -178,6 +178,7 @@ public IActionResult SchemeDownload([FromBody] AddAssessSchemeRequest query)
new ExcelDownloadHeads { Alias = "考核方案ID", Name = nameof(RecordAssessScheme.SchemeCode) },
new ExcelDownloadHeads { Alias = "考核方案名称", Name = nameof(RecordAssessScheme.SchemeName) },
new ExcelDownloadHeads { Alias = "考核方案类型", Name = nameof(RecordAssessScheme.AssessName) },
new ExcelDownloadHeads { Alias = "备注", Name = nameof(RecordAssessScheme.SchemeRemarks) },
new ExcelDownloadHeads { Alias = "创建时间", Name = nameof(RecordAssessScheme.CreateTime) },
new ExcelDownloadHeads { Alias = "最后修改时间", Name = nameof(RecordAssessScheme.UpdateTime) },
};
......@@ -231,7 +232,7 @@ public IActionResult SchemeDownload([FromBody] AddAssessSchemeRequest query)
/// <returns></returns>
[HttpPost]
[Route("scheme/items/list")]
[ProducesResponseType(typeof(PagedList<AssessSchemeDataResponse>), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(PagedList<per_assess_scheme_items>), StatusCodes.Status200OK)]
public ApiResponse SchemeItemsList([FromBody] QuerySchemeItemsList query)
{
return new ApiResponse(ResponseType.OK, "", _service.SchemeItemsList(query));
......@@ -286,13 +287,13 @@ public IActionResult SchemeItemsDownload([FromBody] QuerySchemeItemsList query)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "指标编码", Name = nameof(per_assess_scheme_items.ItemCode) },
new ExcelDownloadHeads { Alias = "考核指标编码", Name = nameof(per_assess_scheme_items.ItemCode) },
new ExcelDownloadHeads { Alias = "一级指标名称", Name = nameof(per_assess_scheme_items.ItemName1) },
new ExcelDownloadHeads { Alias = "二级指标名称", Name = nameof(per_assess_scheme_items.ItemName2) },
new ExcelDownloadHeads { Alias = "考核分值", Name = nameof(per_assess_scheme_items.AssessScore) },
new ExcelDownloadHeads { Alias = "考核标准", Name = nameof(per_assess_scheme_items.AssessNorm) },
new ExcelDownloadHeads { Alias = "核算组别", Name = nameof(per_assess_scheme_items.UnitType) },
new ExcelDownloadHeads { Alias = "考核负责部门", Name = nameof(per_assess_scheme_items.AccountingUnit) },
new ExcelDownloadHeads { Alias = "考核单元组别", Name = nameof(per_assess_scheme_items.UnitType) },
new ExcelDownloadHeads { Alias = "考核单元名称", Name = nameof(per_assess_scheme_items.AccountingUnit) },
new ExcelDownloadHeads { Alias = "创建时间", Name = nameof(per_assess_scheme_items.CreateTime) },
new ExcelDownloadHeads { Alias = "最后修改时间", Name = nameof(per_assess_scheme_items.UpdateTime) },
};
......@@ -385,6 +386,58 @@ public ApiResponse SchemeItemsTargetDelete([FromBody] TargetSchemeItemsTargetDel
#region 核算单元上报考核结果
/// <summary>
/// 考核结果列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpPost]
[Route("scheme/result/list")]
[ProducesResponseType(typeof(PagedList<AssessSchemeResultListResponse>), StatusCodes.Status200OK)]
public ApiResponse SchemeResultList([FromBody] QuerySchemeResultList query)
{
return new ApiResponse(ResponseType.OK, "", _service.SchemeResultList(query));
}
/// <summary>
/// 考核结果下载
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpPost]
[Route("scheme/result/download")]
public IActionResult SchemeEnterDownload([FromBody] QuerySchemeResultList query)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "核算组别", Name = nameof(AssessSchemeResultListResponse.TargetUnitType) },
new ExcelDownloadHeads { Alias = "核算单元名称", Name = nameof(AssessSchemeResultListResponse.TargetAccountingUnit) },
};
query.Page = 1;
query.PageSize = int.MaxValue;
var result = _service.SchemeResultList(query).Data;
foreach (var item in result.SelectMany(w => w.DictionaryResults).Select(w => w.Title).Distinct())
{
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = item, Name = item });
}
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = "合计", Name = "TotalAssessScore" });
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
var filepath = _service.ExcelDownload(rows, "考核结果", excelDownloadHeads);
var memoryStream = new MemoryStream();
using (var stream = new FileStream(filepath, FileMode.Open))
{
stream.CopyToAsync(memoryStream).Wait();
}
memoryStream.Seek(0, SeekOrigin.Begin);
var provider = new FileExtensionContentTypeProvider();
FileInfo fileInfo = new FileInfo(filepath);
var memi = provider.Mappings[".xlsx"];
return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
}
/// <summary>
/// 核算单元上报考核列表
/// </summary>
/// <param name="allotId"></param>
......@@ -502,15 +555,14 @@ public IActionResult SchemeEnterDownload([FromBody] QuerySchemeEnterDetailList q
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "核算单元", Name = nameof(AssessSchemeEnterDetaiListResponse.TargetAccountingUnit) },
new ExcelDownloadHeads { Alias = "核算组别", Name = nameof(AssessSchemeEnterDetaiListResponse.TargetUnitType) },
new ExcelDownloadHeads { Alias = "核算单元名称", Name = nameof(AssessSchemeEnterDetaiListResponse.TargetAccountingUnit) },
new ExcelDownloadHeads { Alias = "一级指标名称", Name = nameof(AssessSchemeEnterDetaiListResponse.ItemName1) },
new ExcelDownloadHeads { Alias = "考核项目", Name = nameof(AssessSchemeEnterDetaiListResponse.ItemName2) },
new ExcelDownloadHeads { Alias = "考核标准", Name = nameof(AssessSchemeEnterDetaiListResponse.AssessNorm) },
new ExcelDownloadHeads { Alias = "考核分值", Name = nameof(AssessSchemeEnterDetaiListResponse.AssessScore) },
new ExcelDownloadHeads { Alias = "考核扣分", Name = nameof(AssessSchemeEnterDetaiListResponse.Score) },
new ExcelDownloadHeads { Alias = "扣分原因", Name = nameof(AssessSchemeEnterDetaiListResponse.ScoreRemark) },
new ExcelDownloadHeads { Alias = "创建时间", Name = nameof(AssessSchemeEnterDetaiListResponse.CreateTime) },
new ExcelDownloadHeads { Alias = "最后修改时间", Name = nameof(AssessSchemeEnterDetaiListResponse.UpdateTime) },
};
query.Page = 1;
query.PageSize = int.MaxValue;
......
......@@ -468,6 +468,20 @@
<param name="delete"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AssessNewController.SchemeResultList(Performance.DtoModels.Request.QuerySchemeResultList)">
<summary>
考核结果列表
</summary>
<param name="query"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AssessNewController.SchemeEnterDownload(Performance.DtoModels.Request.QuerySchemeResultList)">
<summary>
考核结果下载
</summary>
<param name="query"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AssessNewController.SchemeEnterList(System.Int32)">
<summary>
核算单元上报考核列表
......
......@@ -3109,6 +3109,11 @@
考核方案名称
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeDataResponse.SchemeRemarks">
<summary>
考核方案备注
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeDataResponse.CreateBy">
<summary>
创建人
......@@ -3179,6 +3184,26 @@
修改时间
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeResultListResponse.TargetUnitType">
<summary>
考核目标核算组别
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeResultListResponse.TargetAccountingUnit">
<summary>
考核目标核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeResultListResponse.ItemName2">
<summary>
二级指标名称
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeResultListResponse.TotalAssessScore">
<summary>
合计
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterListResponse.UnitType">
<summary>
核算组别
......@@ -3264,6 +3289,11 @@
审核或驳回原因
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterListResponse.AssessNorm">
<summary>
考核标准
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.TargetUnitType">
<summary>
考核目标核算组别
......@@ -3364,6 +3394,11 @@
审核或驳回原因
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.AssessNorm">
<summary>
考核标准
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeItemsUploadResponse.ItemName1">
<summary>
一级指标名称
......
......@@ -6835,6 +6835,11 @@
考核方案名称
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.SchemeRemarks">
<summary>
考核方案备注
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.CreateBy">
<summary>
创建人
......@@ -10210,6 +10215,67 @@
考核目标核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.AllotId">
<summary>
绩效ID
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.AssessId">
<summary>
考核类型ID
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.SchemeId">
<summary>
考核方案ID
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.ItemId">
<summary>
指标Id
</summary>
</member>
<!-- Badly formed XML comment ignored for member "P:Performance.EntityModels.Other.view_assess_result.ItemName2" -->
<member name="P:Performance.EntityModels.Other.view_assess_result.State">
<summary>
状态
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.Score">
<summary>
分值
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.UnitCode">
<summary>
责任部门核算单元编码
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.UnitType">
<summary>
责任部门核算组别
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.AccountingUnit">
<summary>
责任部门核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.TargetUnitCode">
<summary>
考核目标核算单元编码
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.TargetUnitType">
<summary>
考核目标核算组别
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.TargetAccountingUnit">
<summary>
考核目标核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_attendance.UnitType">
<summary>
人员类别
......
......@@ -3,6 +3,7 @@
using Performance.DtoModels.Response;
using Performance.EntityModels;
using Performance.EntityModels.Entity;
using Performance.EntityModels.Other;
using Performance.Infrastructure;
using System.Linq;
......@@ -294,7 +295,6 @@ public AutoMapperConfigs()
CreateMap<AttendanceData, per_attendance>().ReverseMap();
CreateMap<AttendanceVacationData, per_attendance_vacation>().ReverseMap();
}
}
}
namespace Performance.DtoModels.Request
{
public class QuerySchemeResultList
{
///// <summary>
///// 核算组别(页面带进来)
///// </summary>
//public string UnitType { get; set; }
///// <summary>
///// 核算单元(页面带进来)
///// </summary>
//public string AccountingUnit { get; set; }
public int SchemeId { get; set; }
public int AllotId { get; set; }
public string? TargetUnitType { get; set; }
public string? TargetAccountingUnit { get; set; }
public string? ItemName2 { get; set; }
public int Page { get; set; } = 1;
public int PageSize { get; set; } = 20;
}
public class QuerySchemeEnterDetailList
{
public int AllotId { get; set; }
......@@ -13,6 +31,10 @@ public class QuerySchemeEnterDetailList
/// </summary>
public string? TargetAccountingUnit { get; set; }
/// <summary>
/// 操作类型 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
/// </summary>
public Assess.AssessState State { get; set; }
/// <summary>
/// 二级指标名称
/// </summary>
public string? ItemName2 { get; set; }
......
......@@ -5,6 +5,7 @@ public class AddAssessSchemeRequest
public int AllotId { get; set; }
public int CategoryId { get; set; }
public string SchemeName { get; set; }
public string SchemeRemarks { get; set; }
}
public class UpdateAssessSchemeRequest : AddAssessSchemeRequest
{
......
using System;
using System.Collections.Generic;
namespace Performance.DtoModels
{
......@@ -33,6 +34,10 @@ public class AssessSchemeDataResponse
/// </summary>
public string SchemeName { get; set; }
/// <summary>
/// 考核方案备注
/// </summary>
public string SchemeRemarks { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
......@@ -94,7 +99,34 @@ public class AssessSchemeTargetResponse
/// </summary>
public DateTime? UpdateTime { get; set; }
}
public class AssessSchemeResultListResponse
{
/// <summary>
/// 考核目标核算组别
/// </summary>
public string? TargetUnitType { get; set; }
/// <summary>
/// 考核目标核算单元
/// </summary>
public string? TargetAccountingUnit { get; set; }
/// <summary>
/// 二级指标名称
/// </summary>
public string? ItemName2 { get; set; }
public List<AssessSchemeDictionaryResults> DictionaryResults { get; set; }
public int? Score { get; set; }
/// <summary>
/// 合计
/// </summary>
public int? TotalAssessScore { get; set; }
}
public class AssessSchemeDictionaryResults
{
public int? Value { get; set; }
public string Title { get; set; }
}
public class AssessSchemeEnterListResponse
{
/// <summary>
......@@ -166,6 +198,10 @@ public class AssessSchemeEnterListResponse
/// 审核或驳回原因
/// </summary>
public string? AuditRemark { get; set; }
/// <summary>
/// 考核标准
/// </summary>
public string AssessNorm { get; set; }
}
public class AssessSchemeEnterDetaiListResponse
{
......@@ -250,6 +286,10 @@ public class AssessSchemeEnterDetaiListResponse
/// 审核或驳回原因
/// </summary>
public string? AuditRemark { get; set; }
/// <summary>
/// 考核标准
/// </summary>
public string AssessNorm { get; set; }
}
//上传
public class AssessSchemeItemsUploadResponse
......
......@@ -38,6 +38,10 @@ public class per_assess_scheme
/// </summary>
public string SchemeName { get; set; }
/// <summary>
/// 考核方案备注
/// </summary>
public string SchemeRemarks { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
......
using Performance.EntityModels.Entity;
using System;
namespace Performance.EntityModels.Other
{
public class view_assess_result
{
/// <summary>
/// 绩效ID
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 考核类型ID
/// </summary>
public int AssessId { get; set; }
/// <summary>
/// 考核方案ID
/// </summary>
public int SchemeId { get; set; }
/// <summary>
/// 指标Id
/// </summary>
public int ItemId { get; set; }
/// 二级指标名称
/// </summary>
public string ItemName2 { get; set; }
/// <summary>
/// 状态
/// </summary>
public int State { get; set; }
/// <summary>
/// 分值
/// </summary>
public int Score { get; set; }
/// <summary>
/// 责任部门核算单元编码
/// </summary>
public string UnitCode { get; set; }
/// <summary>
/// 责任部门核算组别
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 责任部门核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 考核目标核算单元编码
/// </summary>
public string TargetUnitCode { get; set; }
/// <summary>
/// 考核目标核算组别
/// </summary>
public string TargetUnitType { get; set; }
/// <summary>
/// 考核目标核算单元
/// </summary>
public string TargetAccountingUnit { get; set; }
}
}
......@@ -340,7 +340,6 @@ public IEnumerable<view_attendance> GetAttendance(int allotId)
/// <summary>
/// 考核视图
/// </summary>
/// <param name="categoryId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
public IEnumerable<view_assess_issue> GetAssessIssue(int allotId)
......@@ -359,6 +358,26 @@ public IEnumerable<view_assess_issue> GetAssessIssue(int allotId)
}
}
/// <summary>
/// 考核结果视图
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
public IEnumerable<view_assess_result> GetAssessResult(int allotId)
{
var connection = context.Database.GetDbConnection();
if (connection.State != ConnectionState.Open) connection.Open();
try
{
string query = $@"SELECT * FROM view_assess_result where AllotId = @allotId";
return connection.Query<view_assess_result>(query, new { allotId }, commandTimeout: 60 * 60);
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 查询人员字典
/// </summary>
/// <param name="allotId"></param>
......
......@@ -2594,7 +2594,7 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
{
var temp = data.ElementAt(row);
var low = temp.Keys.ToString().ToLower();
var value = temp[headList[col].Name.ToLower()];
var value = temp.GetValue(headList[col].Name, "");
worksheet.Cells[row + 3, col + 1].Value = value;
}
......
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