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
8d148275
Commit
8d148275
authored
Mar 30, 2023
by
ruyun.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
考勤接口
parent
6cb7601b
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
265 additions
and
74 deletions
+265
-74
performance/Performance.Api/Controllers/AttendanceController.cs
+50
-13
performance/Performance.Api/Controllers/SecondAllotController.cs
+1
-1
performance/Performance.Api/wwwroot/Performance.Api.xml
+19
-7
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+70
-25
performance/Performance.DtoModels/Enum.cs
+1
-1
performance/Performance.DtoModels/Request/AllotDeptRequest.cs
+2
-0
performance/Performance.DtoModels/Response/AttendanceAuditList.cs
+44
-0
performance/Performance.Services/AttendanceService.cs
+64
-22
performance/Performance.Services/SecondAllotService.cs
+13
-4
performance/Performance.Services/UserService.cs
+1
-1
No files found.
performance/Performance.Api/Controllers/AttendanceController.cs
View file @
8d148275
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
using
System.IO
;
using
System.IO
;
using
Newtonsoft.Json
;
using
Newtonsoft.Json
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
Performance.DtoModels.Response
;
namespace
Performance.Api.Controllers
namespace
Performance.Api.Controllers
{
{
...
@@ -366,47 +367,83 @@ public IActionResult DownloadStatistics(int allotId)
...
@@ -366,47 +367,83 @@ public IActionResult DownloadStatistics(int allotId)
#
endregion
#
endregion
#
region
最终考勤结果
#
region
最终考勤结果
/// <summary>
/// 科室确认列表
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"issue/audit/list"
)]
public
ApiResponse
<
List
<
AttendanceAuditList
>>
AuditList
(
int
allotId
)
{
return
_attendanceService
.
AuditList
(
allotId
);
}
/// <summary>
/// 科室确认详情
/// </summary>
/// <param name="allotId"></param>
/// <param name="unitType"></param>
/// <param name="accountingUnit"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"issue/audit/detail"
)]
public
ApiResponse
<
List
<
per_attendance_issue
>>
AuditDetail
(
int
allotId
,
string
unitType
,
string
accountingUnit
)
{
return
_attendanceService
.
AuditDetail
(
allotId
,
unitType
,
accountingUnit
);
}
/// <summary>
/// 已下发结果展示列表
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[
HttpGet
(
"issue/result/list"
)]
public
ApiResponse
<
List
<
AttendanceStatistics
>>
IssAttendanceResult
(
int
allotId
)
{
throw
new
NotImplementedException
();
}
/// <summary>
/// <summary>
/// 最终考勤结果下发(预确认显示)
/// 最终考勤结果下发(预确认显示)
/// </summary>
/// </summary>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <returns></returns>
/// <returns></returns>
[
HttpPost
]
[
HttpPost
]
[
Route
(
"issue/
statistics/PreConfirmationDisplay
"
)]
[
Route
(
"issue/
check
"
)]
public
ApiResponse
<
List
<
PerAttendanceIssueDto
>>
PreConfirmationDisplay
(
int
allotId
,
int
hospitalId
)
public
ApiResponse
<
List
<
PerAttendanceIssueDto
>>
PreConfirmationDisplay
(
int
allotId
)
{
{
var
userid
=
claim
.
GetUserId
();
var
userid
=
claim
.
GetUserId
();
return
_attendanceService
.
PreConfirmationDisplay
(
allotId
,
userid
,
hospitalId
);
return
_attendanceService
.
PreConfirmationDisplay
(
allotId
,
userid
);
}
}
/// <summary>
/// <summary>
/// 最终考勤结果下发
/// 最终考勤结果下发
/// </summary>
/// </summary>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <returns></returns>
/// <returns></returns>
[
HttpPost
]
[
HttpPost
]
[
Route
(
"issue/
statistics/{allotId}
"
)]
[
Route
(
"issue/
confirm
"
)]
public
ApiResponse
IssueStatistics
(
int
allotId
,
int
hospitalId
)
public
ApiResponse
IssueStatistics
(
int
allotId
)
{
{
var
userid
=
claim
.
GetUserId
();
var
userid
=
claim
.
GetUserId
();
return
_attendanceService
.
IssueStatistics
(
allotId
,
userid
,
hospitalId
);
return
_attendanceService
.
IssueStatistics
(
allotId
,
userid
);
}
}
/// <summary>
/// <summary>
/// 最终考勤结果
质疑
或确认无误((批量操作)
/// 最终考勤结果
驳回
或确认无误((批量操作)
/// </summary>
/// </summary>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <param name="issueid"></param>
/// <param name="issueid"></param>
/// <param name="
choose">
</param>
/// <param name="
state">操作类型 确认 = 2,驳回 = 3,
</param>
/// <returns></returns>
/// <returns></returns>
[
HttpPost
]
[
HttpPost
]
[
Route
(
"issue/
statistics/
choose"
)]
[
Route
(
"issue/choose"
)]
public
ApiResponse
ChooseStatistics
(
int
allotId
,
int
[]
issueid
,
bool
choos
e
)
public
ApiResponse
ChooseStatistics
(
int
allotId
,
int
[]
issueid
,
Attendance
.
State
stat
e
)
{
{
var
userid
=
claim
.
GetUserId
();
var
userid
=
claim
.
GetUserId
();
return
_attendanceService
.
ChooseStatistics
(
allotId
,
userid
,
issueid
,
choos
e
);
return
_attendanceService
.
ChooseStatistics
(
allotId
,
userid
,
issueid
,
stat
e
);
}
}
...
...
performance/Performance.Api/Controllers/SecondAllotController.cs
View file @
8d148275
...
@@ -199,7 +199,7 @@ public ApiResponse OtherAutoComplete([FromBody] SecondEmpRequest request)
...
@@ -199,7 +199,7 @@ public ApiResponse OtherAutoComplete([FromBody] SecondEmpRequest request)
public
ApiResponse
<
List
<
SecondTempResponse
>>
Temp
([
FromBody
]
AllotDeptRequest
request
)
public
ApiResponse
<
List
<
SecondTempResponse
>>
Temp
([
FromBody
]
AllotDeptRequest
request
)
{
{
var
userId
=
claimService
.
GetUserId
();
var
userId
=
claimService
.
GetUserId
();
var
result
=
secondAllotService
.
GetTemp
(
request
.
HospitalId
,
request
.
Department
,
userId
);
var
result
=
secondAllotService
.
GetTemp
(
request
.
HospitalId
,
request
.
UnitType
,
request
.
Department
,
userId
);
return
new
ApiResponse
<
List
<
SecondTempResponse
>>(
ResponseType
.
OK
,
result
);
return
new
ApiResponse
<
List
<
SecondTempResponse
>>(
ResponseType
.
OK
,
result
);
}
}
...
...
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
8d148275
...
@@ -413,29 +413,41 @@
...
@@ -413,29 +413,41 @@
<param
name=
"allotId"
></param>
<param
name=
"allotId"
></param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.PreConfirmationDisplay(System.Int32,System.Int32)"
>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.AuditList(System.Int32)"
>
<summary>
科室确认列表
</summary>
<param
name=
"allotId"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.AuditDetail(System.Int32,System.String,System.String)"
>
<summary>
科室确认详情
</summary>
<param
name=
"allotId"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.PreConfirmationDisplay(System.Int32)"
>
<summary>
<summary>
最终考勤结果下发(预确认显示)
最终考勤结果下发(预确认显示)
</summary>
</summary>
<param
name=
"allotId"
></param>
<param
name=
"allotId"
></param>
<param
name=
"hospitalId"
></param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.IssueStatistics(System.Int32
,System.Int32
)"
>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.IssueStatistics(System.Int32)"
>
<summary>
<summary>
最终考勤结果下发
最终考勤结果下发
</summary>
</summary>
<param
name=
"allotId"
></param>
<param
name=
"allotId"
></param>
<param
name=
"hospitalId"
></param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.ChooseStatistics(System.Int32,System.Int32[],
System.Boolean
)"
>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.ChooseStatistics(System.Int32,System.Int32[],
Performance.DtoModels.Attendance.State
)"
>
<summary>
<summary>
最终考勤结果
质疑
或确认无误((批量操作)
最终考勤结果
驳回
或确认无误((批量操作)
</summary>
</summary>
<param
name=
"allotId"
></param>
<param
name=
"allotId"
></param>
<param
name=
"issueid"
></param>
<param
name=
"issueid"
></param>
<param
name=
"
choose"
>
</param>
<param
name=
"
state"
>
操作类型 确认 = 2,驳回 = 3,
</param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)"
>
<member
name=
"M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)"
>
...
...
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
8d148275
...
@@ -2898,6 +2898,76 @@
...
@@ -2898,6 +2898,76 @@
科室
科室
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.Code"
>
<summary>
编码
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.UnitType"
>
<summary>
核算组别
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.AccountingUnit"
>
<summary>
核算单元
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.Count"
>
<summary>
总下发数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.ConfirmCount"
>
<summary>
确认数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.RejectCount"
>
<summary>
驳回数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.OperationTime"
>
<summary>
操作时间
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.OperationUser"
>
<summary>
操作人
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.AttendanceAuditList.StateRemark"
>
<summary>
状态描述
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.HeadName"
>
<summary>
列头名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.BanChange"
>
<summary>
禁止修改
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.Readnoly"
>
<summary>
0 可读可写 1 只读
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.Visible"
>
<summary>
是否可见 0 不可见 1 可见
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.AttachLast"
>
<summary>
是否附带上次绩效 0 不附带 1 附带
</summary>
</member>
<member
name=
"P:Performance.DtoModels.AttendanceStatistics.UnitType"
>
<member
name=
"P:Performance.DtoModels.AttendanceStatistics.UnitType"
>
<summary>
<summary>
核算组别
核算组别
...
@@ -3128,31 +3198,6 @@
...
@@ -3128,31 +3198,6 @@
医院总收支结余
医院总收支结余
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.HeadName"
>
<summary>
列头名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.BanChange"
>
<summary>
禁止修改
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.Readnoly"
>
<summary>
0 可读可写 1 只读
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.Visible"
>
<summary>
是否可见 0 不可见 1 可见
</summary>
</member>
<member
name=
"P:Performance.DtoModels.Response.CollectPermission.AttachLast"
>
<summary>
是否附带上次绩效 0 不附带 1 附带
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResponse.Source"
>
<member
name=
"P:Performance.DtoModels.ComputeResponse.Source"
>
<summary>
<summary>
来源
来源
...
...
performance/Performance.DtoModels/Enum.cs
View file @
8d148275
...
@@ -121,7 +121,7 @@ public enum State
...
@@ -121,7 +121,7 @@ public enum State
{
{
已下发未确认
=
1
,
已下发未确认
=
1
,
确认
=
2
,
确认
=
2
,
质疑
=
3
,
驳回
=
3
,
}
}
public
enum
OperationType
public
enum
OperationType
{
{
...
...
performance/Performance.DtoModels/Request/AllotDeptRequest.cs
View file @
8d148275
...
@@ -10,6 +10,8 @@ public class AllotDeptRequest
...
@@ -10,6 +10,8 @@ public class AllotDeptRequest
public
int
HospitalId
{
get
;
set
;
}
public
int
HospitalId
{
get
;
set
;
}
public
string
?
UnitType
{
get
;
set
;
}
public
string
Department
{
get
;
set
;
}
public
string
Department
{
get
;
set
;
}
}
}
}
}
performance/Performance.DtoModels/Response/AttendanceAuditList.cs
0 → 100644
View file @
8d148275
using
System
;
namespace
Performance.DtoModels.Response
{
public
class
AttendanceAuditList
{
/// <summary>
/// 编码
/// </summary>
public
string
Code
{
get
;
set
;
}
/// <summary>
/// 核算组别
/// </summary>
public
string
UnitType
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
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
DateTime
OperationTime
{
get
;
set
;
}
/// <summary>
/// 操作人
/// </summary>
public
string
OperationUser
{
get
;
set
;
}
/// <summary>
/// 状态描述
/// </summary>
public
string
StateRemark
{
get
;
set
;
}
}
}
performance/Performance.Services/AttendanceService.cs
View file @
8d148275
using
AutoMapper
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
AutoMapper
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Logging
;
using
Newtonsoft.Json
;
using
Newtonsoft.Json
;
using
OfficeOpenXml
;
using
OfficeOpenXml
;
using
OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime
;
using
OfficeOpenXml.Style
;
using
OfficeOpenXml.Style
;
using
Performance.DtoModels
;
using
Performance.DtoModels
;
using
Performance.
EntityModels
;
using
Performance.
DtoModels.Response
;
using
Performance.EntityModels.Entity
;
using
Performance.EntityModels.Entity
;
using
Performance.EntityModels.Other
;
using
Performance.EntityModels.Other
;
using
Performance.Infrastructure
;
using
Performance.Infrastructure
;
using
Performance.Repository
;
using
Performance.Repository
;
using
Performance.Repository.Repository
;
using
Performance.Repository.Repository
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
Performance.Services
namespace
Performance.Services
{
{
...
@@ -24,6 +21,7 @@ public class AttendanceService : IAutoInjection
...
@@ -24,6 +21,7 @@ public class AttendanceService : IAutoInjection
{
{
private
readonly
IMapper
mapper
;
private
readonly
IMapper
mapper
;
private
readonly
ILogger
<
AttendanceService
>
logger
;
private
readonly
ILogger
<
AttendanceService
>
logger
;
private
readonly
PerforUserRepository
_userRepository
;
private
readonly
PerforPerallotRepository
perforPerallotRepository
;
private
readonly
PerforPerallotRepository
perforPerallotRepository
;
private
readonly
PerforPerAttendanceRepository
perforPerAttendanceRepository
;
private
readonly
PerforPerAttendanceRepository
perforPerAttendanceRepository
;
private
readonly
PerforPerAttendanceIssueRepository
perforPerAttendanceIssueRepository
;
private
readonly
PerforPerAttendanceIssueRepository
perforPerAttendanceIssueRepository
;
...
@@ -38,6 +36,7 @@ public class AttendanceService : IAutoInjection
...
@@ -38,6 +36,7 @@ public class AttendanceService : IAutoInjection
public
AttendanceService
(
public
AttendanceService
(
IMapper
mapper
,
IMapper
mapper
,
ILogger
<
AttendanceService
>
logger
,
ILogger
<
AttendanceService
>
logger
,
PerforUserRepository
userRepository
,
PerforPerallotRepository
perforPerallotRepository
,
PerforPerallotRepository
perforPerallotRepository
,
PerforPerAttendanceRepository
perforPerAttendanceRepository
,
PerforPerAttendanceRepository
perforPerAttendanceRepository
,
PerforPerAttendanceIssueRepository
perforPerAttendanceIssueRepository
,
PerforPerAttendanceIssueRepository
perforPerAttendanceIssueRepository
,
...
@@ -53,6 +52,7 @@ PerforPerAttendanceIssueRecordRepository perforPerAttendanceIssueRecordRepositor
...
@@ -53,6 +52,7 @@ PerforPerAttendanceIssueRecordRepository perforPerAttendanceIssueRecordRepositor
{
{
this
.
mapper
=
mapper
;
this
.
mapper
=
mapper
;
this
.
logger
=
logger
;
this
.
logger
=
logger
;
_userRepository
=
userRepository
;
this
.
perforPerallotRepository
=
perforPerallotRepository
;
this
.
perforPerallotRepository
=
perforPerallotRepository
;
this
.
perforPerAttendanceRepository
=
perforPerAttendanceRepository
;
this
.
perforPerAttendanceRepository
=
perforPerAttendanceRepository
;
this
.
perforPerAttendanceIssueRepository
=
perforPerAttendanceIssueRepository
;
this
.
perforPerAttendanceIssueRepository
=
perforPerAttendanceIssueRepository
;
...
@@ -687,11 +687,13 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
...
@@ -687,11 +687,13 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
//查询全部数据
//查询全部数据
var
attendanceData
=
perforPerallotRepository
.
GetAttendance
(
allotId
);
var
attendanceData
=
perforPerallotRepository
.
GetAttendance
(
allotId
);
//当角色对应时过滤
//当角色对应时过滤
var
roleType
=
new
[]
{
(
int
)
Role
.
护士长
,
(
int
)
Role
.
科主任
,
(
int
)
Role
.
特殊科室
,
(
int
)
Role
.
行政科室
,
};
var
userInfo
=
_userRepository
.
GetUser
(
userid
);
var
user
=
userService
.
GetUser
(
userid
);
if
(
userInfo
?.
User
==
null
)
throw
new
NotImplementedException
(
"当前用户不存在"
);
var
role
=
roleService
.
GetUserRole
(
user
.
UserID
);
if
(
userInfo
?.
URole
==
null
)
throw
new
NotImplementedException
(
"当前用户暂未分配角色"
);
if
(
role
.
Any
(
t
=>
roleType
.
Contains
(
t
.
Type
.
Value
)))
attendanceData
=
attendanceData
.
Where
(
w
=>
w
.
AccountingUnit
==
user
.
Department
&&
w
.
UnitType
==
user
.
UnitType
).
ToList
();
var
unitTypes
=
UnitTypeUtil
.
GetMaps
(
userInfo
?.
URole
.
Type
??
0
);
if
(
unitTypes
?.
Any
()
==
true
)
attendanceData
=
attendanceData
.
Where
(
w
=>
w
.
AccountingUnit
==
userInfo
.
User
.
Department
&&
UnitTypeUtil
.
Is
(
w
.
UnitType
,
unitTypes
)).
ToList
();
List
<
AttendanceStatistics
>
statistics
=
new
List
<
AttendanceStatistics
>();
List
<
AttendanceStatistics
>
statistics
=
new
List
<
AttendanceStatistics
>();
// 交叉补全科室结束时间
// 交叉补全科室结束时间
...
@@ -764,10 +766,46 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
...
@@ -764,10 +766,46 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
return
new
ApiResponse
<
List
<
AttendanceStatistics
>>(
ResponseType
.
OK
,
""
,
statistics
);
return
new
ApiResponse
<
List
<
AttendanceStatistics
>>(
ResponseType
.
OK
,
""
,
statistics
);
}
}
#
region
考勤下发
#
region
考勤下发
public
ApiResponse
<
List
<
PerAttendanceIssueDto
>>
PreConfirmationDisplay
(
int
allotId
,
int
userid
,
int
hospitalId
)
public
ApiResponse
<
List
<
AttendanceAuditList
>>
AuditList
(
int
allotId
)
{
var
issues
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
);
var
items
=
issues
.
GroupBy
(
w
=>
new
{
w
.
Code
,
w
.
UnitType
,
w
.
AccountingUnit
})
.
Select
(
w
=>
new
AttendanceAuditList
{
Code
=
w
.
Key
.
Code
,
UnitType
=
w
.
Key
.
UnitType
,
AccountingUnit
=
w
.
Key
.
AccountingUnit
,
Count
=
w
.
Count
(),
ConfirmCount
=
w
.
Count
(
p
=>
p
.
State
==
(
int
)
Attendance
.
State
.
确认
),
RejectCount
=
w
.
Count
(
p
=>
p
.
State
==
(
int
)
Attendance
.
State
.
驳回
),
}).
ToList
();
foreach
(
var
item
in
items
)
{
item
.
StateRemark
=
"未全部确认"
;
if
(
item
.
RejectCount
>
0
)
item
.
StateRemark
=
"驳回"
;
else
if
(
item
.
ConfirmCount
==
item
.
Count
)
item
.
StateRemark
=
"已确认"
;
}
return
new
ApiResponse
<
List
<
AttendanceAuditList
>>(
ResponseType
.
OK
,
items
);
}
public
ApiResponse
<
List
<
per_attendance_issue
>>
AuditDetail
(
int
allotId
,
string
unitType
,
string
accountingUnit
)
{
var
issues
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
&&
w
.
UnitType
==
unitType
);
issues
=
issues
.
Where
(
w
=>
w
.
AccountingUnit
==
accountingUnit
).
ToList
();
return
new
ApiResponse
<
List
<
per_attendance_issue
>>(
ResponseType
.
OK
,
issues
);
}
public
ApiResponse
<
List
<
PerAttendanceIssueDto
>>
PreConfirmationDisplay
(
int
allotId
,
int
userid
)
{
{
var
statistics
=
GetAttendanceStatistics
(
allotId
,
userid
).
Data
;
var
statistics
=
GetAttendanceStatistics
(
allotId
,
userid
).
Data
;
var
issues
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
&&
w
.
HospitalId
==
hospitalId
);
var
issues
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
);
var
issuePersonnelNumber
=
issues
.
Select
(
s
=>
s
.
PersonnelNumber
);
var
issuePersonnelNumber
=
issues
.
Select
(
s
=>
s
.
PersonnelNumber
);
var
statisticPersonnelNumber
=
statistics
.
Select
(
s
=>
s
.
PersonnelNumber
);
var
statisticPersonnelNumber
=
statistics
.
Select
(
s
=>
s
.
PersonnelNumber
);
//新增(查询页面有实表没有的数据)
//新增(查询页面有实表没有的数据)
...
@@ -824,10 +862,14 @@ public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allot
...
@@ -824,10 +862,14 @@ public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allot
//下发
//下发
public
ApiResponse
IssueStatistics
(
int
allotId
,
int
userid
,
int
hospitalId
)
public
ApiResponse
IssueStatistics
(
int
allotId
,
int
userid
)
{
{
var
preConfirmationDisplay
=
PreConfirmationDisplay
(
allotId
,
userid
,
hospitalId
).
Data
;
var
allot
=
perforPerallotRepository
.
GetEntity
(
w
=>
w
.
ID
==
allotId
);
var
issues
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
&&
w
.
HospitalId
==
hospitalId
);
if
(
allot
==
null
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
var
preConfirmationDisplay
=
PreConfirmationDisplay
(
allotId
,
userid
).
Data
;
var
issues
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
);
var
cofaccounting
=
cofaccountingRepository
.
GetEntities
(
g
=>
g
.
AllotId
==
allotId
);
var
cofaccounting
=
cofaccountingRepository
.
GetEntities
(
g
=>
g
.
AllotId
==
allotId
);
var
insertIssues
=
preConfirmationDisplay
.
Where
(
w
=>
w
.
OperationType
==
(
int
)
Attendance
.
OperationType
.
新增
).
ToList
();
var
insertIssues
=
preConfirmationDisplay
.
Where
(
w
=>
w
.
OperationType
==
(
int
)
Attendance
.
OperationType
.
新增
).
ToList
();
var
updateIssues
=
preConfirmationDisplay
.
Where
(
w
=>
w
.
OperationType
==
(
int
)
Attendance
.
OperationType
.
修改
).
ToList
();
var
updateIssues
=
preConfirmationDisplay
.
Where
(
w
=>
w
.
OperationType
==
(
int
)
Attendance
.
OperationType
.
修改
).
ToList
();
...
@@ -840,7 +882,7 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId)
...
@@ -840,7 +882,7 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId)
return
new
per_attendance_issue
()
return
new
per_attendance_issue
()
{
{
AllotId
=
allotId
,
AllotId
=
allotId
,
HospitalId
=
h
ospitalId
,
HospitalId
=
allot
.
H
ospitalId
,
Code
=
code
==
null
?
""
:
code
.
Code
,
Code
=
code
==
null
?
""
:
code
.
Code
,
UnitType
=
item
.
UnitType
,
UnitType
=
item
.
UnitType
,
AccountingUnit
=
item
.
AccountingUnit
,
AccountingUnit
=
item
.
AccountingUnit
,
...
@@ -924,12 +966,12 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId)
...
@@ -924,12 +966,12 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId)
}
}
public
ApiResponse
ChooseStatistics
(
int
allotId
,
int
userid
,
int
[]
issueid
,
bool
choos
e
)
public
ApiResponse
ChooseStatistics
(
int
allotId
,
int
userid
,
int
[]
issueid
,
Attendance
.
State
stat
e
)
{
{
var
issuedates
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
&&
issueid
.
Contains
(
w
.
Id
)).
ToList
();
var
issuedates
=
perforPerAttendanceIssueRepository
.
GetEntities
(
w
=>
w
.
AllotId
==
allotId
&&
issueid
.
Contains
(
w
.
Id
)).
ToList
();
foreach
(
var
item
in
issuedates
)
foreach
(
var
item
in
issuedates
)
{
{
item
.
State
=
choose
?
(
int
)
Attendance
.
State
.
确认
:
(
int
)
Attendance
.
State
.
质疑
;
item
.
State
=
(
int
)
state
;
item
.
UpdateUser
=
userid
;
item
.
UpdateUser
=
userid
;
item
.
UpdateTime
=
DateTime
.
Now
;
item
.
UpdateTime
=
DateTime
.
Now
;
}
}
...
...
performance/Performance.Services/SecondAllotService.cs
View file @
8d148275
...
@@ -892,19 +892,28 @@ public bool DelValue(int secondId, List<ag_fixatitem> oldFixatItems, List<ag_fix
...
@@ -892,19 +892,28 @@ public bool DelValue(int secondId, List<ag_fixatitem> oldFixatItems, List<ag_fix
/// </summary>
/// </summary>
/// <param name="userId"></param>
/// <param name="userId"></param>
/// <returns></returns>
/// <returns></returns>
public
List
<
SecondTempResponse
>
GetTemp
(
int
hospitalid
,
string
department
,
int
userId
)
public
List
<
SecondTempResponse
>
GetTemp
(
int
hospitalid
,
string
unitType
,
string
department
,
int
userId
)
{
{
var
temps
=
agtempRepository
.
GetEntities
(
t
=>
t
.
IsEnable
==
1
);
var
temps
=
agtempRepository
.
GetEntities
(
t
=>
t
.
IsEnable
==
1
);
if
(
temps
!=
null
&&
temps
.
Any
())
if
(
temps
!=
null
&&
temps
.
Any
())
{
{
ag_usetemp
useTemp
=
null
;
if
(
string
.
IsNullOrEmpty
(
unitType
))
{
var
userCenter
=
userRepository
.
GetUser
(
userId
);
var
userCenter
=
userRepository
.
GetUser
(
userId
);
var
unitType
=
UnitTypeUtil
.
GetMaps
(
userCenter
?.
URole
.
Type
??
0
);
var
unitTypes
=
UnitTypeUtil
.
GetMaps
(
userCenter
?.
URole
.
Type
??
0
);
Expression
<
Func
<
ag_usetemp
,
bool
>>
exp
=
t
=>
t
.
HospitalId
==
hospitalid
&&
t
.
Department
==
department
;
Expression
<
Func
<
ag_usetemp
,
bool
>>
exp
=
t
=>
t
.
HospitalId
==
hospitalid
&&
t
.
Department
==
department
;
if
(
userCenter
?.
URole
!=
null
&&
userCenter
.
URole
.
Type
.
HasValue
)
if
(
userCenter
?.
URole
!=
null
&&
userCenter
.
URole
.
Type
.
HasValue
)
exp
=
exp
.
And
(
t
=>
unitType
.
Contains
(
t
.
UnitType
));
exp
=
exp
.
And
(
t
=>
unitTypes
.
Contains
(
t
.
UnitType
));
useTemp
=
agusetempRepository
.
GetEntity
(
exp
);
}
else
{
useTemp
=
agusetempRepository
.
GetEntity
(
t
=>
t
.
HospitalId
==
hospitalid
&&
t
.
UnitType
==
unitType
&&
t
.
Department
==
department
);
}
var
useTemp
=
agusetempRepository
.
GetEntity
(
exp
);
var
secondTemps
=
_mapper
.
Map
<
List
<
SecondTempResponse
>>(
temps
);
var
secondTemps
=
_mapper
.
Map
<
List
<
SecondTempResponse
>>(
temps
);
if
(
useTemp
!=
null
)
if
(
useTemp
!=
null
)
secondTemps
.
ForEach
(
t
=>
t
.
IsSelected
=
t
.
Id
==
useTemp
.
UseTempId
);
secondTemps
.
ForEach
(
t
=>
t
.
IsSelected
=
t
.
Id
==
useTemp
.
UseTempId
);
...
...
performance/Performance.Services/UserService.cs
View file @
8d148275
...
@@ -69,7 +69,7 @@ public UserIdentity Login(LoginRequest request)
...
@@ -69,7 +69,7 @@ public UserIdentity Login(LoginRequest request)
{
{
var
user
=
_userRepository
.
GetEntity
(
t
=>
t
.
Login
==
request
.
Account
&&
t
.
IsDelete
==
1
);
var
user
=
_userRepository
.
GetEntity
(
t
=>
t
.
Login
==
request
.
Account
&&
t
.
IsDelete
==
1
);
if
(
user
==
null
)
if
(
user
==
null
)
throw
new
PerformanceException
(
$"
用户不存在 UserId:
{
request
.
Account
}
"
);
throw
new
PerformanceException
(
$"
“
{
request
.
Account
}
”用户不存在
"
);
//MD5小写加密
//MD5小写加密
request
.
Password
=
PwdHelper
.
MD5AndSalt
(
request
.
Password
);
request
.
Password
=
PwdHelper
.
MD5AndSalt
(
request
.
Password
);
...
...
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