bug fix
parent
32b586d13d
commit
23fa4f5963
|
|
@ -1,5 +1,6 @@
|
||||||
package org.qinan.safetyeval.app.executor;
|
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.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
@ -51,6 +52,8 @@ import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -124,6 +127,8 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public SingleResponse<OrgPersonnelCO> add(OrgPersonnelAddCmd cmd) {
|
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 entity = orgPersonnelConvertor.toEntity(cmd);
|
||||||
OrgPersonnelEntity result = orgPersonnelDomainService.add(entity);
|
OrgPersonnelEntity result = orgPersonnelDomainService.add(entity);
|
||||||
// 组织信息变更,清理该用户机构缓存
|
// 组织信息变更,清理该用户机构缓存
|
||||||
|
|
@ -162,6 +167,7 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
||||||
public SingleResponse<OrgPersonnelCO> get(Long id) {
|
public SingleResponse<OrgPersonnelCO> get(Long id) {
|
||||||
OrgPersonnelEntity entity = orgPersonnelDomainService.get(id);
|
OrgPersonnelEntity entity = orgPersonnelDomainService.get(id);
|
||||||
OrgPersonnelCO co = orgPersonnelConvertor.toCO(entity);
|
OrgPersonnelCO co = orgPersonnelConvertor.toCO(entity);
|
||||||
|
fillWorkDateAge(co);
|
||||||
enrich(co);
|
enrich(co);
|
||||||
fillCerts(co, id);
|
fillCerts(co, id);
|
||||||
return SingleResponse.success(co);
|
return SingleResponse.success(co);
|
||||||
|
|
@ -171,6 +177,8 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public SingleResponse<OrgPersonnelCO> modify(OrgPersonnelModifyCmd cmd) {
|
public SingleResponse<OrgPersonnelCO> modify(OrgPersonnelModifyCmd cmd) {
|
||||||
OrgPersonnelEntity existing = orgPersonnelDomainService.get(cmd.getId());
|
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);
|
OrgPersonnelEntity entity = orgPersonnelConvertor.toEntity(cmd);
|
||||||
entity.setId(cmd.getId());
|
entity.setId(cmd.getId());
|
||||||
OrgPersonnelEntity result = orgPersonnelDomainService.modify(entity);
|
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 = "出生日期")
|
@ApiModelProperty(value = "出生日期")
|
||||||
private LocalDate birthDate;
|
private LocalDate birthDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "本行业工作年龄")
|
||||||
|
private Integer workDateAge;
|
||||||
|
|
||||||
@ApiModelProperty(value = "参加工作日期")
|
@ApiModelProperty(value = "参加工作日期")
|
||||||
private LocalDate joinWorkDate;
|
private LocalDate joinWorkDate;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import lombok.Data;
|
||||||
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
|
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
|
||||||
import org.qinan.safetyeval.domain.entity.TitleCodeCo;
|
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.Pattern;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
@ -37,12 +39,17 @@ public class OrgPersonnelAddCmd {
|
||||||
@ApiModelProperty(value = "出生日期")
|
@ApiModelProperty(value = "出生日期")
|
||||||
private LocalDate birthDate;
|
private LocalDate birthDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "本行业工作年龄")
|
||||||
|
@NotNull(message = "本行业工作年龄 不能为空")
|
||||||
|
private Integer workDateAge;
|
||||||
|
|
||||||
@ApiModelProperty(value = "参加工作日期")
|
@ApiModelProperty(value = "参加工作日期")
|
||||||
private LocalDate joinWorkDate;
|
private LocalDate joinWorkDate;
|
||||||
|
|
||||||
@Pattern(regexp = "^\\d{17}[\\dXx]$", message = "身份证号格式不正确")
|
@Pattern(regexp = "^\\d{17}[\\dXx]$", message = "身份证号格式不正确")
|
||||||
@Size(max = 18, message = "身份证号长度不能超过18个字符")
|
@Size(max = 18, message = "身份证号长度不能超过18个字符")
|
||||||
@ApiModelProperty(value = "身份证号")
|
@ApiModelProperty(value = "身份证号")
|
||||||
|
@NotBlank(message = "身份证号不能为空")
|
||||||
private String idCardNo;
|
private String idCardNo;
|
||||||
|
|
||||||
@Size(max = 500, message = "现住地址长度不能超过500个字符")
|
@Size(max = 500, message = "现住地址长度不能超过500个字符")
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
package org.qinan.safetyeval.client.dto;
|
package org.qinan.safetyeval.client.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
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 lombok.Data;
|
||||||
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
|
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
|
||||||
import org.qinan.safetyeval.domain.entity.TitleCodeCo;
|
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 = "出生日期")
|
@ApiModelProperty(value = "出生日期")
|
||||||
private LocalDate birthDate;
|
private LocalDate birthDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "本行业工作年龄")
|
||||||
|
private Integer workDateAge;
|
||||||
|
|
||||||
@ApiModelProperty(value = "参加工作日期")
|
@ApiModelProperty(value = "参加工作日期")
|
||||||
private LocalDate joinWorkDate;
|
private LocalDate joinWorkDate;
|
||||||
|
|
||||||
@Pattern(regexp = "^\\d{17}[\\dXx]$", message = "身份证号格式不正确")
|
@Pattern(regexp = "^\\d{17}[\\dXx]$", message = "身份证号格式不正确")
|
||||||
@Size(max = 18, message = "身份证号长度不能超过18个字符")
|
@Size(max = 18, message = "身份证号长度不能超过18个字符")
|
||||||
@ApiModelProperty(value = "身份证号")
|
@ApiModelProperty(value = "身份证号")
|
||||||
|
@NotBlank(message = "身份证号不能为空")
|
||||||
private String idCardNo;
|
private String idCardNo;
|
||||||
|
|
||||||
@Size(max = 500, message = "现住地址长度不能超过500个字符")
|
@Size(max = 500, message = "现住地址长度不能超过500个字符")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue