bug fix
parent
32b586d13d
commit
23fa4f5963
|
|
@ -1,5 +1,6 @@
|
|||
package org.qinan.safetyeval.app.executor;
|
||||
|
||||
import cn.hutool.core.util.IdcardUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
|
@ -51,6 +52,8 @@ import org.springframework.util.StringUtils;
|
|||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -124,6 +127,8 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<OrgPersonnelCO> add(OrgPersonnelAddCmd cmd) {
|
||||
cmd.setBirthDate(IdcardUtil.getBirthDate(cmd.getIdCardNo()).toLocalDateTime().toLocalDate());
|
||||
cmd.setJoinWorkDate(resolveJoinWorkDate(cmd.getWorkDateAge(), cmd.getJoinWorkDate()));
|
||||
OrgPersonnelEntity entity = orgPersonnelConvertor.toEntity(cmd);
|
||||
OrgPersonnelEntity result = orgPersonnelDomainService.add(entity);
|
||||
// 组织信息变更,清理该用户机构缓存
|
||||
|
|
@ -162,6 +167,7 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
|||
public SingleResponse<OrgPersonnelCO> get(Long id) {
|
||||
OrgPersonnelEntity entity = orgPersonnelDomainService.get(id);
|
||||
OrgPersonnelCO co = orgPersonnelConvertor.toCO(entity);
|
||||
fillWorkDateAge(co);
|
||||
enrich(co);
|
||||
fillCerts(co, id);
|
||||
return SingleResponse.success(co);
|
||||
|
|
@ -171,6 +177,8 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<OrgPersonnelCO> modify(OrgPersonnelModifyCmd cmd) {
|
||||
OrgPersonnelEntity existing = orgPersonnelDomainService.get(cmd.getId());
|
||||
cmd.setBirthDate(IdcardUtil.getBirthDate(cmd.getIdCardNo()).toLocalDateTime().toLocalDate());
|
||||
cmd.setJoinWorkDate(resolveJoinWorkDate(cmd.getWorkDateAge(), cmd.getJoinWorkDate()));
|
||||
OrgPersonnelEntity entity = orgPersonnelConvertor.toEntity(cmd);
|
||||
entity.setId(cmd.getId());
|
||||
OrgPersonnelEntity result = orgPersonnelDomainService.modify(entity);
|
||||
|
|
@ -337,6 +345,26 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增/修改时根据本行业工作年龄换算参加工作日期:joinWorkDate = 当前时间 - workDateAge
|
||||
*/
|
||||
private LocalDate resolveJoinWorkDate(Integer workDateAge, LocalDate joinWorkDate) {
|
||||
if (workDateAge != null) {
|
||||
return LocalDate.now().minusYears(workDateAge);
|
||||
}
|
||||
return joinWorkDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询返回时根据参加工作日期换算本行业工作年龄:workDateAge = 当前时间 - joinWorkDate
|
||||
*/
|
||||
private void fillWorkDateAge(OrgPersonnelCO co) {
|
||||
if (co == null || co.getJoinWorkDate() == null) {
|
||||
return;
|
||||
}
|
||||
co.setWorkDateAge((int) ChronoUnit.YEARS.between(co.getJoinWorkDate(), LocalDate.now()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存人员内嵌的注安证书和评价师证书
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -40,6 +40,9 @@ public class OrgPersonnelCO {
|
|||
@ApiModelProperty(value = "出生日期")
|
||||
private LocalDate birthDate;
|
||||
|
||||
@ApiModelProperty(value = "本行业工作年龄")
|
||||
private Integer workDateAge;
|
||||
|
||||
@ApiModelProperty(value = "参加工作日期")
|
||||
private LocalDate joinWorkDate;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import lombok.Data;
|
|||
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
|
||||
import org.qinan.safetyeval.domain.entity.TitleCodeCo;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.time.LocalDate;
|
||||
|
|
@ -37,12 +39,17 @@ public class OrgPersonnelAddCmd {
|
|||
@ApiModelProperty(value = "出生日期")
|
||||
private LocalDate birthDate;
|
||||
|
||||
@ApiModelProperty(value = "本行业工作年龄")
|
||||
@NotNull(message = "本行业工作年龄 不能为空")
|
||||
private Integer workDateAge;
|
||||
|
||||
@ApiModelProperty(value = "参加工作日期")
|
||||
private LocalDate joinWorkDate;
|
||||
|
||||
@Pattern(regexp = "^\\d{17}[\\dXx]$", message = "身份证号格式不正确")
|
||||
@Size(max = 18, message = "身份证号长度不能超过18个字符")
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
@NotBlank(message = "身份证号不能为空")
|
||||
private String idCardNo;
|
||||
|
||||
@Size(max = 500, message = "现住地址长度不能超过500个字符")
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
package org.qinan.safetyeval.client.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import javax.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
|
||||
import org.qinan.safetyeval.domain.entity.TitleCodeCo;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 人员信息修改命令
|
||||
*
|
||||
|
|
@ -39,12 +41,16 @@ public class OrgPersonnelModifyCmd {
|
|||
@ApiModelProperty(value = "出生日期")
|
||||
private LocalDate birthDate;
|
||||
|
||||
@ApiModelProperty(value = "本行业工作年龄")
|
||||
private Integer workDateAge;
|
||||
|
||||
@ApiModelProperty(value = "参加工作日期")
|
||||
private LocalDate joinWorkDate;
|
||||
|
||||
@Pattern(regexp = "^\\d{17}[\\dXx]$", message = "身份证号格式不正确")
|
||||
@Size(max = 18, message = "身份证号长度不能超过18个字符")
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
@NotBlank(message = "身份证号不能为空")
|
||||
private String idCardNo;
|
||||
|
||||
@Size(max = 500, message = "现住地址长度不能超过500个字符")
|
||||
|
|
|
|||
Loading…
Reference in New Issue