Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
8
8timerapiv200
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
8timerv2
8timerapiv200
Commits
4bd8413f
Commit
4bd8413f
authored
Jun 04, 2020
by
tangzhaoqian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
绩效自测、优化、修复bug
parent
b762f136
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
227 additions
and
82 deletions
+227
-82
src/main/java/cn/timer/api/controller/LoginController.java
+21
-0
src/main/java/cn/timer/api/controller/jxgl/JxglController.java
+190
-78
src/main/java/cn/timer/api/controller/jxgl/service/JxglService.java
+5
-0
src/main/java/cn/timer/api/controller/jxgl/service/JxglServiceImpl.java
+5
-0
src/main/resources/mapping/jxgl/JxglAppraisalMapper.xml
+3
-1
src/main/resources/mapping/jxgl/JxglPerformanceAppraisalMapper.xml
+3
-3
No files found.
src/main/java/cn/timer/api/controller/LoginController.java
View file @
4bd8413f
...
@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable;
...
@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -432,6 +433,26 @@ public class LoginController {
...
@@ -432,6 +433,26 @@ public class LoginController {
return
ResultUtil
.
error
(
"修改手机号/用户名失败"
);
return
ResultUtil
.
error
(
"修改手机号/用户名失败"
);
}
}
/**
* 是否有账号
*
* @return
*/
@GetMapping
(
value
=
"/user"
)
@ApiOperation
(
value
=
"5.是否有账号"
,
httpMethod
=
"GET"
,
notes
=
"是否有账号"
)
@ApiOperationSupport
(
order
=
5
)
public
Result
<
String
>
updatephone
(
@CurrentUser
UserBean
userBean
,
@RequestParam
String
phone
)
{
QyzxEmpLogin
login
=
new
LambdaQueryChainWrapper
<
QyzxEmpLogin
>(
qyzxEmpLoginMapper
)
.
eq
(!
StrUtil
.
hasBlank
(
phone
),
QyzxEmpLogin:
:
getPhone
,
phone
).
one
();
if
(
login
==
null
)
{
return
ResultUtil
.
success
(
"0"
);
}
return
ResultUtil
.
success
(
"1"
);
}
@Autowired
@Autowired
SpmkServiceImpl
SpmkService
;
SpmkServiceImpl
SpmkService
;
...
...
src/main/java/cn/timer/api/controller/jxgl/JxglController.java
View file @
4bd8413f
...
@@ -339,8 +339,6 @@ public class JxglController {
...
@@ -339,8 +339,6 @@ public class JxglController {
pA
.
setProcessNode
(
ObjectUtil
.
serialize
(
listPN
));
pA
.
setProcessNode
(
ObjectUtil
.
serialize
(
listPN
));
pA
.
setBeingAppraisalPerson
(
ObjectUtil
.
serialize
(
listBAP
));
pA
.
setBeingAppraisalPerson
(
ObjectUtil
.
serialize
(
listBAP
));
System
.
out
.
println
(
"新增 绩效考核 :"
+
pA
);
// 被考核人员
// 被考核人员
List
<
Integer
>
listEmpId
=
listBAP
.
stream
()
List
<
Integer
>
listEmpId
=
listBAP
.
stream
()
.
filter
(
bAP
->
.
filter
(
bAP
->
...
@@ -369,7 +367,6 @@ public class JxglController {
...
@@ -369,7 +367,6 @@ public class JxglController {
CollUtil
.
addAll
(
listEmpId
,
listEmp2Id
);
CollUtil
.
addAll
(
listEmpId
,
listEmp2Id
);
}
}
// 无需被考核人id
// 无需被考核人id
List
<
Integer
>
listNotEmpId
=
listBAP
.
stream
()
List
<
Integer
>
listNotEmpId
=
listBAP
.
stream
()
.
filter
(
bAP
->
.
filter
(
bAP
->
...
@@ -378,8 +375,8 @@ public class JxglController {
...
@@ -378,8 +375,8 @@ public class JxglController {
.
map
(
BeingAppraisalPerson:
:
getId
)
.
map
(
BeingAppraisalPerson:
:
getId
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
// 过滤掉 无需被考核人id
//
去重+
过滤掉 无需被考核人id
listEmpId
=
listEmpId
.
stream
().
filter
(
e
->
!
listNotEmpId
.
contains
(
e
)).
collect
(
Collectors
.
toList
());
listEmpId
=
listEmpId
.
stream
().
filter
(
e
->
!
listNotEmpId
.
contains
(
e
)).
distinct
().
collect
(
Collectors
.
toList
());
pA
.
setAppraisalPersonNum
(
listEmpId
.
size
());
pA
.
setAppraisalPersonNum
(
listEmpId
.
size
());
// 新增 绩效考核
// 新增 绩效考核
pA
.
insert
();
pA
.
insert
();
...
@@ -459,22 +456,17 @@ public class JxglController {
...
@@ -459,22 +456,17 @@ public class JxglController {
throw
new
CustomException
(
"考核指标不存在"
);
throw
new
CustomException
(
"考核指标不存在"
);
}
}
listAIT
.
stream
().
forEach
(
aIT
->
{
listAIT
.
stream
().
forEach
(
aIT
->
{
// 考核指标
// 考核指标
BeanUtil
.
copyProperties
(
aIT
,
appraisalIndicators
,
"appraisalId"
,
"createTime"
,
"updateTime"
);
BeanUtil
.
copyProperties
(
aIT
,
appraisalIndicators
,
"appraisalId"
,
"createTime"
,
"updateTime"
);
appraisalIndicators
.
setAppraisalId
(
appraisal
.
getId
());
appraisalIndicators
.
setAppraisalId
(
appraisal
.
getId
());
// 新增 考核指标
// 新增 考核指标
appraisalIndicators
.
insert
();
appraisalIndicators
.
insert
();
System
.
out
.
println
(
"新增 考核指标:"
+
appraisalIndicators
);
// System.out.println("新增 考核指标:" + appraisalIndicators);
List
<
JxglAppraisalItemT
>
listAItemT
=
jsxglAppraisalItemTMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisalItemT
>().
lambda
()
List
<
JxglAppraisalItemT
>
listAItemT
=
jsxglAppraisalItemTMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisalItemT
>().
lambda
()
.
eq
(
JxglAppraisalItemT:
:
getAppraisalIndicatorsTId
,
aIT
.
getId
()));
.
eq
(
JxglAppraisalItemT:
:
getAppraisalIndicatorsTId
,
aIT
.
getId
()));
if
(
listAItemT
!=
null
&&
listAItemT
.
size
()
>
0
)
{
if
(
listAItemT
!=
null
&&
listAItemT
.
size
()
>
0
)
{
listAItemT
.
stream
().
forEach
(
aItemT
->
{
listAItemT
.
stream
().
forEach
(
aItemT
->
{
BeanUtil
.
copyProperties
(
aItemT
,
appraisalItem
,
"appraisalIndicatorsTId"
);
BeanUtil
.
copyProperties
(
aItemT
,
appraisalItem
,
"appraisalIndicatorsTId"
);
...
@@ -482,7 +474,7 @@ public class JxglController {
...
@@ -482,7 +474,7 @@ public class JxglController {
// 新增 考核项
// 新增 考核项
appraisalItem
.
insert
();
appraisalItem
.
insert
();
System
.
out
.
println
(
"新增 考核项:"
+
appraisalItem
);
//
System.out.println("新增 考核项:" + appraisalItem);
});
});
}
}
...
@@ -500,10 +492,6 @@ public class JxglController {
...
@@ -500,10 +492,6 @@ public class JxglController {
appraisalLog
.
insert
();
appraisalLog
.
insert
();
}
}
// System.out.println("listEmpId----"+listEmpId);
// System.out.println(listDeptId);
// System.out.println(listNotEmpId);
return
ResultUtil
.
success
();
return
ResultUtil
.
success
();
}
}
...
@@ -602,16 +590,130 @@ public class JxglController {
...
@@ -602,16 +590,130 @@ public class JxglController {
}
}
Integer
sts
=
null
;
Integer
sts
=
null
;
Integer
id
=
performanceAppraisal
.
getId
();
List
<
JxglAppraisal
>
listA
=
CollUtil
.
toList
();
List
<
Integer
>
aIds
=
CollUtil
.
toList
();
List
<
JxglProcessNode
>
listPN
=
CollUtil
.
toList
();
List
<
Integer
>
pNIds
=
CollUtil
.
toList
();
switch
(
performanceAppraisal
.
getSts
())
{
switch
(
performanceAppraisal
.
getSts
())
{
case
0
:
case
0
:
sts
=
PerformanceAppraisalSts
.
PERFORMANCE_SCORE
.
getType
();
sts
=
PerformanceAppraisalSts
.
PERFORMANCE_SCORE
.
getType
();
listA
=
jxglAppraisalMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisal
>().
lambda
()
.
select
(
JxglAppraisal:
:
getId
)
.
eq
(
JxglAppraisal:
:
getPerformanceAppraisalId
,
id
));
if
(
listA
!=
null
&&
listA
.
size
()
>
0
)
{
aIds
=
listA
.
stream
().
map
(
JxglAppraisal:
:
getId
).
collect
(
Collectors
.
toList
());
listPN
=
jxglProcessNodeMapper
.
selectList
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getAppraisalId
,
aIds
)
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
TARGET_CONFIRMED
.
getType
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
EXECUTED
.
getType
()));
if
(
listPN
!=
null
&&
listPN
.
size
()
>
0
)
{
aIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getAppraisalId
).
collect
(
Collectors
.
toList
());
System
.
out
.
println
(
"1------"
+
aIds
);
listPN
=
jxglProcessNodeMapper
.
selectList
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getAppraisalId
,
aIds
)
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
SELF_ASSESSMENT
.
getType
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
NON_EXECUTION
.
getType
()));
if
(
listPN
!=
null
&&
listPN
.
size
()
>
0
)
{
pNIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getId
).
collect
(
Collectors
.
toList
());
aIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getAppraisalId
).
collect
(
Collectors
.
toList
());
System
.
out
.
println
(
"2------"
+
pNIds
);
System
.
out
.
println
(
"3------"
+
aIds
);
JxglProcessNode
.
builder
().
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
()).
build
().
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getId
,
pNIds
));
JxglAppraisal
.
builder
().
sts
(
AppraisalSts
.
SELF_ASSESSMENT
.
getType
()).
build
().
update
(
new
UpdateWrapper
<
JxglAppraisal
>().
lambda
()
.
in
(
JxglAppraisal:
:
getId
,
aIds
));
}
}
}
break
;
break
;
case
1
:
case
1
:
sts
=
PerformanceAppraisalSts
.
RESULT_VERIFICATION
.
getType
();
sts
=
PerformanceAppraisalSts
.
RESULT_VERIFICATION
.
getType
();
listA
=
jxglAppraisalMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisal
>().
lambda
()
.
select
(
JxglAppraisal:
:
getId
)
.
eq
(
JxglAppraisal:
:
getPerformanceAppraisalId
,
id
));
if
(
listA
!=
null
&&
listA
.
size
()
>
0
)
{
aIds
=
listA
.
stream
().
map
(
JxglAppraisal:
:
getId
).
collect
(
Collectors
.
toList
());
listPN
=
jxglProcessNodeMapper
.
selectList
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getAppraisalId
,
aIds
)
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
SUPERIOR_SCORE
.
getType
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
EXECUTED
.
getType
()));
if
(
listPN
!=
null
&&
listPN
.
size
()
>
0
)
{
aIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getAppraisalId
).
collect
(
Collectors
.
toList
());
listPN
=
jxglProcessNodeMapper
.
selectList
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getAppraisalId
,
aIds
)
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
RESULT_VERIFICATION
.
getType
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
NON_EXECUTION
.
getType
()));
if
(
listPN
!=
null
&&
listPN
.
size
()
>
0
)
{
pNIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getId
).
collect
(
Collectors
.
toList
());
aIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getAppraisalId
).
collect
(
Collectors
.
toList
());
JxglProcessNode
.
builder
().
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
()).
build
().
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getId
,
pNIds
));
JxglAppraisal
.
builder
().
sts
(
AppraisalSts
.
RESULT_VERIFICATION
.
getType
()).
build
().
update
(
new
UpdateWrapper
<
JxglAppraisal
>().
lambda
()
.
in
(
JxglAppraisal:
:
getId
,
aIds
));
}
}
}
break
;
break
;
case
2
:
case
2
:
sts
=
PerformanceAppraisalSts
.
PERFORMANCE_ARCHIVE
.
getType
();
sts
=
PerformanceAppraisalSts
.
PERFORMANCE_ARCHIVE
.
getType
();
listA
=
jxglAppraisalMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisal
>().
lambda
()
.
select
(
JxglAppraisal:
:
getId
)
.
eq
(
JxglAppraisal:
:
getPerformanceAppraisalId
,
id
));
if
(
listA
!=
null
&&
listA
.
size
()
>
0
)
{
aIds
=
listA
.
stream
().
map
(
JxglAppraisal:
:
getId
).
collect
(
Collectors
.
toList
());
listPN
=
jxglProcessNodeMapper
.
selectList
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getAppraisalId
,
aIds
)
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
RESULT_VERIFICATION
.
getType
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
EXECUTED
.
getType
()));
if
(
listPN
!=
null
&&
listPN
.
size
()
>
0
)
{
aIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getAppraisalId
).
collect
(
Collectors
.
toList
());
listPN
=
jxglProcessNodeMapper
.
selectList
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getAppraisalId
,
aIds
)
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
TARGET_CONFIRMED
.
getType
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
NON_EXECUTION
.
getType
()));
if
(
listPN
!=
null
&&
listPN
.
size
()
>
0
)
{
pNIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getId
).
collect
(
Collectors
.
toList
());
aIds
=
listPN
.
stream
().
map
(
JxglProcessNode:
:
getAppraisalId
).
collect
(
Collectors
.
toList
());
JxglProcessNode
.
builder
().
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
()).
build
().
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
in
(
JxglProcessNode:
:
getId
,
pNIds
));
JxglAppraisal
.
builder
().
sts
(
AppraisalSts
.
SELF_ASSESSMENT
.
getType
()).
build
().
update
(
new
UpdateWrapper
<
JxglAppraisal
>().
lambda
()
.
in
(
JxglAppraisal:
:
getId
,
aIds
));
}
}
}
break
;
break
;
default
:
default
:
break
;
break
;
...
@@ -623,6 +725,7 @@ public class JxglController {
...
@@ -623,6 +725,7 @@ public class JxglController {
.
sts
(
sts
)
.
sts
(
sts
)
.
build
());
.
build
());
// 修改 考核状态
jxglAppraisalMapper
.
update
(
JxglAppraisal
.
builder
()
jxglAppraisalMapper
.
update
(
JxglAppraisal
.
builder
()
.
performanceAppraisalId
(
appraisalUpdateSts
.
getId
())
.
performanceAppraisalId
(
appraisalUpdateSts
.
getId
())
.
sts
(
sts
)
.
sts
(
sts
)
...
@@ -631,15 +734,16 @@ public class JxglController {
...
@@ -631,15 +734,16 @@ public class JxglController {
.
eq
(
JxglAppraisal:
:
getSts
,
AppraisalSts
.
TARGET_CONFIRMED
.
getType
())
.
eq
(
JxglAppraisal:
:
getSts
,
AppraisalSts
.
TARGET_CONFIRMED
.
getType
())
);
);
return
ResultUtil
.
success
(
"删除-所有-绩效考核"
);
return
ResultUtil
.
success
();
}
}
/**
/**
* 删除-所有-绩效考核
* 删除-所有-绩效考核
*/
*/
@DeleteMapping
(
value
=
"/delete_all_pa"
)
@DeleteMapping
(
value
=
"/delete_all_pa"
)
@ApiOperation
(
value
=
"8.删除-所有-绩效考核"
,
httpMethod
=
"DELETE"
,
notes
=
"删除-所有-绩效考核"
)
@ApiOperation
(
value
=
"99.删除-所有-绩效考核"
,
httpMethod
=
"DELETE"
,
notes
=
"删除-所有-绩效考核"
)
@ApiOperationSupport
(
order
=
8
)
@ApiOperationSupport
(
order
=
99
)
@Role
public
Result
<
Object
>
deleteAllPA
(
@CurrentUser
UserBean
userBean
){
public
Result
<
Object
>
deleteAllPA
(
@CurrentUser
UserBean
userBean
){
jxglPerformanceAppraisalMapper
.
delete
(
null
);
jxglPerformanceAppraisalMapper
.
delete
(
null
);
...
@@ -763,8 +867,6 @@ public class JxglController {
...
@@ -763,8 +867,6 @@ public class JxglController {
return
ResultUtil
.
error
(
"考核 不存在"
);
return
ResultUtil
.
error
(
"考核 不存在"
);
}
}
Integer
count
=
jxglAppraisalMapper
.
selectCount
(
new
QueryWrapper
<
JxglAppraisal
>().
lambda
()
Integer
count
=
jxglAppraisalMapper
.
selectCount
(
new
QueryWrapper
<
JxglAppraisal
>().
lambda
()
.
eq
(
JxglAppraisal:
:
getId
,
processNodeUpdate
.
getAppraisalId
())
.
eq
(
JxglAppraisal:
:
getId
,
processNodeUpdate
.
getAppraisalId
())
.
in
(
JxglAppraisal:
:
getSts
,
AppraisalSts
.
ASSESSMENT_COMPLETE
.
getType
(),
.
in
(
JxglAppraisal:
:
getSts
,
AppraisalSts
.
ASSESSMENT_COMPLETE
.
getType
(),
...
@@ -958,6 +1060,8 @@ public class JxglController {
...
@@ -958,6 +1060,8 @@ public class JxglController {
@ApiOperationSupport
(
order
=
17
)
@ApiOperationSupport
(
order
=
17
)
public
Result
<
Object
>
saveTF
(
@CurrentUser
UserBean
userBean
,
@RequestBody
AppraisalUpdate
appraisalUpdate
)
throws
Exception
{
public
Result
<
Object
>
saveTF
(
@CurrentUser
UserBean
userBean
,
@RequestBody
AppraisalUpdate
appraisalUpdate
)
throws
Exception
{
Integer
id
=
appraisalUpdate
.
getId
();
Integer
id
=
appraisalUpdate
.
getId
();
Integer
count2
=
jxglAppraisalMapper
.
selectCount
(
new
QueryWrapper
<
JxglAppraisal
>().
lambda
()
Integer
count2
=
jxglAppraisalMapper
.
selectCount
(
new
QueryWrapper
<
JxglAppraisal
>().
lambda
()
...
@@ -975,7 +1079,7 @@ public class JxglController {
...
@@ -975,7 +1079,7 @@ public class JxglController {
.
select
(
JxglAppraisal:
:
getId
));
.
select
(
JxglAppraisal:
:
getId
));
if
(
appraisal
==
null
)
{
if
(
appraisal
==
null
)
{
return
ResultUtil
.
error
(
"考核
不存在"
);
return
ResultUtil
.
error
(
"考核不存在"
);
}
}
List
<
JxglAppraisalIndicators
>
listAI2
=
appraisalUpdate
.
getAppraisalIndicators
();
List
<
JxglAppraisalIndicators
>
listAI2
=
appraisalUpdate
.
getAppraisalIndicators
();
...
@@ -997,43 +1101,33 @@ public class JxglController {
...
@@ -997,43 +1101,33 @@ public class JxglController {
return
ResultUtil
.
error
(
"无权限 操作该流程"
);
return
ResultUtil
.
error
(
"无权限 操作该流程"
);
}
}
List
<
JxglAppraisalIndicators
>
listAI
=
jxglAppraisalIndicatorsMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisalIndicators
>().
lambda
()
.
eq
(
JxglAppraisalIndicators:
:
getAppraisalId
,
appraisal
.
getId
()));
if
(
listAI
==
null
)
{
return
ResultUtil
.
error
(
"考核指标不能为空"
);
}
List
<
Integer
>
listWeight
=
listAI
.
stream
().
map
(
JxglAppraisalIndicators:
:
getWeight
).
collect
(
Collectors
.
toList
());
Integer
weightSum
=
0
;
if
(
listWeight
!=
null
&&
listWeight
.
size
()
>
0
)
{
for
(
Integer
i
:
listWeight
)
{
weightSum
+=
i
;
}
if
(!
weightSum
.
equals
(
100
))
return
ResultUtil
.
error
(
"权重总和要等于 100%"
);
}
}
else
{
}
else
{
return
ResultUtil
.
error
(
"流程状态异常"
);
return
ResultUtil
.
error
(
"流程状态异常"
);
}
}
// 查找 非固定 考核指标
List
<
JxglAppraisalIndicators
>
listAI
=
jxglAppraisalIndicatorsMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisalIndicators
>().
lambda
()
List
<
JxglAppraisalIndicators
>
listAI
=
jxglAppraisalIndicatorsMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisalIndicators
>().
lambda
()
.
select
(
JxglAppraisalIndicators:
:
getId
)
.
select
(
JxglAppraisalIndicators:
:
getId
)
.
eq
(
JxglAppraisalIndicators:
:
getType
,
IndicatorsType
.
NOT_FIXATION
.
getType
())
.
eq
(
JxglAppraisalIndicators:
:
getAppraisalId
,
id
));
.
eq
(
JxglAppraisalIndicators:
:
getAppraisalId
,
id
));
List
<
Integer
>
appraisalIndicatorIds
=
listAI
!=
null
?
listAI
.
stream
().
map
(
JxglAppraisalIndicators:
:
getId
).
collect
(
Collectors
.
toList
())
:
null
;
List
<
Integer
>
appraisalIndicatorIds
=
listAI
!=
null
?
listAI
.
stream
().
map
(
JxglAppraisalIndicators:
:
getId
).
collect
(
Collectors
.
toList
())
:
null
;
// 删除 考核项
if
(
appraisalIndicatorIds
!=
null
)
{
jxglAppraisalItemMapper
.
delete
(
new
QueryWrapper
<
JxglAppraisalItem
>().
lambda
()
.
in
(
JxglAppraisalItem:
:
getAppraisalIndicatorsId
,
appraisalIndicatorIds
));
// 删除 考核项
jxglAppraisalItemMapper
.
delete
(
new
QueryWrapper
<
JxglAppraisalItem
>().
lambda
()
.
in
(
JxglAppraisalItem:
:
getAppraisalIndicatorsId
,
appraisalIndicatorIds
));
}
// 删除 考核指标
// 删除 考核指标
jxglAppraisalIndicatorsMapper
.
delete
(
new
QueryWrapper
<
JxglAppraisalIndicators
>().
lambda
()
jxglAppraisalIndicatorsMapper
.
delete
(
new
QueryWrapper
<
JxglAppraisalIndicators
>().
lambda
()
.
eq
(
JxglAppraisalIndicators:
:
getType
,
IndicatorsType
.
NOT_FIXATION
.
getType
())
.
eq
(
JxglAppraisalIndicators:
:
getAppraisalId
,
id
));
.
eq
(
JxglAppraisalIndicators:
:
getAppraisalId
,
id
));
listAI2
.
forEach
(
aI
->
{
listAI2
.
forEach
(
aI
->
{
aI
.
setAppraisalId
(
id
);
aI
.
setType
(
IndicatorsType
.
NOT_FIXATION
.
getType
());
if
(
aI
.
insert
())
{
if
(
aI
.
insert
())
{
List
<
JxglAppraisalItem
>
listAItem
=
aI
.
getAppraisalItems
();
List
<
JxglAppraisalItem
>
listAItem
=
aI
.
getAppraisalItems
();
if
(
listAItem
!=
null
&&
listAItem
.
size
()
>
0
)
{
if
(
listAItem
!=
null
&&
listAItem
.
size
()
>
0
)
{
...
@@ -1048,6 +1142,21 @@ public class JxglController {
...
@@ -1048,6 +1142,21 @@ public class JxglController {
});
});
listAI
=
jxglAppraisalIndicatorsMapper
.
selectList
(
new
QueryWrapper
<
JxglAppraisalIndicators
>().
lambda
()
.
select
(
JxglAppraisalIndicators:
:
getWeight
)
.
eq
(
JxglAppraisalIndicators:
:
getAppraisalId
,
id
));
List
<
Integer
>
listWeight
=
listAI
.
stream
().
map
(
JxglAppraisalIndicators:
:
getWeight
).
collect
(
Collectors
.
toList
());
Integer
weightSum
=
0
;
if
(
listWeight
!=
null
&&
listWeight
.
size
()
>
0
)
{
for
(
Integer
i
:
listWeight
)
{
weightSum
+=
i
;
System
.
out
.
println
(
"权重:"
+
i
);
}
if
(!
weightSum
.
equals
(
100
))
return
ResultUtil
.
error
(
"权重总和要等于 100%"
);
}
return
ResultUtil
.
success
();
return
ResultUtil
.
success
();
}
}
...
@@ -1163,7 +1272,7 @@ public class JxglController {
...
@@ -1163,7 +1272,7 @@ public class JxglController {
.
select
(
JxglAppraisal:
:
getId
));
.
select
(
JxglAppraisal:
:
getId
));
if
(
appraisal
==
null
)
{
if
(
appraisal
==
null
)
{
return
ResultUtil
.
error
(
"考核
不存在"
);
return
ResultUtil
.
error
(
"考核不存在"
);
}
}
JxglProcessNode
processNode
=
jxglProcessNodeMapper
.
selectOne
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
JxglProcessNode
processNode
=
jxglProcessNodeMapper
.
selectOne
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
...
@@ -1198,9 +1307,11 @@ public class JxglController {
...
@@ -1198,9 +1307,11 @@ public class JxglController {
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
SELF_ASSESSMENT
.
getType
()));
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
SELF_ASSESSMENT
.
getType
()));
jxglAppraisalMapper
.
updateById
(
JxglAppraisal
.
builder
().
id
(
appraisal
.
getId
()).
sts
(
AppraisalSts
.
SELF_ASSESSMENT
.
getType
()).
build
());
}
}
jxglAppraisalMapper
.
updateById
(
JxglAppraisal
.
builder
().
id
(
id
).
sts
(
AppraisalSts
.
TARGET_CONFIRMED
.
getType
()).
build
());
JxglAppraisalLog
appraisalLog
=
JxglAppraisalLog
.
builder
().
build
();
JxglAppraisalLog
appraisalLog
=
JxglAppraisalLog
.
builder
().
build
();
appraisalLog
.
setAppraisalId
(
appraisal
.
getId
());
appraisalLog
.
setAppraisalId
(
appraisal
.
getId
());
...
@@ -1264,9 +1375,9 @@ public class JxglController {
...
@@ -1264,9 +1375,9 @@ public class JxglController {
.
build
()
.
build
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
IN_EXECUTION
.
getType
()));
.
in
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
TARGET_CONFIRMED
.
getType
())
);
// 修改 下一个节点状态
JxglProcessNode
JxglProcessNode
.
builder
()
.
builder
()
.
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
())
.
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
())
...
@@ -1340,16 +1451,17 @@ public class JxglController {
...
@@ -1340,16 +1451,17 @@ public class JxglController {
.
build
()
.
build
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
IN_EXECUTION
.
getType
()));
.
in
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
TARGET_CONFIRMED
.
getType
(),
ProcessType
.
SELF_ASSESSMENT
.
getType
())
);
// 修改 下一个节点状态
JxglProcessNode
JxglProcessNode
.
builder
()
.
builder
()
.
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
())
.
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
())
.
build
()
.
build
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
TARGET_
CONFIRMED
.
getType
()));
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
TARGET_
FILL_IN
.
getType
()));
// 删除 考核评定-自评
// 删除 考核评定-自评
jxglAppraisalAssessmentMapper
.
delete
(
new
QueryWrapper
<
JxglAppraisalAssessment
>().
lambda
()
jxglAppraisalAssessmentMapper
.
delete
(
new
QueryWrapper
<
JxglAppraisalAssessment
>().
lambda
()
...
@@ -1406,7 +1518,7 @@ public class JxglController {
...
@@ -1406,7 +1518,7 @@ public class JxglController {
.
select
(
JxglAppraisal:
:
getId
));
.
select
(
JxglAppraisal:
:
getId
));
if
(
appraisal
==
null
)
{
if
(
appraisal
==
null
)
{
return
ResultUtil
.
error
(
"考核
不存在"
);
return
ResultUtil
.
error
(
"考核不存在"
);
}
}
JxglProcessNode
processNode
=
jxglProcessNodeMapper
.
selectOne
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
JxglProcessNode
processNode
=
jxglProcessNodeMapper
.
selectOne
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
...
@@ -1419,10 +1531,9 @@ public class JxglController {
...
@@ -1419,10 +1531,9 @@ public class JxglController {
if
(
ProcessType
.
SUPERIOR_SCORE
.
getType
()
==
processNode
.
getProcessType
())
{
if
(
ProcessType
.
SUPERIOR_SCORE
.
getType
()
==
processNode
.
getProcessType
())
{
if
(!
userBean
.
getEmpNum
().
equals
(
processNode
.
getExecutorId
()))
{
if
(!
userBean
.
getEmpNum
().
equals
(
processNode
.
getExecutorId
()))
{
return
ResultUtil
.
error
(
"无权限
操作该流程"
);
return
ResultUtil
.
error
(
"无权限操作该流程"
);
}
}
// 修改 状态
// 修改 状态
JxglProcessNode
JxglProcessNode
.
builder
()
.
builder
()
...
@@ -1430,7 +1541,8 @@ public class JxglController {
...
@@ -1430,7 +1541,8 @@ public class JxglController {
.
build
()
.
build
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
IN_EXECUTION
.
getType
()));
.
eq
(
JxglProcessNode:
:
getProcessType
,
ProcessType
.
SUPERIOR_SCORE
.
getType
())
);
// 修改 上一个节点状态
// 修改 上一个节点状态
JxglProcessNode
JxglProcessNode
...
@@ -1498,7 +1610,7 @@ public class JxglController {
...
@@ -1498,7 +1610,7 @@ public class JxglController {
.
select
(
JxglAppraisal:
:
getId
));
.
select
(
JxglAppraisal:
:
getId
));
if
(
appraisal
==
null
)
{
if
(
appraisal
==
null
)
{
return
ResultUtil
.
error
(
"考核
不存在"
);
return
ResultUtil
.
error
(
"考核不存在"
);
}
}
JxglProcessNode
processNode
=
jxglProcessNodeMapper
.
selectOne
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
JxglProcessNode
processNode
=
jxglProcessNodeMapper
.
selectOne
(
new
QueryWrapper
<
JxglProcessNode
>().
lambda
()
...
@@ -1543,7 +1655,7 @@ public class JxglController {
...
@@ -1543,7 +1655,7 @@ public class JxglController {
.
build
()
.
build
()
.
insert
();
.
insert
();
jxglAppraisalMapper
.
updateById
(
JxglAppraisal
.
builder
().
id
(
appraisal
.
getId
()).
sts
(
AppraisalSts
.
RESULT_VERIFICATION
.
getType
()).
build
());
//
jxglAppraisalMapper.updateById(JxglAppraisal.builder().id(appraisal.getId()).sts(AppraisalSts.RESULT_VERIFICATION.getType()).build());
}
}
...
@@ -1552,27 +1664,33 @@ public class JxglController {
...
@@ -1552,27 +1664,33 @@ public class JxglController {
// 修改 状态
// 修改 状态
JxglProcessNode
JxglProcessNode
.
builder
()
.
builder
()
.
sts
(
ProcessNodeSts
.
NON_EXECUTION
.
getType
())
.
sts
(
ProcessNodeSts
.
EXECUTED
.
getType
())
.
build
()
.
build
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
IN_EXECUTION
.
getType
()));
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
IN_EXECUTION
.
getType
()));
JxglProcessNode
.
builder
()
.
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
())
.
build
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
ProcessType
.
SUPERIOR_SCORE
.
getType
()
==
processNode
.
getProcessType
(),
JxglProcessNode:
:
getProcessType
,
ProcessType
.
RESULT_VERIFICATION
.
getType
())
.
eq
(
ProcessType
.
SELF_ASSESSMENT
.
getType
()
==
processNode
.
getProcessType
(),
JxglProcessNode:
:
getProcessType
,
ProcessType
.
SUPERIOR_SCORE
.
getType
()));
JxglPerformanceAppraisal
pA
=
jxglPerformanceAppraisalMapper
.
selectById
(
appraisal
.
getPerformanceAppraisalId
());
JxglPerformanceAppraisal
pA
=
jxglPerformanceAppraisalMapper
.
selectById
(
appraisal
.
getPerformanceAppraisalId
());
if
(
pA
!=
null
&&
pA
.
getSts
()
>
PerformanceAppraisalSts
.
PERFORMANCE_SCORE
.
getType
())
{
if
(
pA
!=
null
&&
pA
.
getSts
()
>
PerformanceAppraisalSts
.
PERFORMANCE_SCORE
.
getType
())
{
// 修改 下一个节点状态
// 修改 下一个节点状态
if
(
ProcessType
.
SUPERIOR_SCORE
.
getType
()
==
processNode
.
getProcessType
())
{
JxglProcessNode
jxglAppraisalMapper
.
updateById
(
JxglAppraisal
.
builder
()
.
builder
()
.
id
(
appraisal
.
getId
())
.
sts
(
ProcessNodeSts
.
IN_EXECUTION
.
getType
())
.
sts
(
AppraisalSts
.
RESULT_VERIFICATION
.
getType
()).
build
());
.
build
()
}
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
ProcessType
.
SUPERIOR_SCORE
.
getType
()
==
processNode
.
getProcessType
(),
JxglProcessNode:
:
getProcessType
,
ProcessType
.
RESULT_VERIFICATION
.
getType
())
.
eq
(
ProcessType
.
SELF_ASSESSMENT
.
getType
()
==
processNode
.
getProcessType
(),
JxglProcessNode:
:
getProcessType
,
ProcessType
.
SUPERIOR_SCORE
.
getType
()));
}
}
JxglAppraisalLog
appraisalLog
=
JxglAppraisalLog
.
builder
().
build
();
JxglAppraisalLog
appraisalLog
=
JxglAppraisalLog
.
builder
().
build
();
appraisalLog
.
setAppraisalId
(
appraisal
.
getId
());
appraisalLog
.
setAppraisalId
(
appraisal
.
getId
());
appraisalLog
.
setExecutorId
(
userBean
.
getEmpNum
());
appraisalLog
.
setExecutorId
(
userBean
.
getEmpNum
());
...
@@ -1629,21 +1747,15 @@ public class JxglController {
...
@@ -1629,21 +1747,15 @@ public class JxglController {
// 修改 状态
// 修改 状态
JxglProcessNode
JxglProcessNode
.
builder
()
.
builder
()
.
sts
(
ProcessNodeSts
.
NON_EXECUTION
.
getType
())
.
sts
(
ProcessNodeSts
.
EXECUTED
.
getType
())
.
build
()
.
build
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
update
(
new
UpdateWrapper
<
JxglProcessNode
>().
lambda
()
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getAppraisalId
,
appraisal
.
getId
())
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
IN_EXECUTION
.
getType
()));
.
eq
(
JxglProcessNode:
:
getSts
,
ProcessNodeSts
.
IN_EXECUTION
.
getType
()));
JxglPerformanceAppraisal
pA
=
jxglPerformanceAppraisalMapper
.
selectById
(
appraisal
.
getPerformanceAppraisalId
());
jxglAppraisalMapper
.
updateById
(
JxglAppraisal
.
builder
()
if
(
pA
!=
null
&&
pA
.
getSts
()
>
PerformanceAppraisalSts
.
RESULT_VERIFICATION
.
getType
())
{
.
id
(
id
)
// 修改 下一个节点状态
.
sts
(
AppraisalSts
.
ASSESSMENT_COMPLETE
.
getType
()).
build
());
jxglAppraisalMapper
.
updateById
(
JxglAppraisal
.
builder
()
.
id
(
id
)
.
sts
(
AppraisalSts
.
ASSESSMENT_COMPLETE
.
getType
()).
build
());
}
JxglAppraisalLog
appraisalLog
=
JxglAppraisalLog
.
builder
().
build
();
JxglAppraisalLog
appraisalLog
=
JxglAppraisalLog
.
builder
().
build
();
appraisalLog
.
setAppraisalId
(
appraisal
.
getId
());
appraisalLog
.
setAppraisalId
(
appraisal
.
getId
());
...
...
src/main/java/cn/timer/api/controller/jxgl/service/JxglService.java
0 → 100644
View file @
4bd8413f
package
cn
.
timer
.
api
.
controller
.
jxgl
.
service
;
public
interface
JxglService
{
}
src/main/java/cn/timer/api/controller/jxgl/service/JxglServiceImpl.java
0 → 100644
View file @
4bd8413f
package
cn
.
timer
.
api
.
controller
.
jxgl
.
service
;
public
class
JxglServiceImpl
implements
JxglService
{
}
src/main/resources/mapping/jxgl/JxglAppraisalMapper.xml
View file @
4bd8413f
...
@@ -138,7 +138,7 @@
...
@@ -138,7 +138,7 @@
b.id JxglProcessNode_id,
b.id JxglProcessNode_id,
b.appraisal_id JxglProcessNode_appraisal_id,
b.appraisal_id JxglProcessNode_appraisal_id,
b.executor_id JxglProcessNode_executor_id,
b.executor_id JxglProcessNode_executor_id,
b.executor_name JxglProcessNode_executor_name,
<!-- b.executor_name JxglProcessNode_executor_name, -->
b.execute_type JxglProcessNode_execute_type,
b.execute_type JxglProcessNode_execute_type,
b.process_type JxglProcessNode_process_type,
b.process_type JxglProcessNode_process_type,
b.name JxglProcessNode_name,
b.name JxglProcessNode_name,
...
@@ -314,6 +314,7 @@
...
@@ -314,6 +314,7 @@
SELECT
SELECT
<include
refid=
"Base_Column_List_a"
/>
,
<include
refid=
"Base_Column_List_a"
/>
,
<include
refid=
"Base_Column_List_Alias_b"
/>
,
<include
refid=
"Base_Column_List_Alias_b"
/>
,
i.name JxglProcessNode_executor_name,
<include
refid=
"Base_Column_List_Alias_c"
/>
,
<include
refid=
"Base_Column_List_Alias_c"
/>
,
<include
refid=
"Base_Column_List_Alias_d"
/>
,
<include
refid=
"Base_Column_List_Alias_d"
/>
,
<include
refid=
"Base_Column_List_Alias_e"
/>
,
<include
refid=
"Base_Column_List_Alias_e"
/>
,
...
@@ -329,6 +330,7 @@
...
@@ -329,6 +330,7 @@
LEFT JOIN jxgl_appraisal_indicators_assessment f ON e.id = f.appraisal_indicators_id
LEFT JOIN jxgl_appraisal_indicators_assessment f ON e.id = f.appraisal_indicators_id
LEFT JOIN jxgl_appraisal_item g ON e.id = g.appraisal_indicators_id
LEFT JOIN jxgl_appraisal_item g ON e.id = g.appraisal_indicators_id
LEFT JOIN jxgl_performance_appraisal h ON a.performance_appraisal_id = h.id
LEFT JOIN jxgl_performance_appraisal h ON a.performance_appraisal_id = h.id
LEFT JOIN yggl_main_emp i ON b.executor_id = i.emp_num AND i.org_code = #{orgCode}
WHERE a.id = #{id}
WHERE a.id = #{id}
ORDER BY c.id , d.id
ORDER BY c.id , d.id
</select>
</select>
...
...
src/main/resources/mapping/jxgl/JxglPerformanceAppraisalMapper.xml
View file @
4bd8413f
...
@@ -185,15 +185,15 @@
...
@@ -185,15 +185,15 @@
<select
id=
"selectListEmpByQuery"
resultMap=
"BaseResultMap_ALl"
>
<select
id=
"selectListEmpByQuery"
resultMap=
"BaseResultMap_ALl"
>
SELECT
SELECT
a.name,a.appraisal_start_time,a.appraisal_end_time,
a.name,a.appraisal_start_time,a.appraisal_end_time,
b.sts b_sts,
b.
id b_id, b.
sts b_sts,
(SELECT name FROM yggl_main_emp WHERE emp_num = d.executor_id AND org_code = a.org_code) as b_executor_name,
(SELECT name FROM yggl_main_emp WHERE emp_num = d.executor_id AND org_code = a.org_code) as b_executor_name,
c.comprehensive_score c_comprehensive_score,
c.comprehensive_score c_comprehensive_score,
c.level c_level
c.level c_level
FROM jxgl_performance_appraisal a
FROM jxgl_performance_appraisal a
LEFT JOIN jxgl_appraisal b ON b.performance_appraisal_id = a.id
LEFT JOIN jxgl_appraisal b ON b.performance_appraisal_id = a.id
LEFT JOIN jxgl_appraisal_assessment c ON b.id = c.appraisal_id
LEFT JOIN jxgl_appraisal_assessment c ON b.id = c.appraisal_id
AND c.type = 1
LEFT JOIN jxgl_process_node d ON b.id = d.appraisal_id AND d.sts = 1
LEFT JOIN jxgl_process_node d ON b.id = d.appraisal_id AND d.sts = 1
WHERE a.org_code = #{param.orgCode} AND b.emp_num = #{param.id}
AND c.type = 1
WHERE a.org_code = #{param.orgCode} AND b.emp_num = #{param.id}
</select>
</select>
...
...
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