|
@@ -9,6 +9,7 @@ import com.persagy.fm.common.constant.enums.ValidEnum;
|
|
import com.persagy.fm.common.context.DefaultAppContext;
|
|
import com.persagy.fm.common.context.DefaultAppContext;
|
|
import com.persagy.fm.common.model.vo.SimpleObjVO;
|
|
import com.persagy.fm.common.model.vo.SimpleObjVO;
|
|
import com.persagy.fm.common.response.FmResponseContent;
|
|
import com.persagy.fm.common.response.FmResponseContent;
|
|
|
|
+import com.persagy.fm.department.service.IDepartmentService;
|
|
import com.persagy.fm.person.constant.enums.CertificateTypeEnum;
|
|
import com.persagy.fm.person.constant.enums.CertificateTypeEnum;
|
|
import com.persagy.fm.person.constant.enums.PersonTypeEnum;
|
|
import com.persagy.fm.person.constant.enums.PersonTypeEnum;
|
|
import com.persagy.fm.person.dao.PersonMapper;
|
|
import com.persagy.fm.person.dao.PersonMapper;
|
|
@@ -34,6 +35,7 @@ import com.persagy.fm.saas.accountrole.model.vo.AccountRoleVO;
|
|
import com.persagy.fm.saas.accountrole.service.ISaasAccountRoleService;
|
|
import com.persagy.fm.saas.accountrole.service.ISaasAccountRoleService;
|
|
import com.persagy.fm.workresume.constant.enums.WorkResumeEnableStateEnum;
|
|
import com.persagy.fm.workresume.constant.enums.WorkResumeEnableStateEnum;
|
|
import com.persagy.fm.workresume.constant.enums.WorkResumeHiredStateEnum;
|
|
import com.persagy.fm.workresume.constant.enums.WorkResumeHiredStateEnum;
|
|
|
|
+import com.persagy.fm.workresume.model.WorkResume;
|
|
import com.persagy.fm.workresume.model.dto.AddWorkResumeDTO;
|
|
import com.persagy.fm.workresume.model.dto.AddWorkResumeDTO;
|
|
import com.persagy.fm.workresume.service.IWorkResumeService;
|
|
import com.persagy.fm.workresume.service.IWorkResumeService;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -70,6 +72,8 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
private ISaasAccountProjectService saasAccountProjectService;
|
|
private ISaasAccountProjectService saasAccountProjectService;
|
|
@Autowired
|
|
@Autowired
|
|
private IProfessionService professionService;
|
|
private IProfessionService professionService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IDepartmentService departmentService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String createPerson(Person person) {
|
|
public String createPerson(Person person) {
|
|
@@ -377,13 +381,16 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public void updatePerson(UpdatePersonDTO updatePersonDTO) {
|
|
public void updatePerson(UpdatePersonDTO updatePersonDTO) {
|
|
- Person person = getById(updatePersonDTO.getId());
|
|
|
|
|
|
+ String personId = updatePersonDTO.getId();
|
|
|
|
+ Person person = getById(personId);
|
|
person = ConvertPersonTool.INSTANCE.convertUpdateDto2Entity(person, updatePersonDTO);
|
|
person = ConvertPersonTool.INSTANCE.convertUpdateDto2Entity(person, updatePersonDTO);
|
|
person.setModifier(DefaultAppContext.getContext().getAccountId());
|
|
person.setModifier(DefaultAppContext.getContext().getAccountId());
|
|
updateById(person);
|
|
updateById(person);
|
|
-
|
|
|
|
|
|
+ // TODO: 2021/4/1
|
|
// 判断是否有账号相关的更新
|
|
// 判断是否有账号相关的更新
|
|
// 判断是否有工作信息相关的更新
|
|
// 判断是否有工作信息相关的更新
|
|
|
|
+ List<WorkResume> workResumes = workResumeService.queryWorkResumeListByPersonIdList(Lists.newArrayList(personId));
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -480,7 +487,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
* @version V1.0 2021/4/1 2:46 下午
|
|
* @version V1.0 2021/4/1 2:46 下午
|
|
*/
|
|
*/
|
|
private List<SimpleObjVO> getProfessionVoList(String profession) {
|
|
private List<SimpleObjVO> getProfessionVoList(String profession) {
|
|
- List<SimpleObjVO> professions = null;
|
|
|
|
|
|
+ List<SimpleObjVO> professions = Lists.newArrayList();
|
|
if (StringUtils.isNotBlank(profession)) {
|
|
if (StringUtils.isNotBlank(profession)) {
|
|
String[] professionArr = profession.split(",");
|
|
String[] professionArr = profession.split(",");
|
|
List<String> professionIds = Arrays.asList(professionArr);
|
|
List<String> professionIds = Arrays.asList(professionArr);
|
|
@@ -519,19 +526,24 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
|
|
|
// 工作信息状态更新为禁用
|
|
// 工作信息状态更新为禁用
|
|
workResumeService.changeWorkResumeEnableStateByPersonId(
|
|
workResumeService.changeWorkResumeEnableStateByPersonId(
|
|
- personId, null, WorkResumeEnableStateEnum.DISABLE.getType());
|
|
|
|
|
|
+ personId, WorkResumeEnableStateEnum.DISABLE.getType());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void dismissPerson(String personId, String depId) {
|
|
|
|
|
|
+ public void dismissPerson(String personId) {
|
|
|
|
+ // 离职要先禁用账号
|
|
|
|
+ disablePerson(personId);
|
|
|
|
+
|
|
workResumeService.changeWorkResumeHiredStateByPersonId(
|
|
workResumeService.changeWorkResumeHiredStateByPersonId(
|
|
- personId, depId, WorkResumeHiredStateEnum.DISMISS.getType());
|
|
|
|
|
|
+ personId, WorkResumeHiredStateEnum.DISMISS.getType());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void rejoinPerson(String personId, String depId) {
|
|
|
|
|
|
+ public void rejoinPerson(String personId) {
|
|
|
|
+ // 恢复禁用的账号
|
|
|
|
+ enablePerson(personId);
|
|
workResumeService.changeWorkResumeHiredStateByPersonId(
|
|
workResumeService.changeWorkResumeHiredStateByPersonId(
|
|
- personId, depId, WorkResumeHiredStateEnum.ON_JOB.getType());
|
|
|
|
|
|
+ personId, WorkResumeHiredStateEnum.ON_JOB.getType());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -556,7 +568,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
|
|
|
// 工作信息状态更新为启用
|
|
// 工作信息状态更新为启用
|
|
workResumeService.changeWorkResumeEnableStateByPersonId(
|
|
workResumeService.changeWorkResumeEnableStateByPersonId(
|
|
- personId, null, WorkResumeEnableStateEnum.ENABLE.getType());
|
|
|
|
|
|
+ personId, WorkResumeEnableStateEnum.ENABLE.getType());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -598,13 +610,29 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
responsePersonItemVO.setLeaderVO(getLeaderVO(leader));
|
|
responsePersonItemVO.setLeaderVO(getLeaderVO(leader));
|
|
|
|
|
|
// 设置所属部门
|
|
// 设置所属部门
|
|
- // TODO: 2021/4/1
|
|
|
|
-// workResumeService.queryWorkResumeListByPersonIdList()
|
|
|
|
|
|
+ List<WorkResume> workResumes = workResumeService.queryWorkResumeListByPersonIdList(Lists.newArrayList(id));
|
|
|
|
+ responsePersonItemVO.setDeps(getDepVoList(workResumes));
|
|
|
|
|
|
return responsePersonItemVO;
|
|
return responsePersonItemVO;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 根据工作信息获取人员所属部门
|
|
|
|
+ *
|
|
|
|
+ * @param workResumes 工作信息列表
|
|
|
|
+ * @return 所属部门列表
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/4/1 6:00 下午
|
|
|
|
+ */
|
|
|
|
+ private List<SimpleObjVO> getDepVoList(List<WorkResume> workResumes) {
|
|
|
|
+ if (CollectionUtils.isEmpty(workResumes)){
|
|
|
|
+ return Lists.newArrayList();
|
|
|
|
+ }
|
|
|
|
+ List<String> depIds = workResumes.stream().map(WorkResume::getDepId).collect(Collectors.toList());
|
|
|
|
+ return departmentService.getDepInfoList(depIds);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
* 根据直接领导id,获取直接领导信息
|
|
* 根据直接领导id,获取直接领导信息
|
|
*
|
|
*
|
|
* @param leaderId 直接领导id
|
|
* @param leaderId 直接领导id
|