Commit d1ef92cc by jianan

电子报聘回退优化2

parent 1f38a5fb
......@@ -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) {
......
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);
......@@ -152,5 +158,6 @@ public interface AclPractitionerMapper {
* @author Yan Wenyang
*/
List<Certificate> findCertificate(List<Long> certIdList);
List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList);
}
......@@ -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);
}
......@@ -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");
......
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);
/**
......
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);
}
......
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);
}
......@@ -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,41 +127,42 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
subsystemOwnerName = (approvedBy != null) ? approvedBy.getName() : "";
}
HiringApproveRecords record;
for (MdPractitionerHiringApproveSteps step : stepsList) {
// S2前2步不用审批
if ((mdDropOptionName.indexOf("S2")>=0 || mdDropOptionName.indexOf("S3")>=0)
&& (step.getStepSeq() == 1 || step.getStepSeq() == 2)
) {
continue;
}
// 没有辅导人,前2步不用审批
if ((hiringMemberShip.getMentorPractitionerId() == null || hiringMemberShip.getMentor() == null)
&& (step.getStepSeq() == 1 || step.getStepSeq() == 2)
) {
continue;
}
record = map.get(step.getId());
if (record != null) {
resultList.add(record);
} else {
HiringApproveRecords obj = new HiringApproveRecords();
obj.setApproveStepId(step.getId());
obj.setApproveStepName(step.getStepName());
obj.setApprovingStatusId(Long.valueOf("2"));
obj.setApprovingStatus("未审批");
// 获取每一步审批人姓名
if ("mentor".equals(step.getApproveRole())) {
obj.setApprovingPractitionerName(hiringMemberShip.getMentor());
} else if ("subsystemOwner".equals(step.getApproveRole())) {
obj.setApprovingPractitionerName(subsystemOwnerName);
} else {
String names = aclUserDalService.selectNamesByMobileNos(step.getAppointedApprovePractitioners());
obj.setApprovingPractitionerName(names);
// 如果已审核结束,则不需要手动创建未审批的流程
if ("0".equals(approveStatus)) {
for (MdPractitionerHiringApproveSteps step : stepsList) {
// S2前2步不用审批
if ((mdDropOptionName.indexOf("S2") >= 0 || mdDropOptionName.indexOf("S3") >= 0)
&& (step.getStepSeq() == 1 || step.getStepSeq() == 2)
) {
continue;
}
// 没有辅导人,前2步不用审批
if ((hiringMemberShip.getMentorPractitionerId() == null || hiringMemberShip.getMentor() == null)
&& (step.getStepSeq() == 1 || step.getStepSeq() == 2)
) {
continue;
}
resultList.add(obj);
if (step.getStepSeq() >= Integer.valueOf(approveStatus)) {
HiringApproveRecords obj = new HiringApproveRecords();
obj.setApproveStepId(step.getId());
obj.setApproveStepName(step.getStepName());
obj.setApprovingStatusId(Long.valueOf("2"));
obj.setApprovingStatus("未审批");
// 获取每一步审批人姓名
if ("mentor".equals(step.getApproveRole())) {
obj.setApprovingPractitionerName(hiringMemberShip.getMentor());
} else if ("subsystemOwner".equals(step.getApproveRole())) {
obj.setApprovingPractitionerName(subsystemOwnerName);
} else {
String names = aclUserDalService.selectNamesByMobileNos(step.getAppointedApprovePractitioners());
obj.setApprovingPractitionerName(names);
}
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();
}
}
......@@ -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 &lt;= t.approve_step_id and b.approve_status != 0
</when>
</choose>
</if>
......
......@@ -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,
......
......@@ -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 &lt;= t.approve_step_id and b.approve_status != 0
</when>
</choose>
</if>
)
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment