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
e236fada
Commit
e236fada
authored
Dec 12, 2023
by
wyc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加载上月优化(绩效考核)
parent
063afbf9
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
89 additions
and
101 deletions
+89
-101
performance/Performance.Repository/Repository/PerforPerAssessCategoryRepository.cs
+1
-1
performance/Performance.Services/ConfigService.cs
+1
-1
performance/Performance.Services/CopyService.cs
+87
-99
No files found.
performance/Performance.Repository/Repository/PerforPerAssessCategoryRepository.cs
View file @
e236fada
...
...
@@ -8,7 +8,7 @@
namespace
Performance.Repository
{
/// <summary>
///
per_assess_category
Repository
///
--˷
Repository
/// </summary>
public
partial
class
PerforPerAssessCategoryRepository
:
PerforRepository
<
per_assess_category
>
{
...
...
performance/Performance.Services/ConfigService.cs
View file @
e236fada
...
...
@@ -768,7 +768,7 @@ public void NewCopy(CopyRequest request)
{
"agains"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_Agains
(
allot
,
prevAllotId
,
delHistotyData
:
true
)
},
{
"accountings"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_Accountings
(
allot
,
prevAllotId
,
delHistotyData
:
true
)
},
{
"attendanceType"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_AttendanceType
(
allot
,
prevAllotId
)
},
{
"assessType"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_AssessType
(
allot
,
prevAllotId
,
delHistotyData
:
true
)
},
{
"assessType"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_AssessType
(
allot
,
prevAllotId
)
},
{
"department"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_DeptDic
(
allot
,
prevAllotId
,
delHistotyData
:
true
)
},
{
"deptdetail"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_Deptdetail
(
allot
,
prevAllotId
,
delHistotyData
:
true
)
},
{
"empdetail"
,
(
allot
,
prevAllotId
)
=>
_copyService
.
Copy_Empdetail
(
allot
,
prevAllotId
,
delHistotyData
:
true
)
},
...
...
performance/Performance.Services/CopyService.cs
View file @
e236fada
...
...
@@ -391,81 +391,88 @@ public void Copy_AttendanceType(per_allot allot, int prevAllotId)
_perforPerAttendanceDeptRepository
.
AddRange
(
newAttDepts
.
ToArray
());
}
}
public
void
Copy_AssessType
(
per_allot
allot
,
int
prevAllotId
,
bool
delHistotyData
=
false
)
/// <summary>
/// 加载上月绩效考核
/// </summary>
/// <param name="allot"></param>
/// <param name="prevAllotId"></param>
public
void
Copy_AssessType
(
per_allot
allot
,
int
prevAllotId
)
{
var
flag
=
delHistotyData
;
_logger
.
LogInformation
(
$"copy assessType"
);
var
aCategory
=
_perforPerAssessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
delHistotyData
&&
aCategory
!=
null
&&
aCategory
.
Any
())
flag
=
_perforPerAssessCategoryRepository
.
RemoveRange
(
aCategory
.
ToArray
());
var
aScheme
=
_perforPerAssessSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
delHistotyData
&&
aScheme
!=
null
&&
aScheme
.
Any
())
flag
=
_perforPerAssessSchemeRepository
.
RemoveRange
(
aScheme
.
ToArray
());
var
aSchemeItems
=
_perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
delHistotyData
&&
aSchemeItems
!=
null
&&
aSchemeItems
.
Any
())
flag
=
_perforPerAssessSchemeItemsRepository
.
RemoveRange
(
aSchemeItems
.
ToArray
());
var
aSchemeTarget
=
_perforPerAssessSchemeTargetRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
delHistotyData
&&
aSchemeTarget
!=
null
&&
aSchemeTarget
.
Any
())
flag
=
_perforPerAssessSchemeTargetRepository
.
RemoveRange
(
aSchemeTarget
.
ToArray
());
var
aIssueScheme
=
_perforPerAssessIssueSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
delHistotyData
&&
aIssueScheme
!=
null
&&
aIssueScheme
.
Any
())
flag
=
_perforPerAssessIssueSchemeRepository
.
RemoveRange
(
aIssueScheme
.
ToArray
());
var
dateTimeNow
=
DateTime
.
Now
;
if
(
flag
||
aCategory
==
null
||
!
aCategory
.
Any
())
{
aCategory
=
_perforPerAssessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
)
??
_perforPerAssessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
-
1
);
if
(
aCategory
!=
null
&&
aCategory
.
Any
())
var
operatingTime
=
DateTime
.
Now
;
#
region
考核类型加载上月
//查询本月和上月的类型
var
perAssCategorys
=
_perforPerAssessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
||
t
.
AllotId
==
prevAllotId
);
//查询上月有没有类型,没有就跳过
var
prevassCategorys
=
perAssCategorys
.
Where
(
w
=>
w
.
AllotId
==
prevAllotId
).
ToList
();
if
(!
prevassCategorys
.
Any
())
return
;
//查询本月类型,如果存在就改为-1
var
assCategorys
=
perAssCategorys
.
Where
(
w
=>
w
.
AllotId
==
allot
.
ID
).
ToList
();
if
(
assCategorys
.
Any
())
{
var
newaCategorys
=
aCategory
.
Select
(
t
=>
new
per_assess_category
assCategorys
.
ForEach
(
w
=>
{
w
.
AllotId
=
-
1
;
w
.
UpdateTime
=
operatingTime
;
});
_perforPerAssessCategoryRepository
.
UpdateRange
(
assCategorys
.
ToArray
());
}
//将上月的加载到本月
var
newassCategorys
=
prevassCategorys
.
Select
(
t
=>
new
per_assess_category
{
Id
=
0
,
AllotId
=
allot
.
ID
,
AssessCode
=
t
.
AssessCode
,
AssessName
=
t
.
AssessName
,
CreateBy
=
t
.
CreateBy
,
CreateTime
=
dateTimeNow
,
CreateTime
=
operatingTime
,
UpdateBy
=
t
.
UpdateBy
,
UpdateTime
=
dateTimeNow
,
});
var
aCategoryTemp
=
_perforPerAssessCategoryRepository
.
AddRange
(
newaCategorys
.
ToArray
());
}
}
var
aCategoryss
=
_perforPerAssessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
flag
||
aScheme
==
null
||
!
aScheme
.
Any
())
{
aScheme
=
_perforPerAssessSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
)
??
_perforPerAssessSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
-
1
);
if
(
aScheme
!=
null
&&
aScheme
.
Any
())
{
var
newaSchemes
=
aScheme
.
Select
(
t
=>
new
per_assess_scheme
UpdateTime
=
operatingTime
,
}).
ToArray
();
_perforPerAssessCategoryRepository
.
AddRange
(
newassCategorys
);
#
endregion
//查询插入的考核类型
var
newperAssCategorys
=
_perforPerAssessCategoryRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
#
region
考核方案加载上月
var
perAssSchemes
=
_perforPerAssessSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
||
t
.
AllotId
==
allot
.
ID
);
var
prevAssSchemes
=
perAssSchemes
.
Where
(
w
=>
w
.
AllotId
==
prevAllotId
).
ToList
();
if
(!
prevAssSchemes
.
Any
())
return
;
var
assSchemes
=
perAssSchemes
.
Where
(
w
=>
w
.
AllotId
==
allot
.
ID
).
ToList
();
if
(
assSchemes
.
Any
())
{
assSchemes
.
ForEach
(
w
=>
{
w
.
AllotId
=
-
1
;
w
.
UpdateTime
=
operatingTime
;
});
_perforPerAssessSchemeRepository
.
UpdateRange
(
assSchemes
.
ToArray
());
}
var
newaSchemes
=
prevAssSchemes
.
Select
(
t
=>
new
per_assess_scheme
{
Id
=
0
,
AllotId
=
allot
.
ID
,
AssessId
=
aCategoryss
.
FirstOrDefault
(
w
=>
w
.
AssessCode
==
aCategory
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
AssessId
)
.
AssessCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
AssessId
=
newperAssCategorys
.
Find
(
w
=>
w
.
AssessCode
==
prevassCategorys
.
Find
(
s
=>
s
.
Id
==
t
.
AssessId
)?
.
AssessCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
SchemeCode
=
t
.
SchemeCode
,
SchemeName
=
t
.
SchemeName
,
SchemeRemarks
=
t
.
SchemeRemarks
,
CreateBy
=
t
.
CreateBy
,
CreateTime
=
dateTimeNow
,
CreateTime
=
operatingTime
,
UpdateBy
=
t
.
UpdateBy
,
UpdateTime
=
dateTimeNow
,
});
var
aSchemeTemp
=
_perforPerAssessSchemeRepository
.
AddRange
(
newaSchemes
.
ToArray
());
}
}
var
aSchemes
=
_perforPerAssessSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
flag
||
aSchemeItems
==
null
||
!
aSchemeItems
.
Any
())
{
aSchemeItems
=
_perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
)
??
_perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
-
1
);
if
(
aSchemeItems
!=
null
&&
aSchemeItems
.
Any
())
{
var
newaSchemeItems
=
aSchemeItems
.
Select
(
t
=>
new
per_assess_scheme_items
UpdateTime
=
operatingTime
,
}).
ToArray
();
_perforPerAssessSchemeRepository
.
AddRange
(
newaSchemes
);
#
endregion
//查询插入的考核方案
var
newperAssSchemes
=
_perforPerAssessSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
#
region
考核方案指标项加载上月
var
perAssSchemeItems
=
_perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
||
t
.
AllotId
==
allot
.
ID
);
var
prevAssSchemeItems
=
perAssSchemeItems
.
Where
(
w
=>
w
.
AllotId
==
prevAllotId
).
ToList
();
if
(!
prevAssSchemeItems
.
Any
())
return
;
var
assSchemeItems
=
perAssSchemeItems
.
Where
(
w
=>
w
.
AllotId
==
allot
.
ID
).
ToList
();
if
(
assSchemeItems
.
Any
())
{
assSchemeItems
.
ForEach
(
w
=>
{
w
.
AllotId
=
-
1
;
w
.
UpdateTime
=
operatingTime
;
});
_perforPerAssessSchemeItemsRepository
.
UpdateRange
(
assSchemeItems
.
ToArray
());
}
var
newaSchemeItems
=
prevAssSchemeItems
.
Select
(
t
=>
new
per_assess_scheme_items
{
Id
=
0
,
AllotId
=
allot
.
ID
,
AssessId
=
aCategoryss
.
FirstOrDefault
(
w
=>
w
.
AssessCode
==
aCategory
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
AssessId
)
.
AssessCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
SchemeId
=
aSchemes
.
FirstOrDefault
(
w
=>
w
.
SchemeCode
==
aScheme
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
SchemeId
)
.
SchemeCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
AssessId
=
newperAssCategorys
.
Find
(
w
=>
w
.
AssessCode
==
prevassCategorys
.
Find
(
s
=>
s
.
Id
==
t
.
AssessId
)?
.
AssessCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
SchemeId
=
newperAssSchemes
.
Find
(
w
=>
w
.
SchemeCode
==
prevAssSchemes
.
Find
(
s
=>
s
.
Id
==
t
.
SchemeId
)?
.
SchemeCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
ItemCode
=
t
.
ItemCode
,
ItemName1
=
t
.
ItemName1
,
ItemName2
=
t
.
ItemName2
,
...
...
@@ -475,53 +482,35 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
AssessNorm
=
t
.
AssessNorm
,
AssessScore
=
t
.
AssessScore
,
CreateBy
=
t
.
CreateBy
,
CreateTime
=
dateTimeNow
,
UpdateBy
=
t
.
UpdateBy
,
UpdateTime
=
dateTimeNow
,
});
var
aSchemeItemsTemp
=
_perforPerAssessSchemeItemsRepository
.
AddRange
(
newaSchemeItems
.
ToArray
());
}
}
var
aSchemeItemss
=
_perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
if
(
flag
||
aSchemeTarget
==
null
||
!
aSchemeTarget
.
Any
())
{
aSchemeTarget
=
_perforPerAssessSchemeTargetRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
)
??
_perforPerAssessSchemeTargetRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
-
1
);
if
(
aSchemeTarget
!=
null
&&
aSchemeTarget
.
Any
())
{
var
newaSchemeTarget
=
aSchemeTarget
.
Select
(
t
=>
new
per_assess_scheme_target
{
Id
=
0
,
AllotId
=
allot
.
ID
,
AssessId
=
aCategoryss
.
FirstOrDefault
(
w
=>
w
.
AssessCode
==
aCategory
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
AssessId
).
AssessCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
SchemeId
=
aSchemes
.
FirstOrDefault
(
w
=>
w
.
SchemeCode
==
aScheme
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
SchemeId
).
SchemeCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
UnitCode
=
t
.
UnitCode
,
UnitType
=
t
.
UnitType
,
AccountingUnit
=
t
.
AccountingUnit
,
CreateBy
=
t
.
CreateBy
,
CreateTime
=
dateTimeNow
,
CreateTime
=
operatingTime
,
UpdateBy
=
t
.
UpdateBy
,
UpdateTime
=
dateTimeNow
,
UpdateTime
=
operatingTime
,
});
var
aSchemeTargetTemp
=
_perforPerAssessSchemeTargetRepository
.
AddRange
(
newaSchemeTarget
.
ToArray
());
}
}
if
(
flag
||
aIssueScheme
==
null
||
!
aIssueScheme
.
Any
())
{
aIssueScheme
=
_perforPerAssessIssueSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
)
??
_perforPerAssessIssueSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
-
1
);
if
(
aIssueScheme
!=
null
&&
aIssueScheme
.
Any
())
{
var
newaIssueSchemess
=
aIssueScheme
.
Select
(
t
=>
new
per_assess_issue_scheme
_perforPerAssessSchemeItemsRepository
.
AddRange
(
newaSchemeItems
.
ToArray
());
#
endregion
//查询插入的考核方案指标项
var
newperAssSchemeItems
=
_perforPerAssessSchemeItemsRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
allot
.
ID
);
#
region
考核方案下发到责任科室指标清单加载上月
var
perAssIssueSchemes
=
_perforPerAssessIssueSchemeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
prevAllotId
||
t
.
AllotId
==
allot
.
ID
);
var
prevAssIssueSchemes
=
perAssIssueSchemes
.
Where
(
w
=>
w
.
AllotId
==
prevAllotId
).
ToList
();
if
(!
prevAssSchemeItems
.
Any
())
return
;
var
assIssueSchemes
=
perAssIssueSchemes
.
Where
(
w
=>
w
.
AllotId
==
allot
.
ID
).
ToList
();
if
(
assIssueSchemes
.
Any
())
{
assIssueSchemes
.
ForEach
(
w
=>
{
w
.
AllotId
=
-
1
;
w
.
UpdateTime
=
operatingTime
;
});
_perforPerAssessIssueSchemeRepository
.
UpdateRange
(
assIssueSchemes
.
ToArray
());
}
var
newaIssueSchemess
=
prevAssIssueSchemes
.
Select
(
t
=>
new
per_assess_issue_scheme
{
Id
=
0
,
AllotId
=
allot
.
ID
,
AssessId
=
aCategoryss
.
FirstOrDefault
(
w
=>
w
.
AssessCode
==
aCategory
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
AssessId
)
.
AssessCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
AssessId
=
newperAssCategorys
.
Find
(
w
=>
w
.
AssessCode
==
prevassCategorys
.
Find
(
s
=>
s
.
Id
==
t
.
AssessId
)?
.
AssessCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
AssessCode
=
t
.
AssessCode
,
AssessName
=
t
.
AssessName
,
SchemeId
=
aSchemes
.
FirstOrDefault
(
w
=>
w
.
SchemeCode
==
aScheme
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
SchemeId
)
.
SchemeCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
SchemeId
=
newperAssSchemes
.
Find
(
w
=>
w
.
SchemeCode
==
prevAssSchemes
.
Find
(
s
=>
s
.
Id
==
t
.
SchemeId
)?
.
SchemeCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
SchemeCode
=
t
.
SchemeCode
,
SchemeName
=
t
.
SchemeName
,
ItemId
=
aSchemeItemss
.
FirstOrDefault
(
w
=>
w
.
ItemCode
==
aSchemeItems
.
FirstOrDefault
(
s
=>
s
.
Id
==
t
.
ItemId
)
.
ItemCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
ItemId
=
newperAssSchemeItems
.
Find
(
w
=>
w
.
ItemCode
==
prevAssSchemeItems
.
Find
(
s
=>
s
.
Id
==
t
.
ItemId
)?
.
ItemCode
&&
w
.
AllotId
==
allot
.
ID
).
Id
,
ItemCode
=
t
.
ItemCode
,
ItemName1
=
t
.
ItemName1
,
ItemName2
=
t
.
ItemName2
,
...
...
@@ -532,9 +521,9 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
AccountingUnit
=
t
.
AccountingUnit
,
State
=
(
int
)
Assess
.
AssessState
.
未提交
,
CreateBy
=
t
.
CreateBy
,
CreateTime
=
dateTimeNow
,
CreateTime
=
operatingTime
,
UpdateBy
=
t
.
UpdateBy
,
UpdateTime
=
dateTimeNow
,
UpdateTime
=
operatingTime
,
BonusPoint
=
null
,
BonusPointRemark
=
null
,
Deduction
=
null
,
...
...
@@ -547,12 +536,11 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
AuditBy
=
null
,
AuditTime
=
null
,
AuditRemark
=
null
,
});
var
aIssueSchemeTemp
=
_perforPerAssessIssueSchemeRepository
.
AddRange
(
newaIssueSchemess
.
ToArray
());
}
}
}
}).
ToArray
();
_perforPerAssessIssueSchemeRepository
.
AddRange
(
newaIssueSchemess
);
#
endregion
}
}
}
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