Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-backend
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
AutogeneralShanghai
yd-backend
Commits
d1ef92cc
Commit
d1ef92cc
authored
Jun 29, 2022
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
电子报聘回退优化2
parent
1f38a5fb
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
204 additions
and
110 deletions
+204
-110
yd-api/src/main/java/com/yd/api/agms/service/impl/AgmsHiringServiceImpl.java
+55
-37
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
+9
-2
yd-api/src/main/java/com/yd/dal/service/agms/AgmsHiringDALService.java
+4
-0
yd-api/src/main/java/com/yd/dal/service/agms/impl/AgmsHiringDALServiceImpl.java
+6
-35
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
+6
-5
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
+17
-14
yd-api/src/main/java/com/yd/dal/service/practitioner/PractitionerHiringDALService.java
+11
-0
yd-api/src/main/java/com/yd/dal/service/practitioner/impl/PractitionerHiringDALServiceImpl.java
+53
-14
yd-api/src/main/resources/mapper/agms/AgmsHiringMapper.xml
+2
-2
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
+31
-0
yd-api/src/main/resources/mapper/practitioner/PractitionerHiringMapper.xml
+10
-1
No files found.
yd-api/src/main/java/com/yd/api/agms/service/impl/AgmsHiringServiceImpl.java
View file @
d1ef92cc
...
...
@@ -7,6 +7,7 @@ import com.yd.api.result.CommonResult;
import
com.yd.api.result.CommonResultResponseVO
;
import
com.yd.dal.entity.agms.hiring.*
;
import
com.yd.dal.entity.customer.*
;
import
com.yd.dal.entity.customer.practitioner.PractitionerInfo
;
import
com.yd.dal.entity.meta.MdDropOptions
;
import
com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps
;
import
com.yd.dal.entity.practitioner.hiring.HiringApproveRecords
;
...
...
@@ -524,7 +525,7 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
if
(
CommonUtil
.
isNullOrZero
(
requestVO
.
getApprovingStatus
()))
{
// 审批回退, 将指定审批记录设置"回退"状态
this
.
setRecordsRollBack
(
stepsSeqBackTo
,
step
.
getStepSeq
(),
basicInfoId
);
this
.
setRecordsRollBack
(
stepsSeqBackTo
,
step
.
getStepSeq
(),
requestVO
.
getRejectNote
(),
basicInfoId
);
responseVO
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
return
;
...
...
@@ -565,62 +566,79 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
responseVO
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
}
private
void
setRecordsRollBack
(
String
stepsSeqBackTo
,
Integer
stepSeq
,
Long
basicInfoId
)
{
List
<
AclPractitionerHiringApproveRecords
>
recordsList
=
aclPractitionerHiringApproveRecordsDalService
.
queryListByBasicInfoId
(
basicInfoId
);
private
void
setRecordsRollBack
(
String
stepsSeqBackTo
,
Integer
stepSeq
,
String
rejectNote
,
Long
basicInfoId
)
{
int
stepSeqStart
;
switch
(
stepsSeqBackTo
)
{
case
"-2"
:
case
"-2"
:
stepSeqStart
=
1
;
break
;
case
"1"
:
case
"1"
:
stepSeqStart
=
2
;
break
;
case
"2"
:
case
"2"
:
stepSeqStart
=
3
;
break
;
case
"3"
:
case
"3"
:
stepSeqStart
=
4
;
break
;
case
"4"
:
case
"4"
:
stepSeqStart
=
5
;
break
;
default
:
stepSeqStart
=
1
;
break
;
}
List
<
AclPractitionerHiringApproveRecords
>
records
=
recordsList
.
stream
()
.
filter
((
AclPractitionerHiringApproveRecords
i
)
->
(
Integer
.
valueOf
(
i
.
getStepSeq
())
>=
stepSeqStart
&&
Integer
.
valueOf
(
i
.
getStepSeq
())
<
stepSeq
)
// 查询审批记录
List
<
AclPractitionerHiringApproveRecords
>
recordsList
=
aclPractitionerHiringApproveRecordsDalService
.
queryListByBasicInfoId
(
basicInfoId
);
// 筛选需要提醒的经纪人id
List
<
Long
>
practitionerIds
=
recordsList
.
stream
()
.
filter
(
i
->
(
Integer
.
valueOf
(
i
.
getStepSeq
())
>=
stepSeqStart
&&
Integer
.
valueOf
(
i
.
getStepSeq
())
<
stepSeq
)
)
.
map
(
i
->
i
.
getApprovingPractitionerId
())
.
collect
(
Collectors
.
toList
());
List
<
Long
>
practitionerIds
=
new
ArrayList
<>();
for
(
AclPractitionerHiringApproveRecords
record
:
records
)
{
record
.
setIsBack
(
1
);
// 退回发短信的经纪人Id
practitionerIds
.
add
(
record
.
getApprovingPractitionerId
());
}
aclPractitionerHiringApproveRecordsDalService
.
updateBatch
(
records
);
List
<
AclPractitioner
>
practitionerList
=
aclPractitionerDalService
.
findByIds
(
practitionerIds
);
// String mobileNo;
// String name;
// for (AclPractitioner practitioner : practitionerList) {
// mobileNo = practitioner.getMobileNo();
// name = practitioner.getName();
// if (StringUtils.isNotBlank(mobileNo)) {
// logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》电子报聘回退发送短信");
// logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》" + name + ": " + mobileNo);
// // 发短信
// // ${name},您好!${name2}(S3纵队S2体系S1分部的XX)经纪人已提交报聘审批,请至“赢家平台>我的团队-报聘审批”进行查看审批,谢谢!
// String templateCode = systemConfigService.getSingleConfigValue("ALI_SMS_HiringApproveNotice");
// String content = "{\"name\":\"" + name + "\",\"hiringName\":\"" + "已回退: " + "\"}";
// sendService.sendEmailOrSMS("sms", mobileNo, "0", content, templateCode, null, null, "电子报聘审批回退", 99, basicInfoId);
// } else {
// logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》电子报聘审批人电话号码不存在");
// throw new RuntimeException("电子报聘审批人电话号码不存在");
// }
// }
List
<
PractitionerInfo
>
practitionerList
=
aclPractitionerDalService
.
findPractitionerInfoByIdList
(
practitionerIds
);
// 回退提醒发消息(短信和微信推送)
this
.
approveRollBackNoticeSendMsg
(
rejectNote
,
practitionerList
,
basicInfoId
);
}
private
void
approveRollBackNoticeSendMsg
(
String
rejectNote
,
List
<
PractitionerInfo
>
practitionerList
,
Long
basicInfoId
)
{
AclPractitionerHiringBasicInfo
basicInfo
=
aclPractitionerHiringBasicInfoDalService
.
findById
(
basicInfoId
);
// 查询辅导人所在S1,S2,S3
AclPractitionerHiringMembership
hiringMemberShip
=
practitionerHiringDalService
.
queryHiringMemberShip
(
basicInfoId
);
// 短信模板
String
templateCode
=
systemConfigService
.
getSingleConfigValue
(
"ALI_SMS_HiringApproveNotice"
);
// 被提醒人的姓名手机号
String
mobileNo
;
String
name
;
for
(
PractitionerInfo
practitioner
:
practitionerList
)
{
mobileNo
=
practitioner
.
getMobileNo
();
name
=
practitioner
.
getName
();
// 1.发短信
if
(
StringUtils
.
isNotBlank
(
mobileNo
))
{
logger
.
error
(
"【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》电子报聘回退发送短信"
);
logger
.
error
(
"【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》"
+
name
+
": "
+
mobileNo
);
// 发短信
String
content
=
"{\"name\":\""
+
name
+
"\",\"hiringName\":\""
+
"已回退: "
+
"\"}"
;
sendService
.
sendEmailOrSMS
(
"sms"
,
mobileNo
,
"0"
,
content
,
templateCode
,
null
,
null
,
"电子报聘审批回退"
,
99
,
basicInfoId
);
}
else
{
logger
.
error
(
"【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》电子报聘审批人电话号码不存在"
);
logger
.
error
(
"【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》"
+
name
+
": "
+
mobileNo
);
}
// 2.微信公众号推送
}
// 微信模板
String
firstValue
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_FIRST_HIRING"
);
String
orgInfo
=
practitionerHiringDalService
.
getHiringOrganizationInfo
(
basicInfo
,
hiringMemberShip
);
firstValue
.
replace
(
"hiringName"
,
orgInfo
);
StringBuffer
stringBuffer
=
new
StringBuffer
(
firstValue
);
stringBuffer
.
append
(
";审批回退,回退原因<"
).
append
(
rejectNote
).
append
(
">"
);
// 用现有方法发微信
agmsHiringDalService
.
noticeSendWeChatMsg
(
stringBuffer
.
toString
(),
"回退待审批"
,
practitionerList
,
basicInfo
);
}
private
boolean
isHasNextStep
(
Long
loginPractitionerId
,
String
mobileNo
,
Long
basicInfoId
,
MdPractitionerHiringApproveSteps
nextStep
)
{
...
...
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
View file @
d1ef92cc
package
com
.
yd
.
dal
.
mapper
.
customer
;
import
com.yd.api.practitioner.vo.businessCard.Certificate
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO
;
import
com.yd.api.practitioner.vo.payscale.PayScaleInfo
;
import
com.yd.api.practitioner.vo.subordinate.TeamMemberDetail
;
import
com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo
;
import
com.yd.dal.entity.customer.AclPractitioner
;
import
com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo
;
import
com.yd.dal.entity.customer.practitioner.PractitionerInfo
;
import
com.yd.dal.entity.customer.practitioner.PractitionerRankInfo
;
import
com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo
;
import
com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo
;
import
com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo
;
import
com.yd.dal.entity.customer.practitioner.PractitionerInfo
;
import
com.yd.dal.entity.customer.practitioner.PractitionerRankInfo
;
import
com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo
;
import
com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo
;
import
com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo
;
import
org.apache.ibatis.annotations.Param
;
public
interface
AclPractitionerMapper
{
int
deleteByPrimaryKey
(
Long
id
);
...
...
@@ -153,4 +159,5 @@ public interface AclPractitionerMapper {
*/
List
<
Certificate
>
findCertificate
(
List
<
Long
>
certIdList
);
List
<
PractitionerInfo
>
findPractitionerInfoByIdList
(
List
<
Long
>
idList
);
}
yd-api/src/main/java/com/yd/dal/service/agms/AgmsHiringDALService.java
View file @
d1ef92cc
...
...
@@ -3,7 +3,9 @@ package com.yd.dal.service.agms;
import
com.github.pagehelper.PageInfo
;
import
com.yd.api.agms.vo.hiring.PractitionerHiringListRequestVO
;
import
com.yd.dal.entity.agms.hiring.*
;
import
com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo
;
import
com.yd.dal.entity.customer.AclPractitionerHiringMembership
;
import
com.yd.dal.entity.customer.practitioner.PractitionerInfo
;
import
com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps
;
import
java.util.List
;
...
...
@@ -73,4 +75,6 @@ public interface AgmsHiringDALService {
AclPractitionerHiringMembership
queryHiringMemberShip
(
Long
hiringBasicInfoId
);
void
noticeNextStep
(
MdPractitionerHiringApproveSteps
nextStep
,
Long
basicInfoId
);
void
noticeSendWeChatMsg
(
String
firstValue
,
String
noticeMsg
,
List
<
PractitionerInfo
>
practitionerList
,
AclPractitionerHiringBasicInfo
basicInfo
);
}
yd-api/src/main/java/com/yd/dal/service/agms/impl/AgmsHiringDALServiceImpl.java
View file @
d1ef92cc
...
...
@@ -181,48 +181,19 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
}
// 1.3 查询审批人列表
List
<
PractitionerInfo
>
practitionerList
=
aclPractitionerDALService
.
findPractitionerInfoByMobileList
(
Arrays
.
asList
(
mobileNoArray
));
// 2.报聘人组织关系, 姓名
StringBuilder
orgInfo
=
new
StringBuilder
();
String
s3SubordinateSystemName
=
hiringMemberShip
.
getS3SubordinateSystemName
();
String
s2SubordinateSystemName
=
hiringMemberShip
.
getS2SubordinateSystemName
();
String
s1SubordinateSystemName
=
hiringMemberShip
.
getS1SubordinateSystemName
();
boolean
flag
=
false
;
if
(
StringUtils
.
isNotEmpty
(
s3SubordinateSystemName
))
{
orgInfo
.
append
(
s3SubordinateSystemName
);
if
(
s3SubordinateSystemName
.
indexOf
(
"纵队"
)
<
0
)
{
orgInfo
.
append
(
"纵队"
);
}
flag
=
true
;
}
if
(
StringUtils
.
isNotEmpty
(
s2SubordinateSystemName
))
{
orgInfo
.
append
(
s2SubordinateSystemName
);
if
(
s2SubordinateSystemName
.
indexOf
(
"体系"
)
<
0
)
{
orgInfo
.
append
(
"体系"
);
}
flag
=
true
;
}
if
(
StringUtils
.
isNotEmpty
(
s1SubordinateSystemName
))
{
orgInfo
.
append
(
s1SubordinateSystemName
);
if
(
s1SubordinateSystemName
.
indexOf
(
"分部"
)
<
0
)
{
orgInfo
.
append
(
"分部"
);
}
flag
=
true
;
}
if
(
flag
)
{
orgInfo
.
append
(
"的"
);
}
orgInfo
.
append
(
basicInfo
.
getName
());
// 2.获取报聘人组织架构信息
String
orgInfo
=
practitionerHiringDalService
.
getHiringOrganizationInfo
(
basicInfo
,
hiringMemberShip
);
// 发送短信通知下一位审批人进行审批
this
.
noticeSendSMS
(
orgInfo
.
toString
()
,
practitionerList
,
basicInfo
);
this
.
noticeSendSMS
(
orgInfo
,
practitionerList
,
basicInfo
);
// 公众号推送通知下一位审批人进行审批
String
firstValue
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_FIRST_HIRING"
);
firstValue
.
replace
(
"hiringName"
,
orgInfo
.
toString
()
);
firstValue
.
replace
(
"hiringName"
,
orgInfo
);
this
.
noticeSendWeChatMsg
(
firstValue
,
"待审批"
,
practitionerList
,
basicInfo
);
}
private
void
noticeSendWeChatMsg
(
String
firstValue
,
String
noticeMsg
,
List
<
PractitionerInfo
>
practitionerList
,
AclPractitionerHiringBasicInfo
basicInfo
)
{
@Override
public
void
noticeSendWeChatMsg
(
String
firstValue
,
String
noticeMsg
,
List
<
PractitionerInfo
>
practitionerList
,
AclPractitionerHiringBasicInfo
basicInfo
)
{
// 读取数据库配置
String
templateId
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_ID_HIRING"
);
String
jumpUrl
=
systemConfigService
.
getSingleConfigValue
(
"hiringApprove_page_url"
);
...
...
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
View file @
d1ef92cc
package
com
.
yd
.
dal
.
service
.
customer
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.stereotype.Service
;
import
com.yd.api.practitioner.vo.businessCard.Certificate
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO
;
import
com.yd.api.practitioner.vo.payscale.PayScaleInfo
;
...
...
@@ -18,6 +13,10 @@ import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo;
import
com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo
;
import
com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo
;
import
com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
@Service
(
"aclPractitionerDALService"
)
public
interface
AclPractitionerDALService
{
...
...
@@ -221,6 +220,8 @@ public interface AclPractitionerDALService {
List
<
PractitionerInfo
>
findPractitionerInfoByMobileList
(
List
<
String
>
mobileList
);
List
<
PractitionerInfo
>
findPractitionerInfoByIdList
(
List
<
Long
>
idList
);
List
<
PayScaleInfo
>
queryEGHistorySalaryPDFByPractitionerId
(
Long
practitionerId
);
/**
...
...
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
View file @
d1ef92cc
package
com
.
yd
.
dal
.
service
.
customer
.
impl
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.context.request.RequestAttributes
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
com.google.common.base.Strings
;
import
com.yd.api.practitioner.service.PractitionerService
;
import
com.yd.api.practitioner.vo.businessCard.Certificate
;
...
...
@@ -40,6 +26,18 @@ import com.yd.util.auth.setting.JwtTokenUtil;
import
com.yd.util.deshandler.DESTypeHandler
;
import
com.yd.util.intercept.annotation.TargetDataSource
;
import
com.yd.util.intercept.commons.DataSourceKey
;
import
org.apache.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.context.request.RequestAttributes
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
(
"aclPractitionerDALService"
)
public
class
AclPractitionerDALServiceImpl
implements
AclPractitionerDALService
{
...
...
@@ -270,6 +268,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
}
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoByIdList
(
List
<
Long
>
idList
)
{
return
aclPractitionerMapper
.
findPractitionerInfoByIdList
(
idList
);
}
@Override
public
List
<
PayScaleInfo
>
queryEGHistorySalaryPDFByPractitionerId
(
Long
practitionerId
)
{
return
aclPractitionerMapper
.
queryEGHistorySalaryPDFByPractitionerId
(
practitionerId
);
}
...
...
yd-api/src/main/java/com/yd/dal/service/practitioner/PractitionerHiringDALService.java
View file @
d1ef92cc
package
com
.
yd
.
dal
.
service
.
practitioner
;
import
com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms
;
import
com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo
;
import
com.yd.dal.entity.customer.AclPractitionerHiringMembership
;
import
com.yd.dal.entity.practitioner.hiring.*
;
...
...
@@ -106,4 +107,14 @@ public interface PractitionerHiringDALService {
* @return
*/
AclPractitionerHiringMembership
queryHiringMemberShip
(
Long
hiringBasicInfoId
);
/**
* 获取报聘经纪人组织架构信息
* XX纵队XX体系XX分部的XX经纪人
*
* @param basicInfo
* @param hiringMemberShip
* @return
*/
String
getHiringOrganizationInfo
(
AclPractitionerHiringBasicInfo
basicInfo
,
AclPractitionerHiringMembership
hiringMemberShip
);
}
yd-api/src/main/java/com/yd/dal/service/practitioner/impl/PractitionerHiringDALServiceImpl.java
View file @
d1ef92cc
...
...
@@ -2,14 +2,12 @@ package com.yd.dal.service.practitioner.impl;
import
com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms
;
import
com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo
;
import
com.yd.dal.entity.customer.AclPractitioner
;
import
com.yd.dal.entity.customer.AclPractitionerHiringMembership
;
import
com.yd.dal.entity.customer.AclPractitionerSubordinateSystem
;
import
com.yd.dal.entity.customer.CustomerFileUpload
;
import
com.yd.dal.entity.customer.*
;
import
com.yd.dal.entity.customer.practitioner.PractitionerInfo
;
import
com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps
;
import
com.yd.dal.entity.practitioner.hiring.*
;
import
com.yd.dal.mapper.agms.AgmsHiringMapper
;
import
com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper
;
import
com.yd.dal.mapper.customer.AclPractitionerHiringMembershipMapper
;
import
com.yd.dal.mapper.customer.AclPractitionerMapper
;
import
com.yd.dal.mapper.practitioner.PractitionerHiringMapper
;
...
...
@@ -21,6 +19,7 @@ import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import
com.yd.dal.service.user.AclUserDALService
;
import
com.yd.rmi.cache.SystemConfigService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -55,6 +54,8 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
private
AclUserDALService
aclUserDalService
;
@Autowired
private
AclPractitionerSubordinateSystemDALService
aclPractitionerSubordinateSystemDALService
;
@Autowired
private
AclPractitionerHiringBasicInfoMapper
basicInfoMapper
;
@Override
public
List
<
HiringListInfo
>
findHiringList
(
Long
practitionerId
,
Long
approvingStatus
)
{
...
...
@@ -88,14 +89,18 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
@Override
public
List
<
HiringApproveRecords
>
findHiringApproveRecordsList
(
Long
hiringBasicInfoId
)
{
// 当前审核状态
AclPractitionerHiringBasicInfo
basicInfo
=
basicInfoMapper
.
selectByPrimaryKey
(
hiringBasicInfoId
);
String
approveStatus
=
basicInfo
.
getApproveStatus
();
List
<
HiringApproveRecords
>
records
=
practitionerHiringMapper
.
findHiringApproveRecordsList
(
hiringBasicInfoId
);
PractitionerInfo
practitionerInfo
;
CustomerFileUpload
fileUpload
;
String
imagePath
;
String
levelName
;
// 创建一个Map
Map
<
Long
,
HiringApproveRecords
>
map
=
new
HashMap
<>();
for
(
HiringApproveRecords
item
:
records
)
{
// 获取职级
practitionerInfo
=
aclPractitionerDALService
.
findPractitionerInfoByPractitionerId
(
item
.
getApprovingPractitionerId
());
...
...
@@ -106,8 +111,6 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
item
.
setHeadImagePath
(
imagePath
);
item
.
setLevelName
(
levelName
);
map
.
put
(
item
.
getApproveStepId
(),
item
);
}
// 声明最终返回的List
...
...
@@ -124,10 +127,11 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
subsystemOwnerName
=
(
approvedBy
!=
null
)
?
approvedBy
.
getName
()
:
""
;
}
HiringApproveRecords
record
;
// 如果已审核结束,则不需要手动创建未审批的流程
if
(
"0"
.
equals
(
approveStatus
))
{
for
(
MdPractitionerHiringApproveSteps
step
:
stepsList
)
{
// S2前2步不用审批
if
((
mdDropOptionName
.
indexOf
(
"S2"
)>=
0
||
mdDropOptionName
.
indexOf
(
"S3"
)>=
0
)
if
((
mdDropOptionName
.
indexOf
(
"S2"
)
>=
0
||
mdDropOptionName
.
indexOf
(
"S3"
)
>=
0
)
&&
(
step
.
getStepSeq
()
==
1
||
step
.
getStepSeq
()
==
2
)
)
{
continue
;
...
...
@@ -138,10 +142,9 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
)
{
continue
;
}
record
=
map
.
get
(
step
.
getId
());
if
(
record
!=
null
)
{
resultList
.
add
(
record
);
}
else
{
if
(
step
.
getStepSeq
()
>=
Integer
.
valueOf
(
approveStatus
))
{
HiringApproveRecords
obj
=
new
HiringApproveRecords
();
obj
.
setApproveStepId
(
step
.
getId
());
obj
.
setApproveStepName
(
step
.
getStepName
());
...
...
@@ -161,6 +164,7 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
resultList
.
add
(
obj
);
}
}
}
return
resultList
;
}
...
...
@@ -384,4 +388,39 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
}
return
hiringMemberShip
;
}
@Override
public
String
getHiringOrganizationInfo
(
AclPractitionerHiringBasicInfo
basicInfo
,
AclPractitionerHiringMembership
hiringMemberShip
)
{
StringBuilder
orgInfo
=
new
StringBuilder
();
String
s3SubordinateSystemName
=
hiringMemberShip
.
getS3SubordinateSystemName
();
String
s2SubordinateSystemName
=
hiringMemberShip
.
getS2SubordinateSystemName
();
String
s1SubordinateSystemName
=
hiringMemberShip
.
getS1SubordinateSystemName
();
boolean
flag
=
false
;
if
(
StringUtils
.
isNotEmpty
(
s3SubordinateSystemName
))
{
orgInfo
.
append
(
s3SubordinateSystemName
);
if
(
s3SubordinateSystemName
.
indexOf
(
"纵队"
)
<
0
)
{
orgInfo
.
append
(
"纵队"
);
}
flag
=
true
;
}
if
(
StringUtils
.
isNotEmpty
(
s2SubordinateSystemName
))
{
orgInfo
.
append
(
s2SubordinateSystemName
);
if
(
s2SubordinateSystemName
.
indexOf
(
"体系"
)
<
0
)
{
orgInfo
.
append
(
"体系"
);
}
flag
=
true
;
}
if
(
StringUtils
.
isNotEmpty
(
s1SubordinateSystemName
))
{
orgInfo
.
append
(
s1SubordinateSystemName
);
if
(
s1SubordinateSystemName
.
indexOf
(
"分部"
)
<
0
)
{
orgInfo
.
append
(
"分部"
);
}
flag
=
true
;
}
if
(
flag
)
{
orgInfo
.
append
(
"的"
);
}
return
orgInfo
.
append
(
basicInfo
.
getName
()).
toString
();
}
}
yd-api/src/main/resources/mapper/agms/AgmsHiringMapper.xml
View file @
d1ef92cc
...
...
@@ -229,10 +229,10 @@
<if
test=
"status != null"
>
<choose>
<when
test=
'status == "1" '
>
and
t.approving_status = 1
and
(b.approve_status > t.approve_step_id OR b.approve_status = 0)
</when>
<when
test=
'status == "2" '
>
and
t.approving_status
= 0
and
b.approve_status
<
= t.approve_step_id and b.approve_status !
= 0
</when>
</choose>
</if>
...
...
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
View file @
d1ef92cc
...
...
@@ -1957,6 +1957,37 @@
and p.is_active = 1
</select>
<select
id=
"findPractitionerInfoByIdList"
resultMap=
"practitioner_info_map"
>
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
s.practitioner_type_id as practitionerType,
sys.name as subsystem,
o.drop_option_code as levelCode,
o.drop_option_name as levelName,
b.branch_name as insurerBranchName,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.mentor_id mentorId,
c.yd_wechat_openid,
p.can_see_salary_list as canSeeSalaryList
from ag_acl_practitioner p
left join ag_acl_customer c on c.id = p.customer_id
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.id in
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
and p.is_active = 1
</select>
<select
id=
"queryEGHistorySalaryPDFByPractitionerId"
resultType=
"com.yd.api.practitioner.vo.payscale.PayScaleInfo"
>
select p.id,
...
...
yd-api/src/main/resources/mapper/practitioner/PractitionerHiringMapper.xml
View file @
d1ef92cc
...
...
@@ -216,7 +216,16 @@
from
ag_acl_practitioner_hiring_approve_records t
where t.approving_practitioner_id = #{practitionerId,jdbcType=BIGINT}
and t.approving_status = #{approvingStatus,jdbcType=BIGINT}
<if
test=
"approvingStatus != null"
>
<choose>
<when
test=
'approvingStatus == "1" '
>
and (b.approve_status > t.approve_step_id OR b.approve_status = 0)
</when>
<when
test=
'approvingStatus == "2" '
>
and b.approve_status
<
= t.approve_step_id and b.approve_status != 0
</when>
</choose>
</if>
)
</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