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
829748d3
Commit
829748d3
authored
Aug 12, 2022
by
纪旭 韦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除人员字典时插入备份表,当粘贴之前的数据时,标签根据备份表带出来
parent
0fa00668
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
414 additions
and
0 deletions
+414
-0
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+140
-0
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
+1
-0
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
+2
-0
performance/Performance.EntityModels/Entity/per_employee_backup.cs
+164
-0
performance/Performance.Repository/Repository/PerforPeremployeeBackupRepository.cs
+19
-0
performance/Performance.Services/DapperService.cs
+16
-0
performance/Performance.Services/PersonService.cs
+72
-0
No files found.
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
829748d3
...
...
@@ -6878,6 +6878,146 @@
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_employee_backup"
>
<summary>
绩效人员表备份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.Id"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.HospitalId"
>
<summary>
医院Id
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.AllotId"
>
<summary>
绩效Id
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.AccountingUnit"
>
<summary>
核算单元
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.Department"
>
<summary>
科室
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.DoctorName"
>
<summary>
姓名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.PersonnelNumber"
>
<summary>
员工工号
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.JobNumber"
>
<summary>
员工工号(HIS)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.JobCategory"
>
<summary>
正式/临聘
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.Duty"
>
<summary>
职务
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.JobTitle"
>
<summary>
职称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.UnitType"
>
<summary>
人员类别
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.Attendance"
>
<summary>
出勤率
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.AttendanceDay"
>
<summary>
出勤天数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.PermanentStaff"
>
<summary>
核算人数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.EfficiencyNumber"
>
<summary>
效率人数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.WorkTime"
>
<summary>
参加工作时间
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.BirthDate"
>
<summary>
出生年月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.Age"
>
<summary>
年龄
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.ReservedRatio"
>
<summary>
预留比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.BankCard"
>
<summary>
银行卡号
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.Remark"
>
<summary>
备注
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.IsVerify"
>
<summary>
0 未通过验证 1 通过验证
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.VerifyMessage"
>
<summary>
验证失败描述
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.IsHrpEmployee"
>
<summary>
是否是hrp人员 0 不是 1 是
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.CreateTime"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_employee_backup.CreateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_first"
>
<summary>
首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本)
...
...
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
View file @
829748d3
...
...
@@ -213,6 +213,7 @@ public AutoMapperConfigs()
.
ForMember
(
dest
=>
dest
.
Type
,
opt
=>
opt
.
MapFrom
(
src
=>
2
));
CreateMap
<
BudgetResponse
,
per_budget_ratio
>();
CreateMap
<
per_employee
,
per_employee_backup
>();
CreateMap
<
per_employee
,
PerEmployeeResponse
>()
.
ForMember
(
dest
=>
dest
.
WorkTime
,
opt
=>
opt
.
MapFrom
(
src
=>
src
.
WorkTime
==
null
?
null
:
src
.
WorkTime
.
ToString
()))
.
ForMember
(
dest
=>
dest
.
BirthDate
,
opt
=>
opt
.
MapFrom
(
src
=>
src
.
BirthDate
==
null
?
null
:
src
.
BirthDate
.
ToString
()))
...
...
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
View file @
829748d3
...
...
@@ -181,6 +181,7 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public
virtual
DbSet
<
per_dept_dic
>
per_dept_dic
{
get
;
set
;
}
/// <summary> 绩效人员表 </summary>
public
virtual
DbSet
<
per_employee
>
per_employee
{
get
;
set
;
}
public
virtual
DbSet
<
per_employee_backup
>
per_employee_backup
{
get
;
set
;
}
/// <summary> 首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本) </summary>
public
virtual
DbSet
<
per_first
>
per_first
{
get
;
set
;
}
/// <summary> 上传数据解析 </summary>
...
...
@@ -256,5 +257,6 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public
virtual
DbSet
<
per_attendance_type
>
per_attendance_type
{
get
;
set
;
}
public
virtual
DbSet
<
per_attendance_vacation
>
per_attendance_vacation
{
get
;
set
;
}
public
virtual
DbSet
<
per_allot_action
>
per_allot_action
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/per_employee_backup.cs
0 → 100644
View file @
829748d3
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
Performance.EntityModels
{
/// <summary>
/// 绩效人员表备份
/// </summary>
[
Table
(
"per_employee_backup"
)]
public
class
per_employee_backup
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 医院Id
/// </summary>
public
Nullable
<
int
>
HospitalId
{
get
;
set
;
}
/// <summary>
/// 绩效Id
/// </summary>
public
Nullable
<
int
>
AllotId
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 科室
/// </summary>
public
string
Department
{
get
;
set
;
}
/// <summary>
/// 姓名
/// </summary>
public
string
DoctorName
{
get
;
set
;
}
/// <summary>
/// 员工工号
/// </summary>
public
string
PersonnelNumber
{
get
;
set
;
}
/// <summary>
/// 员工工号(HIS)
/// </summary>
public
string
JobNumber
{
get
;
set
;
}
/// <summary>
/// 正式/临聘
/// </summary>
public
string
JobCategory
{
get
;
set
;
}
/// <summary>
/// 职务
/// </summary>
public
string
Duty
{
get
;
set
;
}
/// <summary>
/// 职称
/// </summary>
public
string
JobTitle
{
get
;
set
;
}
/// <summary>
/// 人员类别
/// </summary>
public
string
UnitType
{
get
;
set
;
}
/// <summary>
/// 出勤率
/// </summary>
public
Nullable
<
decimal
>
Attendance
{
get
;
set
;
}
/// <summary>
/// 出勤天数
/// </summary>
public
Nullable
<
int
>
AttendanceDay
{
get
;
set
;
}
/// <summary>
/// 核算人数
/// </summary>
public
Nullable
<
decimal
>
PermanentStaff
{
get
;
set
;
}
/// <summary>
/// 效率人数
/// </summary>
public
Nullable
<
decimal
>
EfficiencyNumber
{
get
;
set
;
}
/// <summary>
/// 参加工作时间
/// </summary>
public
Nullable
<
DateTime
>
WorkTime
{
get
;
set
;
}
/// <summary>
/// 出生年月
/// </summary>
public
Nullable
<
DateTime
>
BirthDate
{
get
;
set
;
}
/// <summary>
/// 年龄
/// </summary>
public
Nullable
<
int
>
Age
{
get
;
set
;
}
/// <summary>
/// 预留比例
/// </summary>
public
Nullable
<
decimal
>
ReservedRatio
{
get
;
set
;
}
/// <summary>
/// 银行卡号
/// </summary>
public
string
BankCard
{
get
;
set
;
}
/// <summary>
/// 备注
/// </summary>
public
string
Remark
{
get
;
set
;
}
/// <summary>
/// 0 未通过验证 1 通过验证
/// </summary>
public
Nullable
<
int
>
IsVerify
{
get
;
set
;
}
/// <summary>
/// 验证失败描述
/// </summary>
public
string
VerifyMessage
{
get
;
set
;
}
/// <summary>
/// 是否是hrp人员 0 不是 1 是
/// </summary>
public
Nullable
<
int
>
IsHrpEmployee
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
DateTime
>
CreateTime
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
CreateUser
{
get
;
set
;
}
public
string
Reserve01
{
get
;
set
;
}
public
string
Reserve02
{
get
;
set
;
}
public
string
Reserve03
{
get
;
set
;
}
public
string
Reserve04
{
get
;
set
;
}
public
string
Reserve05
{
get
;
set
;
}
public
string
Reserve06
{
get
;
set
;
}
public
string
Reserve07
{
get
;
set
;
}
public
string
Reserve08
{
get
;
set
;
}
public
string
Reserve09
{
get
;
set
;
}
public
string
Reserve10
{
get
;
set
;
}
}
}
\ No newline at end of file
performance/Performance.Repository/Repository/PerforPeremployeeBackupRepository.cs
0 → 100644
View file @
829748d3
using
Performance.EntityModels
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
Performance.Repository.Repository
{
/// <summary>
/// per_employee_backup Repository
/// </summary>
public
partial
class
PerforPeremployeeBackupRepository
:
PerforRepository
<
per_employee_backup
>
{
public
PerforPeremployeeBackupRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
}
performance/Performance.Services/DapperService.cs
View file @
829748d3
...
...
@@ -123,6 +123,22 @@ public void SyncDataToResult(int allotId)
}
}
}
public
void
PerEmployeeBackup
(
int
allotId
)
{
using
(
var
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
if
(
connection
.
State
!=
ConnectionState
.
Open
)
connection
.
Open
();
try
{
string
sql
=
$@"call proc_per_employee_backup(
{
allotId
}
)"
;
connection
.
Execute
(
sql
,
commandTimeout
:
60
*
60
);
}
catch
(
Exception
)
{
throw
;
}
}
}
#
region
数据提取
...
...
performance/Performance.Services/PersonService.cs
View file @
829748d3
...
...
@@ -10,6 +10,7 @@
using
Performance.Infrastructure
;
using
Performance.Infrastructure.Models
;
using
Performance.Repository
;
using
Performance.Repository.Repository
;
using
Performance.Services.ExtractExcelService
;
using
System
;
using
System.Collections.Generic
;
...
...
@@ -26,13 +27,16 @@ public class PersonService : IAutoInjection
private
readonly
ILogger
<
PersonService
>
logger
;
private
readonly
PerforPerdeptdicRepository
perdeptdicRepository
;
private
readonly
PerforPeremployeeRepository
peremployeeRepository
;
private
readonly
PerforPeremployeeBackupRepository
perforPeremployeeBackupRepository
;
private
readonly
PerforPerallotRepository
perallotRepository
;
private
readonly
PerforUserRepository
perforUserRepository
;
private
readonly
PerforUserroleRepository
perforUserroleRepository
;
private
readonly
PerforRoleRepository
perforRoleRepository
;
private
readonly
PerforAgsecondallotRepository
agsecondallotRepository
;
private
readonly
PerforHospitalRepository
perforHospitalRepository
;
private
readonly
PerforCofaccountingRepository
perforCofaccountingRepository
;
private
readonly
UserService
userService
;
private
readonly
DapperService
dapperService
;
private
readonly
Application
application
;
private
readonly
IWebHostEnvironment
evn
;
...
...
@@ -41,13 +45,16 @@ public class PersonService : IAutoInjection
ILogger
<
PersonService
>
logger
,
PerforPerdeptdicRepository
perdeptdicRepository
,
PerforPeremployeeRepository
peremployeeRepository
,
PerforPeremployeeBackupRepository
perforPeremployeeBackupRepository
,
PerforPerallotRepository
perallotRepository
,
PerforUserRepository
perforUserRepository
,
PerforUserroleRepository
perforUserroleRepository
,
PerforRoleRepository
perforRoleRepository
,
PerforAgsecondallotRepository
agsecondallotRepository
,
PerforHospitalRepository
perforHospitalRepository
,
PerforCofaccountingRepository
perforCofaccountingRepository
,
UserService
userService
,
DapperService
dapperService
,
IOptions
<
Application
>
application
,
IWebHostEnvironment
evn
)
...
...
@@ -56,13 +63,16 @@ IWebHostEnvironment evn
this
.
logger
=
logger
;
this
.
perdeptdicRepository
=
perdeptdicRepository
;
this
.
peremployeeRepository
=
peremployeeRepository
;
this
.
perforPeremployeeBackupRepository
=
perforPeremployeeBackupRepository
;
this
.
perallotRepository
=
perallotRepository
;
this
.
perforUserRepository
=
perforUserRepository
;
this
.
perforUserroleRepository
=
perforUserroleRepository
;
this
.
perforRoleRepository
=
perforRoleRepository
;
this
.
agsecondallotRepository
=
agsecondallotRepository
;
this
.
perforHospitalRepository
=
perforHospitalRepository
;
this
.
perforCofaccountingRepository
=
perforCofaccountingRepository
;
this
.
userService
=
userService
;
this
.
dapperService
=
dapperService
;
this
.
application
=
application
.
Value
;
this
.
evn
=
evn
;
}
...
...
@@ -385,6 +395,9 @@ public bool DeleteAllPerson(int allotId)
{
var
employees
=
peremployeeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allotId
)
??
new
List
<
per_employee
>();
dapperService
.
PerEmployeeBackup
(
allotId
);
return
peremployeeRepository
.
RemoveRange
(
employees
.
ToArray
());
}
...
...
@@ -888,6 +901,19 @@ public ApiResponse BathSavePerson(int allotId, int HospitalId, SaveCollectData r
{
"错误原因"
,
$"原名“
{
oldEmp
.
DoctorName
}
”,工号相同但姓名不同,请删除“历史数据”中该员工"
},
});
}
var
accountinglist
=
perforCofaccountingRepository
.
GetEntity
(
w
=>
w
.
UnitType
==
newEmployees
[
i
].
UnitType
&&
w
.
AccountingUnit
==
newEmployees
[
i
].
AccountingUnit
);
if
(
accountinglist
==
null
)
{
error
.
Add
(
new
Dictionary
<
string
,
string
>
{
{
"行号"
,
$"第
{
i
+
1
}
行"
},
{
"人员工号"
,
newEmployees
[
i
].
PersonnelNumber
??
""
},
{
"姓名"
,
newEmployees
[
i
].
DoctorName
??
""
},
{
"来源"
,
"粘贴数据"
},
{
"错误原因"
,
$"核算单元及组别不存在"
},
});
}
}
...
...
@@ -933,10 +959,56 @@ public ApiResponse BathSavePerson(int allotId, int HospitalId, SaveCollectData r
}
var
delPerson
=
oldEmployees
?.
Where
(
t
=>
delPersonsNum
.
Contains
(
t
.
PersonnelNumber
));
if
(
delPerson
!=
null
&&
delPerson
.
Any
())
{
peremployeeRepository
.
RemoveRange
(
delPerson
.
ToArray
());
var
backDataup
=
_mapper
.
Map
<
List
<
per_employee_backup
>>(
delPerson
);
perforPeremployeeBackupRepository
.
AddRange
(
backDataup
.
ToArray
());
}
if
(
employees
!=
null
&&
employees
.
Any
())
{
var
backupTab
=
perforPeremployeeBackupRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allotId
);
employees
.
ForEach
(
e
=>
{
var
result
=
backupTab
.
FirstOrDefault
(
d
=>
d
.
PersonnelNumber
.
Contains
(
e
.
PersonnelNumber
)
&&
d
.
AllotId
==
e
.
AllotId
&&
d
.
HospitalId
==
e
.
HospitalId
);
if
(
result
!=
null
)
{
e
.
JobNumber
=
result
.
JobNumber
;
e
.
JobCategory
=
result
.
JobCategory
;
e
.
Duty
=
result
.
Duty
;
e
.
JobTitle
=
result
.
JobTitle
;
e
.
Attendance
=
result
.
Attendance
;
e
.
AttendanceDay
=
result
.
AttendanceDay
;
e
.
PermanentStaff
=
result
.
PermanentStaff
;
e
.
EfficiencyNumber
=
result
.
EfficiencyNumber
;
e
.
WorkTime
=
result
.
WorkTime
;
e
.
BirthDate
=
result
.
BirthDate
;
e
.
Age
=
result
.
Age
;
e
.
ReservedRatio
=
result
.
ReservedRatio
;
e
.
BankCard
=
result
.
BankCard
;
e
.
Remark
=
result
.
Remark
;
e
.
IsVerify
=
result
.
IsVerify
;
e
.
VerifyMessage
=
result
.
VerifyMessage
;
e
.
IsHrpEmployee
=
result
.
IsHrpEmployee
;
e
.
CreateUser
=
result
.
CreateUser
;
e
.
Reserve01
=
result
.
Reserve01
;
e
.
Reserve02
=
result
.
Reserve02
;
e
.
Reserve03
=
result
.
Reserve03
;
e
.
Reserve04
=
result
.
Reserve04
;
e
.
Reserve05
=
result
.
Reserve05
;
e
.
Reserve06
=
result
.
Reserve06
;
e
.
Reserve07
=
result
.
Reserve07
;
e
.
Reserve08
=
result
.
Reserve08
;
e
.
Reserve09
=
result
.
Reserve09
;
e
.
Reserve10
=
result
.
Reserve10
;
}
});
peremployeeRepository
.
AddRange
(
employees
.
ToArray
());
}
perallotRepository
.
AccoungtingVerify
(
allotId
);
...
...
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