|
@@ -7,13 +7,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.persagy.fm.common.constant.enums.ValidEnum;
|
|
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.response.FmResponseContent;
|
|
import com.persagy.fm.common.response.FmResponseContent;
|
|
|
|
+import com.persagy.fm.person.constant.enums.CertificateTypeEnum;
|
|
|
|
+import com.persagy.fm.person.constant.enums.PersonTypeEnum;
|
|
import com.persagy.fm.person.dao.PersonMapper;
|
|
import com.persagy.fm.person.dao.PersonMapper;
|
|
import com.persagy.fm.person.model.ConvertPersonTool;
|
|
import com.persagy.fm.person.model.ConvertPersonTool;
|
|
import com.persagy.fm.person.model.Person;
|
|
import com.persagy.fm.person.model.Person;
|
|
import com.persagy.fm.person.model.dto.*;
|
|
import com.persagy.fm.person.model.dto.*;
|
|
|
|
+import com.persagy.fm.person.model.vo.ResponsePersonItemVO;
|
|
import com.persagy.fm.person.model.vo.ResponsePersonListItemVO;
|
|
import com.persagy.fm.person.model.vo.ResponsePersonListItemVO;
|
|
import com.persagy.fm.person.service.IPersonService;
|
|
import com.persagy.fm.person.service.IPersonService;
|
|
|
|
+import com.persagy.fm.profession.service.IProfessionService;
|
|
import com.persagy.fm.saas.account.client.SaasAccountClient;
|
|
import com.persagy.fm.saas.account.client.SaasAccountClient;
|
|
import com.persagy.fm.saas.account.constant.enums.AccountTypeEnum;
|
|
import com.persagy.fm.saas.account.constant.enums.AccountTypeEnum;
|
|
import com.persagy.fm.saas.account.model.dto.AddSaasAccountDTO;
|
|
import com.persagy.fm.saas.account.model.dto.AddSaasAccountDTO;
|
|
@@ -21,23 +26,27 @@ import com.persagy.fm.saas.account.model.dto.DeleteSaasAccountDTO;
|
|
import com.persagy.fm.saas.account.model.dto.EnableSaasAccountDTO;
|
|
import com.persagy.fm.saas.account.model.dto.EnableSaasAccountDTO;
|
|
import com.persagy.fm.saas.account.model.dto.PageQuerySaasAccountDTO;
|
|
import com.persagy.fm.saas.account.model.dto.PageQuerySaasAccountDTO;
|
|
import com.persagy.fm.saas.account.model.vo.SaasAccountListItemVO;
|
|
import com.persagy.fm.saas.account.model.vo.SaasAccountListItemVO;
|
|
-import com.persagy.fm.saas.accountproject.client.SaasAccountProjectClient;
|
|
|
|
import com.persagy.fm.saas.accountproject.model.dto.AddSaasAccountProjectDTO;
|
|
import com.persagy.fm.saas.accountproject.model.dto.AddSaasAccountProjectDTO;
|
|
-import com.persagy.fm.saas.accountrole.client.SaasAccountRoleClient;
|
|
|
|
|
|
+import com.persagy.fm.saas.accountproject.service.ISaasAccountProjectService;
|
|
import com.persagy.fm.saas.accountrole.constant.enums.AccountRoleTypeEnum;
|
|
import com.persagy.fm.saas.accountrole.constant.enums.AccountRoleTypeEnum;
|
|
import com.persagy.fm.saas.accountrole.model.dto.AddSaasAccountRoleDTO;
|
|
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.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.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;
|
|
|
|
+import org.assertj.core.util.Lists;
|
|
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 org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
+import java.util.Arrays;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -56,9 +65,11 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
@Autowired
|
|
@Autowired
|
|
private PersonMapper personMapper;
|
|
private PersonMapper personMapper;
|
|
@Autowired
|
|
@Autowired
|
|
- private SaasAccountRoleClient saasAccountRoleClient;
|
|
|
|
|
|
+ private ISaasAccountRoleService saasAccountRoleService;
|
|
@Autowired
|
|
@Autowired
|
|
- private SaasAccountProjectClient saasAccountProjectClient;
|
|
|
|
|
|
+ private ISaasAccountProjectService saasAccountProjectService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IProfessionService professionService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String createPerson(Person person) {
|
|
public String createPerson(Person person) {
|
|
@@ -76,8 +87,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
public String createPerson(AddPersonDTO addPersonDTO) {
|
|
public String createPerson(AddPersonDTO addPersonDTO) {
|
|
- // 判断账号是否被占用
|
|
|
|
- checkUserName(addPersonDTO.getUsername());
|
|
|
|
|
|
+ checkAddPersonDTO(addPersonDTO);
|
|
// 创建账号
|
|
// 创建账号
|
|
String accountId = createAccount(addPersonDTO);
|
|
String accountId = createAccount(addPersonDTO);
|
|
// 保存人员
|
|
// 保存人员
|
|
@@ -104,10 +114,9 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
if (!CollectionUtils.isEmpty(projectIds)) {
|
|
if (!CollectionUtils.isEmpty(projectIds)) {
|
|
for (String projectId : projectIds) {
|
|
for (String projectId : projectIds) {
|
|
AddSaasAccountProjectDTO addSaasAccountProjectDTO = new AddSaasAccountProjectDTO();
|
|
AddSaasAccountProjectDTO addSaasAccountProjectDTO = new AddSaasAccountProjectDTO();
|
|
- addSaasAccountProjectDTO.setDefaultValue();
|
|
|
|
addSaasAccountProjectDTO.setAccountId(accountId);
|
|
addSaasAccountProjectDTO.setAccountId(accountId);
|
|
addSaasAccountProjectDTO.setProjectId(projectId);
|
|
addSaasAccountProjectDTO.setProjectId(projectId);
|
|
- saasAccountProjectClient.createSaasAccountProject(addSaasAccountProjectDTO);
|
|
|
|
|
|
+ saasAccountProjectService.createSaasAccountProject(addSaasAccountProjectDTO);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -158,7 +167,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
mainDutyDTO.setAccountId(accountId);
|
|
mainDutyDTO.setAccountId(accountId);
|
|
mainDutyDTO.setRoleId(roleId);
|
|
mainDutyDTO.setRoleId(roleId);
|
|
mainDutyDTO.setCasType(accountRoleType);
|
|
mainDutyDTO.setCasType(accountRoleType);
|
|
- saasAccountRoleClient.createSaasAccountRole(mainDutyDTO);
|
|
|
|
|
|
+ saasAccountRoleService.createSaasAccountRole(mainDutyDTO);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -190,7 +199,6 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
*/
|
|
*/
|
|
private Person savePerson(AddPersonDTO addPersonDTO, String accountId) {
|
|
private Person savePerson(AddPersonDTO addPersonDTO, String accountId) {
|
|
Person person = ConvertPersonTool.INSTANCE.convertAddDto2Entity(addPersonDTO);
|
|
Person person = ConvertPersonTool.INSTANCE.convertAddDto2Entity(addPersonDTO);
|
|
- checkDuplicate(addPersonDTO);
|
|
|
|
person.setNamePinyin(PinyinUtil.getPinyin(person.getName(), ""));
|
|
person.setNamePinyin(PinyinUtil.getPinyin(person.getName(), ""));
|
|
person.setAccountId(accountId);
|
|
person.setAccountId(accountId);
|
|
// 设置默认值
|
|
// 设置默认值
|
|
@@ -228,6 +236,11 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
* @version V1.0 2021/3/23 3:15 下午
|
|
* @version V1.0 2021/3/23 3:15 下午
|
|
*/
|
|
*/
|
|
private void checkUserName(String username) {
|
|
private void checkUserName(String username) {
|
|
|
|
+ List<Person> people = queryByUsername(username);
|
|
|
|
+ if (!CollectionUtils.isEmpty(people)) {
|
|
|
|
+ throw new IllegalArgumentException("账号重复");
|
|
|
|
+ }
|
|
|
|
+
|
|
PageQuerySaasAccountDTO pageQuerySaasAccountDTO = new PageQuerySaasAccountDTO();
|
|
PageQuerySaasAccountDTO pageQuerySaasAccountDTO = new PageQuerySaasAccountDTO();
|
|
pageQuerySaasAccountDTO.setDefaultValue();
|
|
pageQuerySaasAccountDTO.setDefaultValue();
|
|
pageQuerySaasAccountDTO.setUsername(username);
|
|
pageQuerySaasAccountDTO.setUsername(username);
|
|
@@ -238,16 +251,89 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 检查手机号有没有被使用
|
|
|
|
+ *
|
|
|
|
+ * @param phoneNum 手机号
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/3/23 3:15 下午
|
|
|
|
+ */
|
|
|
|
+ private void checkPhoneNum(String phoneNum) {
|
|
|
|
+ PageQuerySaasAccountDTO pageQuerySaasAccountDTO = new PageQuerySaasAccountDTO();
|
|
|
|
+ pageQuerySaasAccountDTO.setDefaultValue();
|
|
|
|
+ pageQuerySaasAccountDTO.setPhoneNum(phoneNum);
|
|
|
|
+ FmResponseContent<List<SaasAccountListItemVO>> listFmResponseContent = saasAccountClient.querySaasAccountPageList(pageQuerySaasAccountDTO);
|
|
|
|
+ if (listFmResponseContent.getCount() > 0) {
|
|
|
|
+ throw new IllegalArgumentException("手机号已被使用");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
* 校验重复项,手机号码,身份证
|
|
* 校验重复项,手机号码,身份证
|
|
*
|
|
*
|
|
- * @param addPersonDTO
|
|
|
|
- * @return void
|
|
|
|
- * @throws
|
|
|
|
|
|
+ * @param addPersonDTO 创建人员入参
|
|
* @author lixing
|
|
* @author lixing
|
|
* @version V1.0 2021/3/22 9:53 上午
|
|
* @version V1.0 2021/3/22 9:53 上午
|
|
*/
|
|
*/
|
|
- private void checkDuplicate(AddPersonDTO addPersonDTO) {
|
|
|
|
- // TODO: 2021/3/22 手机号,身份证号,账号
|
|
|
|
|
|
+ private void checkAddPersonDTO(AddPersonDTO addPersonDTO) {
|
|
|
|
+ // 校验身份证号
|
|
|
|
+ checkIdNumber(addPersonDTO.getIdNumber());
|
|
|
|
+
|
|
|
|
+ // 校验账号
|
|
|
|
+ checkUserName(addPersonDTO.getUsername());
|
|
|
|
+
|
|
|
|
+ // 校验手机号
|
|
|
|
+ checkPhoneNum(addPersonDTO.getPhoneNum());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 校验身份证号重复
|
|
|
|
+ *
|
|
|
|
+ * @param idNumber 身份证号
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/4/1 3:03 下午
|
|
|
|
+ */
|
|
|
|
+ private void checkIdNumber(String idNumber) {
|
|
|
|
+ List<Person> people = queryByIdCard(idNumber);
|
|
|
|
+ if (!CollectionUtils.isEmpty(people)) {
|
|
|
|
+ throw new IllegalArgumentException("身份证号重复");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据身份证号查询人员
|
|
|
|
+ *
|
|
|
|
+ * @param idCard 身份证号
|
|
|
|
+ * @return 人员列表
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/4/1 3:00 下午
|
|
|
|
+ */
|
|
|
|
+ public List<Person> queryByIdCard(String idCard) {
|
|
|
|
+ if (StringUtils.isBlank(idCard)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ QueryWrapper<Person> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(Person.PROP_VALID, ValidEnum.TRUE.getType());
|
|
|
|
+ queryWrapper.eq(Person.PROP_ID_NUMBER, idCard);
|
|
|
|
+ return list(queryWrapper);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据账号查询人员
|
|
|
|
+ *
|
|
|
|
+ * @param username 账号
|
|
|
|
+ * @return 人员列表
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/4/1 3:00 下午
|
|
|
|
+ */
|
|
|
|
+ public List<Person> queryByUsername(String username) {
|
|
|
|
+ if (StringUtils.isBlank(username)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ QueryWrapper<Person> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(Person.PROP_VALID, ValidEnum.TRUE.getType());
|
|
|
|
+ queryWrapper.eq(Person.PROP_USERNAME, username);
|
|
|
|
+ return list(queryWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -270,7 +356,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
* @version V1.0 2021-03-15 17:20:31
|
|
* @version V1.0 2021-03-15 17:20:31
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public Person queryPersonDetail(String id) {
|
|
|
|
|
|
+ public Person queryPersonProfile(String id) {
|
|
Person person = getById(id);
|
|
Person person = getById(id);
|
|
if (person == null) {
|
|
if (person == null) {
|
|
throw new IllegalArgumentException("查看Person详情时发生异常,找不到要查看的记录,id=" + id);
|
|
throw new IllegalArgumentException("查看Person详情时发生异常,找不到要查看的记录,id=" + id);
|
|
@@ -295,6 +381,9 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
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);
|
|
|
|
+
|
|
|
|
+ // 判断是否有账号相关的更新
|
|
|
|
+ // 判断是否有工作信息相关的更新
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -303,6 +392,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
throw new IllegalArgumentException("根据账号id查询人员,账号id为空");
|
|
throw new IllegalArgumentException("根据账号id查询人员,账号id为空");
|
|
}
|
|
}
|
|
QueryWrapper<Person> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<Person> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(Person.PROP_VALID, ValidEnum.TRUE.getType());
|
|
queryWrapper.eq(Person.PROP_ACCOUNT_ID, accountId);
|
|
queryWrapper.eq(Person.PROP_ACCOUNT_ID, accountId);
|
|
return list(queryWrapper);
|
|
return list(queryWrapper);
|
|
}
|
|
}
|
|
@@ -351,20 +441,76 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
int total = personMapper.queryCount(pageQueryPersonDTO);
|
|
int total = personMapper.queryCount(pageQueryPersonDTO);
|
|
|
|
|
|
List<String> accountIds = people.stream().map(Person::getAccountId).collect(Collectors.toList());
|
|
List<String> accountIds = people.stream().map(Person::getAccountId).collect(Collectors.toList());
|
|
|
|
+ Map<String, AccountRoleVO> accountRoleVoMap = saasAccountRoleService.
|
|
|
|
+ queryAccountRoleVoMapByAccountIdList(accountIds);
|
|
|
|
|
|
- // TODO: 2021/3/23 翻译器
|
|
|
|
- // 数据转换
|
|
|
|
|
|
+ /* 数据转换 */
|
|
|
|
+ // 设置人员基本信息
|
|
List<ResponsePersonListItemVO> responsePersonListItems = ConvertPersonTool.INSTANCE.convert2List(people);
|
|
List<ResponsePersonListItemVO> responsePersonListItems = ConvertPersonTool.INSTANCE.convert2List(people);
|
|
|
|
+
|
|
|
|
+ for (ResponsePersonListItemVO responsePersonListItem : responsePersonListItems) {
|
|
|
|
+ // 设置人员主岗副岗信息
|
|
|
|
+ AccountRoleVO accountRoleVO = accountRoleVoMap.get(responsePersonListItem.getAccountId());
|
|
|
|
+ if (accountRoleVO != null) {
|
|
|
|
+ responsePersonListItem.setMainDuty(accountRoleVO.getMainDuty());
|
|
|
|
+ responsePersonListItem.setOtherDuties(accountRoleVO.getOtherDuties());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 设置员工类型
|
|
|
|
+ String type = responsePersonListItem.getType();
|
|
|
|
+ responsePersonListItem.setPersonType(getPersonTypeVO(type));
|
|
|
|
+
|
|
|
|
+ // 设置专业
|
|
|
|
+ String profession = responsePersonListItem.getProfession();
|
|
|
|
+ responsePersonListItem.setProfessions(getProfessionVoList(profession));
|
|
|
|
+ }
|
|
|
|
+
|
|
IPage<ResponsePersonListItemVO> result = new Page<>();
|
|
IPage<ResponsePersonListItemVO> result = new Page<>();
|
|
result.setRecords(responsePersonListItems);
|
|
result.setRecords(responsePersonListItems);
|
|
result.setTotal(total);
|
|
result.setTotal(total);
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 根据专业id获取专业信息
|
|
|
|
+ *
|
|
|
|
+ * @param profession 专业id id1,id2
|
|
|
|
+ * @return 专业信息列表
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/4/1 2:46 下午
|
|
|
|
+ */
|
|
|
|
+ private List<SimpleObjVO> getProfessionVoList(String profession) {
|
|
|
|
+ List<SimpleObjVO> professions = null;
|
|
|
|
+ if (StringUtils.isNotBlank(profession)) {
|
|
|
|
+ String[] professionArr = profession.split(",");
|
|
|
|
+ List<String> professionIds = Arrays.asList(professionArr);
|
|
|
|
+ professions = professionService.queryProfessionInfoByProfessionIds(professionIds);
|
|
|
|
+ }
|
|
|
|
+ return professions;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据员工类型id获取员工类型对象
|
|
|
|
+ *
|
|
|
|
+ * @param type 员工类型id
|
|
|
|
+ * @return 员工类型对象
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/4/1 12:04 下午
|
|
|
|
+ */
|
|
|
|
+ private SimpleObjVO getPersonTypeVO(String type) {
|
|
|
|
+ SimpleObjVO personType = new SimpleObjVO();
|
|
|
|
+ personType.setId(type);
|
|
|
|
+ PersonTypeEnum personTypeEnum = PersonTypeEnum.getByType(type);
|
|
|
|
+ if (personTypeEnum != null) {
|
|
|
|
+ personType.setName(personTypeEnum.getDesc());
|
|
|
|
+ }
|
|
|
|
+ return personType;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void disablePerson(String personId) {
|
|
public void disablePerson(String personId) {
|
|
// 禁用账号
|
|
// 禁用账号
|
|
- Person person = queryPersonDetail(personId);
|
|
|
|
|
|
+ Person person = queryPersonProfile(personId);
|
|
String accountId = person.getAccountId();
|
|
String accountId = person.getAccountId();
|
|
DeleteSaasAccountDTO deleteSaasAccountDTO = new DeleteSaasAccountDTO();
|
|
DeleteSaasAccountDTO deleteSaasAccountDTO = new DeleteSaasAccountDTO();
|
|
deleteSaasAccountDTO.setDefaultValue();
|
|
deleteSaasAccountDTO.setDefaultValue();
|
|
@@ -395,14 +541,13 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<Person> nameQuickSearch(NameQuickSearchDTO nameQuickSearchDTO) {
|
|
public List<Person> nameQuickSearch(NameQuickSearchDTO nameQuickSearchDTO) {
|
|
- // TODO: 2021/3/22 快速查询人名
|
|
|
|
- return null;
|
|
|
|
|
|
+ return personMapper.queryPersonNameList(nameQuickSearchDTO);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void enablePerson(String personId) {
|
|
public void enablePerson(String personId) {
|
|
// 启用账号
|
|
// 启用账号
|
|
- Person person = queryPersonDetail(personId);
|
|
|
|
|
|
+ Person person = queryPersonProfile(personId);
|
|
String accountId = person.getAccountId();
|
|
String accountId = person.getAccountId();
|
|
EnableSaasAccountDTO enableSaasAccountDTO = new EnableSaasAccountDTO();
|
|
EnableSaasAccountDTO enableSaasAccountDTO = new EnableSaasAccountDTO();
|
|
enableSaasAccountDTO.setDefaultValue();
|
|
enableSaasAccountDTO.setDefaultValue();
|
|
@@ -418,4 +563,67 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
public void updatePerson(Person person) {
|
|
public void updatePerson(Person person) {
|
|
updateById(person);
|
|
updateById(person);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ResponsePersonItemVO queryPersonDetail(String id) {
|
|
|
|
+ Person person = queryPersonProfile(id);
|
|
|
|
+ // 设置人员的基本信息
|
|
|
|
+ ResponsePersonItemVO responsePersonItemVO = ConvertPersonTool.INSTANCE.convert2ResponseItemDTO(person);
|
|
|
|
+
|
|
|
|
+ // 设置人员岗位角色信息
|
|
|
|
+ String accountId = person.getAccountId();
|
|
|
|
+ Map<String, AccountRoleVO> accountRoleVoMap = saasAccountRoleService.
|
|
|
|
+ queryAccountRoleVoMapByAccountIdList(Lists.newArrayList(accountId));
|
|
|
|
+ AccountRoleVO accountRoleVO = accountRoleVoMap.get(accountId);
|
|
|
|
+ if (accountRoleVO != null) {
|
|
|
|
+ responsePersonItemVO.setMainDuty(accountRoleVO.getMainDuty());
|
|
|
|
+ responsePersonItemVO.setOtherDuties(accountRoleVO.getOtherDuties());
|
|
|
|
+ responsePersonItemVO.setOtherRoles(accountRoleVO.getOtherRoles());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 设置员工类型
|
|
|
|
+ String type = person.getType();
|
|
|
|
+ responsePersonItemVO.setPersonType(getPersonTypeVO(type));
|
|
|
|
+
|
|
|
|
+ // 设置专业
|
|
|
|
+ String profession = person.getProfession();
|
|
|
|
+ responsePersonItemVO.setProfessions(getProfessionVoList(profession));
|
|
|
|
+
|
|
|
|
+ // 设置证件类型
|
|
|
|
+ String certificateType = person.getCertificateType();
|
|
|
|
+ responsePersonItemVO.setCertificateTypeVO(getCertificateTypeVO(certificateType));
|
|
|
|
+
|
|
|
|
+ // 设置直接上级
|
|
|
|
+ String leader = person.getLeader();
|
|
|
|
+ responsePersonItemVO.setLeaderVO(getLeaderVO(leader));
|
|
|
|
+
|
|
|
|
+ // 设置所属部门
|
|
|
|
+ // TODO: 2021/4/1
|
|
|
|
+// workResumeService.queryWorkResumeListByPersonIdList()
|
|
|
|
+
|
|
|
|
+ return responsePersonItemVO;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据直接领导id,获取直接领导信息
|
|
|
|
+ *
|
|
|
|
+ * @param leaderId 直接领导id
|
|
|
|
+ * @return 直接领导信息
|
|
|
|
+ * @author lixing
|
|
|
|
+ * @version V1.0 2021/4/1 2:53 下午
|
|
|
|
+ */
|
|
|
|
+ private SimpleObjVO getLeaderVO(String leaderId) {
|
|
|
|
+ Person person = queryPersonProfile(leaderId);
|
|
|
|
+ return new SimpleObjVO(leaderId, person.getName());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private SimpleObjVO getCertificateTypeVO(String certificateType) {
|
|
|
|
+ SimpleObjVO certificateTypeVO = new SimpleObjVO();
|
|
|
|
+ certificateTypeVO.setId(certificateType);
|
|
|
|
+ CertificateTypeEnum certificateTypeEnum = CertificateTypeEnum.getByType(certificateType);
|
|
|
|
+ if (certificateTypeEnum != null) {
|
|
|
|
+ certificateTypeVO.setName(certificateTypeEnum.getDesc());
|
|
|
|
+ }
|
|
|
|
+ return certificateTypeVO;
|
|
|
|
+ }
|
|
}
|
|
}
|