Commit b3f8f710 by jianan

详情接口加返回参数,下一步审批步骤:Integer hiringApproveStepsSeq

parent 42c7adaa
......@@ -9,6 +9,7 @@ import com.yd.dal.entity.customer.*;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.user.AclUser;
import com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper;
import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.service.agms.AgmsHiringDALService;
import com.yd.dal.service.customer.*;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
......@@ -20,6 +21,7 @@ import com.yd.util.config.ZHBErrorConfig;
import com.yd.util.page.PageInfoUtils;
import org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -49,6 +51,8 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
private AclPractitionerHiringBasicInfoMapper basicInfoMapper;
@Autowired
private PractitionerHiringDALService practitionerHiringDalService;
@Autowired
private AclPractitionerMapper aclPractitionerMapper;
@Autowired
public void setAgmsHiringDalService(AgmsHiringDALService agmsHiringDalService){
......@@ -147,28 +151,50 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
@Override
public PractitionerHiringApproveResponseVO practitionerHiringApprove(PractitionerHiringApproveRequestVO requestVO) {
PractitionerHiringApproveResponseVO responseVO = new PractitionerHiringApproveResponseVO();
Long loginId = requestVO.getLoginId();
Integer hiringApproveStepsSeq = requestVO.getHiringApproveStepsSeq();
Long hiringBasicInfoId = requestVO.getHiringBasicInfoId();
AclPractitionerHiringBasicInfo basicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
if (basicInfo != null && StringUtils.isNotEmpty(basicInfo.getApproveStatus())) {
List<AclPractitionerHiringApproveRecords> recordsList = aclPractitionerHiringApproveRecordsDalService.queryListByBasicInfoId(hiringBasicInfoId);
for (AclPractitionerHiringApproveRecords record : recordsList) {
if (record.getStepSeq().equals(hiringApproveStepsSeq)) {
responseVO.setCommonResult(new CommonResult(true, "当前流程已审批,请勿重复提交"));
return responseVO;
}
}
}
Integer plateform = requestVO.getPlateform();
Long practitionerId = requestVO.getPractitionerId();
String mobileNo;
if (Integer.valueOf("1").equals(plateform)) {
AclPractitioner practitioner = aclPractitionerMapper.selectByPrimaryKey(practitionerId);
mobileNo = practitioner.getMobileNo();
}
Long loginId = requestVO.getLoginId();
//通过loginId查询此登入者的经纪人id
Long loginPractitionerId = agmsHiringDalService.findPractitionerIdByLoginId(loginId);
practitionerId = agmsHiringDalService.findPractitionerIdByLoginId(loginId);
AclUser user = aclUserDalService.selectByPrimaryKey(loginId);
mobileNo = user.getMobileNo();
//查询审批流程
List<MdPractitionerHiringApproveSteps> hiringApproveStepsList = systemConfigService.findHiringApproveStepsAll();
//保存审批结果
saveRecords(loginPractitionerId,user.getMobileNo(), hiringApproveStepsList, requestVO, responseVO);
saveRecords(practitionerId, mobileNo, hiringApproveStepsList, requestVO, responseVO);
if (responseVO.getCommonResult().isSuccess()){
return responseVO;
}
//保存完毕,判断是否为最后一步
AclPractitionerHiringBasicInfo basicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
if ("5".equals(basicInfo.getApproveStatus())) {
AclPractitionerHiringBasicInfo basicInfo2 = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
if ("5".equals(basicInfo2.getApproveStatus())) {
Long approvingStatus = requestVO.getApprovingStatus();
String basicInfoStatus = null;
if (approvingStatus == 1) {
//最后一步 并同意 更新经纪人系类表
updatePractitionerInfo(hiringBasicInfoId,loginId);
Long operater = CommonUtil.isNullOrZero(loginId) ? loginId : practitionerId;
updatePractitionerInfo(hiringBasicInfoId, operater);
basicInfoStatus = "0";
} else {
basicInfoStatus = "-1";
......@@ -232,7 +258,11 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
return;
} else {
// 获取下一步的序号
hiringApproveStepsSeq = this.getNextStepSeq(basicInfo.getApproveStatus());
hiringApproveStepsSeq = practitionerHiringDalService.getNextStepSeqByApproveStatus(basicInfo.getApproveStatus());
if (hiringApproveStepsSeq == null) {
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return;
}
}
BeanPropertyValueEqualsPredicate predicate = new BeanPropertyValueEqualsPredicate("stepSeq", hiringApproveStepsSeq);
......@@ -299,22 +329,6 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
}
private Integer getNextStepSeq(String approveStatus) {
switch (approveStatus) {
case "-2" :
return Integer.valueOf("1");
case "1" :
return Integer.valueOf("2");
case "2" :
return Integer.valueOf("3");
case "3" :
return Integer.valueOf("4");
case "4" :
return Integer.valueOf("5");
}
return null;
}
private boolean isHasNextStep(Long loginPractitionerId, String mobileNo, MdPractitionerHiringApproveSteps nextStep) {
// 先判断是否是AGMS中审批的人员
String appointedApprovePractitioners = nextStep.getAppointedApprovePractitioners();
......@@ -330,11 +344,11 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
return false;
}
private void updatePractitionerInfo(Long hiringBasicInfoId,Long loginId) {
private void updatePractitionerInfo(Long hiringBasicInfoId,Long operater) {
//更新经纪人系类表
//ag_acl_practitioner
//ag_acl_practitioner_setting
//ag_acl_practitioner_subordinate_system(如果是团队长)
//ag_acl_practitioner_subordinate_system(如果是团队长)operator
AclPractitionerHiringBasicInfo basicInfo = aclPractitionerHiringBasicInfoDalService.findById(hiringBasicInfoId);
AclPractitionerHiringMembership membership = aclPractitionerHiringMembershipDalService.findByBasicInfoId(hiringBasicInfoId);
AclPractitionerSubordinateSystem subordinateSystem = aclPractitionerSubordinateSystemDalService.findById(membership.getSubsystemId());
......@@ -356,9 +370,9 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
practitioner.setCustomerId(customer.getId());
practitioner.setIsActive(1);
practitioner.setCreatedAt(new Date());
practitioner.setCreatedBy(loginId);
practitioner.setCreatedBy(operater);
practitioner.setUpdatedAt(new Date());
practitioner.setUpdatedBy(loginId);
practitioner.setUpdatedBy(operater);
practitioner.setProvinceId(basicInfo.getProvinceId());
practitioner.setProvinceName(basicInfo.getProvinceName());
practitioner.setCityId(basicInfo.getCityId());
......@@ -379,9 +393,9 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
setting.setPractitionerLevel(membership.getMdDropOptionId());
setting.setIsActive(1);
setting.setCreatedAt(new Date());
setting.setCreatedBy(loginId);
setting.setCreatedBy(operater);
setting.setUpdatedAt(new Date());
setting.setUpdatedBy(loginId);
setting.setUpdatedBy(operater);
aclPractitionerSettingDalService.save(setting);
}
......
......@@ -5,10 +5,18 @@ package com.yd.api.agms.vo.hiring;
*/
public class PractitionerHiringApproveRequestVO {
/**
* 当前审批平台 1=ydLife, 2=AGMS
*/
private Integer plateform;
/**
* AGMS登入者id
*/
private Long loginId;
/**
* 经纪人id
*/
private Long practitionerId;
/**
* 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
......@@ -102,16 +110,6 @@ public class PractitionerHiringApproveRequestVO {
this.rejectNote = rejectNote;
}
@Override
public String toString() {
return "PractitionerHiringApproveRequestVO{" +
"loginId='" + loginId + '\'' +
", hiringBasicInfoId=" + hiringBasicInfoId +
", approvingStatus=" + approvingStatus +
", rejectNote='" + rejectNote + '\'' +
'}';
}
public String getInterviewAssessment() {
return interviewAssessment;
}
......@@ -127,4 +125,20 @@ public class PractitionerHiringApproveRequestVO {
public void setHiringApproveStepsSeq(Integer hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
public Integer getPlateform() {
return plateform;
}
public void setPlateform(Integer plateform) {
this.plateform = plateform;
}
public Long getPractitionerId() {
return practitionerId;
}
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
}
......@@ -52,4 +52,5 @@ public interface PractitionerHiringService {
CommonResultResponseVO saveDigitalSignatures(SaveDigitalSignaturesRequestVO requestVO);
SavePayrollPictureResponseVO savePayrollPicture(SavePayRollPictureRequestVO requestVO);
}
......@@ -413,12 +413,10 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
@Override
public HiringDetailQueryResponseVO detailQuery(HiringDetailQueryRequestVO requestVO) {
HiringDetailQueryResponseVO responseVO = new HiringDetailQueryResponseVO();
//查看详情的经纪人id
Long practitionerId = requestVO.getPractitionerId();
//报聘的经纪人基本资料id
Long hiringBasicInfoId = requestVO.getHiringBasicInfoId();
//审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
Long approvalIdentity = requestVO.getApprovalIdentity();
//经纪人审批基本信息
HiringBasicInfo hiringBasicInfo = practitionerHiringDalService.findHiringBasicInfo(hiringBasicInfoId);
//审批经纪人关系
......@@ -432,6 +430,9 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
//已审批结果
List<HiringApproveRecords> hiringApproveRecordsList = practitionerHiringDalService.findHiringApproveRecordsList(hiringBasicInfoId);
// 审批到哪一步
Integer nextStepSeq = practitionerHiringDalService.getNextStepSeqByApproveStatus(hiringBasicInfo.getApproveStatus());
responseVO.setHiringApproveStepsSeq(nextStepSeq);
responseVO.setHiringBasicInfoId(hiringBasicInfoId);
responseVO.setHiringBasicInfo(hiringBasicInfo);
responseVO.setHiringMemberShip(hiringMemberShip);
......
......@@ -5,35 +5,9 @@ package com.yd.api.practitioner.vo.hiring;
*/
public class HiringDetailQueryRequestVO {
/**
* 经纪人id
*/
private Long practitionerId;
/**
* 经纪人基本信息id
*/
private Long hiringBasicInfoId;
/**
* 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
private Long approvalIdentity;
/**
* 获取 经纪人id
*
* @return practitionerId 经纪人id
*/
public Long getPractitionerId() {
return this.practitionerId;
}
/**
* 设置 经纪人id
*
* @param practitionerId 经纪人id
*/
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
/**
* 获取 经纪人基本信息id
......@@ -53,30 +27,10 @@ public class HiringDetailQueryRequestVO {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 审批身份 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 "HiringDetailQueryRequestVO{" +
"practitionerId=" + practitionerId +
", hiringBasicInfoId=" + hiringBasicInfoId +
", approvalIdentity=" + approvalIdentity +
'}';
}
}
......@@ -14,9 +14,9 @@ public class HiringDetailQueryResponseVO {
*/
private Long hiringBasicInfoId;
/**
* 经纪人审批步骤/状态
* 审批步骤经行到哪一步了
*/
private HiringApproveSteps hiringApproveSteps;
private Integer hiringApproveStepsSeq;
/**
* 经纪人审批基本信息
*/
......@@ -64,24 +64,6 @@ public class HiringDetailQueryResponseVO {
}
/**
* 获取 经纪人审批步骤状态
*
* @return hiringApproveSteps 经纪人审批步骤状态
*/
public HiringApproveSteps getHiringApproveSteps() {
return this.hiringApproveSteps;
}
/**
* 设置 经纪人审批步骤状态
*
* @param hiringApproveSteps 经纪人审批步骤状态
*/
public void setHiringApproveSteps(HiringApproveSteps hiringApproveSteps) {
this.hiringApproveSteps = hiringApproveSteps;
}
/**
* 获取 经纪人审批基本信息
*
* @return hiringBasicInfo 经纪人审批基本信息
......@@ -207,11 +189,19 @@ public class HiringDetailQueryResponseVO {
this.commonResult = commonResult;
}
public Integer getHiringApproveStepsSeq() {
return hiringApproveStepsSeq;
}
public void setHiringApproveStepsSeq(Integer hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
@Override
public String toString() {
return "HiringDetailQueryResponseVO{" +
"hiringBasicInfoId=" + hiringBasicInfoId +
", hiringApproveSteps=" + hiringApproveSteps +
", hiringApproveStepsSeq=" + hiringApproveStepsSeq +
", hiringBasicInfo=" + hiringBasicInfo +
", hiringMemberShip=" + hiringMemberShip +
", hiringWorkingExperienceList=" + hiringWorkingExperienceList +
......@@ -221,5 +211,4 @@ public class HiringDetailQueryResponseVO {
", commonResult=" + commonResult +
'}';
}
}
......@@ -6,6 +6,11 @@ package com.yd.dal.entity.agms.hiring;
public class PractitionerHiringBasicInfo {
/**
* 审批状态,包括待审批null及审批步骤seq,通过0,拒绝-1
*/
private String approveStatus;
/**
* 邀请人名字
*/
private String inviteePractitionerName;
......@@ -501,10 +506,19 @@ public class PractitionerHiringBasicInfo {
this.payrollOssPath = payrollOssPath;
}
public String getApproveStatus() {
return approveStatus;
}
public void setApproveStatus(String approveStatus) {
this.approveStatus = approveStatus;
}
@Override
public String toString() {
return "PractitionerHiringBasicInfo{" +
"inviteePractitionerName='" + inviteePractitionerName + '\'' +
"approveStatus='" + approveStatus + '\'' +
", inviteePractitionerName='" + inviteePractitionerName + '\'' +
", name='" + name + '\'' +
", mobileNo='" + mobileNo + '\'' +
", idType='" + idType + '\'' +
......
......@@ -4,6 +4,10 @@ package com.yd.dal.entity.practitioner.hiring;
* @author xxy
*/
public class HiringBasicInfo {
/**
* 审批状态,包括待审批null及审批步骤seq,通过0,拒绝-1
*/
private String approveStatus;
/**
* 邀请人名字
......@@ -528,4 +532,12 @@ public class HiringBasicInfo {
", personalSignOssPath='" + personalSignOssPath + '\'' +
'}';
}
public String getApproveStatus() {
return approveStatus;
}
public void setApproveStatus(String approveStatus) {
this.approveStatus = approveStatus;
}
}
......@@ -24,4 +24,6 @@ public interface AclPractitionerHiringApproveRecordsMapper {
int batchInsert(@Param("list") List<AclPractitionerHiringApproveRecords> list);
AclPractitionerHiringApproveRecords queryLastOneByBasicInfoId(Long basicInfoId);
List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId);
}
\ No newline at end of file
......@@ -10,6 +10,7 @@ import com.yd.dal.entity.user.AclUser;
import com.yd.dal.mapper.agms.AgmsHiringMapper;
import com.yd.dal.service.agms.AgmsHiringDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.dal.service.user.AclUserDALService;
import com.yd.util.CommonUtil;
import com.yd.util.page.PageInfoUtils;
......@@ -31,6 +32,8 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
private AclUserDALService aclUserDalService;
@Autowired
private MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService;
@Autowired
private PractitionerHiringDALService practitionerHiringDalService;
@Autowired
public void setAgmsHiringMapper(AgmsHiringMapper agmsHiringMapper){
......@@ -122,7 +125,7 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
List<String> canAprroveGrades = new ArrayList<>();
canAprroveGrades.addAll(Arrays.asList(canAprroveGrade.split(",")));
String approveStatus = CommonUtil.getApproveStatusByStepSeq(stepSeq);
String approveStatus = practitionerHiringDalService.getApproveStatusByStepSeq(stepSeq);
List<PractitionerHiringListInfo> resultList =
agmsHiringMapper.queryUnhandledList(approveStatus, canAprroveGrades,
requestVO.getBranchId(),
......
......@@ -10,4 +10,6 @@ import java.util.List;
public interface AclPractitionerHiringApproveRecordsDALService {
void save(List<AclPractitionerHiringApproveRecords> hiringApproveRecordsList);
void save(AclPractitionerHiringApproveRecords hiringApproveRecords);
List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId);
}
......@@ -21,4 +21,9 @@ public class AclPractitionerHiringApproveRecordsDALServiceImpl implements AclPra
public void save(AclPractitionerHiringApproveRecords hiringApproveRecords) {
mapper.insert(hiringApproveRecords);
}
@Override
public List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId) {
return mapper.queryListByBasicInfoId(hiringBasicInfoId);
}
}
......@@ -94,4 +94,8 @@ public interface PractitionerHiringDALService {
* @return
*/
int queryApprovalIdentity(Long practitionerId);
String getApproveStatusByStepSeq(Integer stepSeq);
Integer getNextStepSeqByApproveStatus(String approveStatus);
}
......@@ -184,7 +184,7 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
List<String> canAprroveGrades = new ArrayList<>();
canAprroveGrades.addAll(Arrays.asList(canAprroveGrade.split(",")));
String approveStatus = CommonUtil.getApproveStatusByStepSeq(stepSeq);
String approveStatus = this.getApproveStatusByStepSeq(stepSeq);
List<PractitionerHiringListInfo> resultList =
agmsHiringMapper.queryUnhandledList(approveStatus, canAprroveGrades,
null,
......@@ -227,4 +227,38 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
}
return 1;
}
@Override
public 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;
}
@Override
public Integer getNextStepSeqByApproveStatus(String approveStatus) {
switch (approveStatus) {
case "-2" :
return Integer.valueOf("1");
case "1" :
return Integer.valueOf("2");
case "2" :
return Integer.valueOf("3");
case "3" :
return Integer.valueOf("4");
case "4" :
return Integer.valueOf("5");
}
return null;
}
}
......@@ -1524,20 +1524,4 @@ 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;
}
}
......@@ -26,9 +26,11 @@
<result column="bankAccountId" jdbcType="VARCHAR" property="bankAccountId"/>
<result column="personalSignOssPath" jdbcType="VARCHAR" property="personalSignOssPath"/>
<result column="payroll_oss_path" jdbcType="VARCHAR" property="payrollOssPath" />
<result column="approve_status" jdbcType="VARCHAR" property="approveStatus" />
</resultMap>
<select id="findPractitionerHiringBasicInfo" resultMap="practitionerHiringBasicInfo">
select p.name inviteePractitionerName,
b.approve_status approveStatus,
b.name name,
b.mobile_no mobileNo,
b.id_type idType,
......
......@@ -371,4 +371,12 @@
order by s.step_seq desc
limit 1
</select>
<select id="queryListByBasicInfoId" resultMap="LastOneRecord">
select r.*, s.step_seq
from ag_acl_practitioner_hiring_approve_records r
left join ag_md_practitioner_hiring_approve_steps s on r.approve_step_id = s.id
where r.hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
order by s.step_seq desc
</select>
</mapper>
\ No newline at end of file
......@@ -87,9 +87,11 @@
<result column="bankAccountId" jdbcType="VARCHAR" property="bankAccountId"/>
<result column="personalSignOssPath" jdbcType="VARCHAR" property="personalSignOssPath"/>
<result column="payroll_oss_path" jdbcType="VARCHAR" property="payrollOssPath" />
<result column="approveStatus" jdbcType="VARCHAR" property="approveStatus" />
</resultMap>
<select id="findHiringBasicInfo" resultMap="hiringBasicInfo">
select p.name inviteePractitionerName,
b.approve_status approveStatus,
b.name name,
b.mobile_no mobileNo,
b.id_type idType,
......
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