Commit 80955531 by Mahjong

Merge remote-tracking branch 'origin/dev' into dev

parents 9d3ad856 8c1362ee
package com.yd.api.agms.service; package com.yd.api.agms.service;
import javax.servlet.http.HttpServletResponse;
import com.yd.api.agms.vo.hiring.*; import com.yd.api.agms.vo.hiring.*;
import com.yd.api.result.CommonResultResponseVO;
/** /**
* @author xxy * @author xxy
...@@ -28,4 +31,9 @@ public interface AgmsHiringService { ...@@ -28,4 +31,9 @@ public interface AgmsHiringService {
PractitionerHiringApproveResponseVO practitionerHiringApprove(PractitionerHiringApproveRequestVO requestVO); PractitionerHiringApproveResponseVO practitionerHiringApprove(PractitionerHiringApproveRequestVO requestVO);
PractitionerHiringListResponseVO practitionerHiringListV2(PractitionerHiringListRequestVO requestVO); PractitionerHiringListResponseVO practitionerHiringListV2(PractitionerHiringListRequestVO requestVO);
PractitionerHiringListResponseVO practitionerApplyList(PractitionerHiringListRequestVO requestVO);
CommonResultResponseVO exportPractitionerApplyList(PractitionerHiringListRequestVO requestVO,HttpServletResponse response);
} }
package com.yd.api.agms.service; package com.yd.api.agms.service;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingListRequestVO; import com.yd.api.agms.vo.practitioner.*;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingListResponseVO; import com.yd.api.result.CommonResultResponseVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingSaveRequestVO;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharingSaveResponseVO; import javax.servlet.http.HttpServletResponse;
/** /**
* @author xxy * @author xxy
...@@ -22,4 +22,21 @@ public interface AgmsPractitionerService { ...@@ -22,4 +22,21 @@ public interface AgmsPractitionerService {
* @return 响应数据 * @return 响应数据
*/ */
PractitionerFileSharingListResponseVO practitionerFileSharingList(PractitionerFileSharingListRequestVO requestVO); PractitionerFileSharingListResponseVO practitionerFileSharingList(PractitionerFileSharingListRequestVO requestVO);
/**
* 经纪人日程管理
* @param requestVO
* @return
*/
PractitionerScheduleResponseVO practitionerSchedule(PractitionerScheduleRequestVO requestVO);
CommonResultResponseVO practitionerScheduleExport(PractitionerScheduleRequestVO requestVO, HttpServletResponse response);
PractitionerLeadsGoalsResponseVO practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO);
CommonResultResponseVO practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO, HttpServletResponse response);
PractitionerActivityResponseVO practitionerActivity(PractitionerActivityRequestVO requestVO);
CommonResultResponseVO practitionerActivityExport(PractitionerActivityRequestVO requestVO, HttpServletResponse response);
} }
...@@ -67,7 +67,15 @@ public class CommissionPayoutStatusQueryRequestVO { ...@@ -67,7 +67,15 @@ public class CommissionPayoutStatusQueryRequestVO {
private Long s3Id; private Long s3Id;
private Long s2Id; private Long s2Id;
private Long s1Id; private Long s1Id;
/**
* 渠道Id
*/
private Long channelId;
/**
* 渠道类型: 对公:1; 对私:2
*/
private String channelType;
private PageInfo<CommissionPayoutStatus> page; private PageInfo<CommissionPayoutStatus> page;
public Long getInsurerId() { public Long getInsurerId() {
...@@ -212,5 +220,22 @@ public class CommissionPayoutStatusQueryRequestVO { ...@@ -212,5 +220,22 @@ public class CommissionPayoutStatusQueryRequestVO {
public void setCommissionTypeDropOptionCodeList(List<String> commissionTypeDropOptionCodeList) { public void setCommissionTypeDropOptionCodeList(List<String> commissionTypeDropOptionCodeList) {
this.commissionTypeDropOptionCodeList = commissionTypeDropOptionCodeList; this.commissionTypeDropOptionCodeList = commissionTypeDropOptionCodeList;
} }
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public String getChannelType() {
return channelType;
}
public void setChannelType(String channelType) {
this.channelType = channelType;
}
} }
...@@ -45,6 +45,8 @@ public class ExportFortunePayRequestVO { ...@@ -45,6 +45,8 @@ public class ExportFortunePayRequestVO {
private Long s3Id; private Long s3Id;
private Long s2Id; private Long s2Id;
private Long s1Id; private Long s1Id;
private Long channelId;
private String channelType;
/** /**
* 获取 预计发佣年月 * 获取 预计发佣年月
...@@ -205,4 +207,21 @@ public class ExportFortunePayRequestVO { ...@@ -205,4 +207,21 @@ public class ExportFortunePayRequestVO {
", commissionPayoutStatus=" + commissionPayoutStatus + ", commissionPayoutStatus=" + commissionPayoutStatus +
'}'; '}';
} }
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public String getChannelType() {
return channelType;
}
public void setChannelType(String channelType) {
this.channelType = channelType;
}
} }
...@@ -47,5 +47,8 @@ public class WithdrawQueryRequestVO { ...@@ -47,5 +47,8 @@ public class WithdrawQueryRequestVO {
private String systemFlag; private String systemFlag;
private Long s3Id; private Long s3Id;
private Long s2Id; private Long s2Id;
private Long s1Id; private Long s1Id;
private Long channelId;
private String channelType;
} }
...@@ -25,10 +25,14 @@ public class PractitionerHiringApproveRequestVO { ...@@ -25,10 +25,14 @@ public class PractitionerHiringApproveRequestVO {
*/ */
private Integer hiringApproveStepsSeq; private Integer hiringApproveStepsSeq;
/** /**
* 1:通过,0:驳回 * 1:通过,0:驳回(回退)
*/ */
private Long approvingStatus; private Long approvingStatus;
/** /**
* 回退到哪一个节点(null:报聘人, -2:辅导人, 1:体系负责人, 2:公司运营主管, 3:寿险总经理, 4:公司总经理)
*/
private String stepsSeqBackTo;
/**
* 备注,驳回原因 * 备注,驳回原因
*/ */
private String rejectNote; private String rejectNote;
...@@ -141,4 +145,12 @@ public class PractitionerHiringApproveRequestVO { ...@@ -141,4 +145,12 @@ public class PractitionerHiringApproveRequestVO {
public void setPractitionerId(Long practitionerId) { public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId; this.practitionerId = practitionerId;
} }
public String getStepsSeqBackTo() {
return stepsSeqBackTo;
}
public void setStepsSeqBackTo(String stepsSeqBackTo) {
this.stepsSeqBackTo = stepsSeqBackTo;
}
} }
...@@ -18,6 +18,8 @@ public class PractitionerHiringListRequestVO { ...@@ -18,6 +18,8 @@ public class PractitionerHiringListRequestVO {
private Long s3Id; private Long s3Id;
private Long s2Id; private Long s2Id;
private Long s1Id; private Long s1Id;
private String startDate;
private String endDate;
private PageInfo<PractitionerHiringListInfo> pageInfo; private PageInfo<PractitionerHiringListInfo> pageInfo;
...@@ -115,4 +117,21 @@ public class PractitionerHiringListRequestVO { ...@@ -115,4 +117,21 @@ public class PractitionerHiringListRequestVO {
public void setS1Id(Long s1Id) { public void setS1Id(Long s1Id) {
this.s1Id = s1Id; this.s1Id = s1Id;
} }
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
} }
package com.yd.api.agms.vo.practitioner;
import lombok.Data;
@Data
public class PractitionerActivityInfo {
private String practitionerName;
private String type;
private String score;
private String timePeriod;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import lombok.Data;
@Data
public class PractitionerActivityRequestVO {
private Long practitionerId;
private String startDate;
private String endDate;
private PageInfo<PractitionerActivityInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class PractitionerActivityResponseVO {
private CommonResult commonResult;
private List<PractitionerActivityInfo> list;
private PageInfo<PractitionerActivityInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import lombok.Data;
import java.util.Date;
@Data
public class PractitionerLeadsGoalsInfo {
/**
* p.name 经纪人名称,
* CASE (t.statistic_time_unit) WHEN 1 THEN '年度目标' WHEN 3 THEN '月度目标' ELSE '其他' END 目标类型,
* t.seq_time 设置年份或者月份,
* t.premium 保费,t.commission 佣金,
* t.pieces 件数,
* t.piece_average_premium 件均保费,
* t.created_at 设置时间
*/
private String practitionerName;
private String type;
private String seqTime;
private String premium;
private String commission;
private String pieces;
private String pieceAveragePremium;
private Date createdAt;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import lombok.Data;
@Data
public class PractitionerLeadsGoalsRequestVO {
private String date;
private Long practitionerId;
private Integer type;
private PageInfo<PractitionerLeadsGoalsInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class PractitionerLeadsGoalsResponseVO {
private CommonResult commonResult;
private List<PractitionerLeadsGoalsInfo> list;
private PageInfo<PractitionerLeadsGoalsInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import lombok.Data;
import java.util.Date;
@Data
public class PractitionerScheduleInfo {
/**
* p.name 经纪人名称,
* 日程,
* CASE (t.task_type) WHEN 1 THEN '商机' WHEN 2 THEN '增员' ELSE '其他' END 日程类型,
* op.drop_option_name 日程内容,
* t.track_time 日程,
* t.task_time_from 任务开始时间,
* task_time_end 任务结束时间,
* t.notice 备注,
* t.created_at 设置时间
*/
private String practitionerName;
private String trackTime;
private String taskType;
private String dropOptionName;
private String taskTimeFrom;
private String taskTimeEnd;
private String notice;
private Date createdAt;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import lombok.Data;
@Data
public class PractitionerScheduleRequestVO {
private String trackTime;
private Long practitionerId;
private Integer taskType;
private String dropOptionName;
private PageInfo<PractitionerScheduleInfo> page;
}
package com.yd.api.agms.vo.practitioner;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class PractitionerScheduleResponseVO {
private CommonResult commonResult;
private List<PractitionerScheduleInfo> list;
private PageInfo<PractitionerScheduleInfo> page;
}
...@@ -1221,6 +1221,8 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -1221,6 +1221,8 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
List<RenewalYearPerformanceCommission> c12List = new ArrayList<>(); List<RenewalYearPerformanceCommission> c12List = new ArrayList<>();
List<Commission> c13List = new ArrayList<>(); List<Commission> c13List = new ArrayList<>();
List<Commission> c14List = new ArrayList<>(); List<Commission> c14List = new ArrayList<>();
List<Commission> d01List = new ArrayList<>();
List<Commission> d02List = new ArrayList<>();
List<OtherCommission> otherCommissionLis = new ArrayList<>(); List<OtherCommission> otherCommissionLis = new ArrayList<>();
...@@ -1231,7 +1233,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -1231,7 +1233,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
List<WithdrawLabelInfo> list = agmsFortuneDalService.salaryPolicyNoDetails(info); List<WithdrawLabelInfo> list = agmsFortuneDalService.salaryPolicyNoDetails(info);
if(null != list && list.size() >0){ if(null != list && list.size() >0){
for(WithdrawLabelInfo withdrawLabelInfo : list){ for(WithdrawLabelInfo withdrawLabelInfo : list){
if ("C01,C02,C03,C04,C05,C08,C11,R03,C14,C15,R02,".indexOf(withdrawLabelInfo.getDropOptionCode()+",") != -1) { if ("C01,C02,C03,C04,C05,C08,C11,R03,C14,C15,R02,D01,D02,".indexOf(withdrawLabelInfo.getDropOptionCode()+",") != -1) {
Commission commission = new Commission(); Commission commission = new Commission();
commission.setCommission(withdrawLabelInfo.getReferralAmount().doubleValue());//佣金 commission.setCommission(withdrawLabelInfo.getReferralAmount().doubleValue());//佣金
commission.setCustomer(withdrawLabelInfo.getInsurerName());//保险公司 commission.setCustomer(withdrawLabelInfo.getInsurerName());//保险公司
...@@ -1284,6 +1286,12 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -1284,6 +1286,12 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
if ("C14".equals(withdrawLabelInfo.getDropOptionCode())) { if ("C14".equals(withdrawLabelInfo.getDropOptionCode())) {
c14List.add(commission); c14List.add(commission);
} }
if ("D01".equals(withdrawLabelInfo.getDropOptionCode())) {
d01List.add(commission);
}
if ("D02".equals(withdrawLabelInfo.getDropOptionCode())) {
d02List.add(commission);
}
//体系推荐奖 //体系推荐奖
if ("C15".equals(withdrawLabelInfo.getDropOptionCode())) { if ("C15".equals(withdrawLabelInfo.getDropOptionCode())) {
RecommendSystemCommission recommendSystemCommission = new RecommendSystemCommission(); RecommendSystemCommission recommendSystemCommission = new RecommendSystemCommission();
...@@ -1347,7 +1355,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -1347,7 +1355,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
} }
//C99:其他,C98:公司激励奖金,C97:其它税前加扣款,C96:加码奖金,C95:季度奖金,C94,银盾在线佣金 //C99:其他,C98:公司激励奖金,C97:其它税前加扣款,C96:加码奖金,C95:季度奖金,C94,银盾在线佣金
if ("C99,C94,C95,C96,C97,C98,S01,S03,".indexOf(withdrawLabelInfo.getDropOptionCode()+",") != -1) { if ("C99,C94,C95,C96,C97,C98,S01,S03,D91,D92,".indexOf(withdrawLabelInfo.getDropOptionCode()+",") != -1) {
OtherCommission otherCommission = new OtherCommission(); OtherCommission otherCommission = new OtherCommission();
otherCommission.setComments(withdrawLabelInfo.getRemark()); otherCommission.setComments(withdrawLabelInfo.getRemark());
otherCommission.setCommissionName(withdrawLabelInfo.getCommissionType()); otherCommission.setCommissionName(withdrawLabelInfo.getCommissionType());
...@@ -1423,7 +1431,10 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -1423,7 +1431,10 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
responseBody.setOtherCommissionList(newOtherCommissionLis); responseBody.setOtherCommissionList(newOtherCommissionLis);
//C11 独立经纪人展业津贴 //C11 独立经纪人展业津贴
responseBody.setIndependentBrokerAllowanceList(c11List); responseBody.setIndependentBrokerAllowanceList(c11List);
//D01 首年渠道服务费
responseBody.setChannelFristYearCommissionList(d01List);
//D02 续年渠道服务费
responseBody.setChannelRenewalYearCommissionList(d02List);
} }
/** /**
...@@ -1517,7 +1528,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -1517,7 +1528,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
if ("C14".equals(commissionType)) { if ("C14".equals(commissionType)) {
return "A-006"; return "A-006";
} }
return null; return commissionType;
} }
private void queryYdOnlineCommission(SearchStaffSalaryDetailsRequestBody requestVO, SearchStaffSalaryDetailsResponseBody responseBody) { private void queryYdOnlineCommission(SearchStaffSalaryDetailsRequestBody requestVO, SearchStaffSalaryDetailsResponseBody responseBody) {
......
...@@ -442,7 +442,7 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -442,7 +442,7 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
hiringListInfoList = practitionerHiringDalService.queryUnhandledList(practitionerId); hiringListInfoList = practitionerHiringDalService.queryUnhandledList(practitionerId);
} else { } else {
// 当前经纪人通过或拒绝的记录 // 当前经纪人通过或拒绝的记录
int status = Long.valueOf("1").equals(approvingStatus) ? 1 : 0; int status = approvingStatus.intValue();
hiringListInfoList = practitionerHiringDalService.queryHandledList(practitionerId, status); hiringListInfoList = practitionerHiringDalService.queryHandledList(practitionerId, status);
} }
......
...@@ -754,6 +754,15 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -754,6 +754,15 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
practitionerItem.setPractitionerId(practitionerIdForOnLine.toString()); practitionerItem.setPractitionerId(practitionerIdForOnLine.toString());
} }
practitionerIdItem = practitionerItem.getPractitionerId(); practitionerIdItem = practitionerItem.getPractitionerId();
if (practitionerId.equals(practitionerIdItem)) {//赋值、
if(boole){
BeanUtils.copyProperties(practitionerItem, practitionerInfo);
practitionerInfo.setRank(rank);
}
if (rank > 10) {
break;
}
}
if (rank <= 10) {//排名 if (rank <= 10) {//排名
if(practitionerId.equals(practitionerIdItem)){ if(practitionerId.equals(practitionerIdItem)){
if(!boole) continue; if(!boole) continue;
...@@ -766,13 +775,6 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -766,13 +775,6 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
fortuneStatistics.setRank(rank); fortuneStatistics.setRank(rank);
rankList.add(fortuneStatistics); rankList.add(fortuneStatistics);
} }
if (practitionerId.equals(practitionerIdItem)) {//赋值
BeanUtils.copyProperties(practitionerItem, practitionerInfo);
practitionerInfo.setRank(rank);
if (rank > 10) {
break;
}
}
rank++; rank++;
} }
} }
......
...@@ -104,6 +104,14 @@ public class CommissionPayoutStatus { ...@@ -104,6 +104,14 @@ public class CommissionPayoutStatus {
private String monthPeriod; private String monthPeriod;
private String remark; private String remark;
/**
* 渠道类型: 对公:1; 对私:2或者空
*/
private String channelType;
/**
* 所属渠道
*/
private String channelName;
public String getCommissionPayoutYearmonth() { public String getCommissionPayoutYearmonth() {
return commissionPayoutYearmonth; return commissionPayoutYearmonth;
...@@ -283,6 +291,7 @@ public class CommissionPayoutStatus { ...@@ -283,6 +291,7 @@ public class CommissionPayoutStatus {
", commissionPayoutStatus='" + commissionPayoutStatus + '\'' + ", commissionPayoutStatus='" + commissionPayoutStatus + '\'' +
", monthPeriod='" + monthPeriod + '\'' + ", monthPeriod='" + monthPeriod + '\'' +
", remark='" + remark + '\'' + ", remark='" + remark + '\'' +
", channelType='" + channelType + '\'' +
'}'; '}';
} }
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
...@@ -301,4 +310,28 @@ public class CommissionPayoutStatus { ...@@ -301,4 +310,28 @@ public class CommissionPayoutStatus {
public void setRemark(String remark) { public void setRemark(String remark) {
this.remark = remark; this.remark = remark;
} }
/**
* 渠道类型: 对公:1; 对私:2或者空
* @return the channelType
*/
public String getChannelType() {
return channelType;
}
/**
* 渠道类型: 对公:1; 对私:2或者空
* @param channelType the channelType to set
*/
public void setChannelType(String channelType) {
this.channelType = channelType;
}
public String getChannelName() {
return channelName;
}
public void setChannelName(String channelName) {
this.channelName = channelName;
}
} }
...@@ -64,6 +64,12 @@ public class CommissionPayoutStatusQueryInfo { ...@@ -64,6 +64,12 @@ public class CommissionPayoutStatusQueryInfo {
* 体系子集id * 体系子集id
*/ */
List<Long> subsystemIdList; List<Long> subsystemIdList;
/**
* 渠道Id
*/
private Long channelId;
private String channelType;//渠道类型: 对公:1; 对私:2或者空
private PageInfo<CommissionPayoutStatus> page; private PageInfo<CommissionPayoutStatus> page;
...@@ -184,4 +190,21 @@ public class CommissionPayoutStatusQueryInfo { ...@@ -184,4 +190,21 @@ public class CommissionPayoutStatusQueryInfo {
public void setCommissionTypeDropOptionCodeList(List<String> commissionTypeDropOptionCodeList) { public void setCommissionTypeDropOptionCodeList(List<String> commissionTypeDropOptionCodeList) {
this.commissionTypeDropOptionCodeList = commissionTypeDropOptionCodeList; this.commissionTypeDropOptionCodeList = commissionTypeDropOptionCodeList;
} }
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public String getChannelType() {
return channelType;
}
public void setChannelType(String channelType) {
this.channelType = channelType;
}
} }
...@@ -98,6 +98,15 @@ public class FortunePayToOrderInfo { ...@@ -98,6 +98,15 @@ public class FortunePayToOrderInfo {
*/ */
private BigDecimal fycAmount; private BigDecimal fycAmount;
/**
* 渠道名称
*/
private String channelName;
/**
* 渠道联系人手机号
*/
private String contactPhone;
/** /**
* 获取 保险公司 * 获取 保险公司
...@@ -422,8 +431,24 @@ public class FortunePayToOrderInfo { ...@@ -422,8 +431,24 @@ public class FortunePayToOrderInfo {
public void setFycAmount(BigDecimal fycAmount) { public void setFycAmount(BigDecimal fycAmount) {
this.fycAmount = fycAmount; this.fycAmount = fycAmount;
} }
public String getChannelName() {
return channelName;
}
public void setChannelName(String channelName) {
this.channelName = channelName;
}
public String getContactPhone() {
return contactPhone;
}
public void setContactPhone(String contactPhone) {
this.contactPhone = contactPhone;
}
@Override @Override
public String toString() { public String toString() {
return "FortunePayToOrderInfo{" + return "FortunePayToOrderInfo{" +
"insurerName='" + insurerName + '\'' + "insurerName='" + insurerName + '\'' +
...@@ -444,6 +469,8 @@ public class FortunePayToOrderInfo { ...@@ -444,6 +469,8 @@ public class FortunePayToOrderInfo {
", insurerBranchDeptName='" + insurerBranchDeptName + '\'' + ", insurerBranchDeptName='" + insurerBranchDeptName + '\'' +
", subordinateSystemName='" + subordinateSystemName + '\'' + ", subordinateSystemName='" + subordinateSystemName + '\'' +
", fycAmount=" + fycAmount + ", fycAmount=" + fycAmount +
", channelName=" + channelName +
", contactPhone=" + contactPhone +
'}'; '}';
} }
} }
......
...@@ -3,7 +3,6 @@ package com.yd.dal.entity.agms.fortune; ...@@ -3,7 +3,6 @@ package com.yd.dal.entity.agms.fortune;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* @author xxy * @author xxy
...@@ -18,7 +17,10 @@ public class WithdrawLabelInfo { ...@@ -18,7 +17,10 @@ public class WithdrawLabelInfo {
* 预计发佣年月 * 预计发佣年月
*/ */
private String payoutYearmonth; private String payoutYearmonth;
/**
* 所属渠道
*/
private String channelName;
/** /**
* 经纪人 * 经纪人
*/ */
...@@ -158,6 +160,7 @@ public class WithdrawLabelInfo { ...@@ -158,6 +160,7 @@ public class WithdrawLabelInfo {
*匹配佣奖率的金额 *匹配佣奖率的金额
*/ */
private BigDecimal calculationAmount; private BigDecimal calculationAmount;
private String channelType;
} }
......
...@@ -43,5 +43,8 @@ public class WithdrawQueryInfo { ...@@ -43,5 +43,8 @@ public class WithdrawQueryInfo {
* 体系子集id * 体系子集id
*/ */
List<Long> subsystemIdList; List<Long> subsystemIdList;
private Long channelId;
private String channelType;
} }
...@@ -208,6 +208,11 @@ public class AclPractitioner { ...@@ -208,6 +208,11 @@ public class AclPractitioner {
private Long mentorId; private Long mentorId;
/** /**
* FK ag_acl_practitioner.id 间接辅导人
*/
private Long inMentorId;
/**
* FK ag_acl_practitioner.id 介绍人 * FK ag_acl_practitioner.id 介绍人
*/ */
private Long introducerId; private Long introducerId;
......
package com.yd.dal.entity.customer; package com.yd.dal.entity.customer;
import java.util.Date;
import lombok.Data; import lombok.Data;
import java.util.Date;
/** /**
* 報聘经纪人報聘审批记录 * 報聘经纪人報聘审批记录
*/ */
...@@ -74,4 +75,8 @@ public class AclPractitionerHiringApproveRecords { ...@@ -74,4 +75,8 @@ public class AclPractitionerHiringApproveRecords {
private Date updatedAt; private Date updatedAt;
private Long updatedBy; private Long updatedBy;
/**
* 0=No, 1=Yes
*/
private Integer isBack;
} }
\ No newline at end of file
...@@ -53,4 +53,11 @@ public interface AgmsFortuneMapper { ...@@ -53,4 +53,11 @@ public interface AgmsFortuneMapper {
List<Long> querySalePractitionerFortune1(List<Long> fortuneIdList); List<Long> querySalePractitionerFortune1(List<Long> fortuneIdList);
void commissionPayoutAddRemark(CommissionPayoutAddRemarkRequestVO requestVO); void commissionPayoutAddRemark(CommissionPayoutAddRemarkRequestVO requestVO);
/**
* 对公渠道清算报表
* @param fortuneIdList
* @return
*/
List<Map<String, Object>> querySheet3Data(List<Long> fortuneIdList);
} }
...@@ -78,5 +78,17 @@ public interface AgmsHiringMapper { ...@@ -78,5 +78,17 @@ public interface AgmsHiringMapper {
@Param("name")String name @Param("name")String name
); );
List<PractitionerHiringListInfo> queryS2List(@Param("approveStatus")String approveStatus); List<PractitionerHiringListInfo> queryS2List(@Param("approveStatus")String approveStatus,
@Param("name")String name);
Page<PractitionerHiringListInfo> practitionerApplyList(@Param("approveStatus")String approveStatus,
@Param("list")List<String> canAprroveGrades,
@Param("branchId")Long branchId,
@Param("deptId")Long deptId,
@Param("subsystemIdList")List<Long> subsystemIdList,
@Param("name")String name,
@Param("startDate")String startDate,
@Param("endDate")String endDate
);
} }
package com.yd.dal.mapper.agms; package com.yd.dal.mapper.agms;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharing; import com.yd.api.agms.vo.practitioner.*;
import com.yd.api.agms.vo.practitioner.SharePractitionerInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/** /**
* @author xxy * @author xxy
*/ */
...@@ -22,4 +24,17 @@ public interface AgmsPractitionerMapper { ...@@ -22,4 +24,17 @@ public interface AgmsPractitionerMapper {
@Param("isActive") Integer isActive); @Param("isActive") Integer isActive);
SharePractitionerInfo findSharePractitioner(String shareCode); SharePractitionerInfo findSharePractitioner(String shareCode);
List<PractitionerScheduleInfo> practitionerSchedule(PractitionerScheduleRequestVO requestVO);
List<PractitionerLeadsGoalsInfo> practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO);
List<Map<String, Object>> practitionerScheduleExport(PractitionerScheduleRequestVO requestVO);
List<Map<String, Object>> practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO);
List<PractitionerActivityInfo> practitionerActivity(PractitionerActivityRequestVO requestVO);
List<Map<String, Object>> practitionerActivityExport(PractitionerActivityRequestVO requestVO);
} }
package com.yd.dal.mapper.customer; package com.yd.dal.mapper.customer;
import com.yd.api.practitioner.vo.businessCard.Certificate; 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.businessCard.PractitionerBusinessCardResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo; import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail; import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo; import com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo;
import com.yd.dal.entity.customer.AclPractitioner; 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 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 { public interface AclPractitionerMapper {
int deleteByPrimaryKey(Long id); int deleteByPrimaryKey(Long id);
...@@ -152,5 +158,6 @@ public interface AclPractitionerMapper { ...@@ -152,5 +158,6 @@ public interface AclPractitionerMapper {
* @author Yan Wenyang * @author Yan Wenyang
*/ */
List<Certificate> findCertificate(List<Long> certIdList); List<Certificate> findCertificate(List<Long> certIdList);
List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList);
} }
...@@ -53,4 +53,6 @@ public interface AgmsFortuneDALService { ...@@ -53,4 +53,6 @@ public interface AgmsFortuneDALService {
List<Long> querySalePractitionerFortune1(List<Long> fortuneIdList); List<Long> querySalePractitionerFortune1(List<Long> fortuneIdList);
void commissionPayoutAddRemark(CommissionPayoutAddRemarkRequestVO requestVO); void commissionPayoutAddRemark(CommissionPayoutAddRemarkRequestVO requestVO);
List<Map<String, Object>> querySheet3Data(List<Long> fortuneIdList);
} }
...@@ -3,10 +3,12 @@ package com.yd.dal.service.agms; ...@@ -3,10 +3,12 @@ package com.yd.dal.service.agms;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.hiring.PractitionerHiringListRequestVO; import com.yd.api.agms.vo.hiring.PractitionerHiringListRequestVO;
import com.yd.dal.entity.agms.hiring.*; 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.AclPractitionerHiringMembership;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps; import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author xxy * @author xxy
...@@ -65,10 +67,14 @@ public interface AgmsHiringDALService { ...@@ -65,10 +67,14 @@ public interface AgmsHiringDALService {
PageInfo<PractitionerHiringListInfo> queryHandledList(Long practitionerId, String status, PageInfo<PractitionerHiringListInfo> queryHandledList(Long practitionerId, String status,
PractitionerHiringListRequestVO requestVO); PractitionerHiringListRequestVO requestVO);
List<PractitionerHiringListInfo> practitionerApplyList(PractitionerHiringListRequestVO requestVO);
List<PractitionerHiringListInfo> queryUnhandledList(PractitionerHiringListRequestVO requestVO); List<PractitionerHiringListInfo> queryUnhandledList(PractitionerHiringListRequestVO requestVO);
AclPractitionerHiringMembership queryHiringMemberShip(Long hiringBasicInfoId); AclPractitionerHiringMembership queryHiringMemberShip(Long hiringBasicInfoId);
void noticeNextStep(MdPractitionerHiringApproveSteps nextStep, Long basicInfoId); void noticeNextStep(MdPractitionerHiringApproveSteps nextStep, Long basicInfoId);
void noticeSendWeChatMsg(String firstValue, String noticeMsg, List<Map<String, String>> practitionerList, AclPractitionerHiringBasicInfo basicInfo);
} }
package com.yd.dal.service.agms; package com.yd.dal.service.agms;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharing; import com.yd.api.agms.vo.practitioner.*;
import com.yd.api.agms.vo.practitioner.SharePractitionerInfo;
import java.util.List;
import java.util.Map;
/** /**
* @author xxy * @author xxy
...@@ -19,4 +21,16 @@ public interface AgmsPractitionerDALService { ...@@ -19,4 +21,16 @@ public interface AgmsPractitionerDALService {
PageInfo<PractitionerFileSharing> practitionerFileSharingList(Long id ,Long practitionerId,String shareCode,Long[] mdDropOptionId, Integer isActive, int pageNum, int size); PageInfo<PractitionerFileSharing> practitionerFileSharingList(Long id ,Long practitionerId,String shareCode,Long[] mdDropOptionId, Integer isActive, int pageNum, int size);
SharePractitionerInfo findSharePractitioner(String shareCode); SharePractitionerInfo findSharePractitioner(String shareCode);
List<PractitionerScheduleInfo> practitionerSchedule(PractitionerScheduleRequestVO requestVO);
List<PractitionerLeadsGoalsInfo> practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO);
List<Map<String, Object>> practitionerScheduleExport(PractitionerScheduleRequestVO requestVO);
List<Map<String, Object>> practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO);
List<PractitionerActivityInfo> practitionerActivity(PractitionerActivityRequestVO requestVO);
List<Map<String, Object>> practitionerActivityExport(PractitionerActivityRequestVO requestVO);
} }
...@@ -103,4 +103,9 @@ public class AgmsFortuneDALServiceImpl implements AgmsFortuneDALService { ...@@ -103,4 +103,9 @@ public class AgmsFortuneDALServiceImpl implements AgmsFortuneDALService {
fortune.setUpdatedAt(new Date()); fortune.setUpdatedAt(new Date());
aclCustomerFortuneMapper.updateByPrimaryKeySelective(fortune); aclCustomerFortuneMapper.updateByPrimaryKeySelective(fortune);
} }
@Override
public List<Map<String, Object>> querySheet3Data(List<Long> fortuneIdList) {
return agmsFortuneMapper.querySheet3Data(fortuneIdList);
}
} }
...@@ -181,58 +181,42 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService { ...@@ -181,58 +181,42 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
} }
// 1.3 查询审批人列表 // 1.3 查询审批人列表
List<PractitionerInfo> practitionerList = aclPractitionerDALService.findPractitionerInfoByMobileList(Arrays.asList(mobileNoArray)); List<PractitionerInfo> practitionerList = aclPractitionerDALService.findPractitionerInfoByMobileList(Arrays.asList(mobileNoArray));
// 2.报聘人组织关系, 姓名 // 2.获取报聘人组织架构信息
StringBuilder name2 = new StringBuilder(); String orgInfo = practitionerHiringDalService.getHiringOrganizationInfo(basicInfo, hiringMemberShip);
String s3SubordinateSystemName = hiringMemberShip.getS3SubordinateSystemName();
String s2SubordinateSystemName = hiringMemberShip.getS2SubordinateSystemName();
String s1SubordinateSystemName = hiringMemberShip.getS1SubordinateSystemName();
boolean flag = false;
if (StringUtils.isNotEmpty(s3SubordinateSystemName)) {
name2.append(s3SubordinateSystemName);
if (s3SubordinateSystemName.indexOf("纵队") < 0) {
name2.append("纵队");
}
flag = true;
}
if (StringUtils.isNotEmpty(s2SubordinateSystemName)) {
name2.append(s2SubordinateSystemName);
if (s2SubordinateSystemName.indexOf("体系") < 0) {
name2.append("体系");
}
flag = true;
}
if (StringUtils.isNotEmpty(s1SubordinateSystemName)) {
name2.append(s1SubordinateSystemName);
if (s1SubordinateSystemName.indexOf("分部") < 0) {
name2.append("分部");
}
flag = true;
}
if (flag) {
name2.append("的");
}
name2.append(basicInfo.getName());
// 发送短信通知下一位审批人进行审批 // 发送短信通知下一位审批人进行审批
this.noticeSendSMS(name2.toString(), practitionerList, basicInfo); this.noticeSendSMS(orgInfo, practitionerList, basicInfo);
// 公众号推送通知下一位审批人进行审批 // 公众号推送通知下一位审批人进行审批
this.noticeSendWeChatMsg(name2.toString(), practitionerList, basicInfo); String firstValue = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_FIRST_HIRING");
firstValue = firstValue.replace("hiringName", orgInfo);
ArrayList<Map<String, String>> list = new ArrayList<>();
for (PractitionerInfo practitionerInfo : practitionerList) {
Map<String, String> map = new HashMap<>();
map.put("name", practitionerInfo.getName());
map.put("mobileNo", practitionerInfo.getMobileNo());
map.put("ydWechatOpenid", practitionerInfo.getYdWechatOpenid());
list.add(map);
}
this.noticeSendWeChatMsg(firstValue, "待审批", list, basicInfo);
} }
private void noticeSendWeChatMsg(String hiringName, List<PractitionerInfo> practitionerList, AclPractitionerHiringBasicInfo basicInfo) { @Override
public void noticeSendWeChatMsg(String firstValue, String noticeMsg, List<Map<String, String>> practitionerList, AclPractitionerHiringBasicInfo basicInfo) {
// 读取数据库配置 // 读取数据库配置
String templateId = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_ID_HIRING"); String templateId = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_ID_HIRING");
String jumpUrl = systemConfigService.getSingleConfigValue("hiringApprove_page_url"); String jumpUrl = systemConfigService.getSingleConfigValue("hiringApprove_page_url");
String firstValue = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_FIRST_HIRING"); // String firstValue = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_FIRST_HIRING");
String remarkValue = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_REMARK_HIRING"); String remarkValue = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_REMARK_HIRING");
String color = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_COLOR_XB"); String color = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_COLOR_XB");
// 组装模板数据 // 组装模板数据
TemplateDataInfo dataInfo = new TemplateDataInfo(); TemplateDataInfo dataInfo = new TemplateDataInfo();
DataDetailInfo first = new DataDetailInfo(); DataDetailInfo first = new DataDetailInfo();
DataDetailInfo keyword1 = new DataDetailInfo("待审批", color); DataDetailInfo keyword1 = new DataDetailInfo(noticeMsg, color);
DataDetailInfo keyword2 = new DataDetailInfo(CommonUtil.dateParseString(basicInfo.getCreatedAt(),"yyyy-MM-dd HH:mm:ss"), null); DataDetailInfo keyword2 = new DataDetailInfo(CommonUtil.dateParseString(basicInfo.getCreatedAt(),"yyyy-MM-dd HH:mm:ss"), null);
DataDetailInfo remark = new DataDetailInfo(remarkValue, null); DataDetailInfo remark = new DataDetailInfo(remarkValue, null);
...@@ -248,20 +232,20 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService { ...@@ -248,20 +232,20 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
sendTemplateRequest.setData(dataInfo); sendTemplateRequest.setData(dataInfo);
sendTemplateRequest.setUrl(jumpUrl); sendTemplateRequest.setUrl(jumpUrl);
for (PractitionerInfo practitionerInfo : practitionerList) { for (Map<String, String> practitionerInfo : practitionerList) {
// openId不为null, 执行 // openId不为null, 执行
if (StringUtils.isNotBlank(practitionerInfo.getYdWechatOpenid())) { if (StringUtils.isNotBlank(practitionerInfo.get("ydWechatOpenid"))) {
sendTemplateRequest.setToUser(practitionerInfo.getYdWechatOpenid()); sendTemplateRequest.setToUser(practitionerInfo.get("ydWechatOpenid"));
// 审批人姓名 // 审批人姓名
first.setValue(firstValue.replace("name", practitionerInfo.getName()).replace("hiringName", hiringName)); first.setValue(firstValue.replace("name", practitionerInfo.get("name")));
logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》发送微信模板消息审批人"); logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》发送微信模板消息审批人");
logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》" + practitionerInfo.getName()); logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》" + practitionerInfo.get("name"));
// 微信通知 // 微信通知
wechatService.sendTemplateMessage(sendTemplateRequest); wechatService.sendTemplateMessage(sendTemplateRequest);
} else { } else {
logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》发送微信模板消息审批人openId为空"); logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》发送微信模板消息审批人openId为空");
logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》" + practitionerInfo.getName()); logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》" + practitionerInfo.get("name"));
} }
} }
} }
...@@ -399,7 +383,7 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService { ...@@ -399,7 +383,7 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
} }
if (canAprroveGrades.contains("30")) { if (canAprroveGrades.contains("30")) {
List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List(approveStatus); List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List(approveStatus,requestVO.getName());
dataList.addAll(s2List); dataList.addAll(s2List);
} }
...@@ -412,4 +396,23 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService { ...@@ -412,4 +396,23 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
return uniqueList; return uniqueList;
} }
@Override
public List<PractitionerHiringListInfo> practitionerApplyList(PractitionerHiringListRequestVO requestVO) {
PageHelper.clearPage();//偶然遇到了这个问题,同一个查询结果一会是10个(预期),一会是真实个数(刷新/重启应用就又变成真实个数) 查看日志,发现了问题:结果为10个时查询SQL自动加上了Limit 10
//体系查询调整,如果体系为S3,则需要查询它下面的所有子集
PractitionerSubordinateInfo practitionerSubordinateInfo = new PractitionerSubordinateInfo();
BeanUtils.copyProperties(requestVO,practitionerSubordinateInfo);
practitionerSubordinateInfo.setInsurerBranchId(requestVO.getBranchId());
List<Long> subsystemIdList = aclPractitionerSubordinateSystemDalService.getLongs(practitionerSubordinateInfo);
List<PractitionerHiringListInfo> resultList = agmsHiringMapper.practitionerApplyList(requestVO.getStatus(), null,
requestVO.getBranchId(),
requestVO.getDeptId(),
subsystemIdList,
requestVO.getName(),
requestVO.getStartDate(),
requestVO.getEndDate());
return resultList;
}
} }
...@@ -3,14 +3,16 @@ package com.yd.dal.service.agms.impl; ...@@ -3,14 +3,16 @@ package com.yd.dal.service.agms.impl;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.practitioner.PractitionerFileSharing; import com.yd.api.agms.vo.practitioner.*;
import com.yd.api.agms.vo.practitioner.SharePractitionerInfo;
import com.yd.dal.mapper.agms.AgmsPractitionerMapper; import com.yd.dal.mapper.agms.AgmsPractitionerMapper;
import com.yd.dal.service.agms.AgmsPractitionerDALService; import com.yd.dal.service.agms.AgmsPractitionerDALService;
import com.yd.util.CommonUtil; import com.yd.util.CommonUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/** /**
* @author xxy * @author xxy
*/ */
...@@ -33,4 +35,34 @@ public class AgmsPractitionerDALServiceImpl implements AgmsPractitionerDALServic ...@@ -33,4 +35,34 @@ public class AgmsPractitionerDALServiceImpl implements AgmsPractitionerDALServic
} }
return mapper.findSharePractitioner(shareCode); return mapper.findSharePractitioner(shareCode);
} }
@Override
public List<PractitionerScheduleInfo> practitionerSchedule(PractitionerScheduleRequestVO requestVO) {
return mapper.practitionerSchedule(requestVO);
}
@Override
public List<PractitionerLeadsGoalsInfo> practitionerLeadsGoals(PractitionerLeadsGoalsRequestVO requestVO) {
return mapper.practitionerLeadsGoals(requestVO);
}
@Override
public List<Map<String, Object>> practitionerScheduleExport(PractitionerScheduleRequestVO requestVO) {
return mapper.practitionerScheduleExport(requestVO);
}
@Override
public List<Map<String, Object>> practitionerLeadsGoalsExport(PractitionerLeadsGoalsRequestVO requestVO) {
return mapper.practitionerLeadsGoalsExport(requestVO);
}
@Override
public List<PractitionerActivityInfo> practitionerActivity(PractitionerActivityRequestVO requestVO) {
return mapper.practitionerActivity(requestVO);
}
@Override
public List<Map<String, Object>> practitionerActivityExport(PractitionerActivityRequestVO requestVO) {
return mapper.practitionerActivityExport(requestVO);
}
} }
package com.yd.dal.service.customer; 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.Certificate;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO; import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo; import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
...@@ -18,6 +13,10 @@ import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo; ...@@ -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.OwnOpportunityInfo;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo; import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo; import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service("aclPractitionerDALService") @Service("aclPractitionerDALService")
public interface AclPractitionerDALService { public interface AclPractitionerDALService {
...@@ -221,6 +220,8 @@ public interface AclPractitionerDALService { ...@@ -221,6 +220,8 @@ public interface AclPractitionerDALService {
List<PractitionerInfo> findPractitionerInfoByMobileList(List<String> mobileList); List<PractitionerInfo> findPractitionerInfoByMobileList(List<String> mobileList);
List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList);
List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId); List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId);
/** /**
......
...@@ -14,5 +14,7 @@ public interface AclPractitionerHiringApproveRecordsDALService { ...@@ -14,5 +14,7 @@ public interface AclPractitionerHiringApproveRecordsDALService {
List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId); List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId);
int deleteByHiringBasicInfoId(Long basicInfoId); int deleteByHiringBasicInfoId(Long basicInfoId);
void updateBatch(List<AclPractitionerHiringApproveRecords> records);
} }
package com.yd.dal.service.customer.impl; 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.google.common.base.Strings;
import com.yd.api.practitioner.service.PractitionerService; import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.vo.businessCard.Certificate; import com.yd.api.practitioner.vo.businessCard.Certificate;
...@@ -40,6 +26,18 @@ import com.yd.util.auth.setting.JwtTokenUtil; ...@@ -40,6 +26,18 @@ import com.yd.util.auth.setting.JwtTokenUtil;
import com.yd.util.deshandler.DESTypeHandler; import com.yd.util.deshandler.DESTypeHandler;
import com.yd.util.intercept.annotation.TargetDataSource; import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey; 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") @Service("aclPractitionerDALService")
public class AclPractitionerDALServiceImpl implements AclPractitionerDALService { public class AclPractitionerDALServiceImpl implements AclPractitionerDALService {
...@@ -270,6 +268,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService ...@@ -270,6 +268,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
} }
@Override @Override
public List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList) {
return aclPractitionerMapper.findPractitionerInfoByIdList(idList);
}
@Override
public List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId) { public List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId) {
return aclPractitionerMapper.queryEGHistorySalaryPDFByPractitionerId(practitionerId); return aclPractitionerMapper.queryEGHistorySalaryPDFByPractitionerId(practitionerId);
} }
......
...@@ -31,4 +31,9 @@ public class AclPractitionerHiringApproveRecordsDALServiceImpl implements AclPra ...@@ -31,4 +31,9 @@ public class AclPractitionerHiringApproveRecordsDALServiceImpl implements AclPra
public int deleteByHiringBasicInfoId(Long hiringBasicInfoId) { public int deleteByHiringBasicInfoId(Long hiringBasicInfoId) {
return mapper.deleteByHiringBasicInfoId(hiringBasicInfoId); return mapper.deleteByHiringBasicInfoId(hiringBasicInfoId);
} }
@Override
public void updateBatch(List<AclPractitionerHiringApproveRecords> records) {
mapper.updateBatch(records);
}
} }
package com.yd.dal.service.practitioner; package com.yd.dal.service.practitioner;
import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms; 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.customer.AclPractitionerHiringMembership;
import com.yd.dal.entity.practitioner.hiring.*; import com.yd.dal.entity.practitioner.hiring.*;
...@@ -106,4 +107,14 @@ public interface PractitionerHiringDALService { ...@@ -106,4 +107,14 @@ public interface PractitionerHiringDALService {
* @return * @return
*/ */
AclPractitionerHiringMembership queryHiringMemberShip(Long hiringBasicInfoId); 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; ...@@ -2,14 +2,12 @@ package com.yd.dal.service.practitioner.impl;
import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms; import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms;
import com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo; import com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo;
import com.yd.dal.entity.customer.AclPractitioner; import com.yd.dal.entity.customer.*;
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.practitioner.PractitionerInfo; import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps; import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.practitioner.hiring.*; import com.yd.dal.entity.practitioner.hiring.*;
import com.yd.dal.mapper.agms.AgmsHiringMapper; 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.AclPractitionerHiringMembershipMapper;
import com.yd.dal.mapper.customer.AclPractitionerMapper; import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.mapper.practitioner.PractitionerHiringMapper; import com.yd.dal.mapper.practitioner.PractitionerHiringMapper;
...@@ -21,6 +19,7 @@ import com.yd.dal.service.practitioner.PractitionerHiringDALService; ...@@ -21,6 +19,7 @@ import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.dal.service.user.AclUserDALService; import com.yd.dal.service.user.AclUserDALService;
import com.yd.rmi.cache.SystemConfigService; import com.yd.rmi.cache.SystemConfigService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -55,6 +54,8 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -55,6 +54,8 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
private AclUserDALService aclUserDalService; private AclUserDALService aclUserDalService;
@Autowired @Autowired
private AclPractitionerSubordinateSystemDALService aclPractitionerSubordinateSystemDALService; private AclPractitionerSubordinateSystemDALService aclPractitionerSubordinateSystemDALService;
@Autowired
private AclPractitionerHiringBasicInfoMapper basicInfoMapper;
@Override @Override
public List<HiringListInfo> findHiringList(Long practitionerId, Long approvingStatus) { public List<HiringListInfo> findHiringList(Long practitionerId, Long approvingStatus) {
...@@ -88,14 +89,18 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -88,14 +89,18 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
@Override @Override
public List<HiringApproveRecords> findHiringApproveRecordsList(Long hiringBasicInfoId) { public List<HiringApproveRecords> findHiringApproveRecordsList(Long hiringBasicInfoId) {
// 当前审核状态
AclPractitionerHiringBasicInfo basicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
String approveStatus = basicInfo.getApproveStatus();
List<HiringApproveRecords> records = practitionerHiringMapper.findHiringApproveRecordsList(hiringBasicInfoId); List<HiringApproveRecords> records = practitionerHiringMapper.findHiringApproveRecordsList(hiringBasicInfoId);
PractitionerInfo practitionerInfo; PractitionerInfo practitionerInfo;
CustomerFileUpload fileUpload; CustomerFileUpload fileUpload;
String imagePath; String imagePath;
String levelName; String levelName;
// 创建一个Map
Map<Long, HiringApproveRecords> map = new HashMap<>();
for (HiringApproveRecords item : records) { for (HiringApproveRecords item : records) {
// 获取职级 // 获取职级
practitionerInfo = aclPractitionerDALService.findPractitionerInfoByPractitionerId(item.getApprovingPractitionerId()); practitionerInfo = aclPractitionerDALService.findPractitionerInfoByPractitionerId(item.getApprovingPractitionerId());
...@@ -106,12 +111,15 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -106,12 +111,15 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
item.setHeadImagePath(imagePath); item.setHeadImagePath(imagePath);
item.setLevelName(levelName); item.setLevelName(levelName);
}
map.put(item.getApproveStepId(), item); // 如果已审核结束,则不需要手动创建未审批的流程
if ("0".equals(approveStatus)) {
return records;
} }
// 声明最终返回的List // 声明最终返回的List
List<HiringApproveRecords> resultList = new ArrayList<>(); List<HiringApproveRecords> resultList = new ArrayList<>(records);
// 所有的审批流程 // 所有的审批流程
List<MdPractitionerHiringApproveSteps> stepsList = systemConfigService.findHiringApproveStepsAll(); List<MdPractitionerHiringApproveSteps> stepsList = systemConfigService.findHiringApproveStepsAll();
// 当前经纪人的报聘职级 // 当前经纪人的报聘职级
...@@ -124,10 +132,9 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -124,10 +132,9 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
subsystemOwnerName = (approvedBy != null) ? approvedBy.getName() : ""; subsystemOwnerName = (approvedBy != null) ? approvedBy.getName() : "";
} }
HiringApproveRecords record;
for (MdPractitionerHiringApproveSteps step : stepsList) { for (MdPractitionerHiringApproveSteps step : stepsList) {
// S2前2步不用审批 // 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) && (step.getStepSeq() == 1 || step.getStepSeq() == 2)
) { ) {
continue; continue;
...@@ -138,16 +145,16 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -138,16 +145,16 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
) { ) {
continue; continue;
} }
record = map.get(step.getId());
if (record != null) { if(approveStatus == null){
resultList.add(record); approveStatus = "-2";
} else { }
if (step.getStepSeq() > Integer.parseInt(approveStatus)) {
HiringApproveRecords obj = new HiringApproveRecords(); HiringApproveRecords obj = new HiringApproveRecords();
obj.setApproveStepId(step.getId()); obj.setApproveStepId(step.getId());
obj.setApproveStepName(step.getStepName()); obj.setApproveStepName(step.getStepName());
obj.setApprovingStatusId(Long.valueOf("2")); obj.setApprovingStatusId(Long.valueOf("2"));
obj.setApprovingStatus("未审批"); obj.setApprovingStatus("未审批");
// 获取每一步审批人姓名 // 获取每一步审批人姓名
if ("mentor".equals(step.getApproveRole())) { if ("mentor".equals(step.getApproveRole())) {
obj.setApprovingPractitionerName(hiringMemberShip.getMentor()); obj.setApprovingPractitionerName(hiringMemberShip.getMentor());
...@@ -157,7 +164,6 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -157,7 +164,6 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
String names = aclUserDalService.selectNamesByMobileNos(step.getAppointedApprovePractitioners()); String names = aclUserDalService.selectNamesByMobileNos(step.getAppointedApprovePractitioners());
obj.setApprovingPractitionerName(names); obj.setApprovingPractitionerName(names);
} }
resultList.add(obj); resultList.add(obj);
} }
} }
...@@ -258,7 +264,7 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -258,7 +264,7 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
} }
if (canAprroveGrades.contains("30")) { if (canAprroveGrades.contains("30")) {
List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List(approveStatus); List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List(approveStatus,null);
dataList.addAll(s2List); dataList.addAll(s2List);
} }
} }
...@@ -291,40 +297,40 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -291,40 +297,40 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
@Override @Override
public String getApproveStatusByStepSeq(Integer stepSeq) { public String getApproveStatusByStepSeq(Integer stepSeq) {
switch (stepSeq) { if (Integer.valueOf(1).equals(stepSeq)) {
case 1 : return "-2";
return "-2"; } else if (Integer.valueOf(2).equals(stepSeq)) {
case 2 : return "1";
return "1"; } else if (Integer.valueOf(3).equals(stepSeq)) {
case 3 : return "2";
return "2"; } else if (Integer.valueOf(4).equals(stepSeq)) {
case 4 : return "3";
return "3"; } else if (Integer.valueOf(5).equals(stepSeq)) {
case 5 : return "4";
return "4"; } else if (Integer.valueOf(6).equals(stepSeq)) {
case 6 : return "5";
return "5"; } else {
return null;
} }
return null;
} }
@Override @Override
public Integer getNextStepSeqByApproveStatus(String approveStatus) { public Integer getNextStepSeqByApproveStatus(String approveStatus) {
switch (approveStatus) { if ("-2".equals(approveStatus)) {
case "-2" : return Integer.valueOf("1");
return Integer.valueOf("1"); } else if ("1".equals(approveStatus)) {
case "1" : return Integer.valueOf("2");
return Integer.valueOf("2"); } else if ("2".equals(approveStatus)) {
case "2" : return Integer.valueOf("3");
return Integer.valueOf("3"); } else if ("3".equals(approveStatus)) {
case "3" : return Integer.valueOf("4");
return Integer.valueOf("4"); } else if ("4".equals(approveStatus)) {
case "4" : return Integer.valueOf("5");
return Integer.valueOf("5"); } else if ("5".equals(approveStatus)) {
case "5" : return Integer.valueOf("6");
return Integer.valueOf("6"); } else {
return null;
} }
return null;
} }
@Override @Override
...@@ -384,4 +390,39 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe ...@@ -384,4 +390,39 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
} }
return hiringMemberShip; 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();
}
} }
...@@ -43,11 +43,10 @@ public class MailServiceImpl implements MailService { ...@@ -43,11 +43,10 @@ public class MailServiceImpl implements MailService {
@Override @Override
public void sysWarning(String warningSubject,String warningMessage) { public void sysWarning(String warningSubject,String warningMessage) {
String toAddress = "simon.cheng@ydinsurance.cn"; String toAddress = "wenyang.yan@ydinsurance.cn";
List<String> ccList = systemConfigService.getListConfigValue("SysWarningCCAddress"); List<String> ccList = systemConfigService.getListConfigValue("SysWarningCCAddress");
String[] ccAddresses = new String[ccList.size()]; String[] ccAddresses = new String[ccList.size()];
ccList.toArray(ccAddresses); ccList.toArray(ccAddresses);
// String[] ccAddress = new String[]{"water.wang@autogeneral.cn","sweet.zhang@autogeneral.cn","jerold.chen@autogeneral.cn"};
String subject = "【"+ SpringContextUtil.getEnvironmentName()+"环境】"+warningSubject; String subject = "【"+ SpringContextUtil.getEnvironmentName()+"环境】"+warningSubject;
String messageText = CommonUtil.currentIP()+" "+warningMessage; String messageText = CommonUtil.currentIP()+" "+warningMessage;
String imageFile = null; String imageFile = null;
...@@ -70,11 +69,10 @@ public class MailServiceImpl implements MailService { ...@@ -70,11 +69,10 @@ public class MailServiceImpl implements MailService {
@Override @Override
public void sysException(String warningSubject, String warningMessage) { public void sysException(String warningSubject, String warningMessage) {
// if("prod".equals(SpringContextUtil.getActiveProfile())){ // if("prod".equals(SpringContextUtil.getActiveProfile())){
String toAddress = "water.wang@ydinsurance.cn";//"simon.cheng@autogeneral.cn"; String toAddress = "wenyang.yan@ydinsurance.cn";//"simon.cheng@autogeneral.cn";
List<String> ccList = systemConfigService.getListConfigValue("SysWarningCCAddress"); List<String> ccList = systemConfigService.getListConfigValue("SysWarningCCAddress");
String[] ccAddresses = new String[ccList.size()]; String[] ccAddresses = new String[ccList.size()];
ccList.toArray(ccAddresses); ccList.toArray(ccAddresses);
// String[] ccAddress = new String[]{"water.wang@autogeneral.cn","sweet.zhang@autogeneral.cn","jerold.chen@autogeneral.cn"};
String subject = "【"+SpringContextUtil.getEnvironmentName()+"环境】"+warningSubject; String subject = "【"+SpringContextUtil.getEnvironmentName()+"环境】"+warningSubject;
String messageText = CommonUtil.currentIP()+" "+warningMessage; String messageText = CommonUtil.currentIP()+" "+warningMessage;
String imageFile = null; String imageFile = null;
......
...@@ -226,8 +226,8 @@ public class AliMailInterfServiceImpl implements AliMailInterfService { ...@@ -226,8 +226,8 @@ public class AliMailInterfServiceImpl implements AliMailInterfService {
public static void main(String[] args){ public static void main(String[] args){
AliMailInterfServiceImpl service = new AliMailInterfServiceImpl(); AliMailInterfServiceImpl service = new AliMailInterfServiceImpl();
String toAddress = "water.wang@autogeneral.cn"; String toAddress = "wenyang.yan@ydinsurance.cn";
String[] ccAddresses = new String[]{"water.wang@autogeneral.cn","1034346366@qq.com"}; String[] ccAddresses = new String[]{"wenyang.yan@ydinsurance.cn","1034346366@qq.com"};
String subject = "您已成功通过安吉保购买保险产品"; String subject = "您已成功通过安吉保购买保险产品";
String messageText = "" String messageText = ""
+"尊敬的XX,您好!" +"尊敬的XX,您好!"
......
...@@ -50,7 +50,8 @@ public class SearchStaffSalaryDetailsResponseBody { ...@@ -50,7 +50,8 @@ public class SearchStaffSalaryDetailsResponseBody {
private List<RenewalYearPerformanceCommission> breedingBonusList;//育成奖金 private List<RenewalYearPerformanceCommission> breedingBonusList;//育成奖金
private List<Commission> independentBrokerAllowanceList;//独立经纪人展业津贴 private List<Commission> independentBrokerAllowanceList;//独立经纪人展业津贴
private List<Commission> direcSalesAddWeightList;//直接销售加码佣金 private List<Commission> direcSalesAddWeightList;//直接销售加码佣金
private List<Commission> channelFristYearCommissionList;//D01-首年渠道服务费
private List<Commission> channelRenewalYearCommissionList;//D02-续年渠道服务费
public SearchStaffSalaryDetailsResponseBody() { public SearchStaffSalaryDetailsResponseBody() {
...@@ -248,4 +249,20 @@ public class SearchStaffSalaryDetailsResponseBody { ...@@ -248,4 +249,20 @@ public class SearchStaffSalaryDetailsResponseBody {
public void setDirecSalesAddWeightList(List<Commission> direcSalesAddWeightList) { public void setDirecSalesAddWeightList(List<Commission> direcSalesAddWeightList) {
this.direcSalesAddWeightList = direcSalesAddWeightList; this.direcSalesAddWeightList = direcSalesAddWeightList;
} }
public List<Commission> getChannelFristYearCommissionList() {
return channelFristYearCommissionList;
}
public void setChannelFristYearCommissionList(List<Commission> channelFristYearCommissionList) {
this.channelFristYearCommissionList = channelFristYearCommissionList;
}
public List<Commission> getChannelRenewalYearCommissionList() {
return channelRenewalYearCommissionList;
}
public void setChannelRenewalYearCommissionList(List<Commission> channelRenewalYearCommissionList) {
this.channelRenewalYearCommissionList = channelRenewalYearCommissionList;
}
} }
...@@ -229,10 +229,12 @@ ...@@ -229,10 +229,12 @@
<if test="status != null"> <if test="status != null">
<choose> <choose>
<when test='status == "1" '> <when test='status == "1" '>
and t.approving_status = 1 and (b.approve_status >= t.approve_step_id OR b.approve_status = 0)
</when> </when>
<when test='status == "2" '> <when test='status == "2" '>
and t.approving_status = 0 and ((b.approve_status != 0 and b.approve_status &lt; t.approve_step_id-1) or b.approve_status is null)
and t.id &lt;= (select max(a.id) from ag_acl_practitioner_hiring_approve_records a where a.hiring_basic_info_id = t.hiring_basic_info_id and a.approving_status=0)
<!-- and (t.approving_status = 0 or b.approve_status < t.approve_step_id or b.approve_status is null) -->
</when> </when>
</choose> </choose>
</if> </if>
...@@ -253,7 +255,7 @@ ...@@ -253,7 +255,7 @@
</foreach> </foreach>
</if> </if>
<if test="name != null"> <if test="name != null">
and b.name = #{name} and b.name like #{name}
</if> </if>
</select> </select>
...@@ -300,7 +302,7 @@ ...@@ -300,7 +302,7 @@
</foreach> </foreach>
</if> </if>
<if test="name != null"> <if test="name != null">
and b.name = #{name} and b.name like #{name}
</if> </if>
</select> </select>
...@@ -324,6 +326,9 @@ ...@@ -324,6 +326,9 @@
<if test="approveStatus != null"> <if test="approveStatus != null">
and b.approve_status = #{approveStatus} and b.approve_status = #{approveStatus}
</if> </if>
<if test="name != null">
and b.name like #{name}
</if>
and m.md_drop_option_id and m.md_drop_option_id
in (select md.id in (select md.id
from ag_md_drop_options md from ag_md_drop_options md
...@@ -334,4 +339,78 @@ ...@@ -334,4 +339,78 @@
) )
</select> </select>
<select id="practitionerApplyList" resultMap="practitionerHiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
m.introducer introducer,
m.subsystem subsystem,
m.branch branch,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
<if test="approveStatus != null">
<choose>
<when test='approveStatus == "1" '>
#{approveStatus} as status,
(select max(r.created_at) from ag_acl_practitioner_hiring_approve_records r where r.hiring_basic_info_id = b.id ) as approvingTime
</when>
<when test='approveStatus == "0" '>
null as status,
null as approvingTime
</when>
<when test='approveStatus == "2" '>
'0' as status,
null as approvingTime
</when>
</choose>
</if>
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
left join ag_acl_practitioner_subordinate_system sys on sys.id = m.subsystem_id
where 1 = 1
<if test="approveStatus != null">
<choose>
<when test='approveStatus == "0" '>
and (b.approve_status not in ('0' , '-1') or b.approve_status is null)
</when>
<when test='approveStatus == "1" '>
and b.approve_status = '0'
</when>
<when test='approveStatus == "2" '>
and b.approve_status = '-1'
</when>
</choose>
</if>
<if test="startDate != null ">
and b.created_at &gt;= #{startDate}
</if>
<if test="endDate != null ">
and b.created_at &lt;= #{endDate}
</if>
<if test="list != null and list.size() > 0">
and m.md_drop_option_id in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="branchId != null">
and m.branch_id = #{branchId}
</if>
<if test="deptId != null">
and sys.dept_id = #{deptId}
</if>
<if test="subsystemIdList != null and subsystemIdList.size() > 0">
and m.subsystem_id in
<foreach collection="subsystemIdList" index="index" item="subsystemId" open="(" separator="," close=")">
#{subsystemId}
</foreach>
</if>
<if test="name != null">
and b.name like #{name}
</if>
order by b.id desc
</select>
</mapper> </mapper>
...@@ -80,4 +80,197 @@ ...@@ -80,4 +80,197 @@
LEFT JOIN ag_acl_file_upload uw ON uw.target_type = 1 AND uw.target_id = p.id AND uw.is_active = 1 AND uw.target_use_for = 9 LEFT JOIN ag_acl_file_upload uw ON uw.target_type = 1 AND uw.target_id = p.id AND uw.is_active = 1 AND uw.target_use_for = 9
WHERE os.share_code = #{shareCode,jdbcType=VARCHAR} WHERE os.share_code = #{shareCode,jdbcType=VARCHAR}
</select> </select>
<select id="practitionerSchedule" resultType="com.yd.api.agms.vo.practitioner.PractitionerScheduleInfo">
SELECT
p.name practitionerName,
(CASE (t.task_type) WHEN 1 THEN '商机' WHEN 2 THEN '增员' ELSE '其他' END) taskType,
op.drop_option_name dropOptionName,
t.track_time trackTime,
t.task_time_from taskTimeFrom,
task_time_end taskTimeEnd,
t.notice ,
t.created_at createdAt
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options op
WHERE t.practitioner_id = p.id AND op.id = t.md_drop_option_id
<if test="trackTime != null">
AND date_format(t.track_time, '%Y-%m-%d') &gt;= #{trackTime,jdbcType=VARCHAR} AND date_format(t.track_time, '%Y-%m-%d') &lt;= #{trackTime,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
<if test="taskType != null">
AND t.task_type = #{taskType,jdbcType=BIGINT}
</if>
<if test="dropOptionName != null">
AND op.drop_option_name like concat(concat('%',#{dropOptionName,jdbcType=VARCHAR}),'%')
</if>
AND t.is_active = 1
</select>
<select id="practitionerScheduleExport" resultType="map">
SELECT
p.name '1',
date_format(t.track_time, '%Y-%m-%d') '2',
(CASE (t.task_type) WHEN 1 THEN '商机' WHEN 2 THEN '增员' ELSE '其他' END) '3',
op.drop_option_name '4',
t.task_time_from '5',
task_time_end '6',
REPLACE(t.notice,',',';') '7',
date_format(t.created_at, '%Y-%m-%d %H:%i:%s') '8'
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options op
WHERE t.practitioner_id = p.id AND op.id = t.md_drop_option_id
<if test="trackTime != null">
AND date_format(t.track_time, '%Y-%m-%d') &gt;= #{trackTime,jdbcType=VARCHAR} AND date_format(t.track_time, '%Y-%m-%d') &lt;= #{trackTime,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
<if test="taskType != null">
AND t.task_type = #{taskType,jdbcType=BIGINT}
</if>
<if test="dropOptionName != null">
AND op.drop_option_name like concat(concat('%',#{dropOptionName,jdbcType=VARCHAR}),'%')
</if>
AND t.is_active = 1
</select>
<select id="practitionerLeadsGoals" resultType="com.yd.api.agms.vo.practitioner.PractitionerLeadsGoalsInfo">
SELECT
p.name practitionerName,
(CASE (t.statistic_time_unit) WHEN 1 THEN '年度目标' WHEN 3 THEN '月度目标' ELSE '其他' END) type,
if(t.statistic_time_unit = 3, concat(year(t.created_at),'-',t.seq_time), t.seq_time) seqTime,
t.premium ,
t.commission ,
t.pieces ,
t.piece_average_premium pieceAveragePremium,
t.created_at createdAt
FROM ag_mkt_leads_goals t,ag_acl_practitioner p
WHERE t.practitioner_id = p.id
<choose>
<when test="type != null and date != null">
AND t.statistic_time_unit = #{type,jdbcType=BIGINT}
<if test="type == 1">
AND year(t.created_at) = year(str_to_date(#{date,jdbcType=VARCHAR}, '%Y-%m'))
</if>
<if test="type == 3">
AND year(t.created_at) = left(#{date,jdbcType=VARCHAR}, 4)+0
AND t.seq_time = right(#{date,jdbcType=VARCHAR}, 2)+0
</if>
</when>
<when test="type != null and date == null">
AND t.statistic_time_unit = #{type,jdbcType=BIGINT}
</when>
<otherwise>
<if test="date != null">
AND t.statistic_time_unit = 3
AND year(t.created_at) = left(#{date,jdbcType=VARCHAR}, 4)+0
AND t.seq_time = right(#{date,jdbcType=VARCHAR}, 2)+0
</if>
</otherwise>
</choose>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
AND t.is_active = 1
</select>
<select id="practitionerLeadsGoalsExport" resultType="map">
SELECT
p.name '1',
(CASE (t.statistic_time_unit) WHEN 1 THEN '年度目标' WHEN 3 THEN '月度目标' ELSE '其他' END) '2',
if(t.statistic_time_unit = 3, concat(year(t.created_at),'-',t.seq_time), t.seq_time) '3',
t.premium '4',
t.commission '5',
t.pieces '6',
t.piece_average_premium '7',
date_format(t.created_at, '%Y-%m-%d %H:%i:%s') '8'
FROM ag_mkt_leads_goals t,ag_acl_practitioner p
WHERE t.practitioner_id = p.id
<choose>
<when test="type != null and date != null">
AND t.statistic_time_unit = #{type,jdbcType=BIGINT}
<if test="type == 1">
AND year(t.created_at) = year(str_to_date(#{date,jdbcType=VARCHAR}, '%Y-%m'))
</if>
<if test="type == 3">
AND year(t.created_at) = left(#{date,jdbcType=VARCHAR}, 4)+0
AND t.seq_time = right(#{date,jdbcType=VARCHAR}, 2)+0
</if>
</when>
<when test="type != null and date == null">
AND t.statistic_time_unit = #{type,jdbcType=BIGINT}
</when>
<otherwise>
<if test="date != null">
AND t.statistic_time_unit = 3
AND year(t.created_at) = left(#{date,jdbcType=VARCHAR}, 4)+0
AND t.seq_time = right(#{date,jdbcType=VARCHAR}, 2)+0
</if>
</otherwise>
</choose>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
AND t.is_active = 1
</select>
<select id="practitionerActivity" resultType="com.yd.api.agms.vo.practitioner.PractitionerActivityInfo">
SELECT
p.name practitionerName,
(CASE
WHEN (o.drop_master_id = 14) THEN '增员'
WHEN (o.drop_master_id = 16) THEN '销售'
WHEN (o.id = 226) THEN '辅导'
WHEN (o.id = 227) THEN '培训'
WHEN (o.id = 229) THEN '会议'
ELSE '其他'
END) type,
SUM(track_score) score,
YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d')) timePeriod
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options o
WHERE t.practitioner_id = p.id AND o.id = t.md_drop_option_id
AND (o.drop_master_id IN(14,16) OR o.id IN(226,227,229))
<if test="startDate != null">
AND date_format(t.track_time, '%Y-%m-%d') &gt;= #{startDate,jdbcType=VARCHAR}
</if>
<if test="endDate != null">
AND date_format(t.track_time, '%Y-%m-%d') &lt;= #{endDate,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
AND t.is_active = 1
GROUP BY p.name, o.drop_master_id, YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d'))
</select>
<select id="practitionerActivityExport" resultType="map">
SELECT
p.name '1',
(CASE
WHEN (o.drop_master_id = 14) THEN '增员'
WHEN (o.drop_master_id = 16) THEN '销售'
WHEN (o.id = 226) THEN '辅导'
WHEN (o.id = 227) THEN '培训'
WHEN (o.id = 229) THEN '会议'
ELSE '其他'
END) '2',
SUM(track_score) '3',
YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d')) '4'
FROM ag_mkt_schedule_task_tracking t, ag_acl_practitioner p, ag_md_drop_options o
WHERE t.practitioner_id = p.id AND o.id = t.md_drop_option_id
AND (o.drop_master_id IN(14,16) OR o.id IN(226,227,229))
<if test="startDate != null">
AND t.track_time &gt;= DATE #{startDate,jdbcType=VARCHAR}
</if>
<if test="endDate != null">
AND t.track_time &lt;= DATE #{endDate,jdbcType=VARCHAR}
</if>
<if test="practitionerId != null">
AND t.practitioner_id = #{practitionerId,jdbcType=BIGINT}
</if>
AND t.is_active = 1
GROUP BY p.name, o.drop_master_id, YEARWEEK(DATE_FORMAT(t.track_time, '%Y-%m-%d'))
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -17,12 +17,13 @@ ...@@ -17,12 +17,13 @@
<result column="created_by" jdbcType="BIGINT" property="createdBy" /> <result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" /> <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" /> <result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
<result column="is_back" jdbcType="INTEGER" property="isBack" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, hiring_basic_info_id, approve_step_id, approve_step_name, approving_practitioner_id, id, hiring_basic_info_id, approve_step_id, approve_step_name, approving_practitioner_id,
approving_status, reject_note, is_active, created_at, created_by, updated_at, updated_by, approving_status, reject_note, is_active, created_at, created_by, updated_at, updated_by,
interview_assessment interview_assessment, is_back
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -233,6 +234,11 @@ ...@@ -233,6 +234,11 @@
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP} when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach> </foreach>
</trim> </trim>
<trim prefix="is_back = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isBack,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,"> <trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT} when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
<result column="education_level" jdbcType="VARCHAR" property="educationLevel" /> <result column="education_level" jdbcType="VARCHAR" property="educationLevel" />
<result column="graduated_university" jdbcType="VARCHAR" property="graduatedUniversity" /> <result column="graduated_university" jdbcType="VARCHAR" property="graduatedUniversity" />
<result column="mentor_id" jdbcType="BIGINT" property="mentorId" /> <result column="mentor_id" jdbcType="BIGINT" property="mentorId" />
<result column="in_mentor_id" jdbcType="BIGINT" property="inMentorId" />
<result column="introducer_id" jdbcType="BIGINT" property="introducerId" /> <result column="introducer_id" jdbcType="BIGINT" property="introducerId" />
<result column="gender" jdbcType="INTEGER" property="gender" /> <result column="gender" jdbcType="INTEGER" property="gender" />
<result column="contract_oss_path" jdbcType="VARCHAR" property="contractOssPath" /> <result column="contract_oss_path" jdbcType="VARCHAR" property="contractOssPath" />
...@@ -66,7 +67,7 @@ ...@@ -66,7 +67,7 @@
employee_no, contract_no, is_active, created_at, created_by, updated_at, updated_by, employee_no, contract_no, is_active, created_at, created_by, updated_at, updated_by,
province_id, province_name, city_id, city_name, cert_list, bio_intro, bio_intro_two, wechat_id, province_id, province_name, city_id, city_name, cert_list, bio_intro, bio_intro_two, wechat_id,
qq_id, is_profile_show, is_name_show, is_mobile_show, education_level, graduated_university, qq_id, is_profile_show, is_name_show, is_mobile_show, education_level, graduated_university,
mentor_id, introducer_id, gender, contract_oss_path, hiring_basic_info_id, can_login_dyd, mentor_id,in_mentor_id, introducer_id, gender, contract_oss_path, hiring_basic_info_id, can_login_dyd,
can_see_salary_list,raise_id,s1_id,s2_id,s3_id,email,email_is_active can_see_salary_list,raise_id,s1_id,s2_id,s3_id,email,email_is_active
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
...@@ -95,7 +96,7 @@ ...@@ -95,7 +96,7 @@
city_id, city_name, cert_list, city_id, city_name, cert_list,
bio_intro,bio_intro_two, wechat_id, qq_id, bio_intro,bio_intro_two, wechat_id, qq_id,
is_profile_show, is_name_show, is_mobile_show, is_profile_show, is_name_show, is_mobile_show,
education_level, graduated_university, mentor_id, education_level, graduated_university, mentor_id, in_mentor_id,
introducer_id, gender, contract_oss_path, introducer_id, gender, contract_oss_path,
hiring_basic_info_id, can_login_dyd, can_see_salary_list, hiring_basic_info_id, can_login_dyd, can_see_salary_list,
detail_address,account_bank,bank_card_no,email,s1_id,s2_id,s3_id detail_address,account_bank,bank_card_no,email,s1_id,s2_id,s3_id
...@@ -112,7 +113,7 @@ ...@@ -112,7 +113,7 @@
#{cityId,jdbcType=BIGINT}, #{cityName,jdbcType=VARCHAR}, #{certList,jdbcType=VARCHAR}, #{cityId,jdbcType=BIGINT}, #{cityName,jdbcType=VARCHAR}, #{certList,jdbcType=VARCHAR},
#{bioIntro,jdbcType=LONGVARCHAR},#{bioIntroTwo,jdbcType=LONGVARCHAR}, #{wechatId,jdbcType=VARCHAR}, #{qqId,jdbcType=VARCHAR}, #{bioIntro,jdbcType=LONGVARCHAR},#{bioIntroTwo,jdbcType=LONGVARCHAR}, #{wechatId,jdbcType=VARCHAR}, #{qqId,jdbcType=VARCHAR},
#{isProfileShow,jdbcType=INTEGER}, #{isNameShow,jdbcType=INTEGER}, #{isMobileShow,jdbcType=INTEGER}, #{isProfileShow,jdbcType=INTEGER}, #{isNameShow,jdbcType=INTEGER}, #{isMobileShow,jdbcType=INTEGER},
#{educationLevel,jdbcType=VARCHAR}, #{graduatedUniversity,jdbcType=VARCHAR}, #{mentorId,jdbcType=BIGINT}, #{educationLevel,jdbcType=VARCHAR}, #{graduatedUniversity,jdbcType=VARCHAR}, #{mentorId,jdbcType=BIGINT}, #{inMentorId,jdbcType=BIGINT},
#{introducerId,jdbcType=BIGINT}, #{gender,jdbcType=INTEGER}, #{contractOssPath,jdbcType=VARCHAR}, #{introducerId,jdbcType=BIGINT}, #{gender,jdbcType=INTEGER}, #{contractOssPath,jdbcType=VARCHAR},
#{hiringBasicInfoId,jdbcType=BIGINT}, #{canLoginDyd,jdbcType=BIGINT}, #{canSeeSalaryList,jdbcType=BIGINT}, #{hiringBasicInfoId,jdbcType=BIGINT}, #{canLoginDyd,jdbcType=BIGINT}, #{canSeeSalaryList,jdbcType=BIGINT},
#{detailAddress},#{accountBank,jdbcType=VARCHAR}, #{bankCardNo,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{detailAddress},#{accountBank,jdbcType=VARCHAR}, #{bankCardNo,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR},
...@@ -240,6 +241,9 @@ ...@@ -240,6 +241,9 @@
<if test="mentorId != null"> <if test="mentorId != null">
mentor_id, mentor_id,
</if> </if>
<if test="inMentorId != null">
in_mentor_id,
</if>
<if test="introducerId != null"> <if test="introducerId != null">
introducer_id, introducer_id,
</if> </if>
...@@ -380,6 +384,9 @@ ...@@ -380,6 +384,9 @@
<if test="mentorId != null"> <if test="mentorId != null">
#{mentorId,jdbcType=BIGINT}, #{mentorId,jdbcType=BIGINT},
</if> </if>
<if test="inMentorId != null">
#{inMentorId,jdbcType=BIGINT},
</if>
<if test="introducerId != null"> <if test="introducerId != null">
#{introducerId,jdbcType=BIGINT}, #{introducerId,jdbcType=BIGINT},
</if> </if>
...@@ -524,6 +531,9 @@ ...@@ -524,6 +531,9 @@
<if test="mentorId != null"> <if test="mentorId != null">
mentor_id = #{mentorId,jdbcType=BIGINT}, mentor_id = #{mentorId,jdbcType=BIGINT},
</if> </if>
<if test="inMentorId != null">
in_mentor_id = #{inMentorId,jdbcType=BIGINT},
</if>
<if test="introducerId != null"> <if test="introducerId != null">
introducer_id = #{introducerId,jdbcType=BIGINT}, introducer_id = #{introducerId,jdbcType=BIGINT},
</if> </if>
...@@ -587,6 +597,7 @@ ...@@ -587,6 +597,7 @@
education_level = #{educationLevel,jdbcType=VARCHAR}, education_level = #{educationLevel,jdbcType=VARCHAR},
graduated_university = #{graduatedUniversity,jdbcType=VARCHAR}, graduated_university = #{graduatedUniversity,jdbcType=VARCHAR},
mentor_id = #{mentorId,jdbcType=BIGINT}, mentor_id = #{mentorId,jdbcType=BIGINT},
in_mentor_id = #{inMentorId,jdbcType=BIGINT},
introducer_id = #{introducerId,jdbcType=BIGINT}, introducer_id = #{introducerId,jdbcType=BIGINT},
gender = #{gender,jdbcType=INTEGER}, gender = #{gender,jdbcType=INTEGER},
contract_oss_path = #{contractOssPath,jdbcType=VARCHAR}, contract_oss_path = #{contractOssPath,jdbcType=VARCHAR},
...@@ -1152,7 +1163,7 @@ ...@@ -1152,7 +1163,7 @@
employee_no, contract_no, is_active, created_at, created_by, updated_at, updated_by, employee_no, contract_no, is_active, created_at, created_by, updated_at, updated_by,
province_id, province_name, city_id, city_name, cert_list, bio_intro,bio_intro_two, wechat_id, province_id, province_name, city_id, city_name, cert_list, bio_intro,bio_intro_two, wechat_id,
qq_id, is_profile_show, is_name_show, is_mobile_show, education_level, graduated_university, qq_id, is_profile_show, is_name_show, is_mobile_show, education_level, graduated_university,
mentor_id, introducer_id, gender, contract_oss_path, hiring_basic_info_id, can_login_dyd, mentor_id,in_mentor_id, introducer_id, gender, contract_oss_path, hiring_basic_info_id, can_login_dyd,
can_see_salary_list) can_see_salary_list)
values values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
...@@ -1169,7 +1180,7 @@ ...@@ -1169,7 +1180,7 @@
#{item.cityName,jdbcType=VARCHAR}, #{item.certList,jdbcType=VARCHAR}, #{item.bioIntro,jdbcType=LONGVARCHAR},#{item.bioIntroTwo,jdbcType=LONGVARCHAR}, #{item.cityName,jdbcType=VARCHAR}, #{item.certList,jdbcType=VARCHAR}, #{item.bioIntro,jdbcType=LONGVARCHAR},#{item.bioIntroTwo,jdbcType=LONGVARCHAR},
#{item.wechatId,jdbcType=VARCHAR}, #{item.qqId,jdbcType=VARCHAR}, #{item.isProfileShow,jdbcType=INTEGER}, #{item.wechatId,jdbcType=VARCHAR}, #{item.qqId,jdbcType=VARCHAR}, #{item.isProfileShow,jdbcType=INTEGER},
#{item.isNameShow,jdbcType=INTEGER}, #{item.isMobileShow,jdbcType=INTEGER}, #{item.educationLevel,jdbcType=VARCHAR}, #{item.isNameShow,jdbcType=INTEGER}, #{item.isMobileShow,jdbcType=INTEGER}, #{item.educationLevel,jdbcType=VARCHAR},
#{item.graduatedUniversity,jdbcType=VARCHAR}, #{item.mentorId,jdbcType=BIGINT}, #{item.graduatedUniversity,jdbcType=VARCHAR}, #{item.mentorId,jdbcType=BIGINT},#{item.inMentorId,jdbcType=BIGINT},
#{item.introducerId,jdbcType=BIGINT}, #{item.gender,jdbcType=INTEGER}, #{item.contractOssPath,jdbcType=VARCHAR}, #{item.introducerId,jdbcType=BIGINT}, #{item.gender,jdbcType=INTEGER}, #{item.contractOssPath,jdbcType=VARCHAR},
#{item.hiringBasicInfoId,jdbcType=BIGINT}, #{item.canLoginDyd,jdbcType=BIGINT}, #{item.hiringBasicInfoId,jdbcType=BIGINT}, #{item.canLoginDyd,jdbcType=BIGINT},
#{item.canSeeSalaryList,jdbcType=BIGINT}) #{item.canSeeSalaryList,jdbcType=BIGINT})
...@@ -1957,6 +1968,37 @@ ...@@ -1957,6 +1968,37 @@
and p.is_active = 1 and p.is_active = 1
</select> </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 id="queryEGHistorySalaryPDFByPractitionerId" resultType="com.yd.api.practitioner.vo.payscale.PayScaleInfo">
select p.id, select p.id,
......
...@@ -216,7 +216,18 @@ ...@@ -216,7 +216,18 @@
from from
ag_acl_practitioner_hiring_approve_records t ag_acl_practitioner_hiring_approve_records t
where t.approving_practitioner_id = #{practitionerId,jdbcType=BIGINT} 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 != 0 and b.approve_status &lt; t.approve_step_id-1) or b.approve_status is null)
and t.id &lt;= (select max(a.id) from ag_acl_practitioner_hiring_approve_records a where a.hiring_basic_info_id = t.hiring_basic_info_id and a.approving_status=0)
<!-- and (t.approving_status = 0 or b.approve_status < t.approve_step_id or b.approve_status is null) -->
</when>
</choose>
</if>
) )
</select> </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