|
@@ -36,6 +36,7 @@ import com.persagy.fm.saas.accountrole.model.dto.AddSaasAccountRoleDTO;
|
|
|
import com.persagy.fm.saas.accountrole.model.vo.AccountRoleVO;
|
|
|
import com.persagy.fm.saas.accountrole.service.ISaasAccountRoleService;
|
|
|
import com.persagy.fm.saas.project.model.SaasProject;
|
|
|
+import com.persagy.fm.saas.project.model.dto.UpsertSaasProjectDTO;
|
|
|
import com.persagy.fm.saas.project.service.ISaasProjectService;
|
|
|
import com.persagy.fm.workresume.constant.enums.WorkResumeEnableStateEnum;
|
|
|
import com.persagy.fm.workresume.constant.enums.WorkResumeHiredStateEnum;
|
|
@@ -105,7 +106,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
// 创建人员工作信息
|
|
|
saveWorkResumes(addPersonDTO, person.getId());
|
|
|
// 账号关联项目
|
|
|
- saveAccountProject(accountId, addPersonDTO.getProjectIds());
|
|
|
+ saveAccountProject(accountId, addPersonDTO.getProjects());
|
|
|
// 账号关联角色
|
|
|
saveAccountRole(accountId, addPersonDTO.getMainDuty(),
|
|
|
addPersonDTO.getOtherDuties(), addPersonDTO.getOtherRoles());
|
|
@@ -116,16 +117,17 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
* 账号关联项目
|
|
|
*
|
|
|
* @param accountId 账号id
|
|
|
- * @param projectIds 项目id列表
|
|
|
+ * @param projects 项目列表
|
|
|
* @author lixing
|
|
|
* @version V1.0 2021/3/26 5:23 下午
|
|
|
*/
|
|
|
- private void saveAccountProject(String accountId, List<String> projectIds) {
|
|
|
- if (!CollectionUtils.isEmpty(projectIds)) {
|
|
|
- for (String projectId : projectIds) {
|
|
|
+ private void saveAccountProject(String accountId, List<UpsertSaasProjectDTO> projects) {
|
|
|
+ if (!CollectionUtils.isEmpty(projects)) {
|
|
|
+ for (UpsertSaasProjectDTO upsertSaasProjectDTO : projects) {
|
|
|
AddSaasAccountProjectDTO addSaasAccountProjectDTO = new AddSaasAccountProjectDTO();
|
|
|
addSaasAccountProjectDTO.setAccountId(accountId);
|
|
|
- addSaasAccountProjectDTO.setProjectId(projectId);
|
|
|
+ addSaasAccountProjectDTO.setProjectId(upsertSaasProjectDTO.getProjectId());
|
|
|
+ addSaasAccountProjectDTO.setAreaId(upsertSaasProjectDTO.getAreaId());
|
|
|
saasAccountProjectService.createSaasAccountProject(addSaasAccountProjectDTO);
|
|
|
}
|
|
|
}
|
|
@@ -488,8 +490,8 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
// 更新账号和项目的关联
|
|
|
List<SaasAccountProject> saasAccountProjects = saasAccountProjectService.
|
|
|
querySaasAccountProjectListByAccountId(accountId);
|
|
|
- if (accountProjectsChanged(saasAccountProjects, updatePersonDTO.getProjectIds())) {
|
|
|
- saasAccountProjectService.resetSaasAccountProject(accountId, updatePersonDTO.getProjectIds());
|
|
|
+ if (accountProjectsChanged(saasAccountProjects, updatePersonDTO.getProjects())) {
|
|
|
+ saasAccountProjectService.resetSaasAccountProject(accountId, updatePersonDTO.getProjects());
|
|
|
}
|
|
|
|
|
|
// 更新工作信息
|
|
@@ -564,18 +566,23 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
* 判断账号关联的项目是否发生变化
|
|
|
*
|
|
|
* @param saasAccountProjects 账号之前关联的项目
|
|
|
- * @param projectIds 更新后账号关联的项目
|
|
|
+ * @param projects 更新后账号关联的项目
|
|
|
* @return 是否发生变化
|
|
|
* @author lixing
|
|
|
* @version V1.0 2021/4/8 9:40 上午
|
|
|
*/
|
|
|
- private Boolean accountProjectsChanged(List<SaasAccountProject> saasAccountProjects, List<String> projectIds) {
|
|
|
+ private Boolean accountProjectsChanged(List<SaasAccountProject> saasAccountProjects, List<UpsertSaasProjectDTO> projects) {
|
|
|
if (CollectionUtils.isEmpty(saasAccountProjects)) {
|
|
|
- return !CollectionUtils.isEmpty(projectIds);
|
|
|
+ return !CollectionUtils.isEmpty(projects);
|
|
|
} else {
|
|
|
+ if (CollectionUtils.isEmpty(projects)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ List<String> projectIdsAfterUpdate = projects.stream().map(
|
|
|
+ UpsertSaasProjectDTO::getProjectId).collect(Collectors.toList());
|
|
|
List<String> projectIdsBeforeUpdate = saasAccountProjects.stream().
|
|
|
map(SaasAccountProject::getProjectId).collect(Collectors.toList());
|
|
|
- return ListUtil.listChanged(projectIdsBeforeUpdate, projectIds);
|
|
|
+ return ListUtil.listChanged(projectIdsBeforeUpdate, projectIdsAfterUpdate);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -759,6 +766,11 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
// 设置专业
|
|
|
String profession = responsePersonListItem.getProfession();
|
|
|
responsePersonListItem.setProfessions(getProfessionVoList(profession));
|
|
|
+
|
|
|
+ // 设置所属部门
|
|
|
+ List<WorkResume> workResumes = workResumeService.queryWorkResumeListByPersonIdList(
|
|
|
+ Lists.newArrayList(responsePersonListItem.getId()));
|
|
|
+ responsePersonListItem.setDeps(getDepSimpleObjVoList(workResumes));
|
|
|
}
|
|
|
|
|
|
IPage<ResponsePersonListItemVO> result = new Page<>();
|