|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.zjugis.framework.common.pojo.CommonResult;
|
|
|
import com.zjugis.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import com.zjugis.module.adm.api.staff.dto.StaffRecordsDTO;
|
|
|
+import com.zjugis.module.adm.api.staff.dto.StaffReportDTO;
|
|
|
import com.zjugis.module.adm.api.staff.dto.StaffStateDTO;
|
|
|
import com.zjugis.module.adm.controller.admin.certificate.vo.CertDetailVO;
|
|
|
import com.zjugis.module.adm.controller.admin.staff.vo.records.RecordsPageReqVO;
|
|
@@ -168,7 +169,7 @@ public class RecordsServiceImpl implements RecordsService {
|
|
|
}
|
|
|
|
|
|
//亲属查询
|
|
|
- List<StaffFamilyDetailDO> family = familyDOMapper.selectList(new LambdaQueryWrapperX<StaffFamilyDetailDO>().eq(StaffFamilyDetailDO::getUserId,userId));
|
|
|
+ List<StaffFamilyDetailDO> family = familyDOMapper.selectList(new LambdaQueryWrapperX<StaffFamilyDetailDO>().eq(StaffFamilyDetailDO::getUserId, userId));
|
|
|
if (CollectionUtil.isNotEmpty(family)) {
|
|
|
vo.setFamilyList(family);
|
|
|
}
|
|
@@ -408,10 +409,10 @@ public class RecordsServiceImpl implements RecordsService {
|
|
|
|
|
|
@Override
|
|
|
public Integer updateContract(StaffRecordsDTO dto) {
|
|
|
- if(StrUtil.isEmpty(dto.getUserId())){
|
|
|
+ if (StrUtil.isEmpty(dto.getUserId())) {
|
|
|
throw exception(STAFF_NOT_EXISTS);
|
|
|
}
|
|
|
- StaffRecordSDO staffRecordSDO= recordsMapper.selectOne(new LambdaQueryWrapperX<StaffRecordSDO>().eq(StaffRecordSDO::getUserId, dto.getUserId()));
|
|
|
+ StaffRecordSDO staffRecordSDO = recordsMapper.selectOne(new LambdaQueryWrapperX<StaffRecordSDO>().eq(StaffRecordSDO::getUserId, dto.getUserId()));
|
|
|
if (staffRecordSDO == null) {
|
|
|
throw exception(STAFF_NOT_EXISTS);
|
|
|
}
|
|
@@ -424,6 +425,63 @@ public class RecordsServiceImpl implements RecordsService {
|
|
|
return recordsMapper.updateById(staffRecordSDO);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public String report(StaffReportDTO dto) {
|
|
|
+ StaffRecordSDO staffRecordSDO = new StaffRecordSDO();
|
|
|
+ if (StrUtil.isNotEmpty(dto.getUserId())) {
|
|
|
+ validExistsByUserId(dto.getUserId());
|
|
|
+ StaffRecordSDO ex = recordsMapper.selectOne(new LambdaQueryWrapperX<StaffRecordSDO>().eq(StaffRecordSDO::getUserId, dto.getUserId()));
|
|
|
+ if (ex == null) {
|
|
|
+ throw exception(STAFF_NOT_EXISTS);
|
|
|
+ }
|
|
|
+ staffRecordSDO = ex;
|
|
|
+ staffRecordSDO.setMobilePhone(dto.getMobile());
|
|
|
+ staffRecordSDO.setDeptId(dto.getDeptId());
|
|
|
+ staffRecordSDO.setDeptName(dto.getDeptName());
|
|
|
+ staffRecordSDO.setDrzw(dto.getYpgw());
|
|
|
+ staffRecordSDO.setNldj(dto.getDjcd());
|
|
|
+ staffRecordSDO.setRgssj(dto.getBdrq());
|
|
|
+ staffRecordSDO.setNl(LocalDateTime.now().getYear() - dto.getBirthday().getYear());
|
|
|
+ staffRecordSDO.setCardid(dto.getSfzh());
|
|
|
+ staffRecordSDO.setState("2");
|
|
|
+ recordsMapper.updateById(staffRecordSDO);
|
|
|
+ } else {
|
|
|
+ //生成员工工号
|
|
|
+ String loginName = generateNum();
|
|
|
+ staffRecordSDO.setId(loginName);
|
|
|
+ staffRecordSDO.setUserId(UUID.randomUUID().toString());
|
|
|
+ staffRecordSDO.setDeleted(false);
|
|
|
+ staffRecordSDO.setDeptId(dto.getDeptId());
|
|
|
+ staffRecordSDO.setDeptName(dto.getDeptName());
|
|
|
+ staffRecordSDO.setNickname(dto.getNickname());
|
|
|
+ staffRecordSDO.setDrzw(dto.getYpgw());
|
|
|
+ staffRecordSDO.setNldj(dto.getDjcd());
|
|
|
+ staffRecordSDO.setRgssj(dto.getBdrq());
|
|
|
+ staffRecordSDO.setLoginName(loginName);
|
|
|
+ staffRecordSDO.setSex(String.valueOf(dto.getSex()));
|
|
|
+ staffRecordSDO.setBirthday(dto.getBirthday());
|
|
|
+ staffRecordSDO.setMobilePhone(dto.getMobile());
|
|
|
+ staffRecordSDO.setCardid(dto.getSfzh());
|
|
|
+
|
|
|
+ //计算年龄
|
|
|
+ if (staffRecordSDO.getBirthday() != null) {
|
|
|
+ Integer birthYear = staffRecordSDO.getBirthday().getYear();
|
|
|
+ Integer nowYear = LocalDateTime.now().getYear();
|
|
|
+ staffRecordSDO.setNl(nowYear - birthYear);
|
|
|
+ }
|
|
|
+ recordsMapper.insert(staffRecordSDO);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //新建员工账号以及其相关的关系 如果账号已经存在就开启账号的使用状态 以及修改其相关的权限和部门关系
|
|
|
+ UserBaseDTO user = initUser(staffRecordSDO);
|
|
|
+ CommonResult<String> result = userApi.createUser(user);
|
|
|
+ if (result.getCode() != 0) {
|
|
|
+ throw new RuntimeException(result.getMsg());
|
|
|
+ }
|
|
|
+ return result.getCheckedData();
|
|
|
+ }
|
|
|
+
|
|
|
private UserBaseDTO initUser(StaffRecordSDO staffRecordSDO) {
|
|
|
UserBaseDTO dto = new UserBaseDTO();
|
|
|
dto.setUsername(staffRecordSDO.getLoginName());
|