|
|
@ -5,11 +5,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.AppContactSysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganization; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.syspost.SysPost; |
|
|
|
import com.yxt.anrui.portal.api.sysstaffinfo.*; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDto; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstaffpost.SysStaffPost; |
|
|
|
import com.yxt.anrui.portal.api.sysstaffpost.SysStaffPostDetailsVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstaffpost.SysStaffPostDto; |
|
|
@ -121,23 +123,25 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<SysStaffinfoVo> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isNotBlank(query.getName())) {//姓名
|
|
|
|
qw.eq("si.name", query.getName()); |
|
|
|
qw.like("si.name", query.getName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getOrgSid())) { |
|
|
|
qw.eq("so.orgSid", query.getOrgSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getMobile())) { |
|
|
|
qw.eq("si.mobile", query.getMobile()); |
|
|
|
} |
|
|
|
if (query.getJoinCompnyDateStart() != null) { |
|
|
|
qw.ge("si.joinCompnyDate", query.getJoinCompnyDateStart()); |
|
|
|
if (StringUtils.isNotBlank(query.getPostSid())) { |
|
|
|
qw.eq("ssp.postSid", query.getPostSid()); |
|
|
|
} |
|
|
|
if (query.getJoinCompnyDateEnd() != null) { |
|
|
|
qw.le("si.joinCompnyDate", query.getJoinCompnyDateEnd()); |
|
|
|
if (StringUtils.isNotBlank(query.getMobile())) { |
|
|
|
qw.like("si.mobile", query.getMobile()); |
|
|
|
} |
|
|
|
String joinCompnyDateStart = query.getJoinCompnyDateStart(); |
|
|
|
String joinCompnyDateEnd = query.getJoinCompnyDateEnd(); |
|
|
|
qw.apply(StringUtils.isNotEmpty(joinCompnyDateStart), "date_format (joinCompnyDate,'%Y-%m-%d') >= date_format('" + joinCompnyDateStart + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotEmpty(joinCompnyDateEnd), "date_format (joinCompnyDate,'%Y-%m-%d') <= date_format('" + joinCompnyDateEnd + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
//员工类型key
|
|
|
|
if (StringUtils.isNotBlank(query.getPersonTypeKey())) { |
|
|
|
qw.eq("si.personKey", query.getPersonTypeKey()); |
|
|
|
qw.eq("si.personTypeKey", query.getPersonTypeKey()); |
|
|
|
} |
|
|
|
qw.orderByDesc("si.id"); |
|
|
|
return qw; |
|
|
@ -170,15 +174,14 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
public ResultBean saveStaffInfo(SysStaffinfoDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//员工类型
|
|
|
|
String personTypeKey = dto.getPersonTypeKey(); |
|
|
|
//根据员工类型key查询最大员工编号
|
|
|
|
//String personTypeKey = dto.getPersonTypeKey();
|
|
|
|
String jobNumber = ""; |
|
|
|
SysStaffinfo sysStaffinfo = baseMapper.selectJobNumber(personTypeKey); |
|
|
|
SysStaffinfo sysStaffinfo = baseMapper.selectJobNumber(); |
|
|
|
if (sysStaffinfo == null) { |
|
|
|
//无此员工类型的员工
|
|
|
|
jobNumber = addOne("0000"); |
|
|
|
} else { |
|
|
|
jobNumber = sysStaffinfo.getJobNumber().substring(sysStaffinfo.getJobNumber().length() - 4); |
|
|
|
jobNumber = sysStaffinfo.getJobNumber(); |
|
|
|
jobNumber = addOne(jobNumber); |
|
|
|
} |
|
|
|
//查询员工的手机号是否重复
|
|
|
@ -192,16 +195,16 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
return rb.setMsg("已存在身份证号为" + dto.getIdNo() + "的员工"); |
|
|
|
} |
|
|
|
//查询部门和岗位是否为空
|
|
|
|
if (dto.getSysStaffOrgDto() == null) { |
|
|
|
if (dto.getSysStaffOrg() == null) { |
|
|
|
return rb.setMsg("员工部门信息不能为空"); |
|
|
|
} |
|
|
|
if (dto.getSysStaffPostDto() == null) { |
|
|
|
if (dto.getSysStaffPost() == null) { |
|
|
|
return rb.setMsg("员工岗位信息不能为空"); |
|
|
|
} |
|
|
|
//添加员工基础信息
|
|
|
|
SysStaffinfo sysStaffinfo3 = new SysStaffinfo(); |
|
|
|
dto.fillEntity(sysStaffinfo3); |
|
|
|
sysStaffinfo3.setJobNumber(dto.getSysStaffOrgDto().getOrgCode() + dto.getSysStaffPostDto().getPostCode() + "_" + jobNumber); |
|
|
|
sysStaffinfo3.setJobNumber(jobNumber); |
|
|
|
sysStaffinfo3.setPinYinName(PinYinUtils.getPinYinName(dto.getName())); |
|
|
|
sysStaffinfo3.setFirstPinYinLabel(PinYinUtils.getCharDuoPinYinChar(dto.getName())); |
|
|
|
//是否意外险参保
|
|
|
@ -269,22 +272,28 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
sysStaffinfo3.setPhoto(sysStaffinfo3.getPhoto().replace(fileUploadComponent.getUrlPrefix(), "")); |
|
|
|
} |
|
|
|
} |
|
|
|
save(sysStaffinfo3); |
|
|
|
//添加用户信息
|
|
|
|
SysUser sysUser = new SysUser(); |
|
|
|
sysUser.setStaffSid(sysStaffinfo3.getSid()); |
|
|
|
sysUser.setUserName(jobNumber); |
|
|
|
sysUser.setMobile(sysStaffinfo3.getMobile()); |
|
|
|
boolean isSave = sysUserService.save(sysUser); |
|
|
|
//增加员工的关联的部门信息
|
|
|
|
SysStaffOrg sysStaffOrg = new SysStaffOrg(); |
|
|
|
SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrgDto(); |
|
|
|
SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrg(); |
|
|
|
if (StringUtils.isBlank(sysStaffOrgDto.getOrgName())){ |
|
|
|
return rb.setMsg("所在部门不能为空"); |
|
|
|
} |
|
|
|
sysStaffOrgDto.fillEntity(sysStaffOrg); |
|
|
|
sysStaffOrg.setStaffSid(sysStaffinfo3.getSid()); |
|
|
|
sysStaffOrgService.save(sysStaffOrg); |
|
|
|
//增加员工的关联的岗位信息
|
|
|
|
SysStaffPost sysStaffPost = new SysStaffPost(); |
|
|
|
SysStaffPostDto sysStaffPostDto = dto.getSysStaffPostDto(); |
|
|
|
SysStaffPostDto sysStaffPostDto = dto.getSysStaffPost(); |
|
|
|
if (StringUtils.isBlank(sysStaffPostDto.getPostSid())){ |
|
|
|
return rb.setMsg("岗位不能为空"); |
|
|
|
} |
|
|
|
save(sysStaffinfo3); |
|
|
|
//添加用户信息
|
|
|
|
SysUser sysUser = new SysUser(); |
|
|
|
sysUser.setStaffSid(sysStaffinfo3.getSid()); |
|
|
|
sysUser.setUserName(jobNumber); |
|
|
|
sysUser.setMobile(sysStaffinfo3.getMobile()); |
|
|
|
boolean isSave = sysUserService.save(sysUser); |
|
|
|
sysStaffPostDto.fillEntity(sysStaffPost); |
|
|
|
sysStaffPost.setStaffSid(sysStaffinfo3.getSid()); |
|
|
|
sysStaffPost.setStartDate(new Date()); |
|
|
@ -337,24 +346,6 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
if (sysStaffinfo == null) { |
|
|
|
return rb.setMsg("此员工信息不存在"); |
|
|
|
} |
|
|
|
//根据员工类型key查询最大员工编号
|
|
|
|
String jobNumber = ""; |
|
|
|
if (!sysStaffinfo.getPersonTypeKey().equals(dto.getPersonTypeKey())) { |
|
|
|
//员工类型
|
|
|
|
String personTypeKey = dto.getPersonTypeKey(); |
|
|
|
SysStaffinfo sysStaffinfo1 = baseMapper.selectJobNumber(personTypeKey); |
|
|
|
if (sysStaffinfo1 == null && "01".equals(personTypeKey)) { |
|
|
|
//无此员工类型的员工
|
|
|
|
jobNumber = addOne("9001"); |
|
|
|
} else if (sysStaffinfo1 == null && "02".equals(personTypeKey)) { |
|
|
|
jobNumber = addOne("0000"); |
|
|
|
} else { |
|
|
|
jobNumber = sysStaffinfo.getJobNumber().substring(sysStaffinfo.getJobNumber().length() - 4); |
|
|
|
jobNumber = addOne(jobNumber); |
|
|
|
} |
|
|
|
} else { |
|
|
|
jobNumber = sysStaffinfo.getJobNumber(); |
|
|
|
} |
|
|
|
//查询员工的手机号是否重复
|
|
|
|
SysStaffinfo sysStaffinfo2 = baseMapper.selectByMobileAndSid(dto.getMobile(), sid); |
|
|
|
if (sysStaffinfo2 != null) { |
|
|
@ -367,7 +358,7 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
} |
|
|
|
//更新员工基础信息
|
|
|
|
BeanUtil.copyProperties(dto, sysStaffinfo); |
|
|
|
sysStaffinfo.setJobNumber(dto.getSysStaffOrgDto().getOrgCode() + dto.getSysStaffPostDto().getPostCode() + "_" + jobNumber); |
|
|
|
sysStaffinfo.setJobNumber(dto.getJobNumber()); |
|
|
|
sysStaffinfo.setPinYinName(PinYinUtils.getPinYinName(dto.getName())); |
|
|
|
sysStaffinfo.setFirstPinYinLabel(PinYinUtils.getCharDuoPinYinChar(dto.getName())); |
|
|
|
//是否意外险参保
|
|
|
@ -429,17 +420,22 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
sysStaffinfo.setLeaveCertificate(sysStaffinfo.getLeaveCertificate().replace(fileUploadComponent.getUrlPrefix(), "")); |
|
|
|
} |
|
|
|
} |
|
|
|
//员工照片
|
|
|
|
if (StringUtils.isNotBlank(sysStaffinfo.getPhoto())) { |
|
|
|
if (sysStaffinfo.getPhoto().contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
sysStaffinfo.setPhoto(sysStaffinfo.getPhoto().replace(fileUploadComponent.getUrlPrefix(), "")); |
|
|
|
} |
|
|
|
} |
|
|
|
//更新用户信息
|
|
|
|
sysUserService.updateByStaffSid(jobNumber, sysStaffinfo.getMobile(), sid); |
|
|
|
sysUserService.updateByStaffSid(dto.getJobNumber(), sysStaffinfo.getMobile(), sid); |
|
|
|
//更新员工的关联的部门信息
|
|
|
|
SysOrganization sysOrganization = sysOrganizationService.selectByOrgCode(sysStaffinfo.getJobNumber().substring(0, 4)); |
|
|
|
SysStaffOrg sysStaffOrg = sysStaffOrgService.selectByStaffSid(sid, sysOrganization.getSid()); |
|
|
|
SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrgDto(); |
|
|
|
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(sid); |
|
|
|
SysStaffOrgDto sysStaffOrgDto = dto.getSysStaffOrg(); |
|
|
|
sysStaffOrgService.updateBySid(sysStaffOrgDto, sysStaffOrg.getSid()); |
|
|
|
//更新员工的关联的岗位信息
|
|
|
|
SysPost sysPost = sysPostService.selectByPostCode(sysStaffinfo.getJobNumber().substring(4, 6)); |
|
|
|
SysStaffPost sysStaffPost = sysStaffPostService.selectByStaffSid(sid, sysPost.getSid()); |
|
|
|
SysStaffPostDto sysStaffPostDto = dto.getSysStaffPostDto(); |
|
|
|
SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(sid); |
|
|
|
SysStaffPost sysStaffPost = sysStaffPostService.selectByStaffSid(sid, staffPostDetailsVo.getPostSid()); |
|
|
|
SysStaffPostDto sysStaffPostDto = dto.getSysStaffPost(); |
|
|
|
sysStaffPostService.updateBySid(sysStaffPostDto, sysStaffPost.getSid()); |
|
|
|
boolean isUpdate = updateById(sysStaffinfo); |
|
|
|
if (!isUpdate) { |
|
|
@ -458,14 +454,13 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
String path = fileUploadComponent.getUrlPrefix(); |
|
|
|
SysStaffinfoDetailsVo sysStaffinfoDetailsVo = baseMapper.selectDetailsBySid(sid, path); |
|
|
|
if (sysStaffinfoDetailsVo != null) { |
|
|
|
SysOrganization sysOrganization = sysOrganizationService.selectByOrgCode(sysStaffinfoDetailsVo.getJobNumber().substring(0, 4)); |
|
|
|
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(sid); |
|
|
|
//更新员工的关联的岗位信息
|
|
|
|
String jobNumber = sysStaffinfoDetailsVo.getJobNumber().substring(4, 6); |
|
|
|
SysPost sysPost = sysPostService.selectByPostCode(sysStaffinfoDetailsVo.getJobNumber().substring(4, 6)); |
|
|
|
SysStaffOrgDetailsVo sysStaffOrgDetailsVo = sysStaffOrgService.selectByStaff(sid, sysOrganization.getSid()); |
|
|
|
SysStaffPostDetailsVo sysStaffPostDetailsVo = sysStaffPostService.selectByStaff(sid, sysPost.getSid()); |
|
|
|
sysStaffinfoDetailsVo.setSysStaffOrgDetailsVo(sysStaffOrgDetailsVo); |
|
|
|
sysStaffinfoDetailsVo.setSysStaffPostDetailsVo(sysStaffPostDetailsVo); |
|
|
|
SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(sid); |
|
|
|
SysStaffOrgDetailsVo sysStaffOrgDetailsVo = sysStaffOrgService.selectByStaff(sid, sysStaffOrg.getOrgSid()); |
|
|
|
SysStaffPostDetailsVo sysStaffPostDetailsVo = sysStaffPostService.selectByStaff(sid, staffPostDetailsVo.getPostSid()); |
|
|
|
sysStaffinfoDetailsVo.setSysStaffOrg(sysStaffOrgDetailsVo); |
|
|
|
sysStaffinfoDetailsVo.setSysStaffPost(sysStaffPostDetailsVo); |
|
|
|
} |
|
|
|
return sysStaffinfoDetailsVo; |
|
|
|
} |
|
|
@ -481,20 +476,20 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper, |
|
|
|
//员工类型离职状态
|
|
|
|
String personTypeKey = "01"; |
|
|
|
String personType = "离职"; |
|
|
|
String jobNumber = ""; |
|
|
|
SysStaffinfo sysStaffinfo = baseMapper.selectJobNumber(personTypeKey); |
|
|
|
if (sysStaffinfo == null) { |
|
|
|
//String jobNumber = "";
|
|
|
|
//SysStaffinfo sysStaffinfo = baseMapper.selectJobNumber(personTypeKey);
|
|
|
|
/* if (sysStaffinfo == null) { |
|
|
|
//无此员工类型的员工
|
|
|
|
jobNumber = addOne("9000"); |
|
|
|
} else { |
|
|
|
jobNumber = sysStaffinfo.getJobNumber().substring(sysStaffinfo.getJobNumber().length() - 4); |
|
|
|
jobNumber = sysStaffinfo.getJobNumber(); |
|
|
|
jobNumber = addOne(jobNumber); |
|
|
|
} |
|
|
|
jobNumber = sysStaffinfo.getJobNumber().substring(0, 6) + jobNumber; |
|
|
|
jobNumber = sysStaffinfo.getJobNumber();*/ |
|
|
|
//更新员工的员工状态以及员工工号
|
|
|
|
int j = baseMapper.updateBySid(personType, personTypeKey, jobNumber, sysStaffQuery.getSid(), sysStaffQuery.getQuitDate(), sysStaffQuery.getQuitReason()); |
|
|
|
int j = baseMapper.updateBySid(personType, personTypeKey, sysStaffQuery.getSid(), sysStaffQuery.getQuitDate(), sysStaffQuery.getQuitReason()); |
|
|
|
//更新用户表中该员工的员工工号
|
|
|
|
sysUserService.updateByStaSid(jobNumber, sysStaffQuery.getSid()); |
|
|
|
//sysUserService.updateByStaSid(jobNumber, sysStaffQuery.getSid());
|
|
|
|
if (j > 0) { |
|
|
|
count++; |
|
|
|
} |
|
|
|