新增获取当前登录用户入职和转正时间的API和相关服务。
This commit is contained in:
parent
903192ce68
commit
b5a3bcac50
@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.SigningDateRespVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
@ -21,9 +22,12 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
|
||||
@Tag(name = "管理后台 - 劳动合同管理")
|
||||
@RestController
|
||||
@ -101,4 +105,21 @@ public class LaborContractController {
|
||||
|
||||
return success(laborContractService.getLaborContractPage(pageReqVO));
|
||||
}
|
||||
|
||||
@GetMapping("/getSigningDate")
|
||||
@Operation(summary = "获得当前登录用户的入职时间和转正时间")
|
||||
@PreAuthorize("@ss.hasPermission('system:labor-contract:query')")
|
||||
public CommonResult<SigningDateRespVO> getSigningDate() {
|
||||
|
||||
LaborContractDO contractDO = laborContractService.getSigningDate(getLoginUserId());
|
||||
if (contractDO == null) {
|
||||
return success(new SigningDateRespVO());
|
||||
}
|
||||
|
||||
SigningDateRespVO respVO = BeanUtils.toBean(contractDO, SigningDateRespVO.class);
|
||||
// 设置转正日期
|
||||
LocalDate regularDate = contractDO.getSigningDate().plusMonths(contractDO.getProbationPeriodTime());
|
||||
respVO.setRegularDate(regularDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
return success(respVO);
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
||||
|
||||
@Schema(description = "管理后台 - 劳动合同管理 Response VO")
|
||||
@Data
|
||||
public class SigningDateRespVO {
|
||||
|
||||
@Schema(description = "签约日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||
private String signingDate;
|
||||
|
||||
@Schema(description = "转正日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||
private String regularDate;
|
||||
}
|
@ -9,9 +9,12 @@ import lombok.Data;
|
||||
@Data
|
||||
public class UploadFile {
|
||||
|
||||
@Schema(description = "文件管理 fileId", requiredMode = Schema.RequiredMode.REQUIRED, example = "123.jpg")
|
||||
@Schema(description = "文件管理 fileId", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private String fileId;
|
||||
|
||||
@Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "123.jpg")
|
||||
private String fileName;
|
||||
|
||||
@Schema(description = "文件URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "http://xxx.xxx/xx/xx/123.jpgss")
|
||||
private String url;
|
||||
|
||||
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.SigningDateRespVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -83,5 +84,10 @@ public interface LaborContractService {
|
||||
*/
|
||||
List<LaborContractDO> getListByEndTime(LocalDate now);
|
||||
|
||||
|
||||
/**
|
||||
* 获得当前登录用户的入职时间和转正时间
|
||||
* @param userId 用户编号
|
||||
* @return 日期
|
||||
*/
|
||||
LaborContractDO getSigningDate(Long userId);
|
||||
}
|
@ -1,11 +1,13 @@
|
||||
package cn.iocoder.yudao.module.system.service.laborcontract;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.SigningDateRespVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.laborcontract.LaborContractMapper;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
|
||||
@ -118,4 +120,15 @@ public class LaborContractServiceImpl implements LaborContractService {
|
||||
.lt(LaborContractDO::getExpirationDate, now)
|
||||
.eq(LaborContractDO::getStatus, 3));
|
||||
}
|
||||
|
||||
@Override
|
||||
public LaborContractDO getSigningDate(Long userId) {
|
||||
|
||||
List<LaborContractDO> list = laborContractMapper.selectList(new LambdaQueryWrapperX<LaborContractDO>()
|
||||
.eq(LaborContractDO::getUserId, userId)
|
||||
.isNotNull(LaborContractDO::getProbationPeriodTime)
|
||||
.orderByDesc(LaborContractDO::getCreateTime));
|
||||
|
||||
return CollectionUtil.isEmpty(list) ? null : list.get(0);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user