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
6ec380e1
Commit
6ec380e1
authored
Apr 19, 2019
by
李承祥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
绩效考核 -- 模板列表及列头,科室
parent
e36a4954
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
261 additions
and
9 deletions
+261
-9
performance/Performance.Api/Controllers/AssessController.cs
+32
-8
performance/Performance.DtoModels/Request/AssessRequest.cs
+6
-0
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
+4
-0
performance/Performance.EntityModels/Entity/as_tempassess.cs
+34
-0
performance/Performance.EntityModels/Entity/as_tempcolumns.cs
+44
-0
performance/Performance.Repository/Repository/PerforAstempassessRepository.cs
+20
-0
performance/Performance.Repository/Repository/PerforAstempcolumnsRepository.cs
+20
-0
performance/Performance.Services/AssessService.cs
+101
-1
No files found.
performance/Performance.Api/Controllers/AssessController.cs
View file @
6ec380e1
...
...
@@ -61,14 +61,14 @@ public ApiResponse DelAssess([CustomizeValidator(RuleSet = "Del"), FromBody]Asse
return
assessService
.
DelAssess
(
request
.
AssessID
);
}
//
//
获取所有科室列表
//
[HttpPost]
//
[Route("departmentlist")]
//public ApiResponse DepartmentList([FromBody]SetDepartment
Request request)
//
{
// var department = _userService.Department(request.Hospital
ID);
// return new ApiResponse<List<TitleValue>>
(ResponseType.OK, "ok", department);
//
}
//获取所有科室列表
[
HttpPost
]
[
Route
(
"departmentlist"
)]
public
ApiResponse
DepartmentList
([
CustomizeValidator
(
RuleSet
=
"List"
),
FromBody
]
Assess
Request
request
)
{
var
department
=
assessService
.
Department
(
request
.
Allot
ID
);
return
new
ApiResponse
(
ResponseType
.
OK
,
"ok"
,
department
);
}
//设置科室考核分类
[
HttpPost
]
...
...
@@ -125,5 +125,29 @@ public ApiResponse EditAssessData([CustomizeValidator(RuleSet = "Edit"), FromBod
{
return
assessService
.
EditAssessData
(
request
.
AssessRow
);
}
//考核模版列表
[
HttpPost
]
[
Route
(
"tempassesslist"
)]
public
ApiResponse
TempAssessList
([
FromBody
]
ApiRequest
request
)
{
return
assessService
.
TempAssessList
();
}
//模板列头列表
[
HttpPost
]
[
Route
(
"tempcolumnlist"
)]
public
ApiResponse
TempColumnList
([
CustomizeValidator
(
RuleSet
=
"List"
),
FromBody
]
AssessColumnRequest
request
)
{
return
assessService
.
TempColumnList
(
request
.
AssessID
);
}
//使用考核模版
[
HttpPost
]
[
Route
(
"usetemplate"
)]
public
ApiResponse
UseTemplate
([
CustomizeValidator
(
RuleSet
=
"Use"
),
FromBody
]
AssessRequest
request
)
{
return
assessService
.
UseTemplate
(
request
.
AllotID
,
request
.
AssessID
);
}
}
}
performance/Performance.DtoModels/Request/AssessRequest.cs
View file @
6ec380e1
...
...
@@ -37,6 +37,12 @@ public AssessRequestValidator()
{
RuleFor
(
t
=>
t
.
AllotID
).
NotNull
().
NotEmpty
();
});
RuleSet
(
"Use"
,
()
=>
{
RuleFor
(
t
=>
t
.
AllotID
).
NotNull
().
NotEmpty
();
RuleFor
(
t
=>
t
.
AssessID
).
NotNull
().
NotEmpty
();
});
}
}
}
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
View file @
6ec380e1
...
...
@@ -26,6 +26,10 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public
virtual
DbSet
<
as_columns
>
as_columns
{
get
;
set
;
}
/// <summary> 考核数据 <summary>
public
virtual
DbSet
<
as_data
>
as_data
{
get
;
set
;
}
/// <summary> 考核类别 <summary>
public
virtual
DbSet
<
as_tempassess
>
as_tempassess
{
get
;
set
;
}
/// <summary> 考核列头 <summary>
public
virtual
DbSet
<
as_tempcolumns
>
as_tempcolumns
{
get
;
set
;
}
/// <summary> <summary>
public
virtual
DbSet
<
cof_again
>
cof_again
{
get
;
set
;
}
/// <summary> 上传excel文件校验配置 <summary>
...
...
performance/Performance.EntityModels/Entity/as_tempassess.cs
0 → 100644
View file @
6ec380e1
//-----------------------------------------------------------------------
// <copyright file=" as_tempassess.cs">
// * FileName: 考核类别.cs
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// 考核类别
/// </summary>
[
Table
(
"as_tempassess"
)]
public
class
as_tempassess
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 绩效ID
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
/// 考核类别
/// </summary>
public
string
AssessName
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/as_tempcolumns.cs
0 → 100644
View file @
6ec380e1
//-----------------------------------------------------------------------
// <copyright file=" as_tempcolumns.cs">
// * FileName: 考核列头.cs
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// 考核列头
/// </summary>
[
Table
(
"as_tempcolumns"
)]
public
class
as_tempcolumns
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 考核类别
/// </summary>
public
Nullable
<
int
>
AssessID
{
get
;
set
;
}
/// <summary>
/// 父级列头ID
/// </summary>
public
Nullable
<
int
>
ParentID
{
get
;
set
;
}
/// <summary>
/// 列头名称
/// </summary>
public
string
ColumnName
{
get
;
set
;
}
/// <summary>
/// 排序
/// </summary>
public
Nullable
<
int
>
Sort
{
get
;
set
;
}
}
}
performance/Performance.Repository/Repository/PerforAstempassessRepository.cs
0 → 100644
View file @
6ec380e1
//-----------------------------------------------------------------------
// <copyright file=" as_tempassess.cs">
// * FileName: as_tempassess.cs
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
Performance.EntityModels
;
namespace
Performance.Repository
{
/// <summary>
/// as_tempassess Repository
/// </summary>
public
partial
class
PerforAstempassessRepository
:
PerforRepository
<
as_tempassess
>
{
public
PerforAstempassessRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
}
performance/Performance.Repository/Repository/PerforAstempcolumnsRepository.cs
0 → 100644
View file @
6ec380e1
//-----------------------------------------------------------------------
// <copyright file=" as_tempcolumns.cs">
// * FileName: as_tempcolumns.cs
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
Performance.EntityModels
;
namespace
Performance.Repository
{
/// <summary>
/// as_tempcolumns Repository
/// </summary>
public
partial
class
PerforAstempcolumnsRepository
:
PerforRepository
<
as_tempcolumns
>
{
public
PerforAstempcolumnsRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
}
performance/Performance.Services/AssessService.cs
View file @
6ec380e1
...
...
@@ -14,13 +14,25 @@ public class AssessService : IAutoInjection
private
PerforAsassessRepository
perforAsassessRepository
;
private
PerforAsdataRepository
perforAsdataRepository
;
private
PerforAscolumnsRepository
perforAscolumnsRepository
;
private
PerforAstempassessRepository
perforAstempassessRepository
;
private
PerforAstempcolumnsRepository
perforAstempcolumnsRepository
;
private
PerforPerallotRepository
perforPerallotRepository
;
private
PerforImemployeeRepository
perforImemployeeRepository
;
public
AssessService
(
PerforAsassessRepository
perforAsassessRepository
,
PerforAsdataRepository
perforAsdataRepository
,
PerforAscolumnsRepository
perforAscolumnsRepository
)
PerforAscolumnsRepository
perforAscolumnsRepository
,
PerforAstempassessRepository
perforAstempassessRepository
,
PerforAstempcolumnsRepository
perforAstempcolumnsRepository
,
PerforPerallotRepository
perforPerallotRepository
,
PerforImemployeeRepository
perforImemployeeRepository
)
{
this
.
perforAsassessRepository
=
perforAsassessRepository
;
this
.
perforAsdataRepository
=
perforAsdataRepository
;
this
.
perforAscolumnsRepository
=
perforAscolumnsRepository
;
this
.
perforAstempassessRepository
=
perforAstempassessRepository
;
this
.
perforAstempcolumnsRepository
=
perforAstempcolumnsRepository
;
this
.
perforPerallotRepository
=
perforPerallotRepository
;
this
.
perforImemployeeRepository
=
perforImemployeeRepository
;
}
#
region
考核类别
...
...
@@ -80,6 +92,9 @@ public ApiResponse DelAssess(int assessID)
return
new
ApiResponse
(
ResponseType
.
Fail
,
"考核类别ID无效"
);
var
result
=
perforAsassessRepository
.
Remove
(
entity
);
var
columns
=
perforAscolumnsRepository
.
GetEntities
(
t
=>
t
.
AssessID
==
assessID
);
if
(
result
&&
columns
!=
null
&&
columns
.
Count
>
0
)
result
=
perforAscolumnsRepository
.
RemoveRange
(
columns
.
ToArray
());
return
result
?
new
ApiResponse
(
ResponseType
.
OK
)
:
new
ApiResponse
(
ResponseType
.
Fail
);
}
...
...
@@ -233,5 +248,90 @@ public ApiResponse EditAssessData(List<AssessRow> request)
return
new
ApiResponse
(
ResponseType
.
OK
);
}
#
endregion
#
region
模版
/// <summary>
/// 考核模版列表
/// </summary>
/// <param name="allotID"></param>
/// <returns></returns>
public
ApiResponse
TempAssessList
()
{
var
list
=
perforAstempassessRepository
.
GetEntities
();
return
new
ApiResponse
(
ResponseType
.
OK
,
list
);
}
/// <summary>
/// 模版列头列表
/// </summary>
/// <param name="assessID"></param>
/// <returns></returns>
public
ApiResponse
TempColumnList
(
int
assessID
)
{
var
list
=
perforAstempcolumnsRepository
.
GetEntities
(
t
=>
t
.
AssessID
==
assessID
)?.
OrderBy
(
t
=>
t
.
ParentID
).
ThenBy
(
t
=>
t
.
Sort
);
return
new
ApiResponse
(
ResponseType
.
OK
,
list
);
}
/// <summary>
/// 使用模版
/// </summary>
/// <returns></returns>
public
ApiResponse
UseTemplate
(
int
allotID
,
int
assessID
)
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotID
);
var
temp
=
perforAstempassessRepository
.
GetEntity
(
t
=>
t
.
ID
==
assessID
);
if
(
temp
!=
null
&&
allot
!=
null
)
{
string
assessName
=
$"
{
temp
.
AssessName
}
A
{
allotID
}
-
{
allot
.
Year
}
年
{
allot
.
Month
}
月"
;
var
assess
=
perforAsassessRepository
.
GetEntity
(
t
=>
t
.
AssessName
==
assessName
&&
t
.
AllotID
==
allotID
);
if
(
assess
!=
null
)
return
new
ApiResponse
(
ResponseType
.
Fail
,
"该模版已经被使用"
);
assess
=
new
as_assess
{
AllotID
=
allotID
,
AssessName
=
assessName
};
//copy模版信息
var
result
=
perforAsassessRepository
.
Add
(
assess
);
var
tempColumns
=
perforAstempcolumnsRepository
.
GetEntities
(
t
=>
t
.
AssessID
==
assessID
);
var
columns
=
tempColumns
?.
Select
(
t
=>
new
as_columns
{
AssessID
=
assess
.
ID
,
ParentID
=
t
.
ParentID
,
ColumnName
=
t
.
ColumnName
,
Sort
=
t
.
Sort
}).
ToList
();
//copy模版列头
if
(
result
&&
columns
!=
null
&&
columns
.
Count
>
0
)
result
=
perforAscolumnsRepository
.
AddRange
(
columns
.
ToArray
());
return
result
?
new
ApiResponse
(
ResponseType
.
OK
)
:
new
ApiResponse
(
ResponseType
.
Fail
);
}
return
allot
==
null
?
new
ApiResponse
(
ResponseType
.
Fail
,
"绩效ID无效"
)
:
new
ApiResponse
(
ResponseType
.
Fail
,
"模版信息不存在"
);
}
#
endregion
/// <summary>
/// 科室列表
/// </summary>
/// <returns></returns>
public
List
<
TitleValue
>
Department
(
int
allotId
)
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
if
(
allot
!=
null
)
{
var
_checked
=
perforAsdataRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
)?.
Select
(
t
=>
t
.
Department
).
Distinct
();
var
allotList
=
perforPerallotRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
);
var
idList
=
allotList
.
Select
(
s
=>
s
.
ID
).
ToList
();
var
department
=
perforImemployeeRepository
.
GetEntities
(
t
=>
t
.
Department
!=
""
&&
idList
.
Contains
(
t
.
AllotID
.
Value
));
if
(
department
!=
null
&&
department
.
Count
>
0
)
{
var
departmentList
=
department
.
Select
(
t
=>
t
.
Department
).
Distinct
();
departmentList
=
departmentList
.
Except
(
_checked
).
ToList
();
return
departmentList
.
Select
(
t
=>
new
TitleValue
{
Title
=
t
,
Value
=
t
}).
OrderBy
(
t
=>
t
.
Title
).
ToList
();
}
}
return
new
List
<
TitleValue
>();
}
}
}
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