Commit d89f65dd by wyc

考核管理 接口增删改查下载

parent 85356fcc
using System; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.StaticFiles;
using Newtonsoft.Json;
using Performance.DtoModels;
using Performance.DtoModels.Request; using Performance.DtoModels.Request;
using Performance.EntityModels;
using Performance.Services; using Performance.Services;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace Performance.Api.Controllers namespace Performance.Api.Controllers
{ {
...@@ -13,10 +20,12 @@ namespace Performance.Api.Controllers ...@@ -13,10 +20,12 @@ namespace Performance.Api.Controllers
public class AssessNewController : Controller public class AssessNewController : Controller
{ {
private readonly AssessNewService _service; private readonly AssessNewService _service;
private ClaimService claim;
public AssessNewController(AssessNewService service) public AssessNewController(AssessNewService service, ClaimService claim)
{ {
_service = service; _service = service;
this.claim = claim;
} }
#region 考核类别 #region 考核类别
/// <summary> /// <summary>
...@@ -29,64 +38,66 @@ public AssessNewController(AssessNewService service) ...@@ -29,64 +38,66 @@ public AssessNewController(AssessNewService service)
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/list")] [Route("category/list")]
public IActionResult CategoryList([FromQuery] int allotId) public ApiResponse<List<per_assess_category>> CategoryList([FromQuery] int allotId)
{ {
throw new NotImplementedException(); return _service.CategoryList(allotId);
} }
/// <summary> /// <summary>
/// 考核类别新增 /// 考核类别新增
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 编码自动生成,不能修改 /// 编码自动生成,不能修改
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/add")] [Route("category/add")]
public IActionResult CategoryAdd([FromBody] AddAssessCategoryRequest requset) public ApiResponse<AddAssessCategoryRequest> CategoryAdd([FromBody] AddAssessCategoryRequest request)
{ {
throw new NotImplementedException(); var userid = claim.GetUserId();
return _service.CategoryAdd(request, userid);
} }
/// <summary> /// <summary>
/// 考核类别修改 /// 考核类别修改
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 编码不能修改 /// 编码不能修改
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/update")] [Route("category/update")]
public IActionResult CategoryUpdate([FromBody] UpdateAssessCategoryRequest requset) public ApiResponse<UpdateAssessCategoryRequest> CategoryUpdate([FromBody] UpdateAssessCategoryRequest request)
{ {
throw new NotImplementedException(); var userid = claim.GetUserId();
return _service.CategoryUpdate(request, userid);
} }
/// <summary> /// <summary>
/// 考核类别删除 /// 考核类别删除
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 允许批量删除,删除时要检查有没有外表引用,提示一起删除 /// 允许批量删除,删除时要检查有没有外表引用,提示一起删除
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/delete")] [Route("category/delete")]
public IActionResult CategoryDelete([FromBody] BatchAssessCategoryRequest requset) public ApiResponse CategoryDelete([FromBody] BatchAssessCategoryRequest request)
{ {
throw new NotImplementedException(); return _service.CategoryDelete(request);
} }
/// <summary> /// <summary>
/// 考核下发(检查下发受影响的上报内容) /// 考核下发(检查下发受影响的上报内容)
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 类似考勤下发,需要检查受影响的内容返回展示 /// 类似考勤下发,需要检查受影响的内容返回展示
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/issue/check")] [Route("category/issue/check")]
public IActionResult CategoryIssueCheck([FromBody] BatchAssessCategoryRequest requset) public IActionResult CategoryIssueCheck([FromBody] BatchAssessCategoryRequest request)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
...@@ -98,11 +109,11 @@ public IActionResult CategoryIssueCheck([FromBody] BatchAssessCategoryRequest re ...@@ -98,11 +109,11 @@ public IActionResult CategoryIssueCheck([FromBody] BatchAssessCategoryRequest re
/// 责任科室总清单:考核分类/考核方案/考核指标 三种分类汇总集成到表中 /// 责任科室总清单:考核分类/考核方案/考核指标 三种分类汇总集成到表中
/// 责任科室总清单明细:责任科室总清单 和 被考核核算单元 需要组合到一起存到明细表中 /// 责任科室总清单明细:责任科室总清单 和 被考核核算单元 需要组合到一起存到明细表中
/// </remarks> /// </remarks>
/// <param name="requset"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("category/issue/confirm")] [Route("category/issue/confirm")]
public IActionResult CategoryIssueConfirm([FromBody] BatchAssessCategoryRequest requset) public IActionResult CategoryIssueConfirm([FromBody] BatchAssessCategoryRequest request)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
...@@ -116,51 +127,53 @@ public IActionResult CategoryIssueConfirm([FromBody] BatchAssessCategoryRequest ...@@ -116,51 +127,53 @@ public IActionResult CategoryIssueConfirm([FromBody] BatchAssessCategoryRequest
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/list")] [Route("scheme/list")]
public IActionResult SchemeList([FromQuery] int categoryId) public ApiResponse<List<AssessSchemeDataResponse>> SchemeList([FromQuery] int categoryId)
{ {
throw new NotImplementedException(); return _service.SchemeList(categoryId);
} }
/// <summary> /// <summary>
/// 考核方案新增 /// 考核方案新增
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 编码自动生成,不能修改 /// 编码自动生成,不能修改
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/add")] [Route("scheme/add")]
public IActionResult SchemeAdd([FromBody] AddAssessSchemeRequest requset) public ApiResponse<AddAssessSchemeRequest> SchemeAdd([FromBody] AddAssessSchemeRequest request)
{ {
throw new NotImplementedException(); var userid = claim.GetUserId();
return _service.SchemeAdd(request, userid);
} }
/// <summary> /// <summary>
/// 考核方案修改 /// 考核方案修改
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 编码不能修改 /// 编码不能修改
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/update")] [Route("scheme/update")]
public IActionResult SchemeUpdate([FromBody] UpdateAssessSchemeRequest requset) public ApiResponse<UpdateAssessSchemeRequest> SchemeUpdate([FromBody] UpdateAssessSchemeRequest request)
{ {
throw new NotImplementedException(); var userid = claim.GetUserId();
return _service.SchemeUpdate(request, userid);
} }
/// <summary> /// <summary>
/// 考核方案删除 /// 考核方案删除
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 允许批量删除,删除时要检查有没有外表引用,提示一起删除 /// 允许批量删除,删除时要检查有没有外表引用,提示一起删除
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/delete")] [Route("scheme/delete")]
public IActionResult SchemeDelete([FromBody] BatchAssessSchemeRequest requset) public ApiResponse SchemeDelete([FromBody] BatchAssessSchemeRequest request)
{ {
throw new NotImplementedException(); return _service.SchemeDelete(request);
} }
/// <summary> /// <summary>
/// 考核方案下载 /// 考核方案下载
...@@ -175,7 +188,28 @@ public IActionResult SchemeDelete([FromBody] BatchAssessSchemeRequest requset) ...@@ -175,7 +188,28 @@ public IActionResult SchemeDelete([FromBody] BatchAssessSchemeRequest requset)
[Produces("application/octet-stream", Type = typeof(FileResult))] [Produces("application/octet-stream", Type = typeof(FileResult))]
public IActionResult SchemeDownload([FromQuery] int categoryId) public IActionResult SchemeDownload([FromQuery] int categoryId)
{ {
throw new NotImplementedException(); List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "考核方案ID", Name = nameof(RecordAssessScheme.SchemeCode) },
new ExcelDownloadHeads { Alias = "考核方案名称", Name = nameof(RecordAssessScheme.SchemeName) },
new ExcelDownloadHeads { Alias = "考核方案类型", Name = nameof(RecordAssessScheme.AssessName) },
};
var result = _service.SchemeList(categoryId).Data;
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
var filepath = _service.ExcelDownload(rows, "考核方案", categoryId, 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>
/// 考核方案上传 /// 考核方案上传
...@@ -188,7 +222,7 @@ public IActionResult SchemeDownload([FromQuery] int categoryId) ...@@ -188,7 +222,7 @@ public IActionResult SchemeDownload([FromQuery] int categoryId)
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/upload")] [Route("scheme/upload")]
public IActionResult SchemeUpload([FromQuery] int categoryId, IFormFile file) public async Task<IActionResult> SchemeUpload([FromQuery] int categoryId, IFormFile file)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
...@@ -202,23 +236,24 @@ public IActionResult SchemeUpload([FromQuery] int categoryId, IFormFile file) ...@@ -202,23 +236,24 @@ public IActionResult SchemeUpload([FromQuery] int categoryId, IFormFile file)
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/items/list")] [Route("scheme/items/list")]
public IActionResult SchemeItemsList([FromQuery] int schemeId) public ApiResponse<List<per_assess_scheme_items>> SchemeItemsList([FromQuery] int schemeId)
{ {
throw new NotImplementedException(); return _service.SchemeItemsList(schemeId);
} }
/// <summary> /// <summary>
/// 考核指标项新增 /// 考核指标项新增
/// </summary> /// </summary>
/// <param name="requset"></param> /// <param name="request"></param>
/// <remarks> /// <remarks>
/// 编码自动生成,不能修改 /// 编码自动生成,不能修改
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/items/add")] [Route("scheme/items/add")]
public IActionResult SchemeItemsAdd([FromBody] AddAssessSchemeItemsRequest requset) public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd([FromBody] AddAssessSchemeItemsRequest request)
{ {
throw new NotImplementedException(); var userid = claim.GetUserId();
return _service.SchemeItemsAdd(request, userid);
} }
/// <summary> /// <summary>
/// 考核指标项修改 /// 考核指标项修改
...@@ -230,9 +265,10 @@ public IActionResult SchemeItemsAdd([FromBody] AddAssessSchemeItemsRequest requs ...@@ -230,9 +265,10 @@ public IActionResult SchemeItemsAdd([FromBody] AddAssessSchemeItemsRequest requs
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/items/update")] [Route("scheme/items/update")]
public IActionResult SchemeItemsUpdate([FromBody] UpdateAssessSchemeItemsRequest request) public ApiResponse<UpdateAssessSchemeItemsRequest> SchemeItemsUpdate([FromBody] UpdateAssessSchemeItemsRequest request)
{ {
throw new NotImplementedException(); var userid = claim.GetUserId();
return _service.SchemeItemsUpdate(request, userid);
} }
/// <summary> /// <summary>
/// 考核指标项删除 /// 考核指标项删除
...@@ -244,9 +280,9 @@ public IActionResult SchemeItemsUpdate([FromBody] UpdateAssessSchemeItemsRequest ...@@ -244,9 +280,9 @@ public IActionResult SchemeItemsUpdate([FromBody] UpdateAssessSchemeItemsRequest
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("scheme/items/delete")] [Route("scheme/items/delete")]
public IActionResult SchemeItemsDelete([FromBody] BatchAssessSchemeItemsRequest request) public ApiResponse SchemeItemsDelete([FromBody] BatchAssessSchemeItemsRequest request)
{ {
throw new NotImplementedException(); return _service.SchemeItemsDelete(request);
} }
/// <summary> /// <summary>
/// 考核指标项下载 /// 考核指标项下载
......
...@@ -321,7 +321,7 @@ ...@@ -321,7 +321,7 @@
<summary> <summary>
考核类别新增 考核类别新增
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
编码自动生成,不能修改 编码自动生成,不能修改
</remarks> </remarks>
...@@ -331,7 +331,7 @@ ...@@ -331,7 +331,7 @@
<summary> <summary>
考核类别修改 考核类别修改
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
编码不能修改 编码不能修改
</remarks> </remarks>
...@@ -341,7 +341,7 @@ ...@@ -341,7 +341,7 @@
<summary> <summary>
考核类别删除 考核类别删除
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
允许批量删除,删除时要检查有没有外表引用,提示一起删除 允许批量删除,删除时要检查有没有外表引用,提示一起删除
</remarks> </remarks>
...@@ -351,7 +351,7 @@ ...@@ -351,7 +351,7 @@
<summary> <summary>
考核下发(检查下发受影响的上报内容) 考核下发(检查下发受影响的上报内容)
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
类似考勤下发,需要检查受影响的内容返回展示 类似考勤下发,需要检查受影响的内容返回展示
</remarks> </remarks>
...@@ -366,7 +366,7 @@ ...@@ -366,7 +366,7 @@
责任科室总清单:考核分类/考核方案/考核指标 三种分类汇总集成到表中 责任科室总清单:考核分类/考核方案/考核指标 三种分类汇总集成到表中
责任科室总清单明细:责任科室总清单 和 被考核核算单元 需要组合到一起存到明细表中 责任科室总清单明细:责任科室总清单 和 被考核核算单元 需要组合到一起存到明细表中
</remarks> </remarks>
<param name="requset"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AssessNewController.SchemeList(System.Int32)"> <member name="M:Performance.Api.Controllers.AssessNewController.SchemeList(System.Int32)">
...@@ -380,7 +380,7 @@ ...@@ -380,7 +380,7 @@
<summary> <summary>
考核方案新增 考核方案新增
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
编码自动生成,不能修改 编码自动生成,不能修改
</remarks> </remarks>
...@@ -390,7 +390,7 @@ ...@@ -390,7 +390,7 @@
<summary> <summary>
考核方案修改 考核方案修改
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
编码不能修改 编码不能修改
</remarks> </remarks>
...@@ -400,7 +400,7 @@ ...@@ -400,7 +400,7 @@
<summary> <summary>
考核方案删除 考核方案删除
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
允许批量删除,删除时要检查有没有外表引用,提示一起删除 允许批量删除,删除时要检查有没有外表引用,提示一起删除
</remarks> </remarks>
...@@ -438,7 +438,7 @@ ...@@ -438,7 +438,7 @@
<summary> <summary>
考核指标项新增 考核指标项新增
</summary> </summary>
<param name="requset"></param> <param name="request"></param>
<remarks> <remarks>
编码自动生成,不能修改 编码自动生成,不能修改
</remarks> </remarks>
...@@ -584,6 +584,9 @@ ...@@ -584,6 +584,9 @@
</summary> </summary>
<param name="issueId"></param> <param name="issueId"></param>
<param name="file"></param> <param name="file"></param>
<remarks>
上传文件中只有考核扣分、扣分原因有效,其他只做展示不参与修改操作
</remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetCallIn(System.Int32)"> <member name="M:Performance.Api.Controllers.AttendanceController.GetCallIn(System.Int32)">
......
...@@ -2948,6 +2948,26 @@ ...@@ -2948,6 +2948,26 @@
科室 科室
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AssessSchemeDataResponse.Id">
<summary>
考核方案Id
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeDataResponse.SchemeCode">
<summary>
考核方案编码
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeDataResponse.SchemeName">
<summary>
考核方案名称
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeDataResponse.AssessName">
<summary>
考核类别名称
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditDetail.AttendanceIsueId"> <member name="P:Performance.DtoModels.Response.AttendanceAuditDetail.AttendanceIsueId">
<summary> <summary>
考勤结果id(确认or驳回调用) 考勤结果id(确认or驳回调用)
......
...@@ -298,6 +298,9 @@ ...@@ -298,6 +298,9 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.report_statistics"> <member name="P:Performance.EntityModels.PerformanceDbContext.report_statistics">
<summary> </summary> <summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_statistics_selection">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.res_account"> <member name="P:Performance.EntityModels.PerformanceDbContext.res_account">
<summary> 科室核算结果 </summary> <summary> 科室核算结果 </summary>
</member> </member>
...@@ -343,6 +346,39 @@ ...@@ -343,6 +346,39 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_user_role"> <member name="P:Performance.EntityModels.PerformanceDbContext.sys_user_role">
<summary> 用户角色关联表 </summary> <summary> 用户角色关联表 </summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_version">
<summary></summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_attendance">
<summary>调动记录表</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_attendance_issue">
<summary>考勤结果</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_attendance_type">
<summary>考勤类型</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_attendance_vacation">
<summary>考勤记录表</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_allot_action">
<summary>绩效分配操作记录表</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_apr_amount_type">
<summary>医院其他绩效类型</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_apr_amount_hide_type">
<summary>不公示其他绩效类型</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_assess_category">
<summary>考核分类</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_assess_scheme">
<summary>考核方案</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_assess_scheme_items">
<summary>考核方案指标项</summary>
</member>
<member name="T:Performance.EntityModels.ag_againsituation"> <member name="T:Performance.EntityModels.ag_againsituation">
<summary> <summary>
二次分配概览 二次分配概览
...@@ -6388,6 +6424,186 @@ ...@@ -6388,6 +6424,186 @@
审计状态 1 已审计 审计状态 1 已审计
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.per_assess_category">
<summary>
考核类别
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.Id">
<summary>
考核类别Id
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.AllotId">
<summary>
绩效ID
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.AssessCode">
<summary>
考核类型编码
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.AssessName">
<summary>
考核类型
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.CreateBy">
<summary>
创建人
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.UpdateBy">
<summary>
最后修改人
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_category.UpdateTime">
<summary>
修改时间
</summary>
</member>
<member name="T:Performance.EntityModels.per_assess_scheme">
<summary>
考核方案
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.Id">
<summary>
考核方案Id
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.AllotId">
<summary>
绩效ID
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.AssessId">
<summary>
考核类型ID
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.SchemeCode">
<summary>
考核方案编码
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.SchemeName">
<summary>
考核方案名称
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.CreateBy">
<summary>
创建人
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.UpdateBy">
<summary>
最后修改人
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme.UpdateTime">
<summary>
修改时间
</summary>
</member>
<member name="T:Performance.EntityModels.per_assess_scheme_items">
<summary>
考核方案指标项
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.Id">
<summary>
指标项Id
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.AllotId">
<summary>
绩效ID
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.AssessId">
<summary>
考核类型ID
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.SchemeId">
<summary>
考核方案Id
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.ItemCode">
<summary>
指标编码
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.ItemName1">
<summary>
一级指标名称
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.ItemName2">
<summary>
二级指标名称
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.AssessScore">
<summary>
考核分值
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.AssessNorm">
<summary>
考核标准
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.UnitCode">
<summary>
责任部门核算单元编码
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.UnitType">
<summary>
责任部门核算组别
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.AccountingUnit">
<summary>
责任部门核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.CreateBy">
<summary>
创建人
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.UpdateBy">
<summary>
最后修改人
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_scheme_items.UpdateTime">
<summary>
修改时间
</summary>
</member>
<member name="T:Performance.EntityModels.per_batch"> <member name="T:Performance.EntityModels.per_batch">
<summary> <summary>
分批发放记录 分批发放记录
......
...@@ -277,6 +277,7 @@ public AutoMapperConfigs() ...@@ -277,6 +277,7 @@ public AutoMapperConfigs()
.ReverseMap(); .ReverseMap();
CreateMap<cof_again, CofAgainRequest>().ReverseMap(); CreateMap<cof_again, CofAgainRequest>().ReverseMap();
CreateMap<AddAssessSchemeItemsRequest, per_assess_scheme_items>().ReverseMap();
} }
} }
} }
...@@ -5,7 +5,7 @@ public class AddAssessSchemeItemsRequest ...@@ -5,7 +5,7 @@ public class AddAssessSchemeItemsRequest
/// <summary> /// <summary>
/// 方案ID /// 方案ID
/// </summary> /// </summary>
public string SchemeId { get; set; } public int SchemeId { get; set; }
/// <summary> /// <summary>
/// 一级指标名称 /// 一级指标名称
/// </summary> /// </summary>
...@@ -17,7 +17,7 @@ public class AddAssessSchemeItemsRequest ...@@ -17,7 +17,7 @@ public class AddAssessSchemeItemsRequest
/// <summary> /// <summary>
/// 考核分值 /// 考核分值
/// </summary> /// </summary>
public string AssessScore { get; set; } public int AssessScore { get; set; }
/// <summary> /// <summary>
/// 考核标准 /// 考核标准
/// </summary> /// </summary>
......
...@@ -13,4 +13,9 @@ public class BatchAssessSchemeRequest ...@@ -13,4 +13,9 @@ public class BatchAssessSchemeRequest
{ {
public int[] SchemeId { get; set; } public int[] SchemeId { get; set; }
} }
public class RecordAssessScheme : AssessSchemeDataResponse
{
public string AssessSchemeName { get; set; }
}
} }
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class AssessSchemeDataResponse
{
/// <summary>
/// 考核方案Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 考核方案编码
/// </summary>
public string SchemeCode { get; set; }
/// <summary>
/// 考核方案名称
/// </summary>
public string SchemeName { get; set; }
/// <summary>
/// 考核类别名称
/// </summary>
public string AssessName { get; set; }
}
}
...@@ -212,6 +212,7 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -212,6 +212,7 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public virtual DbSet<report_performance_tags> report_performance_tags { get; set; } public virtual DbSet<report_performance_tags> report_performance_tags { get; set; }
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<report_statistics> report_statistics { get; set; } public virtual DbSet<report_statistics> report_statistics { get; set; }
/// <summary> </summary>
public virtual DbSet<report_statistics_selection> report_statistics_selection { get; set; } public virtual DbSet<report_statistics_selection> report_statistics_selection { get; set; }
public virtual DbSet<report_statistics_selection_record> report_statistics_selection_record { get; set; } public virtual DbSet<report_statistics_selection_record> report_statistics_selection_record { get; set; }
public virtual DbSet<report_statistics_store> report_statistics_store { get; set; } public virtual DbSet<report_statistics_store> report_statistics_store { get; set; }
...@@ -252,15 +253,27 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -252,15 +253,27 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public virtual DbSet<sys_user_hospital> sys_user_hospital { get; set; } public virtual DbSet<sys_user_hospital> sys_user_hospital { get; set; }
/// <summary> 用户角色关联表 </summary> /// <summary> 用户角色关联表 </summary>
public virtual DbSet<sys_user_role> sys_user_role { get; set; } public virtual DbSet<sys_user_role> sys_user_role { get; set; }
/// <summary></summary>
public virtual DbSet<sys_version> sys_version { get; set; } public virtual DbSet<sys_version> sys_version { get; set; }
/// <summary>调动记录表</summary>
public virtual DbSet<per_attendance> per_attendance { get; set; } public virtual DbSet<per_attendance> per_attendance { get; set; }
/// <summary>考勤结果</summary>
public virtual DbSet<per_attendance_issue> per_attendance_issue { get; set; } public virtual DbSet<per_attendance_issue> per_attendance_issue { get; set; }
/// <summary>考勤类型</summary>
public virtual DbSet<per_attendance_type> per_attendance_type { get; set; } public virtual DbSet<per_attendance_type> per_attendance_type { get; set; }
/// <summary>考勤记录表</summary>
public virtual DbSet<per_attendance_vacation> per_attendance_vacation { get; set; } public virtual DbSet<per_attendance_vacation> per_attendance_vacation { get; set; }
/// <summary>绩效分配操作记录表</summary>
public virtual DbSet<per_allot_action> per_allot_action { get; set; } public virtual DbSet<per_allot_action> per_allot_action { get; set; }
/// <summary>医院其他绩效类型</summary>
public virtual DbSet<per_apr_amount_type> per_apr_amount_type { get; set; } public virtual DbSet<per_apr_amount_type> per_apr_amount_type { get; set; }
/// <summary>不公示其他绩效类型</summary>
public virtual DbSet<per_apr_amount_hide_type> per_apr_amount_hide_type { get; set; } public virtual DbSet<per_apr_amount_hide_type> per_apr_amount_hide_type { get; set; }
/// <summary>考核分类</summary>
public virtual DbSet<per_assess_category> per_assess_category { get; set; }
/// <summary>考核方案</summary>
public virtual DbSet<per_assess_scheme> per_assess_scheme { get; set; }
/// <summary>考核方案指标项</summary>
public virtual DbSet<per_assess_scheme_items> per_assess_scheme_items { get; set; }
} }
} }
//-----------------------------------------------------------------------
// <copyright file=" per_assess_category.cs">
// * FileName: 考核类别.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 考核类别
/// </summary>
[Table("per_assess_category")]
public class per_assess_category
{
/// <summary>
/// 考核类别Id
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 绩效ID
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 考核类型编码
/// </summary>
public string AssessCode { get; set; }
/// <summary>
/// 考核类型
/// </summary>
public string AssessName { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 最后修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" per_assess_scheme.cs">
// * FileName: 考核方案.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 考核方案
/// </summary>
[Table("per_assess_scheme")]
public class per_assess_scheme
{
/// <summary>
/// 考核方案Id
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 绩效ID
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 考核类型ID
/// </summary>
public int AssessId { get; set; }
/// <summary>
/// 考核方案编码
/// </summary>
public string SchemeCode { get; set; }
/// <summary>
/// 考核方案名称
/// </summary>
public string SchemeName { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 最后修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" per_assess_scheme_items.cs">
// * FileName: 考核方案指标项.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 考核方案指标项
/// </summary>
[Table("per_assess_scheme_items")]
public class per_assess_scheme_items
{
/// <summary>
/// 指标项Id
/// </summary>
[Key]
public int Id { get; set; }
/// <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>
/// 指标编码
/// </summary>
public string ItemCode { get; set; }
/// <summary>
/// 一级指标名称
/// </summary>
public string ItemName1 { get; set; }
/// <summary>
/// 二级指标名称
/// </summary>
public string ItemName2 { get; set; }
/// <summary>
/// 考核分值
/// </summary>
public int AssessScore { get; set; }
/// <summary>
/// 考核标准
/// </summary>
public string AssessNorm { 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 int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 最后修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" per_assess_scheme_items.cs">
// * FileName: per_assess_scheme_items.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// per_assess_scheme_items Repository
/// </summary>
public partial class PerforPerAssessSchemeItemsRepository : PerforRepository<per_assess_scheme_items>
{
public PerforPerAssessSchemeItemsRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" per_assess_scheme.cs">
// * FileName: per_assess_scheme.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// per_assess_scheme Repository
/// </summary>
public partial class PerforPerAssessSchemeRepository : PerforRepository<per_assess_scheme>
{
public PerforPerAssessSchemeRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" per_assess_category.cs">
// * FileName: per_assess_category.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// per_assess_category Repository
/// </summary>
public partial class PerforPerCassessCategoryRepository : PerforRepository<per_assess_category>
{
public PerforPerCassessCategoryRepository(PerformanceDbContext context) : base(context)
{
}
}
}
namespace Performance.Services using AutoMapper;
using Microsoft.Extensions.Logging;
using OfficeOpenXml;
using OfficeOpenXml.Style;
using Performance.DtoModels;
using Performance.DtoModels.Request;
using Performance.EntityModels;
using Performance.Repository;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace Performance.Services
{ {
public class AssessNewService : IAutoInjection public class AssessNewService : IAutoInjection
{ {
private readonly IMapper mapper;
private readonly ILogger<AssessNewService> logger;
private readonly PerforPerCassessCategoryRepository perforPerCassessCategoryRepository;
private readonly PerforPerallotRepository perforPerallotRepository;
private readonly PerforPerAssessSchemeRepository perforPerAssessSchemeRepository;
private readonly PerforPerAssessSchemeItemsRepository perforPerAssessSchemeItemsRepository;
public AssessNewService(
IMapper mapper,
ILogger<AssessNewService> logger,
PerforPerCassessCategoryRepository perforPerCassessCategoryRepository,
PerforPerallotRepository perforPerallotRepository,
PerforPerAssessSchemeRepository perforPerAssessSchemeRepository,
PerforPerAssessSchemeItemsRepository perforPerAssessSchemeItemsRepository
)
{
this.mapper = mapper;
this.logger = logger;
this.perforPerCassessCategoryRepository = perforPerCassessCategoryRepository;
this.perforPerallotRepository = perforPerallotRepository;
this.perforPerAssessSchemeRepository = perforPerAssessSchemeRepository;
this.perforPerAssessSchemeItemsRepository = perforPerAssessSchemeItemsRepository;
}
#region 考核类别
//考核类别列表
public ApiResponse<List<per_assess_category>> CategoryList(int allotId)
{
var result = perforPerCassessCategoryRepository.GetEntities(t => t.AllotId == allotId).ToList();
if (result != null)
return new ApiResponse<List<per_assess_category>>(ResponseType.OK, result);
else
{
return new ApiResponse<List<per_assess_category>>(ResponseType.Fail);
}
}
//考核类别新增
public ApiResponse<AddAssessCategoryRequest> CategoryAdd(AddAssessCategoryRequest request, int userid)
{
var allot = perforPerallotRepository.GetEntity(w => w.ID == request.AllotId);
if (allot == null)
throw new PerformanceException("当前绩效记录不存在");
var categoryData = perforPerCassessCategoryRepository.GetEntities();
var temp = categoryData.FirstOrDefault(w => w.AllotId == request.AllotId && w.AssessName == request.Category);
if (temp != null)
throw new PerformanceException("当前考核类别已存在");
//查询最大编号或赋初始值
int codeMax = 0;
if (!categoryData.Select(w => w.AssessCode).Any())
codeMax = categoryData.Max(w => int.Parse(w.AssessCode.Substring(1)));
var assessCode = "";
if (codeMax <= 999)
{
assessCode = "A" + (codeMax + 1).ToString("D3");
}
else
{
assessCode = "A" + (codeMax + 1).ToString();
}
var per_assess_category = new per_assess_category()
{
AllotId = request.AllotId,
AssessCode = assessCode,
AssessName = request.Category,
CreateBy = userid,
CreateTime = DateTime.Now,
UpdateBy = userid,
UpdateTime = DateTime.Now,
};
if (perforPerCassessCategoryRepository.Add(per_assess_category)) return new ApiResponse<AddAssessCategoryRequest>(ResponseType.OK, "添加成功");
else return new ApiResponse<AddAssessCategoryRequest>(ResponseType.Fail, "添加失败");
}
// 考核类别修改
public ApiResponse<UpdateAssessCategoryRequest> CategoryUpdate(UpdateAssessCategoryRequest request, int userid)
{
var allot = perforPerallotRepository.GetEntity(w => w.ID == request.AllotId);
if (allot == null)
throw new PerformanceException("当前绩效记录不存在");
var any = perforPerCassessCategoryRepository.GetEntity(w => w.Id == request.CategoryId);
any.AllotId = request.AllotId;
any.AssessName = request.Category;
any.UpdateBy = userid;
any.UpdateTime = DateTime.Now;
if (perforPerCassessCategoryRepository.Update(any)) return new ApiResponse<UpdateAssessCategoryRequest>(ResponseType.OK, "修改成功");
else return new ApiResponse<UpdateAssessCategoryRequest>(ResponseType.Fail, "修改失败");
}
//考核类别删除(允许批量删除,删除时要检查有没有外表引用,提示一起删除)没写
public ApiResponse CategoryDelete(BatchAssessCategoryRequest request)
{
var issuedates = perforPerCassessCategoryRepository.GetEntities(w => request.CategoryId.Contains(w.Id)).ToList();
if (perforPerCassessCategoryRepository.RemoveRange(issuedates.ToArray())) return new ApiResponse(ResponseType.OK, "删除成功");
else return new ApiResponse(ResponseType.Fail, "删除失败");
}
#endregion
#region 考核方案
//考核方案列表
public ApiResponse<List<AssessSchemeDataResponse>> SchemeList(int categoryId)
{
var scheme = perforPerAssessSchemeRepository.GetEntities(t => t.AssessId == categoryId).ToList();
var category = perforPerCassessCategoryRepository.GetEntities().FirstOrDefault(t => t.Id == categoryId);
var result = scheme.Select(w => new AssessSchemeDataResponse
{
Id = w.Id,
SchemeCode = w.SchemeCode,
SchemeName = w.SchemeName,
AssessName = category.AssessName
}).ToList();
return new ApiResponse<List<AssessSchemeDataResponse>>(ResponseType.OK, result);
}
//考核方案新增
public ApiResponse<AddAssessSchemeRequest> SchemeAdd(AddAssessSchemeRequest request, int userid)
{
var categorydata = perforPerCassessCategoryRepository.GetEntity(w => w.Id == request.CategoryId);
if (categorydata == null)
throw new PerformanceException("当前考核类别不存在");
var schemeData = perforPerAssessSchemeRepository.GetEntities();
var temp = schemeData.FirstOrDefault(w => w.AllotId == categorydata.AllotId && w.SchemeName == request.SchemeName);
if (temp != null)
throw new PerformanceException("当前考核方案已存在");
//查询最大编号或赋初始值
int codeMax = 0;
if (!schemeData.Select(w => w.SchemeCode).Any())
codeMax = schemeData.Max(w => int.Parse(w.SchemeCode.Substring(1)));
var schemeCode = "";
if (codeMax <= 999999)
{
schemeCode = "A" + (codeMax + 1).ToString("D6");
}
else
{
schemeCode = "A" + (codeMax + 1).ToString();
}
var per_assess_scheme = new per_assess_scheme()
{
AllotId = categorydata.AllotId,
AssessId = request.CategoryId,
SchemeCode = schemeCode,
SchemeName = request.SchemeName,
CreateBy = userid,
CreateTime = DateTime.Now,
UpdateBy = userid,
UpdateTime = DateTime.Now,
};
if (perforPerAssessSchemeRepository.Add(per_assess_scheme)) return new ApiResponse<AddAssessSchemeRequest>(ResponseType.OK, "添加成功");
else return new ApiResponse<AddAssessSchemeRequest>(ResponseType.Fail, "添加失败");
}
// 考核方案修改
public ApiResponse<UpdateAssessSchemeRequest> SchemeUpdate(UpdateAssessSchemeRequest request, int userid)
{
var categorydata = perforPerCassessCategoryRepository.GetEntity(w => w.Id == request.CategoryId);
if (categorydata == null)
throw new PerformanceException("当前考核类别不存在");
var any = perforPerAssessSchemeRepository.GetEntity(w => w.Id == request.SchemeId);
any.AssessId = request.CategoryId;
any.SchemeName = request.SchemeName;
any.UpdateBy = userid;
any.UpdateTime = DateTime.Now;
if (perforPerAssessSchemeRepository.Update(any)) return new ApiResponse<UpdateAssessSchemeRequest>(ResponseType.OK, "修改成功");
else return new ApiResponse<UpdateAssessSchemeRequest>(ResponseType.Fail, "修改失败");
}
//考核方案删除(允许批量删除,删除时要检查有没有外表引用,提示一起删除)没写
public ApiResponse SchemeDelete(BatchAssessSchemeRequest request)
{
var issuedates = perforPerAssessSchemeRepository.GetEntities(w => request.SchemeId.Contains(w.Id)).ToList();
if (perforPerAssessSchemeRepository.RemoveRange(issuedates.ToArray())) return new ApiResponse(ResponseType.OK, "删除成功");
else return new ApiResponse(ResponseType.Fail, "删除失败");
}
public string ExcelDownload(List<Dictionary<string, object>> rows, string name, int categoryId, List<ExcelDownloadHeads> headList)
{
var categorydata = perforPerCassessCategoryRepository.GetEntity(w => w.Id == categoryId);
var perAllot = perforPerallotRepository.GetEntity(t => t.ID == categorydata.AllotId);
string title = $"{perAllot.Year}{perAllot.Month}{name}";
var data = new List<Dictionary<string, object>>();
foreach (var obj in rows)
{
Dictionary<string, object> nobj = new Dictionary<string, object>();
foreach (var item in obj)
{
var lower = item.Key.ToLower();
nobj[lower] = item.Value;
}
data.Add(nobj);
}
var dpath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files");
if (!Directory.Exists(dpath)) Directory.CreateDirectory(dpath);
string filepath = Path.Combine(dpath, $"{name}{DateTime.Now:yyyyMMdd}");
if (File.Exists(filepath)) File.Delete(filepath);
using (FileStream fs = new FileStream(filepath, FileMode.OpenOrCreate))
using (ExcelPackage package = new ExcelPackage(fs))
{
var worksheet = package.Workbook.Worksheets.Add(name);
worksheet.SetValue(1, 1, title);
for (int col = 0; col < headList.Count; col++)
{
worksheet.SetValue(2, col + 1, headList[col].Alias);
}
for (int col = 0; col < headList.Count; col++)
{
for (int row = 0; row < data.Count(); row++)
{
var temp = data.ElementAt(row);
var low = temp.Keys.ToString().ToLower();
var value = temp[headList[col].Name.ToLower()];
worksheet.Cells[row + 3, col + 1].Value = value;
}
}
#region 样式设置
for (int row = worksheet.Dimension.Start.Row; row <= worksheet.Dimension.End.Row; row++)
{
worksheet.Row(row).Height = 20;
for (int col = worksheet.Dimension.Start.Column; col <= worksheet.Dimension.End.Column; col++)
{
worksheet.Cells[row, col].Style.Border.BorderAround(ExcelBorderStyle.Thin);
worksheet.Cells[row, col].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
worksheet.Cells[row, col].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
}
}
worksheet.Cells[1, 1, 1, headList.Count].Merge = true;
worksheet.Cells[1, 1, 1, headList.Count].Style.Font.Bold = true;
worksheet.Cells[1, 1, 1, headList.Count].Style.Font.Size = 16;
worksheet.Row(1).Height = 24;
worksheet.Cells[2, 1, 2, headList.Count].Style.Font.Bold = true;
worksheet.View.FreezePanes(3, 1);
worksheet.Cells.AutoFitColumns();
for (int col = worksheet.Dimension.Start.Column; col <= worksheet.Dimension.End.Column; col++)
{
worksheet.Column(col).Width = worksheet.Column(col).Width > 20 ? 20 : worksheet.Column(col).Width;
}
#endregion
package.Save();
}
return filepath;
}
#endregion
#region 考核指标
// 考核指标项列表
public ApiResponse<List<per_assess_scheme_items>> SchemeItemsList(int schemeId)
{
var result = perforPerAssessSchemeItemsRepository.GetEntities(t => t.SchemeId == schemeId).ToList();
if (result != null)
return new ApiResponse<List<per_assess_scheme_items>>(ResponseType.OK, result);
else
{
return new ApiResponse<List<per_assess_scheme_items>>(ResponseType.Fail);
}
}
// 考核指标项新增
public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd(AddAssessSchemeItemsRequest request, int userid)
{
var scheme = perforPerAssessSchemeRepository.GetEntities().FirstOrDefault(w => w.Id == request.SchemeId);
var categoryData = perforPerAssessSchemeItemsRepository.GetEntities();
//var temp = categoryData.FirstOrDefault(w => w.ItemName1 == request.ItemName1 && w.ItemName2 == request.ItemName2);
//if (temp != null)
// throw new PerformanceException("当前指标已存在");
int codeMax = 0;
if (categoryData.Select(w=>w.ItemCode).Any())
codeMax = categoryData.Max(w => int.Parse(w.ItemCode.Substring(1)));
var code = "";
if (codeMax <= 9999)
{
code = "A" + (codeMax + 1).ToString("D4");
}
else
{
code = "A" + (codeMax + 1).ToString();
}
var data = mapper.Map<per_assess_scheme_items>(request);
data.AllotId = scheme.AllotId;
data.AssessId = scheme.AssessId;
data.ItemCode = code;
data.CreateBy = userid;
data.CreateTime = DateTime.Now;
data.UpdateBy = userid;
data.UpdateTime = DateTime.Now;
if (perforPerAssessSchemeItemsRepository.Add(data)) return new ApiResponse<AddAssessSchemeItemsRequest>(ResponseType.OK, "添加成功");
else return new ApiResponse<AddAssessSchemeItemsRequest>(ResponseType.Fail, "添加失败");
}
// 考核指标项修改
public ApiResponse<UpdateAssessSchemeItemsRequest> SchemeItemsUpdate(UpdateAssessSchemeItemsRequest request, int userid)
{
var any = perforPerAssessSchemeItemsRepository.GetEntity(w => w.Id == request.SchemeItemsId);
any = mapper.Map<per_assess_scheme_items>(request);
any.UpdateBy = userid;
any.UpdateTime = DateTime.Now;
if (perforPerAssessSchemeItemsRepository.Update(any)) return new ApiResponse<UpdateAssessSchemeItemsRequest>(ResponseType.OK, "修改成功");
else return new ApiResponse<UpdateAssessSchemeItemsRequest>(ResponseType.Fail, "修改失败");
}
// 考核指标项删除(允许批量删除,删除时要检查有没有外表引用,提示一起删除)没写
public ApiResponse SchemeItemsDelete(BatchAssessSchemeItemsRequest request)
{
var issuedates = perforPerAssessSchemeItemsRepository.GetEntities(w => request.SchemeItemsId.Contains(w.Id)).ToList();
if (perforPerAssessSchemeItemsRepository.RemoveRange(issuedates.ToArray())) return new ApiResponse(ResponseType.OK, "删除成功");
else return new ApiResponse(ResponseType.Fail, "删除失败");
}
#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