Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
8c3a6172
Commit
8c3a6172
authored
May 04, 2023
by
wyc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
考核接口实现
parent
d89f65dd
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
2649 additions
and
303 deletions
+2649
-303
performance/Performance.Api/Controllers/AssessNewController.cs
+197
-112
performance/Performance.Api/wwwroot/Performance.Api.xml
+38
-81
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+425
-9
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+321
-0
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
+15
-2
performance/Performance.DtoModels/Enum.cs
+19
-0
performance/Performance.DtoModels/Request/AssessCategoryRequest.cs
+1
-0
performance/Performance.DtoModels/Request/AssessSchemeEnterRequest.cs
+35
-3
performance/Performance.DtoModels/Request/AssessSchemeItemsRequest.cs
+44
-4
performance/Performance.DtoModels/Response/AssessSchemeDataResponse.cs
+240
-4
performance/Performance.DtoModels/Response/PerAssessmentStatisticsResponse.cs
+160
-0
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
+4
-0
performance/Performance.EntityModels/Entity/per_assess_issue_scheme.cs
+145
-0
performance/Performance.EntityModels/Entity/per_assess_scheme_target.cs
+65
-0
performance/Performance.EntityModels/Other/view_assess_issue.cs
+86
-0
performance/Performance.Infrastructure/Performance.Infrastructure.csproj
+2
-1
performance/Performance.Repository/PerforPerAllotRepository.cs
+50
-2
performance/Performance.Repository/Repository/PerfoPperAttendanceTypeRepository.cs
+2
-2
performance/Performance.Repository/Repository/PerforPerAssessCategoryRepository.cs
+2
-2
performance/Performance.Repository/Repository/PerforPerAssessIssueSchemeRepository.cs
+19
-0
performance/Performance.Repository/Repository/PerforPerAssessSchemeTargetRepository.cs
+19
-0
performance/Performance.Services/AssessNewService.cs
+760
-79
performance/Performance.Services/AttendanceService.cs
+0
-2
No files found.
performance/Performance.Api/Controllers/AssessNewController.cs
View file @
8c3a6172
using
Microsoft.AspNetCore.Http
;
using
Masuit.Tools.Models
;
using
Microsoft.AspNetCore.Hosting
;
using
Microsoft.AspNetCore.Http
;
using
Microsoft.AspNetCore.Mvc
;
using
Microsoft.AspNetCore.StaticFiles
;
using
Newtonsoft.Json
;
using
Performance.DtoModels
;
using
Performance.DtoModels.Request
;
using
Performance.EntityModels
;
using
Performance.Infrastructure
;
using
Performance.Infrastructure.Models
;
using
Performance.Services
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Threading.Tasks
;
namespace
Performance.Api.Controllers
...
...
@@ -22,6 +27,7 @@ public class AssessNewController : Controller
private
readonly
AssessNewService
_service
;
private
ClaimService
claim
;
public
AssessNewController
(
AssessNewService
service
,
ClaimService
claim
)
{
_service
=
service
;
...
...
@@ -97,9 +103,9 @@ public ApiResponse CategoryDelete([FromBody] BatchAssessCategoryRequest request)
/// <returns></returns>
[
HttpPost
]
[
Route
(
"category/issue/check"
)]
public
IActionResult
CategoryIssueCheck
([
FromBody
]
BatchAssessCategoryRequest
request
)
public
ApiResponse
<
List
<
PerAssessmentStatisticsResponse
>>
CategoryIssueCheck
([
FromBody
]
BatchAssessCategoryRequest
request
)
{
throw
new
NotImplementedException
(
);
return
_service
.
CategoryIssueCheck
(
request
);
}
/// <summary>
/// 考核下发(把当前考核类别下所有方案下发)
...
...
@@ -113,9 +119,10 @@ public IActionResult CategoryIssueCheck([FromBody] BatchAssessCategoryRequest re
/// <returns></returns>
[
HttpPost
]
[
Route
(
"category/issue/confirm"
)]
public
IActionResult
CategoryIssueConfirm
([
FromBody
]
BatchAssessCategoryRequest
request
)
public
ApiResponse
CategoryIssueConfirm
([
FromBody
]
BatchAssessCategoryRequest
request
)
{
throw
new
NotImplementedException
();
var
userid
=
claim
.
GetUserId
();
return
_service
.
CategoryIssueConfirm
(
request
,
userid
);
}
#
endregion
...
...
@@ -198,7 +205,7 @@ public IActionResult SchemeDownload([FromQuery] int categoryId)
var
ser
=
JsonConvert
.
SerializeObject
(
result
);
var
rows
=
JsonConvert
.
DeserializeObject
<
List
<
Dictionary
<
string
,
object
>>>(
ser
);
var
filepath
=
_service
.
ExcelDownload
(
rows
,
"考核方案"
,
categoryId
,
excelDownloadHeads
);
var
filepath
=
_service
.
ExcelDownload
(
rows
,
"考核方案"
,
excelDownloadHeads
);
var
memoryStream
=
new
MemoryStream
();
using
(
var
stream
=
new
FileStream
(
filepath
,
FileMode
.
Open
))
...
...
@@ -211,42 +218,39 @@ public IActionResult SchemeDownload([FromQuery] int categoryId)
var
memi
=
provider
.
Mappings
[
".xlsx"
];
return
File
(
memoryStream
,
memi
,
Path
.
GetFileName
(
fileInfo
.
Name
));
}
/// <summary>
/// 考核方案上传
/// </summary>
/// <param name="categoryId"></param>
///
<param name="file
"></param>
/// <remarks>
/// 上传文件中的编码无效,不能修改,自动生成,按编码作为匹配依据,进行增删改
/// </remarks>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/upload"
)]
public
async
Task
<
IActionResult
>
SchemeUpload
([
FromQuery
]
int
categoryId
,
IFormFile
file
)
{
throw
new
NotImplementedException
(
);
}
///
//
<summary>
///
//
考核方案上传
///
//
</summary>
///
//
<param name="categoryId"></param>
///
// <param name="form
"></param>
///
//
<remarks>
///
//
上传文件中的编码无效,不能修改,自动生成,按编码作为匹配依据,进行增删改
///
//
</remarks>
///
//
<returns></returns>
//
[HttpPost]
//
[Route("scheme/upload")]
//public ApiResponse SchemeUpload([FromQuery] int categoryId, [FromForm] IFormCollection form
)
//
{
// return _service.SchemeUpload(categoryId, form
);
//
}
#
endregion
#
region
考核指标
/// <summary>
/// 考核指标项列表
/// </summary>
/// <param name="
schemeId
"></param>
/// <param name="
query
"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/list"
)]
public
ApiResponse
<
List
<
per_assess_scheme_items
>>
SchemeItemsList
([
FromQuery
]
int
schemeId
)
public
PagedList
<
per_assess_scheme_items
>
SchemeItemsList
([
FromBody
]
QuerySchemeItemsList
query
)
{
return
_service
.
SchemeItemsList
(
schemeId
);
return
_service
.
SchemeItemsList
(
query
);
}
/// <summary>
/// 考核指标项新增
/// </summary>
/// <param name="request"></param>
/// <remarks>
/// 编码自动生成,不能修改
/// </remarks>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/add"
)]
...
...
@@ -259,9 +263,6 @@ public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd([FromBody] AddAss
/// 考核指标项修改
/// </summary>
/// <param name="request"></param>
/// <remarks>
/// 编码不能修改
/// </remarks>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/update"
)]
...
...
@@ -287,49 +288,67 @@ public ApiResponse SchemeItemsDelete([FromBody] BatchAssessSchemeItemsRequest re
/// <summary>
/// 考核指标项下载
/// </summary>
/// <param name="schemeId"></param>
/// <remarks>
/// 空数据时也要能下载,下载的数据只有对应的列头数据
/// </remarks>
/// <param name="query"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/download"
)]
[
Produces
(
"application/octet-stream"
,
Type
=
typeof
(
FileResult
))]
public
IActionResult
SchemeItemsDownload
([
FromQuery
]
int
schemeId
)
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
.
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
)
},
};
var
result
=
_service
.
SchemeItemsList
(
query
).
Data
;
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
))
{
throw
new
NotImplementedException
();
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="schemeId"></param>
/// <param name="file"></param>
/// <remarks>
/// 上传文件中的编码无效,不能修改,自动生成,按编码作为匹配依据,进行增删改
/// </remarks>
/// <param name="allotId"></param>
/// <param name="form"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/upload"
)]
public
IActionResult
SchemeItemsUpload
([
FromQuery
]
int
schemeId
,
IFormFile
file
)
public
ApiResponse
SchemeItemsUpload
([
FromQuery
]
int
schemeId
,
int
allotId
,
[
FromForm
]
IFormCollection
form
)
{
throw
new
NotImplementedException
();
var
userid
=
claim
.
GetUserId
();
return
_service
.
SchemeItemsUpload
(
schemeId
,
allotId
,
form
,
userid
);
}
/// <summary>
/// 考核对象核算单元列表清单
/// </summary>
/// <param name="schemeId"></param>
/// <remarks>
/// 1、如已经在本方案设置了的核算单元,勾选框设置为灰色,无法勾选
/// 2、如该核算单元被统—考核类型的其他方案应用,则标记出已设置的方案,如在此方案勾选后,自动删掉他在另外一个方案的设置。
/// 3、一键筛选功能为直接筛选出未设置考核方案的核算单元
/// </remarks>
/// <param name="query"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/target/list"
)]
public
IActionResult
SchemeItemsTargetList
([
FromQuery
]
int
schemeId
)
public
ApiResponse
<
List
<
AssessSchemeTargetResponse
>>
SchemeItemsTargetList
([
FromBody
]
QuerySchemeItemsTargetList
query
)
{
throw
new
NotImplementedException
(
);
return
_service
.
SchemeItemsTargetList
(
query
);
}
/// <summary>
/// 考核对象核算单元保存
/// </summary>
...
...
@@ -337,10 +356,37 @@ public IActionResult SchemeItemsTargetList([FromQuery] int schemeId)
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/target/save"
)]
public
IActionResult
SchemeItemsTargetSave
([
FromBody
]
TargetAssessSchemeItemsRequest
request
)
public
ApiResponse
SchemeItemsTargetSave
([
FromBody
]
TargetAssessSchemeItemsRequest
request
)
{
var
userid
=
claim
.
GetUserId
();
return
_service
.
SchemeItemsTargetSave
(
request
,
userid
);
}
/// <summary>
/// 考核对象核算单元修改
/// </summary>
/// <param name="edit"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/target/edit"
)]
public
ApiResponse
SchemeItemsTargetEdit
([
FromBody
]
TargetSchemeItemsTargetEdit
edit
)
{
var
userid
=
claim
.
GetUserId
();
return
_service
.
SchemeItemsTargetEdit
(
edit
,
userid
);
}
/// <summary>
/// 考核对象核算单元删除
/// </summary>
/// <param name="delete"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/items/target/delete"
)]
public
ApiResponse
SchemeItemsTargetDelete
([
FromBody
]
TargetSchemeItemsTargetDelete
delete
)
{
throw
new
NotImplementedException
(
);
return
_service
.
SchemeItemsTargetDelete
(
delete
);
}
#
endregion
#
region
核算单元上报考核结果
...
...
@@ -348,29 +394,24 @@ public IActionResult SchemeItemsTargetSave([FromBody] TargetAssessSchemeItemsReq
/// 核算单元上报考核列表
/// </summary>
/// <param name="allotId"></param>
/// <remarks>
/// 该列表是有下发操作产生的:责任科室总清单
/// </remarks>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/enter/list"
)]
public
IActionResult
SchemeEnterList
([
FromQuery
]
int
allotId
)
public
ApiResponse
<
List
<
AssessSchemeEnterListResponse
>>
SchemeEnterList
([
FromQuery
]
int
allotId
)
{
throw
new
NotImplementedException
();
var
userid
=
claim
.
GetUserId
();
return
_service
.
SchemeEnterList
(
allotId
,
userid
);
}
/// <summary>
/// 核算单元上报考核指标项清单
/// </summary>
/// <param name="issueId"></param>
/// <remarks>
/// 该列表是有下发操作产生的:责任科室总清单明细
/// </remarks>
/// <param name="query"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/enter/detail/list"
)]
public
IActionResult
SchemeEnterDetailList
([
FromQuery
]
int
issueId
)
public
PagedList
<
AssessSchemeEnterDetaiListResponse
>
SchemeEnterDetailList
([
FromBody
]
QuerySchemeEnterDetailList
query
)
{
throw
new
NotImplementedException
(
);
return
_service
.
SchemeEnterDetailList
(
query
);
}
/// <summary>
/// 核算单元上报考核指标项修改
...
...
@@ -379,88 +420,132 @@ public IActionResult SchemeEnterDetailList([FromQuery] int issueId)
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/enter/detail/edit"
)]
public
IActionResult
SchemeEnterEdit
([
FromBody
]
EditAssessSchemeEnterRequest
request
)
{
throw
new
NotImplementedException
();
}
/// <summary>
/// 核算单元上报考核结果确认前检查
/// </summary>
/// <param name="issueId"></param>
/// <remarks>
/// 编辑:真实用途只是保存数据
/// 确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
/// 提交:数据必须全部确认完成才能提交
/// 需要检查确认的考核指标项中,有没有没有填写的数据
/// </remarks>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/enter/detail/check"
)]
public
IActionResult
SchemeEnterCheck
([
FromQuery
]
int
issueId
)
public
ApiResponse
SchemeEnterEdit
([
FromBody
]
EditAssessSchemeEnterRequest
request
)
{
throw
new
NotImplementedException
();
var
userid
=
claim
.
GetUserId
();
return
_service
.
SchemeEnterEdit
(
request
,
userid
);
}
///// <summary>
///// 核算单元上报考核结果确认前检查
///// </summary>
///// <param name="issueId"></param>
///// <remarks>
///// 编辑:真实用途只是保存数据
///// 确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
///// 提交:数据必须全部确认完成才能提交
///// 需要检查确认的考核指标项中,有没有没有填写的数据
///// </remarks>
///// <returns></returns>
//[HttpPost]
//[Route("scheme/enter/detail/check")]
//public ApiResponse SchemeEnterCheck([FromQuery] int schemeId, int issueId)
//{
// //return _service.SchemeEnterCheck(schemeId, issueId);
// throw new NotImplementedException();
//}
///// <summary>
///// 核算单元上报考核结果确认
///// </summary>
///// <param name="issueId"></param>
///// <remarks>
///// 编辑:真实用途只是保存数据
///// 确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
///// 提交:数据必须全部确认完成才能提交
///// </remarks>
///// <returns></returns>
//[HttpPost]
//[Route("scheme/enter/detail/confirm")]
//public IActionResult SchemeEnterConfirm([FromQuery] int issueId)
//{
// throw new NotImplementedException();
//}
/// <summary>
/// 核算单元上报考核结果
确认
/// 核算单元上报考核结果
提交
/// </summary>
/// <param name="issueId"></param>
/// <remarks>
/// 编辑:真实用途只是保存数据
/// 确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
/// 提交:数据必须全部确认完成才能提交
/// </remarks>
/// <param name="allotId"></param>
/// <param name="itemId"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
[
HttpPost
]
[
Route
(
"scheme/enter/
detail/confirm
"
)]
public
IActionResult
SchemeEnterConfirm
([
FromQuery
]
int
issue
Id
)
[
Route
(
"scheme/enter/
submit
"
)]
public
ApiResponse
SchemeEnterSubmit
([
FromQuery
]
int
allotId
,
int
item
Id
)
{
throw
new
NotImplementedException
();
var
userid
=
claim
.
GetUserId
();
return
_service
.
SchemeEnterSubmit
(
allotId
,
itemId
,
userid
);
}
/// <summary>
/// 核算单元上报考核结果
提交
/// 核算单元上报考核结果
审核
/// </summary>
/// <param name="allotId"></param>
/// <remarks>
/// 编辑:真实用途只是保存数据
/// 确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
/// 提交:数据必须全部确认完成才能提交,存在还未确认的数据,则提交失败,返回表格显示失败原因
/// </remarks>
/// <param name="audit"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/enter/
subm
it"
)]
public
IActionResult
SchemeEnterSubmit
([
FromQuery
]
int
allotId
)
[
Route
(
"scheme/enter/
aud
it"
)]
public
ApiResponse
SchemeEnterAudit
([
FromBody
]
EditSchemeEnterAudit
audit
)
{
throw
new
NotImplementedException
();
var
realName
=
claim
.
GetUserClaim
(
JwtClaimTypes
.
RealName
);
return
_service
.
SchemeEnterAudit
(
audit
,
realName
);
}
/// <summary>
/// 核算单元上报考核指标项下载
/// </summary>
/// <param name="issueId"></param>
/// <remarks>
/// 空数据时也要能下载,下载的数据只有对应的列头数据
/// </remarks>
/// <param name="query"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/enter/download"
)]
public
IActionResult
SchemeEnterDownload
([
FromQuery
]
int
issueId
)
public
IActionResult
SchemeEnterDownload
([
FromBody
]
QuerySchemeEnterDetailList
query
)
{
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
.
ItemName1
)
},
new
ExcelDownloadHeads
{
Alias
=
"考核项目"
,
Name
=
nameof
(
AssessSchemeEnterDetaiListResponse
.
ItemName2
)
},
new
ExcelDownloadHeads
{
Alias
=
"考核分值"
,
Name
=
nameof
(
AssessSchemeEnterDetaiListResponse
.
AssessScore
)
},
new
ExcelDownloadHeads
{
Alias
=
"考核扣分"
,
Name
=
nameof
(
AssessSchemeEnterDetaiListResponse
.
Score
)
},
new
ExcelDownloadHeads
{
Alias
=
"扣分原因"
,
Name
=
nameof
(
AssessSchemeEnterDetaiListResponse
.
ScoreRemark
)
},
};
var
result
=
_service
.
SchemeEnterDetailList
(
query
).
Data
;
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
))
{
throw
new
NotImplementedException
();
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="i
ssue
Id"></param>
/// <param name="f
ile
"></param>
/// <param name="i
tem
Id"></param>
/// <param name="f
orm
"></param>
/// <remarks>
/// 上传文件中只有考核扣分、扣分原因有效,其他只做展示不参与修改操作
/// </remarks>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"scheme/enter/upload"
)]
public
IActionResult
SchemeEnterUpload
([
FromQuery
]
int
issueId
,
IFormFile
file
)
public
ApiResponse
SchemeEnterUpload
([
FromQuery
]
int
itemId
,
[
FromForm
]
IFormCollection
form
)
{
throw
new
NotImplementedException
();
var
userid
=
claim
.
GetUserId
();
return
_service
.
SchemeEnterUpload
(
itemId
,
form
,
userid
);
}
#
endregion
}
...
...
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
8c3a6172
...
...
@@ -416,22 +416,11 @@
</remarks>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeUpload(System.Int32,Microsoft.AspNetCore.Http.IFormFile)"
>
<summary>
考核方案上传
</summary>
<param
name=
"categoryId"
></param>
<param
name=
"file"
></param>
<remarks>
上传文件中的编码无效,不能修改,自动生成,按编码作为匹配依据,进行增删改
</remarks>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsList(System.Int32)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsList(Performance.DtoModels.Request.QuerySchemeItemsList)"
>
<summary>
考核指标项列表
</summary>
<param
name=
"
schemeId
"
></param>
<param
name=
"
query
"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsAdd(Performance.DtoModels.Request.AddAssessSchemeItemsRequest)"
>
...
...
@@ -439,9 +428,6 @@
考核指标项新增
</summary>
<param
name=
"request"
></param>
<remarks>
编码自动生成,不能修改
</remarks>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsUpdate(Performance.DtoModels.Request.UpdateAssessSchemeItemsRequest)"
>
...
...
@@ -449,9 +435,6 @@
考核指标项修改
</summary>
<param
name=
"request"
></param>
<remarks>
编码不能修改
</remarks>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsDelete(Performance.DtoModels.Request.BatchAssessSchemeItemsRequest)"
>
...
...
@@ -464,37 +447,27 @@
</remarks>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsDownload(
System.Int32
)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsDownload(
Performance.DtoModels.Request.QuerySchemeItemsList
)"
>
<summary>
考核指标项下载
</summary>
<param
name=
"schemeId"
></param>
<remarks>
空数据时也要能下载,下载的数据只有对应的列头数据
</remarks>
<param
name=
"query"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsUpload(System.Int32,
Microsoft.AspNetCore.Http.IFormFile
)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsUpload(System.Int32,
System.Int32,Microsoft.AspNetCore.Http.IFormCollection
)"
>
<summary>
考核指标项上传
</summary>
<param
name=
"schemeId"
></param>
<param
name=
"file"
></param>
<remarks>
上传文件中的编码无效,不能修改,自动生成,按编码作为匹配依据,进行增删改
</remarks>
<param
name=
"allotId"
></param>
<param
name=
"form"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsTargetList(
System.Int32
)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsTargetList(
Performance.DtoModels.Request.QuerySchemeItemsTargetList
)"
>
<summary>
考核对象核算单元列表清单
</summary>
<param
name=
"schemeId"
></param>
<remarks>
1、如已经在本方案设置了的核算单元,勾选框设置为灰色,无法勾选
2、如该核算单元被统—考核类型的其他方案应用,则标记出已设置的方案,如在此方案勾选后,自动删掉他在另外一个方案的设置。
3、一键筛选功能为直接筛选出未设置考核方案的核算单元
</remarks>
<param
name=
"query"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsTargetSave(Performance.DtoModels.Request.TargetAssessSchemeItemsRequest)"
>
...
...
@@ -504,24 +477,32 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsTargetEdit(Performance.DtoModels.Request.TargetSchemeItemsTargetEdit)"
>
<summary>
考核对象核算单元修改
</summary>
<param
name=
"edit"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeItemsTargetDelete(Performance.DtoModels.Request.TargetSchemeItemsTargetDelete)"
>
<summary>
考核对象核算单元删除
</summary>
<param
name=
"delete"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterList(System.Int32)"
>
<summary>
核算单元上报考核列表
</summary>
<param
name=
"allotId"
></param>
<remarks>
该列表是有下发操作产生的:责任科室总清单
</remarks>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterDetailList(
System.Int32
)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterDetailList(
Performance.DtoModels.Request.QuerySchemeEnterDetailList
)"
>
<summary>
核算单元上报考核指标项清单
</summary>
<param
name=
"issueId"
></param>
<remarks>
该列表是有下发操作产生的:责任科室总清单明细
</remarks>
<param
name=
"query"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterEdit(Performance.DtoModels.Request.EditAssessSchemeEnterRequest)"
>
...
...
@@ -531,59 +512,35 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterCheck(System.Int32)"
>
<summary>
核算单元上报考核结果确认前检查
</summary>
<param
name=
"issueId"
></param>
<remarks>
编辑:真实用途只是保存数据
确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
提交:数据必须全部确认完成才能提交
需要检查确认的考核指标项中,有没有没有填写的数据
</remarks>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterConfirm(System.Int32)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterSubmit(System.Int32,System.Int32)"
>
<summary>
核算单元上报考核结果
确认
核算单元上报考核结果
提交
</summary>
<param
name=
"issueId"
></param>
<remarks>
编辑:真实用途只是保存数据
确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
提交:数据必须全部确认完成才能提交
</remarks>
<param
name=
"allotId"
></param>
<param
name=
"itemId"
></param>
<returns></returns>
<exception
cref=
"T:System.NotImplementedException"
></exception>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnter
Submit(System.Int32
)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnter
Audit(Performance.DtoModels.Request.EditSchemeEnterAudit
)"
>
<summary>
核算单元上报考核结果
提交
核算单元上报考核结果
审核
</summary>
<param
name=
"allotId"
></param>
<remarks>
编辑:真实用途只是保存数据
确认:数据编辑完成了,需要确认下,确认类似于确认无误,没有实际意义
提交:数据必须全部确认完成才能提交,存在还未确认的数据,则提交失败,返回表格显示失败原因
</remarks>
<param
name=
"audit"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterDownload(
System.Int32
)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterDownload(
Performance.DtoModels.Request.QuerySchemeEnterDetailList
)"
>
<summary>
核算单元上报考核指标项下载
</summary>
<param
name=
"issueId"
></param>
<remarks>
空数据时也要能下载,下载的数据只有对应的列头数据
</remarks>
<param
name=
"query"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterUpload(System.Int32,Microsoft.AspNetCore.Http.IForm
File
)"
>
<member
name=
"M:Performance.Api.Controllers.AssessNewController.SchemeEnterUpload(System.Int32,Microsoft.AspNetCore.Http.IForm
Collection
)"
>
<summary>
核算单元上报考核指标项上传
</summary>
<param
name=
"i
ssue
Id"
></param>
<param
name=
"f
ile
"
></param>
<param
name=
"i
tem
Id"
></param>
<param
name=
"f
orm
"
></param>
<remarks>
上传文件中只有考核扣分、扣分原因有效,其他只做展示不参与修改操作
</remarks>
...
...
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
8c3a6172
...
...
@@ -2085,6 +2085,26 @@
<member
name=
"P:Performance.DtoModels.AprAmountMarkRequest.TypeInDepartments"
>
<summary>
需要审计的科室,支持多个科室一起审计
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.QuerySchemeEnterDetailList.TargetUnitType"
>
<summary>
考核目标核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.QuerySchemeEnterDetailList.TargetAccountingUnit"
>
<summary>
考核目标核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.QuerySchemeEnterDetailList.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.EditSchemeEnterAudit.State"
>
<summary>
操作类型 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.Score"
>
<summary>
考核扣分
...
...
@@ -2120,19 +2140,25 @@
考核标准
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.AddAssessSchemeItemsRequest.UnitCode"
>
<!-- Badly formed XML comment ignored for member "P:Performance.DtoModels.Request.AddAssessSchemeItemsRequest.UnitType" -->
<member
name=
"P:Performance.DtoModels.Request.AddAssessSchemeItemsRequest.AccountingUnit"
>
<summary>
责任部门核算单元
编码
责任部门核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.
AddAssessSchemeItemsReque
st.UnitType"
>
<member
name=
"P:Performance.DtoModels.Request.
QuerySchemeItemsLi
st.UnitType"
>
<summary>
责任部门
核算组别
核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.
AddAssessSchemeItemsReque
st.AccountingUnit"
>
<member
name=
"P:Performance.DtoModels.Request.
QuerySchemeItemsLi
st.AccountingUnit"
>
<summary>
责任部门核算单元
核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.QuerySchemeItemsList.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Request.BatchRequest.Batch"
>
...
...
@@ -2950,7 +2976,22 @@
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.Id"
>
<summary>
考核方案Id
考核方案ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.AllotId"
>
<summary>
绩效ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.AssessId"
>
<summary>
考核类型ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.AssessName"
>
<summary>
考核类别名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.SchemeCode"
>
...
...
@@ -2963,9 +3004,269 @@
考核方案名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.
AssessName
"
>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.
CreateBy
"
>
<summary>
考核类别名称
创建人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.CreateTime"
>
<summary>
创建时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.UpdateBy"
>
<summary>
最后修改人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeDataResponse.UpdateTime"
>
<summary>
修改时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.TargetId"
>
<summary>
目标Id
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.Code"
>
<summary>
核算单元编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.UnitType"
>
<summary>
核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.AccountingUnit"
>
<summary>
核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.SchemeName"
>
<summary>
已设置方案
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.SchemeState"
>
<summary>
状态 全部 = 0, 已设置其他方案= 1,未设置方案=2,已设置方案(不可勾选) = 3,
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.CreateBy"
>
<summary>
创建人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.CreateTime"
>
<summary>
创建时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.UpdateBy"
>
<summary>
最后修改人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeTargetResponse.UpdateTime"
>
<summary>
修改时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.UnitType"
>
<summary>
核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.AccountingUnit"
>
<summary>
核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.AssessId"
>
<summary>
考核类型ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.AssessName"
>
<summary>
考核类型
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.ItemId"
>
<summary>
考核指标Id
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.State"
>
<summary>
状态
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.Count"
>
<summary>
总下发数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.ConfirmCount"
>
<summary>
确认数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.RejectCount"
>
<summary>
驳回数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterListResponse.AwaitCount"
>
<summary>
待审核数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.TargetUnitType"
>
<summary>
考核目标核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.TargetAccountingUnit"
>
<summary>
考核目标核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.Id"
>
<summary>
下发Id
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.ItemId"
>
<summary>
考核指标Id
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.ItemCode"
>
<summary>
指标编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.ItemName1"
>
<summary>
一级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.AssessScore"
>
<summary>
考核分值
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.Score"
>
<summary>
考核扣分
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.ScoreRemark"
>
<summary>
扣分原因
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.State"
>
<summary>
状态 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.CreateBy"
>
<summary>
创建人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.CreateTime"
>
<summary>
创建时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.UpdateBy"
>
<summary>
最后修改人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.UpdateTime"
>
<summary>
修改时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.SubmitBy"
>
<summary>
提交人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.SubmitTime"
>
<summary>
提交时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.AuditBy"
>
<summary>
审核人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.AuditTime"
>
<summary>
审核时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.ItemName1"
>
<summary>
一级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.AssessScore"
>
<summary>
考核分值
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.AssessNorm"
>
<summary>
考核标准
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.UnitCode"
>
<summary>
责任部门核算单元编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.UnitType"
>
<summary>
责任部门核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.AccountingUnit"
>
<summary>
责任部门核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.ItemCode"
>
<summary>
指标编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AssessSchemeItemsUploadResponse.OperationType"
>
<summary>
操作类型 新增 = 1, 修改 = 2, 删除 = 3,
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditDetail.AttendanceIsueId"
>
...
...
@@ -4132,6 +4433,121 @@
发放时间,空则不显示
</summary>
</member>
<member
name=
"T:Performance.DtoModels.PerAssessmentStatisticsResponse"
>
<summary>
考核下发结果统计
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.Id"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.AllotId"
>
<summary>
绩效ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.AssessId"
>
<summary>
考核类型ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.AssessCode"
>
<summary>
考核类型编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.AssessName"
>
<summary>
考核类型名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.SchemeId"
>
<summary>
考核方案ID
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.SchemeCode"
>
<summary>
考核方案编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.SchemeName"
>
<summary>
考核方案名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.ItemId"
>
<summary>
考核指标Id
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.ItemCode"
>
<summary>
指标编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.ItemName1"
>
<summary>
一级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.AssessScore"
>
<summary>
考核分值
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.AssessNorm"
>
<summary>
考核标准
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.UnitCode"
>
<summary>
责任部门核算单元编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.UnitType"
>
<summary>
责任部门核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.AccountingUnit"
>
<summary>
责任部门核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.TargetUnitCode"
>
<summary>
考核目标核算单元编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.TargetUnitType"
>
<summary>
考核目标核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.TargetAccountingUnit"
>
<summary>
考核目标核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.OperationType"
>
<summary>
操作类型 新增 = 1, 修改 = 2, 删除 = 3,
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerAssessmentStatisticsResponse.Describe"
>
<summary>
操作描述
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerEmployeeResponse.WorkTime"
>
<summary>
参加工作时间
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
8c3a6172
...
...
@@ -376,9 +376,15 @@
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_assess_scheme"
>
<summary>
考核方案
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_assess_issue_scheme"
>
<summary>
考核方案下发到责任科室指标清单
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_assess_scheme_items"
>
<summary>
考核方案指标项
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_assess_scheme_target"
>
<summary>
被考核对象
</summary>
</member>
<member
name=
"T:Performance.EntityModels.ag_againsituation"
>
<summary>
二次分配概览
...
...
@@ -6469,6 +6475,166 @@
修改时间
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_assess_issue_scheme"
>
<summary>
考核方案下发到责任科室指标清单
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.Id"
>
<summary>
考核方案下发到责任科室指标清单Id
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AllotId"
>
<summary>
绩效ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AssessId"
>
<summary>
考核类型ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AssessCode"
>
<summary>
考核类型编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AssessName"
>
<summary>
考核类型名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.SchemeId"
>
<summary>
考核方案ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.SchemeCode"
>
<summary>
考核方案编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.SchemeName"
>
<summary>
考核方案名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.ItemId"
>
<summary>
考核指标Id
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.ItemCode"
>
<summary>
指标编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.ItemName1"
>
<summary>
一级指标名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AssessScore"
>
<summary>
考核分值
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AssessNorm"
>
<summary>
考核标准
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.UnitCode"
>
<summary>
责任部门核算单元编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.UnitType"
>
<summary>
责任部门核算组别
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AccountingUnit"
>
<summary>
责任部门核算单元
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.State"
>
<summary>
状态
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.CreateBy"
>
<summary>
创建人
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.CreateTime"
>
<summary>
创建时间
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.UpdateBy"
>
<summary>
最后修改人
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.UpdateTime"
>
<summary>
修改时间
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.Score"
>
<summary>
考核扣分
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.ScoreRemark"
>
<summary>
扣分原因
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.TargetUnitCode"
>
<summary>
考核目标核算单元编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.TargetUnitType"
>
<summary>
考核目标核算组别
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.TargetAccountingUnit"
>
<summary>
考核目标核算单元
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.SubmitBy"
>
<summary>
提交人
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.SubmitTime"
>
<summary>
提交时间
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AuditBy"
>
<summary>
审核人
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_issue_scheme.AuditTime"
>
<summary>
审核时间
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_assess_scheme"
>
<summary>
考核方案
...
...
@@ -6604,6 +6770,66 @@
修改时间
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_assess_scheme_target"
>
<summary>
被考核对象
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.Id"
>
<summary>
被考核对象Id
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.AllotId"
>
<summary>
绩效ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.AssessId"
>
<summary>
考核类型ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.SchemeId"
>
<summary>
考核方案Id
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.UnitCode"
>
<summary>
考核目标核算单元编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.UnitType"
>
<summary>
考核目标核算组别
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.AccountingUnit"
>
<summary>
考核目标核算单元
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.CreateBy"
>
<summary>
创建人
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.CreateTime"
>
<summary>
创建时间
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.UpdateBy"
>
<summary>
最后修改人
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_assess_scheme_target.UpdateTime"
>
<summary>
修改时间
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_batch"
>
<summary>
分批发放记录
...
...
@@ -9719,6 +9945,101 @@
核算单元编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.AllotId"
>
<summary>
绩效ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.AssessCode"
>
<summary>
考核类型编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.AssessName"
>
<summary>
考核类型
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.AssessId"
>
<summary>
考核类型ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.SchemeId"
>
<summary>
考核方案ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.SchemeCode"
>
<summary>
考核方案编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.SchemeName"
>
<summary>
考核方案名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.ItemId"
>
<summary>
指标Id
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.ItemCode"
>
<summary>
指标编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.ItemName1"
>
<summary>
一级指标名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.ItemName2"
>
<summary>
二级指标名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.AssessScore"
>
<summary>
考核分值
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.AssessNorm"
>
<summary>
考核标准
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.UnitCode"
>
<summary>
责任部门核算单元编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.UnitType"
>
<summary>
责任部门核算组别
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.AccountingUnit"
>
<summary>
责任部门核算单元
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.TargetUnitCode"
>
<summary>
考核目标核算单元编码
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.TargetUnitType"
>
<summary>
考核目标核算组别
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_assess_issue.TargetAccountingUnit"
>
<summary>
考核目标核算单元
</summary>
</member>
<member
name=
"P:Performance.EntityModels.Other.view_attendance.UnitType"
>
<summary>
人员类别
...
...
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
View file @
8c3a6172
...
...
@@ -276,8 +276,21 @@ public AutoMapperConfigs()
CreateMap
<
cof_workitem
,
WorkItemRequest
>()
.
ReverseMap
();
CreateMap
<
cof_again
,
CofAgainRequest
>().
ReverseMap
();
CreateMap
<
AddAssessSchemeItemsRequest
,
per_assess_scheme_items
>().
ReverseMap
();
CreateMap
<
cof_again
,
CofAgainRequest
>()
.
ReverseMap
();
CreateMap
<
AddAssessSchemeItemsRequest
,
per_assess_scheme_items
>()
.
ReverseMap
();
CreateMap
<
per_assess_scheme_items
,
PerAssessmentStatisticsResponse
>()
.
ReverseMap
();
CreateMap
<
cof_accounting
,
AssessSchemeTargetResponse
>()
.
ReverseMap
();
CreateMap
<
AssessSchemeTargetResponse
,
per_assess_scheme_target
>()
.
ReverseMap
();
CreateMap
<
per_assess_issue_scheme
,
AssessSchemeEnterDetaiListResponse
>()
.
ReverseMap
();
CreateMap
<
per_assess_scheme
,
AssessSchemeDataResponse
>()
.
ReverseMap
();
}
}
}
performance/Performance.DtoModels/Enum.cs
View file @
8c3a6172
...
...
@@ -132,6 +132,25 @@ public enum OperationType
删除
=
3
,
}
}
public
class
Assess
{
public
enum
SchemeItemsTarget
{
全部
=
0
,
已设置其他方案
=
1
,
未设置方案
=
2
,
已设置方案
=
4
,
}
public
enum
AssessState
{
未提交
=
1
,
待审核
=
2
,
审核通过
=
3
,
驳回
=
4
,
}
}
public
class
SecondAllot
{
...
...
performance/Performance.DtoModels/Request/AssessCategoryRequest.cs
View file @
8c3a6172
...
...
@@ -18,5 +18,6 @@ public class UpdateAssessCategoryRequest : AddAssessCategoryRequest
public
class
BatchAssessCategoryRequest
{
public
int
[]
CategoryId
{
get
;
set
;
}
public
int
AllotId
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/Request/AssessSchemeEnterRequest.cs
View file @
8c3a6172
namespace
Performance.DtoModels.Request
{
public
class
QuerySchemeEnterDetailList
{
public
int
AllotId
{
get
;
set
;
}
public
int
ItemId
{
get
;
set
;
}
/// <summary>
/// 考核目标核算组别
/// </summary>
public
string
?
TargetUnitType
{
get
;
set
;
}
/// <summary>
/// 考核目标核算单元
/// </summary>
public
string
?
TargetAccountingUnit
{
get
;
set
;
}
/// <summary>
/// 二级指标名称
/// </summary>
public
string
?
ItemName2
{
get
;
set
;
}
public
int
Page
{
get
;
set
;
}
=
0
;
public
int
PageSize
{
get
;
set
;
}
=
0
;
}
public
class
EditSchemeEnterAudit
{
public
int
AllotId
{
get
;
set
;
}
public
int
[]
IssueId
{
get
;
set
;
}
/// <summary>
/// 操作类型 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
/// </summary>
public
Assess
.
AssessState
State
{
get
;
set
;
}
}
public
class
EditAssessSchemeEnterRequest
{
public
int
Issue
Detail
Id
{
get
;
set
;
}
public
int
IssueId
{
get
;
set
;
}
/// <summary>
/// 考核扣分
/// </summary>
public
int
Score
{
get
;
set
;
}
public
int
?
Score
{
get
;
set
;
}
/// <summary>
/// 扣分原因
/// </summary>
public
string
ScoreRemark
{
get
;
set
;
}
public
string
?
ScoreRemark
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/Request/AssessSchemeItemsRequest.cs
View file @
8c3a6172
namespace
Performance.DtoModels.Request
using
System.Collections.Generic
;
namespace
Performance.DtoModels.Request
{
public
class
AddAssessSchemeItemsRequest
{
public
int
AllotId
{
get
;
set
;
}
/// <summary>
/// 方案ID
/// </summary>
...
...
@@ -23,9 +26,6 @@ public class AddAssessSchemeItemsRequest
/// </summary>
public
string
AssessNorm
{
get
;
set
;
}
/// <summary>
/// 责任部门核算单元编码
/// </summary>
public
string
UnitCode
{
get
;
set
;
}
/// <summary>
/// 责任部门核算组别
/// </summary>
...
...
@@ -43,8 +43,48 @@ public class BatchAssessSchemeItemsRequest
{
public
int
[]
SchemeItemsId
{
get
;
set
;
}
}
public
class
QuerySchemeItemsTargetList
{
public
int
AllotId
{
get
;
set
;
}
public
int
SchemeId
{
get
;
set
;
}
public
Assess
.
SchemeItemsTarget
SchemeItemsTarget
{
get
;
set
;
}
}
public
class
QuerySchemeItemsList
{
public
int
AllotId
{
get
;
set
;
}
public
int
SchemeId
{
get
;
set
;
}
/// <summary>
/// 核算组别
/// </summary>
public
string
?
UnitType
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
?
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 二级指标名称
/// </summary>
public
string
?
ItemName2
{
get
;
set
;
}
public
int
Page
{
get
;
set
;
}
=
0
;
public
int
PageSize
{
get
;
set
;
}
=
0
;
}
public
class
TargetAssessSchemeItemsRequest
{
public
List
<
AssessSchemeTargetResponse
>
SchemeTargetResponse
{
get
;
set
;
}
public
int
SchemeId
{
get
;
set
;
}
}
public
class
TargetSchemeItemsTargetEdit
{
public
int
AllotId
{
get
;
set
;
}
public
int
TargetId
{
get
;
set
;
}
public
string
UnitType
{
get
;
set
;
}
public
string
AccountingUnit
{
get
;
set
;
}
}
public
class
TargetSchemeItemsTargetDelete
{
public
int
[]
TargetId
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/Response/AssessSchemeDataResponse.cs
View file @
8c3a6172
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.DtoModels
{
public
class
AssessSchemeDataResponse
{
/// <summary>
/// 考核方案I
d
/// 考核方案I
D
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 绩效ID
/// </summary>
public
int
AllotId
{
get
;
set
;
}
/// <summary>
/// 考核类型ID
/// </summary>
public
int
AssessId
{
get
;
set
;
}
/// <summary>
/// 考核类别名称
/// </summary>
public
string
AssessName
{
get
;
set
;
}
/// <summary>
/// 考核方案编码
/// </summary>
public
string
SchemeCode
{
get
;
set
;
}
...
...
@@ -19,8 +29,234 @@ public class AssessSchemeDataResponse
/// </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
;
}
}
public
class
AssessSchemeTargetResponse
{
/// <summary>
/// 目标Id
/// </summary>
public
int
TargetId
{
get
;
set
;
}
/// <summary>
/// 核算单元编码
/// </summary>
public
string
Code
{
get
;
set
;
}
/// <summary>
/// 核算组别
/// </summary>
public
string
UnitType
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 已设置方案
/// </summary>
public
string
SchemeName
{
get
;
set
;
}
/// <summary>
/// 状态 全部 = 0, 已设置其他方案= 1,未设置方案=2,已设置方案(不可勾选) = 3,
/// </summary>
public
int
SchemeState
{
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
;
}
}
public
class
AssessSchemeEnterListResponse
{
/// <summary>
/// 核算组别
/// </summary>
public
string
UnitType
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 考核类型ID
/// </summary>
public
int
AssessId
{
get
;
set
;
}
/// <summary>
/// 考核类型
/// </summary>
public
string
AssessName
{
get
;
set
;
}
/// <summary>
/// 考核指标Id
/// </summary>
public
int
?
ItemId
{
get
;
set
;
}
/// <summary>
/// 二级指标名称
/// </summary>
public
string
ItemName2
{
get
;
set
;
}
/// <summary>
/// 状态
/// </summary>
public
int
State
{
get
;
set
;
}
/// <summary>
/// 总下发数
/// </summary>
public
int
Count
{
get
;
set
;
}
/// <summary>
/// 确认数
/// </summary>
public
int
ConfirmCount
{
get
;
set
;
}
/// <summary>
/// 驳回数
/// </summary>
public
int
RejectCount
{
get
;
set
;
}
/// <summary>
/// 待审核数
/// </summary>
public
int
AwaitCount
{
get
;
set
;
}
}
public
class
AssessSchemeEnterDetaiListResponse
{
/// <summary>
/// 考核目标核算组别
/// </summary>
public
string
?
TargetUnitType
{
get
;
set
;
}
/// <summary>
/// 考核目标核算单元
/// </summary>
public
string
?
TargetAccountingUnit
{
get
;
set
;
}
/// <summary>
/// 下发Id
/// </summary>
public
int
?
Id
{
get
;
set
;
}
/// <summary>
/// 考核指标Id
/// </summary>
public
int
?
ItemId
{
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
int
?
Score
{
get
;
set
;
}
/// <summary>
/// 扣分原因
/// </summary>
public
string
?
ScoreRemark
{
get
;
set
;
}
/// <summary>
/// 状态 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
/// </summary>
public
int
State
{
get
;
set
;
}
public
int
SchemeState
{
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
;
}
/// <summary>
/// 提交人
/// </summary>
public
int
?
SubmitBy
{
get
;
set
;
}
/// <summary>
/// 提交时间
/// </summary>
public
DateTime
?
SubmitTime
{
get
;
set
;
}
/// <summary>
/// 审核人
/// </summary>
public
string
?
AuditBy
{
get
;
set
;
}
/// <summary>
/// 审核时间
/// </summary>
public
DateTime
?
AuditTime
{
get
;
set
;
}
}
//上传
public
class
AssessSchemeItemsUploadResponse
{
/// <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
;
}
public
int
sort
{
get
;
set
;
}
/// <summary>
/// 指标编码
/// </summary>
public
string
ItemCode
{
get
;
set
;
}
/// <summary>
/// 操作类型 新增 = 1, 修改 = 2, 删除 = 3,
/// </summary>
public
int
OperationType
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/Response/PerAssessmentStatisticsResponse.cs
0 → 100644
View file @
8c3a6172
using
Performance.EntityModels
;
using
Performance.EntityModels.Other
;
using
System
;
namespace
Performance.DtoModels
{
/// <summary>
/// 考核下发结果统计
/// </summary>
public
class
PerAssessmentStatisticsResponse
{
public
PerAssessmentStatisticsResponse
()
{
}
public
PerAssessmentStatisticsResponse
(
view_assess_issue
item
)
{
Id
=
0
;
AllotId
=
item
.
AllotId
;
AssessId
=
item
.
AssessId
;
AssessCode
=
item
.
AssessCode
;
AssessName
=
item
.
AssessName
;
SchemeId
=
item
.
SchemeId
;
SchemeCode
=
item
.
SchemeCode
;
SchemeName
=
item
.
SchemeName
;
ItemId
=
item
.
ItemId
;
ItemCode
=
item
.
ItemCode
;
ItemName1
=
item
.
ItemName1
;
ItemName2
=
item
.
ItemName2
;
AssessScore
=
item
.
AssessScore
;
AssessNorm
=
item
.
AssessNorm
;
UnitCode
=
item
.
UnitCode
;
UnitType
=
item
.
UnitType
;
AccountingUnit
=
item
.
AccountingUnit
;
TargetUnitCode
=
item
.
TargetUnitCode
;
TargetUnitType
=
item
.
TargetUnitType
;
TargetAccountingUnit
=
item
.
TargetAccountingUnit
;
OperationType
=
(
int
)
Attendance
.
OperationType
.
新增
;
Describe
=
"添加数据"
;
}
public
PerAssessmentStatisticsResponse
(
per_assess_issue_scheme
item
)
{
Id
=
item
.
Id
;
AllotId
=
item
.
AllotId
;
AssessId
=
item
.
AssessId
;
AssessCode
=
item
.
AssessCode
;
AssessName
=
item
.
AssessName
;
SchemeId
=
item
.
SchemeId
??
0
;
SchemeCode
=
item
.
SchemeCode
;
SchemeName
=
item
.
SchemeName
;
ItemId
=
item
.
ItemId
??
0
;
ItemCode
=
item
.
ItemCode
;
ItemName1
=
item
.
ItemName1
;
ItemName2
=
item
.
ItemName2
;
AssessScore
=
item
.
AssessScore
;
AssessNorm
=
item
.
AssessNorm
;
UnitCode
=
item
.
UnitCode
;
UnitType
=
item
.
UnitType
;
AccountingUnit
=
item
.
AccountingUnit
;
TargetUnitCode
=
item
.
TargetUnitCode
;
TargetUnitType
=
item
.
TargetUnitType
;
TargetAccountingUnit
=
item
.
TargetAccountingUnit
;
OperationType
=
(
int
)
Attendance
.
OperationType
.
删除
;
Describe
=
"删除数据"
;
}
/// <summary>
///
/// </summary>
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
AssessCode
{
get
;
set
;
}
/// <summary>
/// 考核类型名称
/// </summary>
public
string
AssessName
{
get
;
set
;
}
/// <summary>
/// 考核方案ID
/// </summary>
public
int
SchemeId
{
get
;
set
;
}
/// <summary>
/// 考核方案编码
/// </summary>
public
string
SchemeCode
{
get
;
set
;
}
/// <summary>
/// 考核方案名称
/// </summary>
public
string
SchemeName
{
get
;
set
;
}
/// <summary>
/// 考核指标Id
/// </summary>
public
int
ItemId
{
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
string
TargetUnitCode
{
get
;
set
;
}
/// <summary>
/// 考核目标核算组别
/// </summary>
public
string
TargetUnitType
{
get
;
set
;
}
/// <summary>
/// 考核目标核算单元
/// </summary>
public
string
TargetAccountingUnit
{
get
;
set
;
}
/// <summary>
/// 操作类型 新增 = 1, 修改 = 2, 删除 = 3,
/// </summary>
public
int
OperationType
{
get
;
set
;
}
/// <summary>
/// 操作描述
/// </summary>
public
string
Describe
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
View file @
8c3a6172
...
...
@@ -273,7 +273,11 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
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_issue_scheme
>
per_assess_issue_scheme
{
get
;
set
;
}
/// <summary>考核方案指标项</summary>
public
virtual
DbSet
<
per_assess_scheme_items
>
per_assess_scheme_items
{
get
;
set
;
}
/// <summary>被考核对象</summary>
public
virtual
DbSet
<
per_assess_scheme_target
>
per_assess_scheme_target
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/per_assess_issue_scheme.cs
0 → 100644
View file @
8c3a6172
//-----------------------------------------------------------------------
// <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_issue_scheme"
)]
public
class
per_assess_issue_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
AssessCode
{
get
;
set
;
}
/// <summary>
/// 考核类型名称
/// </summary>
public
string
AssessName
{
get
;
set
;
}
/// <summary>
/// 考核方案ID
/// </summary>
public
int
?
SchemeId
{
get
;
set
;
}
/// <summary>
/// 考核方案编码
/// </summary>
public
string
SchemeCode
{
get
;
set
;
}
/// <summary>
/// 考核方案名称
/// </summary>
public
string
SchemeName
{
get
;
set
;
}
/// <summary>
/// 考核指标Id
/// </summary>
public
int
?
ItemId
{
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
State
{
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
;
}
/// <summary>
/// 考核扣分
/// </summary>
public
int
?
Score
{
get
;
set
;
}
/// <summary>
/// 扣分原因
/// </summary>
public
string
?
ScoreRemark
{
get
;
set
;
}
/// <summary>
/// 考核目标核算单元编码
/// </summary>
public
string
TargetUnitCode
{
get
;
set
;
}
/// <summary>
/// 考核目标核算组别
/// </summary>
public
string
TargetUnitType
{
get
;
set
;
}
/// <summary>
/// 考核目标核算单元
/// </summary>
public
string
TargetAccountingUnit
{
get
;
set
;
}
/// <summary>
/// 提交人
/// </summary>
public
int
?
SubmitBy
{
get
;
set
;
}
/// <summary>
/// 提交时间
/// </summary>
public
DateTime
?
SubmitTime
{
get
;
set
;
}
/// <summary>
/// 审核人
/// </summary>
public
string
?
AuditBy
{
get
;
set
;
}
/// <summary>
/// 审核时间
/// </summary>
public
DateTime
?
AuditTime
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/per_assess_scheme_target.cs
0 → 100644
View file @
8c3a6172
//-----------------------------------------------------------------------
// <copyright file=" per_assess_scheme_target.cs">
// * FileName: 被考核对象.cs
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// 被考核对象
/// </summary>
[
Table
(
"per_assess_scheme_target"
)]
public
class
per_assess_scheme_target
{
/// <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
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
;
}
}
}
performance/Performance.EntityModels/Other/view_assess_issue.cs
0 → 100644
View file @
8c3a6172
using
Performance.EntityModels.Entity
;
using
System
;
namespace
Performance.EntityModels.Other
{
public
class
view_assess_issue
{
/// <summary>
/// 绩效ID
/// </summary>
public
Nullable
<
int
>
AllotId
{
get
;
set
;
}
/// <summary>
/// 考核类型编码
/// </summary>
public
string
AssessCode
{
get
;
set
;
}
/// <summary>
/// 考核类型
/// </summary>
public
string
AssessName
{
get
;
set
;
}
/// <summary>
/// 考核类型ID
/// </summary>
public
int
AssessId
{
get
;
set
;
}
/// <summary>
/// 考核方案ID
/// </summary>
public
int
SchemeId
{
get
;
set
;
}
/// <summary>
/// 考核方案编码
/// </summary>
public
string
SchemeCode
{
get
;
set
;
}
/// <summary>
/// 考核方案名称
/// </summary>
public
string
SchemeName
{
get
;
set
;
}
/// <summary>
/// 指标Id
/// </summary>
public
int
ItemId
{
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
string
TargetUnitCode
{
get
;
set
;
}
/// <summary>
/// 考核目标核算组别
/// </summary>
public
string
TargetUnitType
{
get
;
set
;
}
/// <summary>
/// 考核目标核算单元
/// </summary>
public
string
TargetAccountingUnit
{
get
;
set
;
}
}
}
performance/Performance.Infrastructure/Performance.Infrastructure.csproj
View file @
8c3a6172
...
...
@@ -7,6 +7,8 @@
<ItemGroup>
<PackageReference Include="Dapper" Version="2.0.123" />
<PackageReference Include="Dapper.Contrib" Version="2.0.78" />
<PackageReference Include="EPPlus" Version="4.5.3.2" />
<PackageReference Include="Masuit.Tools.Core" Version="2.4.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.10" />
<PackageReference Include="MySql.Data" Version="8.0.27" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="5.0.1" />
...
...
@@ -15,7 +17,6 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="AutoMapper" Version="10.1.1" />
<PackageReference Include="FluentValidation.AspNetCore" Version="10.3.3" />
<PackageReference Include="EPPlus" Version="4.5.3.2" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.10" />
...
...
performance/Performance.Repository/PerforPerAllotRepository.cs
View file @
8c3a6172
...
...
@@ -17,7 +17,7 @@
namespace
Performance.Repository
{
/// <summary>
/// sys_allot Repository
/// sys_allot
(per_allot)
Repository
/// </summary>
public
partial
class
PerforPerallotRepository
:
PerforRepository
<
per_allot
>
{
...
...
@@ -316,7 +316,11 @@ public IEnumerable<string> GetSecondWorkloadMaps(int hospitalId)
/// <summary>
/// 考勤视图
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
public
IEnumerable
<
view_attendance
>
GetAttendance
(
int
allotId
)
{
var
connection
=
context
.
Database
.
GetDbConnection
();
...
...
@@ -332,6 +336,28 @@ public IEnumerable<view_attendance> GetAttendance(int allotId)
throw
;
}
}
/// <summary>
/// 考核视图
/// </summary>
/// <param name="categoryId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
public
IEnumerable
<
view_assess_issue
>
GetAssessIssue
(
int
[]
categoryId
,
int
allotId
)
{
var
connection
=
context
.
Database
.
GetDbConnection
();
if
(
connection
.
State
!=
ConnectionState
.
Open
)
connection
.
Open
();
try
{
string
query
=
$@"SELECT * FROM view_assess_issue where AssessId = @categoryId and AllotId = @allotId"
;
return
connection
.
Query
<
view_assess_issue
>(
query
,
new
{
categoryId
,
allotId
},
commandTimeout
:
60
*
60
);
}
catch
(
Exception
)
{
throw
;
}
}
/// <summary>
/// 查询人员字典
/// </summary>
...
...
@@ -428,5 +454,26 @@ public void PerAttendanceIssueBackup(int allotId)
}
}
}
/// <summary>
/// 考核-考核下发备份
/// </summary>
/// <param name="allot"></param>
public
void
PerAssessIssueSchemeBackup
(
int
allotId
)
{
using
(
var
connection
=
context
.
Database
.
GetDbConnection
())
{
if
(
connection
.
State
!=
ConnectionState
.
Open
)
connection
.
Open
();
try
{
connection
.
Execute
(
"call proc_assess_issue_scheme_backup(@allotId);"
,
new
{
allotId
},
commandTimeout
:
60
*
60
);
}
catch
(
Exception
)
{
throw
;
}
}
}
}
}
\ No newline at end of file
performance/Performance.Repository/Repository/PerfoPperAttendanceTypeRepository.cs
View file @
8c3a6172
...
...
@@ -8,11 +8,11 @@
namespace
Performance.Repository.Repository
{
public
partial
class
PerfoPperAttendanceTypeRepository
:
PerforRepository
<
per_attendance_type
>
{
/// <summary>
/// per_attendance_type Repository
/// </summary>
public
partial
class
PerfoPperAttendanceTypeRepository
:
PerforRepository
<
per_attendance_type
>
{
public
PerfoPperAttendanceTypeRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
...
...
performance/Performance.Repository/Repository/PerforPer
Ca
ssessCategoryRepository.cs
→
performance/Performance.Repository/Repository/PerforPer
A
ssessCategoryRepository.cs
View file @
8c3a6172
...
...
@@ -10,9 +10,9 @@ namespace Performance.Repository
/// <summary>
/// per_assess_category Repository
/// </summary>
public
partial
class
PerforPer
Ca
ssessCategoryRepository
:
PerforRepository
<
per_assess_category
>
public
partial
class
PerforPer
A
ssessCategoryRepository
:
PerforRepository
<
per_assess_category
>
{
public
PerforPer
Ca
ssessCategoryRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
public
PerforPer
A
ssessCategoryRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
...
...
performance/Performance.Repository/Repository/PerforPerAssessIssueSchemeRepository.cs
0 → 100644
View file @
8c3a6172
//-----------------------------------------------------------------------
// <copyright file=" per_assess_issue_scheme.cs">
// * FileName: per_assess_issue_scheme.cs
// </copyright>
//-----------------------------------------------------------------------
using
Performance.EntityModels
;
namespace
Performance.Repository
{
/// <summary>
/// per_assess_issue_scheme Repository
/// </summary>
public
partial
class
PerforPerAssessIssueSchemeRepository
:
PerforRepository
<
per_assess_issue_scheme
>
{
public
PerforPerAssessIssueSchemeRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
}
performance/Performance.Repository/Repository/PerforPerAssessSchemeTargetRepository.cs
0 → 100644
View file @
8c3a6172
//-----------------------------------------------------------------------
// <copyright file=" per_assess_scheme_target.cs">
// * FileName: per_assess_scheme_target.cs
// </copyright>
//-----------------------------------------------------------------------
using
Performance.EntityModels
;
namespace
Performance.Repository
{
/// <summary>
/// per_assess_scheme_target Repository
/// </summary>
public
partial
class
PerforPerAssessSchemeTargetRepository
:
PerforRepository
<
per_assess_scheme_target
>
{
public
PerforPerAssessSchemeTargetRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
}
performance/Performance.Services/AssessNewService.cs
View file @
8c3a6172
using
AutoMapper
;
using
Masuit.Tools
;
using
Masuit.Tools.Models
;
using
Microsoft.AspNetCore.Hosting
;
using
Microsoft.AspNetCore.Http
;
using
Microsoft.Extensions.Logging
;
using
OfficeOpenXml
;
using
OfficeOpenXml.Style
;
using
Performance.DtoModels
;
using
Performance.DtoModels.Request
;
using
Performance.EntityModels
;
using
Performance.EntityModels.Other
;
using
Performance.Infrastructure
;
using
Performance.Repository
;
using
System
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.IO
;
using
System.Linq
;
using
System.Threading.Tasks
;
namespace
Performance.Services
{
...
...
@@ -18,48 +25,65 @@ public class AssessNewService : IAutoInjection
{
private
readonly
IMapper
mapper
;
private
readonly
ILogger
<
AssessNewService
>
logger
;
private
readonly
PerforPerCassessCategoryRepository
perforPerCassessCategoryRepository
;
private
readonly
IWebHostEnvironment
evn
;
private
readonly
PerforUserRepository
_userRepository
;
private
readonly
PerforPerAssessCategoryRepository
perforPerAssessCategoryRepository
;
private
readonly
PerforPerallotRepository
perforPerallotRepository
;
private
readonly
PerforPerAssessSchemeRepository
perforPerAssessSchemeRepository
;
private
readonly
PerforPerAssessSchemeItemsRepository
perforPerAssessSchemeItemsRepository
;
private
readonly
PerforPerAssessSchemeTargetRepository
perforPerAssessSchemeTargetRepository
;
private
readonly
PerforCofaccountingRepository
cofaccountingRepository
;
private
readonly
PerforPerAssessIssueSchemeRepository
perforPerAssessIssueSchemeRepository
;
public
AssessNewService
(
IMapper
mapper
,
ILogger
<
AssessNewService
>
logger
,
PerforPerCassessCategoryRepository
perforPerCassessCategoryRepository
,
IWebHostEnvironment
evn
,
PerforPerAssessCategoryRepository
perforPerAssessCategoryRepository
,
PerforPerallotRepository
perforPerallotRepository
,
PerforPerAssessSchemeRepository
perforPerAssessSchemeRepository
,
PerforPerAssessSchemeItemsRepository
perforPerAssessSchemeItemsRepository
PerforPerAssessSchemeItemsRepository
perforPerAssessSchemeItemsRepository
,
PerforPerAssessSchemeTargetRepository
perforPerAssessSchemeTargetRepository
,
PerforCofaccountingRepository
cofaccountingRepository
,
PerforPerAssessIssueSchemeRepository
perforPerAssessIssueSchemeRepository
,
PerforUserRepository
userRepository
)
{
this
.
mapper
=
mapper
;
this
.
logger
=
logger
;
this
.
perforPerCassessCategoryRepository
=
perforPerCassessCategoryRepository
;
this
.
evn
=
evn
;
this
.
perforPerAssessCategoryRepository
=
perforPerAssessCategoryRepository
;
this
.
perforPerallotRepository
=
perforPerallotRepository
;
this
.
perforPerAssessSchemeRepository
=
perforPerAssessSchemeRepository
;
this
.
perforPerAssessSchemeItemsRepository
=
perforPerAssessSchemeItemsRepository
;
this
.
perforPerAssessSchemeTargetRepository
=
perforPerAssessSchemeTargetRepository
;
this
.
cofaccountingRepository
=
cofaccountingRepository
;
this
.
perforPerAssessIssueSchemeRepository
=
perforPerAssessIssueSchemeRepository
;
_userRepository
=
userRepository
;
}
#
region
考核类别
//考核类别列表
public
ApiResponse
<
List
<
per_assess_category
>>
CategoryList
(
int
allotId
)
{
var
result
=
perforPerCassessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allotId
).
ToList
();
var
result
=
perforPerAssessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allotId
).
OrderByDescending
(
w
=>
w
.
UpdateTime
).
ToList
();
if
(
result
!=
null
)
return
new
ApiResponse
<
List
<
per_assess_category
>>(
ResponseType
.
OK
,
result
);
else
{
return
new
ApiResponse
<
List
<
per_assess_category
>>(
ResponseType
.
Fail
);
return
new
ApiResponse
<
List
<
per_assess_category
>>(
ResponseType
.
NotFound
,
"暂无数据"
);
}
}
//考核类别新增
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
=
perforPer
Ca
ssessCategoryRepository
.
GetEntities
();
var
categoryData
=
perforPer
A
ssessCategoryRepository
.
GetEntities
();
var
temp
=
categoryData
.
FirstOrDefault
(
w
=>
w
.
AllotId
==
request
.
AllotId
&&
w
.
AssessName
==
request
.
Category
);
if
(
temp
!=
null
)
throw
new
PerformanceException
(
"当前考核类别已存在"
);
...
...
@@ -86,53 +110,199 @@ public ApiResponse<AddAssessCategoryRequest> CategoryAdd(AddAssessCategoryReques
UpdateBy
=
userid
,
UpdateTime
=
DateTime
.
Now
,
};
if
(
perforPer
Ca
ssessCategoryRepository
.
Add
(
per_assess_category
))
return
new
ApiResponse
<
AddAssessCategoryRequest
>(
ResponseType
.
OK
,
"添加成功"
);
if
(
perforPer
A
ssessCategoryRepository
.
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
=
perforPer
Ca
ssessCategoryRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
CategoryId
);
var
any
=
perforPer
A
ssessCategoryRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
CategoryId
);
any
.
AllotId
=
request
.
AllotId
;
any
.
AssessName
=
request
.
Category
;
any
.
UpdateBy
=
userid
;
any
.
UpdateTime
=
DateTime
.
Now
;
if
(
perforPer
Ca
ssessCategoryRepository
.
Update
(
any
))
return
new
ApiResponse
<
UpdateAssessCategoryRequest
>(
ResponseType
.
OK
,
"修改成功"
);
if
(
perforPer
A
ssessCategoryRepository
.
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
,
"删除成功"
);
var
temp
=
perforPerAssessSchemeRepository
.
GetEntity
(
w
=>
request
.
CategoryId
.
Contains
(
w
.
AssessId
));
if
(
temp
!=
null
||
temp
?.
Id
>
0
)
throw
new
PerformanceException
(
"请先删除类别下的方案"
);
var
any
=
perforPerAssessCategoryRepository
.
GetEntities
(
w
=>
request
.
CategoryId
.
Contains
(
w
.
Id
)).
ToList
();
if
(
perforPerAssessCategoryRepository
.
RemoveRange
(
any
.
ToArray
()))
return
new
ApiResponse
(
ResponseType
.
OK
,
"删除成功"
);
else
return
new
ApiResponse
(
ResponseType
.
Fail
,
"删除失败"
);
}
public
ApiResponse
<
List
<
PerAssessmentStatisticsResponse
>>
CategoryIssueCheck
(
BatchAssessCategoryRequest
request
)
{
if
(
request
.
AllotId
<=
0
)
throw
new
PerformanceException
(
"绩效记录不存在"
);
var
issueDatas
=
perforPerallotRepository
.
GetAssessIssue
(
request
.
CategoryId
,
request
.
AllotId
);
var
issueSchemeDatas
=
perforPerAssessIssueSchemeRepository
.
GetEntities
(
w
=>
request
.
CategoryId
.
Contains
(
w
.
AssessId
));
var
statisticdates
=
new
List
<
PerAssessmentStatisticsResponse
>();
Func
<
per_assess_issue_scheme
,
view_assess_issue
,
bool
>
func
=
(
schemes
,
issues
)
=>
{
var
result
=
schemes
.
AllotId
==
issues
.
AllotId
&&
schemes
.
AssessId
==
issues
.
AssessId
&&
schemes
.
AssessCode
==
issues
.
AssessCode
&&
schemes
.
AssessName
==
issues
.
AssessName
&&
schemes
.
SchemeCode
==
issues
.
SchemeCode
&&
schemes
.
SchemeName
==
issues
.
SchemeName
&&
schemes
.
ItemCode
==
issues
.
ItemCode
&&
schemes
.
ItemName1
==
issues
.
ItemName1
&&
schemes
.
ItemName2
==
issues
.
ItemName2
&&
schemes
.
AssessScore
==
issues
.
AssessScore
&&
schemes
.
AssessNorm
==
issues
.
AssessNorm
&&
schemes
.
UnitCode
==
issues
.
UnitCode
&&
schemes
.
UnitType
==
issues
.
UnitType
&&
schemes
.
AccountingUnit
==
issues
.
AccountingUnit
&&
schemes
.
TargetUnitCode
==
issues
.
TargetUnitCode
&&
schemes
.
TargetUnitType
==
issues
.
UnitType
&&
schemes
.
TargetAccountingUnit
==
issues
.
AccountingUnit
;
return
result
;
};
statisticdates
=
issueDatas
.
Select
(
issue
=>
{
var
issueData
=
issueDatas
.
SingleOrDefault
(
w
=>
w
.
ItemCode
==
issue
.
ItemCode
&&
w
.
TargetUnitType
==
issue
.
TargetUnitType
&&
w
.
TargetAccountingUnit
==
issue
.
TargetAccountingUnit
);
var
issueschemeData
=
issueSchemeDatas
.
SingleOrDefault
(
w
=>
w
.
ItemCode
==
issue
.
ItemCode
&&
w
.
TargetUnitType
==
issue
.
TargetUnitType
&&
w
.
TargetAccountingUnit
==
issue
.
TargetAccountingUnit
);
if
(
issueschemeData
==
null
)
return
new
PerAssessmentStatisticsResponse
(
issueData
);
if
(
issueschemeData
!=
null
&&
issueData
!=
null
)
{
if
(
func
(
issueschemeData
,
issueData
))
return
null
;
return
new
PerAssessmentStatisticsResponse
(
issueData
)
{
Id
=
issueschemeData
.
Id
,
OperationType
=
(
int
)
Attendance
.
OperationType
.
修改
,
Describe
=
"修改数据"
,
};
}
return
null
;
}).
ToList
();
foreach
(
var
scheme
in
issueSchemeDatas
)
{
var
issueData
=
issueDatas
.
SingleOrDefault
(
w
=>
w
.
ItemCode
==
scheme
.
ItemCode
&&
w
.
TargetUnitType
==
scheme
.
TargetUnitType
&&
w
.
TargetAccountingUnit
==
scheme
.
TargetAccountingUnit
);
var
issueschemeData
=
issueSchemeDatas
.
SingleOrDefault
(
w
=>
w
.
ItemCode
==
scheme
.
ItemCode
&&
w
.
TargetUnitType
==
scheme
.
TargetUnitType
&&
w
.
TargetAccountingUnit
==
scheme
.
TargetAccountingUnit
);
if
(
issueData
==
null
)
{
statisticdates
.
Add
(
new
PerAssessmentStatisticsResponse
(
issueschemeData
));
}
}
statisticdates
=
statisticdates
.
Where
(
r
=>
r
!=
null
).
ToList
();
return
new
ApiResponse
<
List
<
PerAssessmentStatisticsResponse
>>(
ResponseType
.
OK
,
statisticdates
);
}
//考核下发(把当前考核类别下所有方案下发)
public
ApiResponse
CategoryIssueConfirm
(
BatchAssessCategoryRequest
request
,
int
userid
)
{
var
categoryIssueCheck
=
CategoryIssueCheck
(
request
).
Data
;
var
schemedatas
=
perforPerAssessIssueSchemeRepository
.
GetEntities
(
w
=>
request
.
CategoryId
.
Contains
(
w
.
AssessId
));
var
insertIssueChecks
=
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
();
if
(
insertIssueChecks
.
Any
())
{
var
inserts
=
insertIssueChecks
.
Select
(
item
=>
{
return
new
per_assess_issue_scheme
()
{
AllotId
=
item
.
AllotId
,
AssessId
=
item
.
AssessId
,
AssessCode
=
item
.
AssessCode
,
AssessName
=
item
.
AssessName
,
SchemeId
=
item
.
SchemeId
,
SchemeCode
=
item
.
SchemeCode
,
SchemeName
=
item
.
SchemeName
,
ItemId
=
item
.
ItemId
,
ItemCode
=
item
.
ItemCode
,
ItemName1
=
item
.
ItemName1
,
ItemName2
=
item
.
ItemName2
,
AssessScore
=
item
.
AssessScore
,
AssessNorm
=
item
.
AssessNorm
,
UnitCode
=
item
.
UnitCode
,
UnitType
=
item
.
UnitType
,
Score
=
0
,
ScoreRemark
=
""
,
AccountingUnit
=
item
.
AccountingUnit
,
TargetUnitCode
=
item
.
TargetUnitCode
,
TargetUnitType
=
item
.
TargetUnitType
,
TargetAccountingUnit
=
item
.
TargetAccountingUnit
,
State
=
(
int
)
Assess
.
AssessState
.
未提交
,
CreateBy
=
userid
,
CreateTime
=
DateTime
.
Now
,
UpdateBy
=
userid
,
UpdateTime
=
DateTime
.
Now
,
};
}).
ToList
();
perforPerAssessIssueSchemeRepository
.
AddRange
(
inserts
.
ToArray
());
}
if
(
updateIssueChecks
.
Any
())
{
List
<
per_assess_issue_scheme
>
updateIssuedates
=
new
List
<
per_assess_issue_scheme
>();
foreach
(
var
item
in
updateIssueChecks
)
{
var
data
=
schemedatas
.
FirstOrDefault
(
w
=>
w
.
Id
==
item
.
Id
);
if
(
data
==
null
)
continue
;
data
.
AllotId
=
item
.
AllotId
;
data
.
AssessId
=
item
.
AssessId
;
data
.
AssessCode
=
item
.
AssessCode
;
data
.
AssessName
=
item
.
AssessName
;
data
.
SchemeId
=
item
.
SchemeId
;
data
.
SchemeCode
=
item
.
SchemeCode
;
data
.
SchemeName
=
item
.
SchemeName
;
data
.
ItemId
=
item
.
ItemId
;
data
.
ItemCode
=
item
.
ItemCode
;
data
.
ItemName1
=
item
.
ItemName1
;
data
.
ItemName2
=
item
.
ItemName2
;
data
.
AssessScore
=
item
.
AssessScore
;
data
.
AssessNorm
=
item
.
AssessNorm
;
data
.
UnitCode
=
item
.
UnitCode
;
data
.
UnitType
=
item
.
UnitType
;
data
.
AccountingUnit
=
item
.
AccountingUnit
;
data
.
TargetUnitCode
=
item
.
TargetUnitCode
;
data
.
TargetUnitType
=
item
.
TargetUnitType
;
data
.
TargetAccountingUnit
=
item
.
TargetAccountingUnit
;
data
.
State
=
(
int
)
Assess
.
AssessState
.
未提交
;
data
.
UpdateBy
=
userid
;
data
.
UpdateTime
=
DateTime
.
Now
;
data
.
SubmitBy
=
null
;
data
.
SubmitTime
=
null
;
data
.
AuditBy
=
null
;
data
.
AuditTime
=
null
;
updateIssuedates
.
Add
(
data
);
}
perforPerAssessIssueSchemeRepository
.
UpdateRange
(
updateIssuedates
.
ToArray
());
}
if
(
deleteIssueChecks
.
Any
())
{
var
daletes
=
schemedatas
.
Where
(
w
=>
deleteIssueChecks
.
Contains
(
w
.
Id
)).
ToList
();
perforPerAssessIssueSchemeRepository
.
RemoveRange
(
daletes
.
ToArray
());
}
perforPerallotRepository
.
PerAssessIssueSchemeBackup
(
request
.
AllotId
);
return
new
ApiResponse
(
ResponseType
.
OK
,
"下发成功"
);
}
#
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
();
var
category
=
perforPerAssessCategoryRepository
.
GetEntities
().
FirstOrDefault
(
t
=>
t
.
Id
==
categoryId
);
var
result
=
mapper
.
Map
<
List
<
AssessSchemeDataResponse
>>(
scheme
);
result
.
ForEach
(
t
=>
t
.
AssessName
=
category
.
AssessName
);
result
=
result
.
OrderByDescending
(
w
=>
w
.
UpdateTime
).
ToList
();
return
new
ApiResponse
<
List
<
AssessSchemeDataResponse
>>(
ResponseType
.
OK
,
result
);
}
//考核方案新增
public
ApiResponse
<
AddAssessSchemeRequest
>
SchemeAdd
(
AddAssessSchemeRequest
request
,
int
userid
)
{
var
categorydata
=
perforPer
Ca
ssessCategoryRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
CategoryId
);
var
categorydata
=
perforPer
A
ssessCategoryRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
CategoryId
);
if
(
categorydata
==
null
)
throw
new
PerformanceException
(
"当前考核类别不存在"
);
var
schemeData
=
perforPerAssessSchemeRepository
.
GetEntities
();
...
...
@@ -166,10 +336,9 @@ public ApiResponse<AddAssessSchemeRequest> SchemeAdd(AddAssessSchemeRequest requ
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
=
perforPer
Ca
ssessCategoryRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
CategoryId
);
var
categorydata
=
perforPer
A
ssessCategoryRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
CategoryId
);
if
(
categorydata
==
null
)
throw
new
PerformanceException
(
"当前考核类别不存在"
);
var
any
=
perforPerAssessSchemeRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
SchemeId
);
...
...
@@ -180,19 +349,19 @@ public ApiResponse<UpdateAssessSchemeRequest> SchemeUpdate(UpdateAssessSchemeReq
if
(
perforPerAssessSchemeRepository
.
Update
(
any
))
return
new
ApiResponse
<
UpdateAssessSchemeRequest
>(
ResponseType
.
OK
,
"修改成功"
);
else
return
new
ApiResponse
<
UpdateAssessSchemeRequest
>(
ResponseType
.
Fail
,
"修改失败"
);
}
//考核方案删除(允许批量删除,删除时要检查有没有外表引用,提示一起删除)
没写
//考核方案删除(允许批量删除,删除时要检查有没有外表引用,提示一起删除)
public
ApiResponse
SchemeDelete
(
BatchAssessSchemeRequest
request
)
{
var
temp
=
perforPerAssessSchemeItemsRepository
.
GetEntity
(
w
=>
request
.
SchemeId
.
Contains
(
w
.
SchemeId
));
if
(
temp
!=
null
||
temp
?.
Id
>
0
)
throw
new
PerformanceException
(
"请先删除方案下的指标"
);
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
)
public
string
ExcelDownload
(
List
<
Dictionary
<
string
,
object
>>
rows
,
string
name
,
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
)
{
...
...
@@ -214,11 +383,9 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
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
);
worksheet
.
SetValue
(
1
,
col
+
1
,
headList
[
col
].
Alias
);
}
for
(
int
col
=
0
;
col
<
headList
.
Count
;
col
++)
{
...
...
@@ -228,10 +395,9 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
var
low
=
temp
.
Keys
.
ToString
().
ToLower
();
var
value
=
temp
[
headList
[
col
].
Name
.
ToLower
()];
worksheet
.
Cells
[
row
+
3
,
col
+
1
].
Value
=
value
;
worksheet
.
Cells
[
row
+
2
,
col
+
1
].
Value
=
value
;
}
}
#
region
样式设置
for
(
int
row
=
worksheet
.
Dimension
.
Start
.
Row
;
row
<=
worksheet
.
Dimension
.
End
.
Row
;
row
++)
{
...
...
@@ -243,12 +409,8 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
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
.
View
.
FreezePanes
(
1
,
1
);
worksheet
.
Cells
.
AutoFitColumns
();
for
(
int
col
=
worksheet
.
Dimension
.
Start
.
Column
;
col
<=
worksheet
.
Dimension
.
End
.
Column
;
col
++)
{
...
...
@@ -259,35 +421,37 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
}
return
filepath
;
}
#
endregion
#
region
考核指标
// 考核指标项列表
public
ApiResponse
<
List
<
per_assess_scheme_items
>>
SchemeItemsList
(
int
schemeId
)
public
PagedList
<
per_assess_scheme_items
>
SchemeItemsList
(
QuerySchemeItemsList
query
)
{
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
);
}
var
result
=
perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
SchemeId
==
query
.
SchemeId
&&
t
.
AllotId
==
query
.
AllotId
).
OrderByDescending
(
w
=>
w
.
UpdateTime
).
ToList
();
result
=
result
.
Where
(
w
=>
(
string
.
IsNullOrEmpty
(
query
.
UnitType
)
||
w
.
UnitType
.
Contains
(
query
.
UnitType
))
&&
(
string
.
IsNullOrEmpty
(
query
.
AccountingUnit
)
||
w
.
AccountingUnit
.
Contains
(
query
.
AccountingUnit
))
&&
(
string
.
IsNullOrEmpty
(
query
.
ItemName2
)
||
w
.
ItemName2
.
Contains
(
query
.
ItemName2
))).
ToList
();
var
totalItems
=
result
.
FirstOrDefault
()
==
null
?
0
:
result
.
Count
();
if
(
query
.
PageSize
<=
0
)
query
.
PageSize
=
totalItems
;
var
pagedIssueSchemes
=
result
.
Skip
((
query
.
Page
-
1
)
*
query
.
PageSize
).
Take
(
query
.
PageSize
);
return
new
PagedList
<
per_assess_scheme_items
>(
result
,
totalItems
,
query
.
Page
,
query
.
PageSize
);
}
// 考核指标项新增
public
ApiResponse
<
AddAssessSchemeItemsRequest
>
SchemeItemsAdd
(
AddAssessSchemeItemsRequest
request
,
int
userid
)
{
var
scheme
=
perforPerAssessSchemeRepository
.
GetEntities
().
FirstOrDefault
(
w
=>
w
.
Id
==
request
.
SchemeId
);
var
cofAccounting
=
cofaccountingRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
request
.
AllotId
&&
w
.
AccountingUnit
==
request
.
AccountingUnit
&&
w
.
UnitType
==
request
.
UnitType
);
if
(
cofAccounting
==
null
)
throw
new
PerformanceException
(
"当前的核算组别或者核算单元错误"
);
var
scheme
=
perforPerAssessSchemeRepository
.
GetEntities
().
FirstOrDefault
(
w
=>
w
.
Id
==
request
.
SchemeId
&&
w
.
AllotId
==
request
.
AllotId
);
if
(
scheme
==
null
)
throw
new
PerformanceException
(
"当前考核方案有误,请刷新!"
);
var
categoryData
=
perforPerAssessSchemeItemsRepository
.
GetEntities
();
//var temp = categoryData.FirstOrDefault(w => w.ItemName1 == request.ItemName1
&& w.ItemName2 == request.ItemName2);
//
if (temp != null)
//
throw new PerformanceException("当前指标已存在");
var
temp
=
categoryData
.
FirstOrDefault
(
w
=>
w
.
SchemeId
==
request
.
SchemeId
&&
w
.
ItemName2
==
request
.
ItemName2
);
if
(
temp
!=
null
)
throw
new
PerformanceException
(
"当前指标已存在"
);
int
codeMax
=
0
;
if
(
categoryData
.
Select
(
w
=>
w
.
ItemCode
).
Any
())
if
(
categoryData
.
Select
(
w
=>
w
.
ItemCode
).
Any
())
codeMax
=
categoryData
.
Max
(
w
=>
int
.
Parse
(
w
.
ItemCode
.
Substring
(
1
)));
var
code
=
""
;
if
(
codeMax
<=
9999
)
{
...
...
@@ -298,9 +462,10 @@ public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd(AddAssessSchemeIt
code
=
"A"
+
(
codeMax
+
1
).
ToString
();
}
var
data
=
mapper
.
Map
<
per_assess_scheme_items
>(
request
);
data
.
AllotId
=
scheme
.
AllotId
;
data
.
AllotId
=
request
.
AllotId
;
data
.
AssessId
=
scheme
.
AssessId
;
data
.
ItemCode
=
code
;
data
.
UnitCode
=
cofAccounting
.
Code
;
data
.
CreateBy
=
userid
;
data
.
CreateTime
=
DateTime
.
Now
;
data
.
UpdateBy
=
userid
;
...
...
@@ -311,49 +476,565 @@ public ApiResponse<AddAssessSchemeItemsRequest> SchemeItemsAdd(AddAssessSchemeIt
// 考核指标项修改
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
);
var
cofAccounting
=
cofaccountingRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
request
.
AllotId
&&
w
.
AccountingUnit
==
request
.
AccountingUnit
&&
w
.
UnitType
==
request
.
UnitType
);
if
(
cofAccounting
==
null
)
throw
new
PerformanceException
(
"当前的核算组别或者核算单元错误"
);
var
any
=
perforPerAssessSchemeItemsRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
request
.
AllotId
&&
w
.
Id
==
request
.
SchemeItemsId
);
any
.
ItemName1
=
request
.
ItemName1
;
any
.
ItemName2
=
request
.
ItemName2
;
any
.
AssessScore
=
request
.
AssessScore
;
any
.
AssessNorm
=
request
.
AssessNorm
;
any
.
UnitCode
=
cofAccounting
.
Code
;
any
.
UnitType
=
request
.
UnitType
;
any
.
AccountingUnit
=
request
.
AccountingUnit
;
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
,
"删除失败"
);
}
//考核对象核算单元列表清单
public
ApiResponse
<
List
<
AssessSchemeTargetResponse
>>
SchemeItemsTargetList
(
QuerySchemeItemsTargetList
query
)
{
//查询全部的方案
var
schemes
=
perforPerAssessSchemeRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
query
.
AllotId
);
//查询方案的考核对象
var
schemeTargets
=
perforPerAssessSchemeTargetRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
query
.
AllotId
);
//查询当前方案的考核对象
var
currentTargers
=
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
stateOrders
=
new
int
[]
{
(
int
)
Assess
.
SchemeItemsTarget
.
未设置方案
,
(
int
)
Assess
.
SchemeItemsTarget
.
已设置其他方案
,
(
int
)
Assess
.
SchemeItemsTarget
.
已设置方案
};
var
result
=
new
List
<
AssessSchemeTargetResponse
>();
foreach
(
var
cof
in
cofaccounting
)
{
var
currentScheme
=
currentTargers
.
Where
(
w
=>
w
.
AccountingUnit
==
cof
.
AccountingUnit
&&
w
.
UnitType
==
cof
.
UnitType
).
FirstOrDefault
();
var
otherScheme
=
otherTargers
.
Where
(
w
=>
w
.
AccountingUnit
==
cof
.
AccountingUnit
&&
w
.
UnitType
==
cof
.
UnitType
).
FirstOrDefault
();
var
data
=
mapper
.
Map
<
AssessSchemeTargetResponse
>(
cof
);
if
(
currentScheme
?.
Id
>
0
)
{
data
.
TargetId
=
currentScheme
.
Id
;
data
.
CreateBy
=
currentScheme
.
CreateBy
;
data
.
CreateTime
=
currentScheme
.
CreateTime
;
data
.
UpdateBy
=
currentScheme
.
UpdateBy
;
data
.
UpdateTime
=
currentScheme
.
UpdateTime
;
data
.
SchemeName
=
schemes
.
Where
(
w
=>
w
.
Id
==
currentScheme
.
SchemeId
).
FirstOrDefault
().
SchemeName
;
data
.
SchemeState
=
(
int
)
Assess
.
SchemeItemsTarget
.
已设置方案
;
}
else
if
(
otherScheme
?.
Id
>
0
)
{
data
.
SchemeName
=
schemes
.
Where
(
w
=>
w
.
Id
==
otherScheme
.
SchemeId
).
FirstOrDefault
().
SchemeName
;
data
.
SchemeState
=
(
int
)
Assess
.
SchemeItemsTarget
.
已设置其他方案
;
}
else
{
data
.
SchemeName
=
"无"
;
data
.
SchemeState
=
(
int
)
Assess
.
SchemeItemsTarget
.
未设置方案
;
}
result
.
Add
(
data
);
}
if
((
int
)
query
.
SchemeItemsTarget
==
(
int
)
Assess
.
SchemeItemsTarget
.
未设置方案
)
result
=
result
.
Where
(
w
=>
w
.
SchemeState
==
(
int
)
query
.
SchemeItemsTarget
).
ToList
();
if
((
int
)
query
.
SchemeItemsTarget
==
(
int
)
Assess
.
SchemeItemsTarget
.
已设置方案
)
result
=
result
.
Where
(
w
=>
w
.
SchemeState
!=
(
int
)
Assess
.
SchemeItemsTarget
.
未设置方案
).
OrderByDescending
(
w
=>
w
.
UpdateTime
).
ToList
();
result
=
result
.
OrderBy
(
w
=>
Array
.
IndexOf
(
stateOrders
,
w
.
SchemeState
)).
ToList
();
return
new
ApiResponse
<
List
<
AssessSchemeTargetResponse
>>(
ResponseType
.
OK
,
result
);
}
// 考核对象核算单元保存
public
ApiResponse
SchemeItemsTargetSave
(
TargetAssessSchemeItemsRequest
request
,
int
userid
)
{
if
(!
request
.
SchemeTargetResponse
.
Any
())
throw
new
PerformanceException
(
"当前没有需要添加或者修改的内容"
);
var
schemes
=
perforPerAssessSchemeRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
SchemeId
);
foreach
(
var
item
in
request
.
SchemeTargetResponse
)
{
var
any
=
perforPerAssessSchemeTargetRepository
.
GetEntity
(
w
=>
w
.
Id
==
item
.
TargetId
);
if
(
any
!=
null
||
any
?.
Id
>
0
)
{
any
.
AllotId
=
schemes
.
AllotId
;
any
.
AssessId
=
schemes
.
AssessId
;
any
.
SchemeId
=
request
.
SchemeId
;
any
.
UpdateBy
=
userid
;
any
.
UpdateTime
=
DateTime
.
Now
;
perforPerAssessSchemeTargetRepository
.
Update
(
any
);
}
else
{
var
data
=
mapper
.
Map
<
per_assess_scheme_target
>(
item
);
data
.
AllotId
=
schemes
.
AllotId
;
data
.
AssessId
=
schemes
.
AssessId
;
data
.
SchemeId
=
request
.
SchemeId
;
data
.
UnitCode
=
item
.
Code
;
data
.
CreateBy
=
userid
;
data
.
CreateTime
=
DateTime
.
Now
;
data
.
UpdateBy
=
userid
;
data
.
UpdateTime
=
DateTime
.
Now
;
perforPerAssessSchemeTargetRepository
.
Add
(
data
);
}
}
return
new
ApiResponse
(
ResponseType
.
OK
);
}
public
ApiResponse
SchemeItemsTargetEdit
(
TargetSchemeItemsTargetEdit
edit
,
int
userid
)
{
var
cofAccounting
=
cofaccountingRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
edit
.
AllotId
&&
w
.
UnitType
==
edit
.
UnitType
&&
w
.
AccountingUnit
==
edit
.
AccountingUnit
);
if
(
cofAccounting
==
null
)
throw
new
PerformanceException
(
"当前的核算组别或者核算单元错误"
);
var
schemeTarget
=
perforPerAssessSchemeTargetRepository
.
GetEntity
(
w
=>
w
.
Id
==
edit
.
TargetId
&&
w
.
AllotId
==
edit
.
AllotId
);
if
(
schemeTarget
==
null
)
throw
new
PerformanceException
(
"考核对象未找到,请刷新后重试!"
);
schemeTarget
.
UnitCode
=
cofAccounting
.
Code
;
schemeTarget
.
UnitType
=
cofAccounting
.
UnitType
;
schemeTarget
.
AccountingUnit
=
edit
.
AccountingUnit
;
schemeTarget
.
UpdateBy
=
userid
;
schemeTarget
.
UpdateTime
=
DateTime
.
Now
;
if
(
perforPerAssessSchemeTargetRepository
.
Update
(
schemeTarget
))
return
new
ApiResponse
(
ResponseType
.
OK
,
"修改成功"
);
else
return
new
ApiResponse
(
ResponseType
.
Fail
,
"修改失败"
);
}
public
ApiResponse
SchemeItemsTargetDelete
(
TargetSchemeItemsTargetDelete
delete
)
{
var
issuedates
=
perforPerAssessSchemeTargetRepository
.
GetEntities
(
w
=>
delete
.
TargetId
.
Contains
(
w
.
Id
)).
ToList
();
if
(
perforPerAssessSchemeTargetRepository
.
RemoveRange
(
issuedates
.
ToArray
()))
return
new
ApiResponse
(
ResponseType
.
OK
,
"删除成功"
);
else
return
new
ApiResponse
(
ResponseType
.
Fail
,
"删除失败"
);
}
public
ApiResponse
SchemeItemsUpload
(
int
schemeId
,
int
allotId
,
IFormCollection
form
,
int
userid
)
{
var
file
=
((
FormFileCollection
)
form
.
Files
).
FirstOrDefault
();
if
(!
file
.
FileName
.
EndsWith
(
".xlsx"
))
throw
new
PerformanceException
(
"请检查是否为xlsx格式"
);
//查询全部的核算单元
var
cofaccountingdatas
=
cofaccountingRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
);
//查询指标
var
itemsDatas
=
perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
SchemeId
==
schemeId
);
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
if
(
allot
==
null
)
return
new
ApiResponse
(
ResponseType
.
Fail
,
"allotid不存在"
);
var
name
=
FileHelper
.
GetFileNameNoExtension
(
file
.
FileName
)
+
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmssfff"
);
var
ext
=
FileHelper
.
GetExtension
(
file
.
FileName
);
var
dpath
=
Path
.
Combine
(
evn
.
ContentRootPath
,
"Files"
,
$"
{
allot
.
HospitalId
}
"
,
$"
{
allot
.
Year
}{
allot
.
Month
.
ToString
().
PadLeft
(
2
,
'0'
)}
"
);
FileHelper
.
CreateDirectory
(
dpath
);
var
path
=
Path
.
Combine
(
dpath
,
$"
{
name
}{
ext
}
"
);
using
(
var
stream
=
file
.
OpenReadStream
())
{
byte
[]
bytes
=
new
byte
[
stream
.
Length
];
stream
.
Read
(
bytes
,
0
,
bytes
.
Length
);
if
(!
FileHelper
.
CreateFile
(
path
,
bytes
))
return
new
ApiResponse
(
ResponseType
.
Fail
,
$"
{
file
.
FileName
}
上传失败"
);
}
var
dt
=
Read
(
path
);
var
datas
=
ToListDictionary
(
dt
);
Tables
error
=
new
Tables
(
"行"
,
"指标编码"
,
"一级指标名称"
,
"二级指标名称"
,
"考核分值"
,
"考核标准"
,
"核算组别"
,
"考核负责部门"
,
"原因"
);
var
upload
=
new
List
<
AssessSchemeItemsUploadResponse
>();
foreach
(
var
item
in
datas
.
Select
((
value
,
i
)
=>
new
{
value
,
index
=
$"第
{
i
+
1
}
行"
}))
{
if
(
string
.
IsNullOrEmpty
(
string
.
Join
(
""
,
item
.
value
.
Values
)))
continue
;
var
eItemCode
=
item
.
value
.
GetOrAdd
(
"指标编码"
,
""
)?.
ToString
()
??
""
;
var
eItemName1
=
item
.
value
.
GetOrAdd
(
"一级指标名称"
,
""
)?.
ToString
()
??
""
;
var
eItemName2
=
item
.
value
.
GetOrAdd
(
"二级指标名称"
,
""
)?.
ToString
()
??
""
;
var
eAssessScore
=
item
.
value
.
GetOrAdd
(
"考核分值"
,
""
)?.
ToString
()
??
""
;
var
eAssessNorm
=
item
.
value
.
GetOrAdd
(
"考核标准"
,
""
)?.
ToString
()
??
""
;
var
eUnitType
=
item
.
value
.
GetOrAdd
(
"核算组别"
,
""
)?.
ToString
()
??
""
;
var
eAccountingUnit
=
item
.
value
.
GetOrAdd
(
"考核负责部门"
,
""
)?.
ToString
()
??
""
;
eAssessScore
=
String
.
IsNullOrEmpty
(
eAssessScore
)
?
"0"
:
eAssessScore
;
error
.
AddIf
(
string
.
IsNullOrEmpty
(
eItemName1
),
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"一级指标名称空值无效,请检查后重试!"
);
error
.
AddIf
(
string
.
IsNullOrEmpty
(
eItemName2
),
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"二级指标名称空值无效,请检查后重试!"
);
error
.
AddIf
(
string
.
IsNullOrEmpty
(
eAssessNorm
),
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"考核标准空值无效,请检查后重试!"
);
error
.
AddIf
(
string
.
IsNullOrEmpty
(
eUnitType
),
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"核算组别空值无效,请检查后重试!"
);
error
.
AddIf
(
string
.
IsNullOrEmpty
(
eAccountingUnit
),
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"考核负责部门空值无效,请检查后重试!"
);
error
.
AddIf
(!
int
.
TryParse
(
eAssessScore
,
out
int
eAScore
),
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"考核分值填写无效,请检查后重试!"
);
error
.
AddIf
(
eAScore
==
0
,
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"考核分值不能为0,请检查后重试!"
);
var
cofaccountingdata
=
cofaccountingdatas
.
FirstOrDefault
(
w
=>
w
.
AccountingUnit
==
eAccountingUnit
&&
w
.
UnitType
==
eUnitType
);
error
.
AddIf
(
cofaccountingdata
==
null
,
item
.
index
,
eItemName1
,
eItemName2
,
eAssessScore
,
eAssessNorm
,
eAccountingUnit
,
"未找到考核负责部门,请检查后重试!"
);
var
itemsData
=
itemsDatas
.
FirstOrDefault
(
w
=>
w
.
ItemCode
==
eItemCode
);
var
data
=
new
AssessSchemeItemsUploadResponse
();
if
(
itemsData
==
null
||
itemsData
?.
Id
<
0
)
{
data
=
new
AssessSchemeItemsUploadResponse
()
{
ItemName1
=
eItemName1
,
ItemName2
=
eItemName2
,
AssessScore
=
eAScore
,
AssessNorm
=
eAssessNorm
,
UnitCode
=
cofaccountingdatas
.
FirstOrDefault
(
w
=>
w
.
AccountingUnit
==
eAccountingUnit
&&
w
.
UnitType
==
eUnitType
).
Code
,
UnitType
=
eUnitType
,
AccountingUnit
=
eAccountingUnit
,
OperationType
=
(
int
)
Attendance
.
OperationType
.
新增
};
}
else
{
data
=
new
AssessSchemeItemsUploadResponse
()
{
ItemCode
=
itemsData
.
ItemCode
,
ItemName1
=
eItemName1
,
ItemName2
=
eItemName2
,
AssessScore
=
eAScore
,
AssessNorm
=
eAssessNorm
,
UnitCode
=
cofaccountingdatas
.
FirstOrDefault
(
w
=>
w
.
AccountingUnit
==
eAccountingUnit
&&
w
.
UnitType
==
eUnitType
).
Code
,
UnitType
=
eUnitType
,
AccountingUnit
=
eAccountingUnit
,
OperationType
=
(
int
)
Attendance
.
OperationType
.
修改
};
}
upload
.
Add
(
data
);
}
if
(
error
.
Any
())
return
new
ApiResponse
(
ResponseType
.
Error
,
"操作被拒绝,详细请看更多信息"
,
error
);
saveUploadResult
(
upload
,
schemeId
,
allotId
,
userid
);
return
new
ApiResponse
(
ResponseType
.
OK
);
}
public
ApiResponse
saveUploadResult
(
List
<
AssessSchemeItemsUploadResponse
>
upload
,
int
schemeId
,
int
allotId
,
int
userid
)
{
var
categoryData
=
perforPerAssessSchemeRepository
.
GetEntity
(
t
=>
t
.
Id
==
schemeId
);
if
(
categoryData
==
null
)
throw
new
PerformanceException
(
"方案有误,请刷新重试!"
);
var
itemsDatas
=
perforPerAssessSchemeItemsRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
);
var
dataAdds
=
upload
.
Where
(
w
=>
w
.
OperationType
==
(
int
)
Attendance
.
OperationType
.
新增
).
ToList
();
int
sort
=
0
;
dataAdds
.
ForEach
(
t
=>
{
t
.
sort
=
sort
++;
int
codeMax
=
0
;
if
(
itemsDatas
.
Select
(
w
=>
w
.
ItemCode
).
Any
())
codeMax
=
itemsDatas
.
Max
(
w
=>
int
.
Parse
(
w
.
ItemCode
.
Substring
(
1
)));
var
code
=
""
;
if
(
codeMax
<=
9999
)
{
code
=
"A"
+
(
codeMax
+
sort
).
ToString
(
"D4"
);
}
else
{
code
=
"A"
+
(
codeMax
+
sort
).
ToString
();
}
t
.
ItemCode
=
code
;
});
var
dataUpdates
=
upload
.
Where
(
w
=>
w
.
OperationType
==
(
int
)
Attendance
.
OperationType
.
修改
).
ToList
();
//删除
var
dataDeletes
=
from
temp1
in
itemsDatas
join
temp2
in
dataUpdates
on
temp1
.
ItemCode
equals
temp2
.
ItemCode
into
tempJoin
from
temp2
in
tempJoin
.
DefaultIfEmpty
()
where
temp2
==
null
select
temp1
;
if
(
dataAdds
.
Any
())
{
var
inserts
=
dataAdds
.
Select
(
item
=>
{
return
new
per_assess_scheme_items
()
{
AllotId
=
allotId
,
AssessId
=
categoryData
.
AssessId
,
SchemeId
=
schemeId
,
ItemCode
=
item
.
ItemCode
,
ItemName1
=
item
.
ItemName1
,
ItemName2
=
item
.
ItemName2
,
AssessScore
=
item
.
AssessScore
,
AssessNorm
=
item
.
AssessNorm
,
UnitCode
=
item
.
UnitCode
,
UnitType
=
item
.
UnitType
,
AccountingUnit
=
item
.
AccountingUnit
,
CreateBy
=
userid
,
CreateTime
=
DateTime
.
Now
,
UpdateBy
=
userid
,
UpdateTime
=
DateTime
.
Now
,
};
}).
ToList
();
perforPerAssessSchemeItemsRepository
.
AddRange
(
inserts
.
ToArray
());
}
if
(
dataUpdates
.
Any
())
{
List
<
per_assess_scheme_items
>
itemsdatas
=
new
List
<
per_assess_scheme_items
>();
foreach
(
var
item
in
dataUpdates
)
{
var
itemsData
=
itemsDatas
.
FirstOrDefault
(
w
=>
w
.
ItemCode
==
item
.
ItemCode
);
if
(
itemsData
==
null
)
continue
;
itemsData
.
ItemCode
=
item
.
ItemCode
;
itemsData
.
ItemName1
=
item
.
ItemName1
;
itemsData
.
ItemName2
=
item
.
ItemName2
;
itemsData
.
AssessScore
=
item
.
AssessScore
;
itemsData
.
AssessNorm
=
item
.
AssessNorm
;
itemsData
.
UnitType
=
item
.
UnitType
;
itemsData
.
AccountingUnit
=
item
.
AccountingUnit
;
itemsData
.
UpdateBy
=
userid
;
itemsData
.
UpdateTime
=
DateTime
.
Now
;
itemsdatas
.
Add
(
itemsData
);
}
perforPerAssessSchemeItemsRepository
.
UpdateRange
(
itemsdatas
.
ToArray
());
}
if
(
dataDeletes
.
Any
())
{
perforPerAssessSchemeItemsRepository
.
RemoveRange
(
dataDeletes
.
ToArray
());
}
return
new
ApiResponse
(
ResponseType
.
OK
);
}
#
endregion
#
region
核算单元上报考核结果
public
ApiResponse
<
List
<
AssessSchemeEnterListResponse
>>
SchemeEnterList
(
int
allotId
,
int
userid
)
{
var
issueSchemes
=
perforPerAssessIssueSchemeRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
);
//当角色对应时过滤
var
userInfo
=
_userRepository
.
GetUser
(
userid
);
if
(
userInfo
?.
User
==
null
)
throw
new
NotImplementedException
(
"当前用户不存在"
);
if
(
userInfo
?.
URole
==
null
)
throw
new
NotImplementedException
(
"当前用户暂未分配角色"
);
var
unitTypes
=
UnitTypeUtil
.
GetMaps
(
userInfo
?.
URole
.
Type
??
0
);
if
(
unitTypes
?.
Any
()
==
true
)
issueSchemes
=
issueSchemes
.
Where
(
w
=>
w
.
AccountingUnit
==
userInfo
.
User
.
Department
&&
UnitTypeUtil
.
Is
(
w
.
UnitType
,
unitTypes
)).
ToList
();
var
items
=
issueSchemes
.
GroupBy
(
w
=>
new
{
w
.
AssessId
,
w
.
AssessName
,
w
.
ItemId
,
w
.
ItemName2
,
w
.
UnitType
,
w
.
AccountingUnit
})
.
Select
(
w
=>
new
AssessSchemeEnterListResponse
{
AssessId
=
w
.
Key
.
AssessId
,
AssessName
=
w
.
Key
.
AssessName
,
UnitType
=
w
.
Key
.
UnitType
,
AccountingUnit
=
w
.
Key
.
AccountingUnit
,
ItemId
=
w
.
Key
.
ItemId
,
ItemName2
=
w
.
Key
.
ItemName2
,
Count
=
w
.
Count
(),
ConfirmCount
=
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
.
待审核
)
}).
ToList
();
foreach
(
var
item
in
items
)
{
item
.
State
=
(
int
)
Assess
.
AssessState
.
未提交
;
if
(
item
.
AwaitCount
>
0
)
item
.
State
=
(
int
)
Assess
.
AssessState
.
待审核
;
else
if
(
item
.
RejectCount
>
0
)
item
.
State
=
(
int
)
Assess
.
AssessState
.
驳回
;
else
if
(
item
.
ConfirmCount
==
item
.
Count
)
item
.
State
=
(
int
)
Assess
.
AssessState
.
审核通过
;
}
return
new
ApiResponse
<
List
<
AssessSchemeEnterListResponse
>>(
ResponseType
.
OK
,
items
);
}
public
PagedList
<
AssessSchemeEnterDetaiListResponse
>
SchemeEnterDetailList
(
QuerySchemeEnterDetailList
query
)
{
var
issueSchemes
=
perforPerAssessIssueSchemeRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
query
.
AllotId
&&
w
.
ItemId
==
query
.
ItemId
);
issueSchemes
=
issueSchemes
.
Where
(
w
=>
(
string
.
IsNullOrEmpty
(
query
.
TargetUnitType
)
||
w
.
TargetUnitType
.
Contains
(
query
.
TargetUnitType
))
&&
(
string
.
IsNullOrEmpty
(
query
.
TargetAccountingUnit
)
||
w
.
AccountingUnit
.
Contains
(
query
.
TargetAccountingUnit
))
&&
(
string
.
IsNullOrEmpty
(
query
.
ItemName2
)
||
w
.
ItemName2
.
Contains
(
query
.
ItemName2
))
).
ToList
();
var
stateOrders
=
new
int
[]
{
(
int
)
Assess
.
AssessState
.
待审核
,
(
int
)
Assess
.
AssessState
.
驳回
,
(
int
)
Assess
.
AssessState
.
审核通过
,
(
int
)
Assess
.
AssessState
.
未提交
};
var
totalItems
=
issueSchemes
.
FirstOrDefault
()
==
null
?
0
:
issueSchemes
.
Count
();
if
(
query
.
PageSize
<=
0
)
query
.
PageSize
=
totalItems
;
var
pagedIssueSchemes
=
issueSchemes
.
Skip
((
query
.
Page
-
1
)
*
query
.
PageSize
).
Take
(
query
.
PageSize
);
var
datas
=
mapper
.
Map
<
List
<
AssessSchemeEnterDetaiListResponse
>>(
pagedIssueSchemes
);
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
)
{
var
issueSchemes
=
perforPerAssessIssueSchemeRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
audit
.
AllotId
&&
audit
.
IssueId
.
Contains
(
w
.
Id
));
var
temp
=
issueSchemes
.
FirstOrDefault
(
w
=>
w
.
State
==
(
int
)
Assess
.
AssessState
.
未提交
);
if
(
temp
!=
null
||
temp
?.
Id
>
0
)
throw
new
PerformanceException
(
"未提交的数据无法审核"
);
foreach
(
var
issueScheme
in
issueSchemes
)
{
issueScheme
.
State
=
(
int
)
audit
.
State
;
issueScheme
.
AuditBy
=
realName
;
issueScheme
.
AuditTime
=
DateTime
.
Now
;
}
perforPerAssessIssueSchemeRepository
.
UpdateRange
(
issueSchemes
.
ToArray
());
return
new
ApiResponse
(
ResponseType
.
OK
,
"修改成功"
);
}
public
ApiResponse
SchemeEnterEdit
(
EditAssessSchemeEnterRequest
request
,
int
userid
)
{
var
issueSchemes
=
perforPerAssessIssueSchemeRepository
.
GetEntity
(
w
=>
w
.
Id
==
request
.
IssueId
);
if
(
issueSchemes
==
null
)
throw
new
PerformanceException
(
"未找到需要修改的数据,请刷新"
);
issueSchemes
.
Score
=
request
.
Score
;
issueSchemes
.
ScoreRemark
=
request
.
ScoreRemark
;
issueSchemes
.
UpdateBy
=
userid
;
issueSchemes
.
UpdateTime
=
DateTime
.
Now
;
if
(
perforPerAssessIssueSchemeRepository
.
Update
(
issueSchemes
))
return
new
ApiResponse
(
ResponseType
.
OK
,
"修改成功"
);
else
return
new
ApiResponse
(
ResponseType
.
Fail
,
"修改失败"
);
}
public
ApiResponse
SchemeEnterSubmit
(
int
allotId
,
int
itemId
,
int
userid
)
{
var
issueSchemes
=
perforPerAssessIssueSchemeRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
&&
w
.
ItemId
==
itemId
);
if
(!
issueSchemes
.
Any
())
throw
new
PerformanceException
(
"未找到需要提交的数据,请稍后在试"
);
foreach
(
var
item
in
issueSchemes
)
{
item
.
State
=
(
int
)
Assess
.
AssessState
.
待审核
;
item
.
SubmitBy
=
userid
;
item
.
SubmitTime
=
DateTime
.
Now
;
}
if
(
perforPerAssessIssueSchemeRepository
.
UpdateRange
(
issueSchemes
.
ToArray
()))
return
new
ApiResponse
(
ResponseType
.
OK
,
"修改成功"
);
else
return
new
ApiResponse
(
ResponseType
.
Fail
,
"修改失败"
);
}
public
ApiResponse
SchemeEnterUpload
(
int
itemId
,
IFormCollection
form
,
int
userid
)
{
var
file
=
((
FormFileCollection
)
form
.
Files
).
FirstOrDefault
();
if
(!
file
.
FileName
.
EndsWith
(
".xlsx"
))
throw
new
PerformanceException
(
"请检查是否为xlsx格式"
);
//查询指标
var
itemsDatas
=
perforPerAssessSchemeItemsRepository
.
GetEntity
(
t
=>
t
.
Id
==
itemId
);
//查询下发结果
var
issueDatas
=
perforPerAssessIssueSchemeRepository
.
GetEntities
(
w
=>
w
.
ItemId
==
itemId
);
var
allot
=
perforPerallotRepository
.
GetEntity
(
w
=>
w
.
ID
==
itemsDatas
.
AllotId
);
if
(
allot
==
null
)
return
new
ApiResponse
(
ResponseType
.
Fail
,
"allotid不存在"
);
var
name
=
FileHelper
.
GetFileNameNoExtension
(
file
.
FileName
)
+
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmssfff"
);
var
ext
=
FileHelper
.
GetExtension
(
file
.
FileName
);
var
dpath
=
Path
.
Combine
(
evn
.
ContentRootPath
,
"Files"
,
$"
{
allot
.
HospitalId
}
"
,
$"
{
allot
.
Year
}{
allot
.
Month
.
ToString
().
PadLeft
(
2
,
'0'
)}
"
);
FileHelper
.
CreateDirectory
(
dpath
);
var
path
=
Path
.
Combine
(
dpath
,
$"
{
name
}{
ext
}
"
);
using
(
var
stream
=
file
.
OpenReadStream
())
{
byte
[]
bytes
=
new
byte
[
stream
.
Length
];
stream
.
Read
(
bytes
,
0
,
bytes
.
Length
);
if
(!
FileHelper
.
CreateFile
(
path
,
bytes
))
return
new
ApiResponse
(
ResponseType
.
Fail
,
$"
{
file
.
FileName
}
上传失败"
);
}
var
dt
=
Read
(
path
);
var
datas
=
ToListDictionary
(
dt
);
Tables
error
=
new
Tables
(
"行"
,
"核算单元"
,
"核算组别"
,
"一级指标名称"
,
"考核项目"
,
"考核分值"
,
"考核扣分"
,
"扣分原因"
,
"原因"
);
var
issues
=
new
List
<
per_assess_issue_scheme
>();
foreach
(
var
item
in
datas
.
Select
((
value
,
i
)
=>
new
{
value
,
index
=
$"第
{
i
+
1
}
行"
}))
{
if
(
string
.
IsNullOrEmpty
(
string
.
Join
(
""
,
item
.
value
.
Values
)))
continue
;
var
eTargetAccountingUnit
=
item
.
value
.
GetOrAdd
(
"核算单元"
,
""
)?.
ToString
()
??
""
;
var
eTargetUnitType
=
item
.
value
.
GetOrAdd
(
"核算组别"
,
""
)?.
ToString
()
??
""
;
var
eItemName1
=
item
.
value
.
GetOrAdd
(
"一级指标名称"
,
""
)?.
ToString
()
??
""
;
var
eItemName2
=
item
.
value
.
GetOrAdd
(
"考核项目"
,
""
)?.
ToString
()
??
""
;
var
eAssessScore
=
item
.
value
.
GetOrAdd
(
"考核分值"
,
""
)?.
ToString
()
??
""
;
var
eScore
=
item
.
value
.
GetOrAdd
(
"考核扣分"
,
""
)?.
ToString
()
??
""
;
var
eScoreRemark
=
item
.
value
.
GetOrAdd
(
"扣分原因"
,
""
)?.
ToString
()
??
""
;
eScore
=
String
.
IsNullOrEmpty
(
eScore
)
?
"0"
:
eScore
;
eAssessScore
=
String
.
IsNullOrEmpty
(
eAssessScore
)
?
"0"
:
eAssessScore
;
int
.
TryParse
(
eAssessScore
,
out
int
eAScore
);
error
.
AddIf
(
string
.
IsNullOrEmpty
(
eTargetAccountingUnit
),
item
.
index
,
eTargetAccountingUnit
,
eTargetUnitType
,
eItemName1
,
eItemName2
,
eAssessScore
,
eScore
,
eScoreRemark
,
"核算单元空值无效,请检查后重试!"
);
error
.
AddIf
(
string
.
IsNullOrEmpty
(
eTargetUnitType
),
item
.
index
,
eTargetAccountingUnit
,
eTargetUnitType
,
eItemName1
,
eItemName2
,
eAssessScore
,
eScore
,
eScoreRemark
,
"核算单元空值无效,请检查后重试!"
);
error
.
AddIf
(!
int
.
TryParse
(
eScore
,
out
int
escore
),
item
.
index
,
eTargetAccountingUnit
,
eTargetUnitType
,
eItemName1
,
eItemName2
,
eAssessScore
,
eScore
,
eScoreRemark
,
"考核扣分值无效,请检查后重试!"
);
error
.
AddIf
(
escore
>
eAScore
,
item
.
index
,
eTargetAccountingUnit
,
eTargetUnitType
,
eItemName1
,
eItemName2
,
eAssessScore
,
eScore
,
eScoreRemark
,
"考核扣分大于考核分值,请检查后重试!"
);
var
issueData
=
issueDatas
.
FirstOrDefault
(
w
=>
w
.
ItemId
==
itemId
&&
w
.
TargetAccountingUnit
==
eTargetAccountingUnit
&&
w
.
TargetUnitType
==
eTargetUnitType
);
error
.
AddIf
(
issueData
==
null
,
item
.
index
,
eTargetAccountingUnit
,
eTargetUnitType
,
eItemName1
,
eItemName2
,
eAssessScore
,
eScore
,
eScoreRemark
,
"未找到部门,请检查后重试!"
);
if
(
issueData
==
null
)
continue
;
issueData
.
Score
=
escore
;
issueData
.
ScoreRemark
=
eScoreRemark
;
issueData
.
UpdateBy
=
userid
;
issueData
.
UpdateTime
=
DateTime
.
Now
;
issues
.
Add
(
issueData
);
}
if
(
error
.
Any
())
return
new
ApiResponse
(
ResponseType
.
Error
,
"操作被拒绝,详细请看更多信息"
,
error
);
if
(
issues
.
Any
())
perforPerAssessIssueSchemeRepository
.
UpdateRange
(
issues
.
ToArray
());
return
new
ApiResponse
(
ResponseType
.
OK
);
}
#
endregion
public
static
DataTable
Read
(
string
path
,
int
startRow
=
1
,
int
startCol
=
1
)
{
using
ExcelPackage
package
=
new
ExcelPackage
(
new
FileInfo
(
path
));
// 选择工作表
ExcelWorksheet
worksheet
=
package
.
Workbook
.
Worksheets
[
0
];
var
dt
=
new
DataTable
(
worksheet
.
Name
);
for
(
int
i
=
startCol
;
i
<=
worksheet
.
Dimension
.
End
.
Column
;
i
++)
{
dt
.
Columns
.
Add
(
worksheet
.
Cells
[
startRow
,
i
].
Value
.
ToString
());
}
for
(
int
i
=
startRow
+
1
;
i
<=
worksheet
.
Dimension
.
End
.
Row
;
i
++)
{
var
row
=
dt
.
NewRow
();
for
(
int
j
=
startCol
;
j
<=
worksheet
.
Dimension
.
End
.
Column
;
j
++)
{
row
[
j
-
startCol
]
=
worksheet
.
Cells
[
i
,
j
].
Value
;
}
dt
.
Rows
.
Add
(
row
);
}
return
dt
;
}
public
static
List
<
Dictionary
<
string
,
object
>>
ToListDictionary
(
DataTable
dt
)
{
List
<
Dictionary
<
string
,
object
>>
list
=
new
List
<
Dictionary
<
string
,
object
>>();
foreach
(
DataRow
dr
in
dt
.
Rows
)
{
Dictionary
<
string
,
object
>
dic
=
new
Dictionary
<
string
,
object
>();
foreach
(
DataColumn
dc
in
dt
.
Columns
)
{
dic
.
Add
(
dc
.
ColumnName
,
dr
[
dc
.
ColumnName
]);
}
list
.
Add
(
dic
);
}
return
list
;
}
/// <summary>
/// 表格展示
/// </summary>
public
class
Tables
:
List
<
Dictionary
<
string
,
object
>>
{
private
readonly
string
[]
Cols
;
/// ctor
public
Tables
(
params
string
[]
cols
)
{
if
(
cols
.
Length
==
0
)
throw
new
ArgumentNullException
(
nameof
(
cols
));
if
(
cols
.
Any
(
w
=>
string
.
IsNullOrEmpty
(
w
)))
throw
new
ArgumentException
(
$"
{
nameof
(
cols
)}
存在空列名"
);
if
(
cols
.
Distinct
().
Count
()
<
cols
.
Length
)
throw
new
ArgumentException
(
$"
{
nameof
(
cols
)}
列名重复"
);
Cols
=
cols
;
}
/// <summary>
/// 添加行
/// </summary>
/// <param name="values">需要和Colums保持个数一致</param>
/// <exception cref="ArgumentNullException"></exception>
public
void
Add
(
params
string
[]
values
)
{
var
row
=
new
Dictionary
<
string
,
object
>();
for
(
int
i
=
0
;
i
<
Cols
.
Length
;
i
++)
{
row
.
Add
(
Cols
[
i
],
values
.
Length
>
i
?
values
[
i
]
:
""
);
}
Add
(
row
);
}
/// <summary>
/// 添加行
/// </summary>
/// <param name="right"></param>
/// <param name="values">需要和Colums保持个数一致</param>
/// <exception cref="ArgumentNullException"></exception>
public
void
AddIf
(
bool
right
,
params
string
[]
values
)
{
if
(
right
)
{
var
row
=
new
Dictionary
<
string
,
object
>();
for
(
int
i
=
0
;
i
<
Cols
.
Length
;
i
++)
{
row
.
Add
(
Cols
[
i
],
values
.
Length
>
i
?
values
[
i
]
:
""
);
}
Add
(
row
);
}
}
}
}
}
performance/Performance.Services/AttendanceService.cs
View file @
8c3a6172
...
...
@@ -1205,7 +1205,5 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,
(
nameof
(
RecordAttendcance
.
BegDate
),
"开始时间"
,
t
=>
t
.
BegDate
),
(
nameof
(
RecordAttendcance
.
EndDate
),
"结束时间"
,
t
=>
t
.
EndDate
),
};
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment