Commit 109f3da8 by Simon Cheng

'电子印章功能'

parents 59ae5c0b 7bff697e
......@@ -67,24 +67,6 @@ public class PractitionerHiringApproveRequestVO {
}
/**
* 获取 审批步骤经行到哪一步了
*
* @return hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public Integer getHiringApproveStepsSeq() {
return this.hiringApproveStepsSeq;
}
/**
* 设置 审批步骤经行到哪一步了
*
* @param hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public void setHiringApproveStepsSeq(Integer hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
/**
* 获取 1:通过,0:驳回
*
* @return approvingStatus 1:通过,0:驳回
......@@ -125,7 +107,6 @@ public class PractitionerHiringApproveRequestVO {
return "PractitionerHiringApproveRequestVO{" +
"loginId='" + loginId + '\'' +
", hiringBasicInfoId=" + hiringBasicInfoId +
", hiringApproveStepsSeq=" + hiringApproveStepsSeq +
", approvingStatus=" + approvingStatus +
", rejectNote='" + rejectNote + '\'' +
'}';
......@@ -138,4 +119,12 @@ public class PractitionerHiringApproveRequestVO {
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
public Integer getHiringApproveStepsSeq() {
return hiringApproveStepsSeq;
}
public void setHiringApproveStepsSeq(Integer hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
}
......@@ -9,6 +9,7 @@ import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.practitioner.hiring.*;
import com.yd.dal.mapper.customer.*;
import com.yd.dal.service.customer.AclPractitionerHiringApproveRecordsDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.rmi.cache.SystemConfigService;
......
......@@ -53,42 +53,6 @@ public class HiringApproveRequestVO {
}
/**
* 获取 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*
* @return approvalIdentity 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
public Long getApprovalIdentity() {
return this.approvalIdentity;
}
/**
* 设置 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*
* @param approvalIdentity 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
public void setApprovalIdentity(Long approvalIdentity) {
this.approvalIdentity = approvalIdentity;
}
/**
* 获取 审批步骤经行到哪一步了
*
* @return hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public Long getHiringApproveStepsSeq() {
return this.hiringApproveStepsSeq;
}
/**
* 设置 审批步骤经行到哪一步了
*
* @param hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public void setHiringApproveStepsSeq(Long hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
/**
* 获取 审批经纪人基本资料id
*
* @return hiringBasicInfoId 审批经纪人基本资料id
......@@ -146,8 +110,6 @@ public class HiringApproveRequestVO {
public String toString() {
return "HiringApproveRequestVO{" +
"practitionerId=" + practitionerId +
", approvalIdentity=" + approvalIdentity +
", hiringApproveStepsSeq=" + hiringApproveStepsSeq +
", hiringBasicInfoId=" + hiringBasicInfoId +
", approvingStatus=" + approvingStatus +
", rejectNote='" + rejectNote + '\'' +
......@@ -161,4 +123,20 @@ public class HiringApproveRequestVO {
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
public Long getApprovalIdentity() {
return approvalIdentity;
}
public void setApprovalIdentity(Long approvalIdentity) {
this.approvalIdentity = approvalIdentity;
}
public Long getHiringApproveStepsSeq() {
return hiringApproveStepsSeq;
}
public void setHiringApproveStepsSeq(Long hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
}
......@@ -34,6 +34,11 @@ public class PractitionerHiringApproveRecords {
private String approvingStatus;
/**
* 面试评价
*/
private String interviewAssessment;
/**
* 备注,驳回原因
*/
private String rejectNote;
......@@ -200,4 +205,12 @@ public class PractitionerHiringApproveRecords {
", hiringAt='" + hiringAt + '\'' +
'}';
}
public String getInterviewAssessment() {
return interviewAssessment;
}
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
}
......@@ -45,6 +45,11 @@ public class HiringApproveRecords {
private String rejectNote;
/**
* 面试评价
*/
private String interviewAssessment;
/**
* 审批时间
*/
private String hiringAt;
......@@ -222,4 +227,12 @@ public class HiringApproveRecords {
public void setLevelName(String levelName) {
this.levelName = levelName;
}
public String getInterviewAssessment() {
return interviewAssessment;
}
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
}
......@@ -36,11 +36,6 @@ public class HiringListInfo {
private String applicationTime;
/**
* 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
private Long approvalIdentity;
/**
* 获取 经纪人基本信息id
*
* @return hiringBasicInfoId 经纪人基本信息id
......@@ -148,25 +143,6 @@ public class HiringListInfo {
this.applicationTime = applicationTime;
}
/**
* 获取 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*
* @return approvalIdentity 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
public Long getApprovalIdentity() {
return this.approvalIdentity;
}
/**
* 设置 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*
* @param approvalIdentity 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
public void setApprovalIdentity(Long approvalIdentity) {
this.approvalIdentity = approvalIdentity;
}
@Override
public String toString() {
return "HiringListInfo{" +
......@@ -176,7 +152,16 @@ public class HiringListInfo {
", practitionerLevel='" + practitionerLevel + '\'' +
", mentor='" + mentor + '\'' +
", applicationTime='" + applicationTime + '\'' +
", approvalIdentity=" + approvalIdentity +
'}';
}
public boolean equals(Object obj) {
HiringListInfo u = (HiringListInfo) obj;
return this.hiringBasicInfoId.equals(u.getHiringBasicInfoId());
}
public int hashCode() {
Long in = this.hiringBasicInfoId;
return in.hashCode();
}
}
......@@ -70,7 +70,7 @@ public interface AgmsHiringMapper {
@Param("name")Long name
);
Page<PractitionerHiringListInfo> queryUnhandledList(@Param("approveStatus")Integer approveStatus,
Page<PractitionerHiringListInfo> queryUnhandledList(@Param("approveStatus")String approveStatus,
@Param("list")List<String> canAprroveGrades,
@Param("branchId")Long branchId,
@Param("deptId")Long deptId,
......
......@@ -122,8 +122,9 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
List<String> canAprroveGrades = new ArrayList<>();
canAprroveGrades.addAll(Arrays.asList(canAprroveGrade.split(",")));
String approveStatus = CommonUtil.getApproveStatusByStepSeq(stepSeq);
List<PractitionerHiringListInfo> resultList =
agmsHiringMapper.queryUnhandledList(stepSeq - 1, canAprroveGrades,
agmsHiringMapper.queryUnhandledList(approveStatus, canAprroveGrades,
requestVO.getBranchId(),
requestVO.getDeptId(),
requestVO.getSubsystemId(),
......
......@@ -87,4 +87,11 @@ public interface PractitionerHiringDALService {
* @return
*/
List<HiringListInfo> queryUnhandledList(Long practitionerId);
/**
* 查询审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
* @param practitionerId
* @return
*/
int queryApprovalIdentity(Long practitionerId);
}
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.CustomerFileUpload;
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.AclPractitionerHiringMembershipMapper;
import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.mapper.practitioner.PractitionerHiringMapper;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.util.CommonUtil;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author xxy
......@@ -29,6 +39,12 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
private AclFileUploadDALService aclFileUploadDALService;
@Autowired
private AclPractitionerHiringMembershipMapper membershipMapper;
@Autowired
private MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService;
@Autowired
private AclPractitionerMapper aclPractitionerMapper;
@Autowired
private AgmsHiringMapper agmsHiringMapper;
@Override
public List<HiringListInfo> findHiringList(Long practitionerId, Long approvingStatus) {
......@@ -91,8 +107,49 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
return practitionerHiringMapper.queryHandledList(practitionerId, approvingStatus);
}
/**
* 需求需要AGMS用户也能在ydLife中审批,
* 所以在响应报文一致的情况下,需要合并两个查询接口的结果集
*/
@Override
public List<HiringListInfo> queryUnhandledList(Long practitionerId) {
List<HiringListInfo> resultList = new ArrayList<>();
AclPractitioner practitioner = aclPractitionerMapper.selectByPrimaryKey(practitionerId);
// AGMS接口查询逻辑的数据
List<HiringListInfo> agmsDataList = this.queryAGMSHiringinfoList(practitioner.getMobileNo());
System.out.println("------------------------------AGMS接口查询逻辑的数据--------------------------");
System.out.println(agmsDataList);
List<HiringListInfo> ydLifeDataList = this.queryYdLifeHiringinfoList(practitionerId);
System.out.println("-----------------------------ydLife接口查询逻辑的数据-------------------------");
System.out.println(ydLifeDataList);
resultList.addAll(agmsDataList);
resultList.addAll(ydLifeDataList);
System.out.println("-----------------------------去重前的数据-----------------------------");
System.out.println(resultList);
resultList = this.unrepeatedObjList(resultList);
System.out.println("-----------------------------去重后的数据-----------------------------");
System.out.println(resultList);
return resultList;
}
private List<HiringListInfo> unrepeatedObjList(List<HiringListInfo> list) {
List<HiringListInfo> uniqueList = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(
// 利用 TreeSet 的排序去重构造函数来达到去重元素的目的
// 根据firstName去重
() -> new TreeSet<>(Comparator.comparingLong(HiringListInfo::getHiringBasicInfoId))), ArrayList::new));
return uniqueList;
}
private List<HiringListInfo> queryYdLifeHiringinfoList(Long practitionerId) {
// 查询审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
int approvalIdentity = this.queryApprovalIdentity(practitionerId);
......@@ -110,7 +167,51 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
return resultList;
}
private int queryApprovalIdentity(Long practitionerId) {
private List<HiringListInfo> queryAGMSHiringinfoList(String practitionerMobileNo) {
// 结果集
List<PractitionerHiringListInfo> dataList = new ArrayList<>();
List<MdPractitionerHiringApproveSteps> ownSteps = mdPractitionerHiringApproveStepsDalService.findByAppointedApprovePractitioners(practitionerMobileNo);
// 根据当前用户拥有的审批步骤查询每一步能够审批的数据
String stepName;
Integer stepSeq;
String canAprroveGrade;
for (MdPractitionerHiringApproveSteps step : ownSteps) {
stepName = step.getStepName();
stepSeq = step.getStepSeq();
canAprroveGrade = step.getCanAprroveGrade();
List<String> canAprroveGrades = new ArrayList<>();
canAprroveGrades.addAll(Arrays.asList(canAprroveGrade.split(",")));
String approveStatus = CommonUtil.getApproveStatusByStepSeq(stepSeq);
List<PractitionerHiringListInfo> resultList =
agmsHiringMapper.queryUnhandledList(approveStatus, canAprroveGrades,
null,
null,
null,
null
);
if (CollectionUtils.isNotEmpty(resultList)) {
dataList.addAll(resultList);
}
if ("公司老板".equals(stepName)) {
List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List();
dataList.addAll(s2List);
}
}
List<HiringListInfo> list = new ArrayList<>();
for (PractitionerHiringListInfo item : dataList) {
HiringListInfo hiringInfo = new HiringListInfo();
BeanUtils.copyProperties(item, hiringInfo);
list.add(hiringInfo);
}
return list;
}
@Override
public int queryApprovalIdentity(Long practitionerId) {
// 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
int isMentor = membershipMapper.isMentor(practitionerId);
int isSystemOwner = membershipMapper.isSystemOwner(practitionerId);
......
......@@ -1502,21 +1502,7 @@ public class CommonUtil {
}
return sumDay;
}
public static String getApproveStatusByStepSeq(Integer stepSeq){
switch (stepSeq) {
case 1 :
return "-2";
case 2 :
return "1";
case 3 :
return "2";
case 4 :
return "3";
case 5 :
return "4";
}
return null;
}
public static String readFileTxt(String filePath) {
String line = null;
try
......@@ -1537,4 +1523,21 @@ public class CommonUtil {
return line;
}
public static String getApproveStatusByStepSeq(Integer stepSeq){
switch (stepSeq) {
case 1 :
return "-2";
case 2 :
return "1";
case 3 :
return "2";
case 4 :
return "3";
case 5 :
return "4";
}
return null;
}
}
......@@ -108,6 +108,7 @@
r.approve_step_name approveStepName,
r.approving_status approvingStatusId,
if(r.approving_status is null, null, if(r.approving_status = 1, '通过', '驳回')) approvingStatus,
interview_assessment interviewAssessment,
r.reject_note rejectNote,
date_format(r.created_at, '%Y-%m-%d %H:%i:%s') hiringAt
from ag_acl_practitioner_hiring_approve_records r
......
......@@ -9,7 +9,6 @@
<result column="practitionerLevel" jdbcType="VARCHAR" property="practitionerLevel"/>
<result column="mentor" jdbcType="VARCHAR" property="mentor"/>
<result column="applicationTime" jdbcType="VARCHAR" property="applicationTime"/>
<result column="approvalIdentity" jdbcType="BIGINT" property="approvalIdentity"/>
</resultMap>
<select id="findHiringList" resultMap="HiringListInfo">
select b.id hiringBasicInfoId,
......@@ -169,6 +168,7 @@
r.approve_step_name approveStepName,
r.approving_status approvingStatusId,
if(r.approving_status is null, null, if(r.approving_status = 1, '通过', '驳回')) approvingStatus,
interview_assessment interviewAssessment,
r.reject_note rejectNote,
date_format(r.created_at, '%Y-%m-%d %H:%i:%s') hiringAt
from ag_acl_practitioner_hiring_approve_records r
......@@ -211,15 +211,6 @@
where t.approving_practitioner_id = #{practitionerId,jdbcType=BIGINT}
and t.approving_status = #{approvingStatus,jdbcType=BIGINT}
)
and (m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT} or
m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT})
and m.md_drop_option_id != (select id
from ag_md_drop_options
where drop_option_code = 'S2'
and drop_master_id = (select id
from ag_md_drop_master
where scenario_code = 'practitioner_level'))
</select>
<select id="queryMentorUnhandledList" resultMap="HiringListInfo">
......
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