Merge branch 'dev' of http://git.znkjfw.com/ak/zn-cloud into dev
This commit is contained in:
commit
b68eba4949
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.evection.BpmOAEvectionCreateReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.evection.BpmOAEvectionRespVO;
|
||||
@ -16,8 +17,10 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
|
||||
/**
|
||||
@ -54,9 +57,9 @@ public class BpmOAEvectionController {
|
||||
|
||||
BpmOAEvectionRespVO respVO = BpmOAEvectionConvert.INSTANCE.convert(evection);
|
||||
|
||||
if (evection.getTogetherUserId() != null) {
|
||||
AdminUserRespDTO userRespDTO = userApi.getUser(evection.getTogetherUserId()).getCheckedData();
|
||||
respVO.setTogetherUserName(userRespDTO.getNickname());
|
||||
if (CollectionUtil.isNotEmpty(evection.getTogetherUserIds())) {
|
||||
List<AdminUserRespDTO> userRespDTOs = userApi.getUserList(respVO.getTogetherUserIds()).getCheckedData();
|
||||
respVO.setTogetherUserName(String.join("、", convertList(userRespDTOs, AdminUserRespDTO::getNickname)));
|
||||
}
|
||||
|
||||
return success(respVO);
|
||||
@ -71,9 +74,9 @@ public class BpmOAEvectionController {
|
||||
|
||||
BpmOAEvectionRespVO respVO = BpmOAEvectionConvert.INSTANCE.convert(evection);
|
||||
|
||||
if (evection.getTogetherUserId() != null) {
|
||||
AdminUserRespDTO userRespDTO = userApi.getUser(evection.getTogetherUserId()).getCheckedData();
|
||||
respVO.setTogetherUserName(userRespDTO.getNickname());
|
||||
if (CollectionUtil.isNotEmpty(evection.getTogetherUserIds())) {
|
||||
List<AdminUserRespDTO> userRespDTOs = userApi.getUserList(evection.getTogetherUserIds()).getCheckedData();
|
||||
respVO.setTogetherUserName(String.join("、", convertList(userRespDTOs, AdminUserRespDTO::getNickname)));
|
||||
}
|
||||
|
||||
return success(respVO);
|
||||
|
@ -42,6 +42,10 @@ public class BpmOASalaryController {
|
||||
@Operation(summary = "创建请求申请")
|
||||
public CommonResult<Long> createSalary(@Valid @RequestBody BpmOASalaryCreateReqVO createReqVO) {
|
||||
|
||||
if (createReqVO.getFactoryId() != null) {
|
||||
DeptRespDTO dto = deptApi.getDeptByFactoryId(createReqVO.getFactoryId()).getCheckedData();
|
||||
createReqVO.setCompanyDeptId(dto.getId());
|
||||
}
|
||||
return success(salaryService.createSalary(getLoginUserId(), createReqVO));
|
||||
}
|
||||
|
||||
@ -51,9 +55,18 @@ public class BpmOASalaryController {
|
||||
public CommonResult<BpmOASalaryRespVO> getSalary(@RequestParam("id") Long id) {
|
||||
|
||||
BpmOASalaryDO salary = salaryService.getSalary(id);
|
||||
if (salary == null) {
|
||||
return success(new BpmOASalaryRespVO());
|
||||
}
|
||||
|
||||
return success(BpmOASalaryConvert.INSTANCE.convert(salary)
|
||||
.setCompanyName(getDept(salary.getCompanyDeptId()).getName()));
|
||||
// 获取部门详情
|
||||
DeptRespDTO dto = getDept(salary.getCompanyDeptId());
|
||||
|
||||
BpmOASalaryRespVO respVO = BpmOASalaryConvert.INSTANCE.convert(salary)
|
||||
.setCompanyName(dto.getName())
|
||||
.setFactoryId(dto.getFactoryId());
|
||||
|
||||
return success(respVO);
|
||||
}
|
||||
|
||||
@GetMapping("/getByProcessInstanceId")
|
||||
@ -63,8 +76,14 @@ public class BpmOASalaryController {
|
||||
|
||||
BpmOASalaryDO salary = salaryService.getByProcessInstanceId(processInstanceId);
|
||||
|
||||
return success(BpmOASalaryConvert.INSTANCE.convert(salary)
|
||||
.setCompanyName(getDept(salary.getCompanyDeptId()).getName()));
|
||||
// 获取部门详情
|
||||
DeptRespDTO dto = getDept(salary.getCompanyDeptId());
|
||||
|
||||
BpmOASalaryRespVO respVO = BpmOASalaryConvert.INSTANCE.convert(salary)
|
||||
.setCompanyName(dto.getName())
|
||||
.setFactoryId(dto.getFactoryId());
|
||||
|
||||
return success(respVO);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -11,6 +11,7 @@ import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@ -30,7 +31,7 @@ public class BpmOAEvectionCreateReqVO {
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "随行人用户编号")
|
||||
private Long togetherUserId;
|
||||
private Set<Long> togetherUserIds;
|
||||
|
||||
@Schema(description = "出差起点", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "出差起点不能为空")
|
||||
|
@ -12,6 +12,7 @@ import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@ -29,7 +30,7 @@ public class BpmOAEvectionRespVO extends BpmOABaseRespVO {
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "随行人用户编号")
|
||||
private Long togetherUserId;
|
||||
private Set<Long> togetherUserIds;
|
||||
|
||||
@Schema(description = "随行人用户名称")
|
||||
private String togetherUserName;
|
||||
|
@ -37,6 +37,10 @@ public class BpmOARegularCreateReqVO {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||
private LocalDate confirmationDate;
|
||||
|
||||
@Schema(description = "期望转正时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||
private LocalDate desireDate;
|
||||
|
||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
||||
private String notes;
|
||||
|
||||
|
@ -36,6 +36,10 @@ public class BpmOARegularRespVO extends BpmOABaseRespVO {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||
private LocalDate confirmationDate;
|
||||
|
||||
@Schema(description = "期望转正时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
||||
private LocalDate desireDate;
|
||||
|
||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
||||
private String notes;
|
||||
|
||||
|
@ -5,15 +5,11 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
||||
|
||||
/**
|
||||
* 薪资付款申请 创建 Request VO
|
||||
*
|
||||
@ -29,10 +25,12 @@ public class BpmOASalaryCreateReqVO {
|
||||
@NotNull(message = "申请原因不能为空")
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "付款公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "付款公司不能为空")
|
||||
@Schema(description = "付款公司")
|
||||
private Long companyDeptId;
|
||||
|
||||
@Schema(description = "付款工厂编号")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "付款总额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "付款总额不能为空")
|
||||
private BigDecimal paymentTotal;
|
||||
|
@ -6,15 +6,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
||||
|
||||
/**
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@ -33,6 +28,9 @@ public class BpmOASalaryRespVO extends BpmOABaseRespVO {
|
||||
@Schema(description = "付款公司名称")
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "付款工厂")
|
||||
private Long FactoryId;
|
||||
|
||||
@Schema(description = "付款总额")
|
||||
private BigDecimal paymentTotal;
|
||||
|
||||
|
@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
|
||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@ -12,6 +13,7 @@ import lombok.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* OA 出差申请 DO
|
||||
@ -48,9 +50,10 @@ public class BpmOAEvectionDO extends BaseDO {
|
||||
private String reason;
|
||||
|
||||
/**
|
||||
* 随行人用户编号
|
||||
* 随行人用户编号组
|
||||
*/
|
||||
private Long togetherUserId;
|
||||
@TableField(typeHandler = JsonLongSetTypeHandler.class)
|
||||
private Set<Long> togetherUserIds;
|
||||
|
||||
/**
|
||||
* 出差地点 起点
|
||||
|
@ -36,7 +36,6 @@ public class BpmOARegularDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 申请人的用户编号
|
||||
*
|
||||
* 关联 AdminUserDO 的 id 属性
|
||||
*/
|
||||
private Long userId;
|
||||
@ -56,13 +55,18 @@ public class BpmOARegularDO extends BaseDO {
|
||||
*/
|
||||
private LocalDate confirmationDate;
|
||||
|
||||
/**
|
||||
* 期望转正时间
|
||||
*/
|
||||
private LocalDate desireDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String notes;
|
||||
|
||||
/**
|
||||
* 出差的结果
|
||||
* 结果
|
||||
*
|
||||
* 枚举 {@link BpmProcessInstanceResultEnum}
|
||||
* 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈
|
||||
|
@ -53,8 +53,8 @@ public interface DeptApi {
|
||||
CommonResult<Long> createDept(@RequestBody DeptRespDTO deptRespDTO);
|
||||
|
||||
@PostMapping(PREFIX + "/update")
|
||||
@Operation(summary = "修改部门信息")
|
||||
void updateDept(@RequestBody DeptRespDTO deptRespDTO);
|
||||
@Operation(summary = "修改工厂部门信息")
|
||||
void updateFactoryDept(@RequestBody DeptRespDTO deptRespDTO);
|
||||
|
||||
@PostMapping(PREFIX + "/delete")
|
||||
@Operation(summary = "删除部门信息")
|
||||
|
@ -53,6 +53,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode DEPT_EXISTS_USER = new ErrorCode(1_002_004_005, "部门中存在员工,无法删除");
|
||||
ErrorCode DEPT_NOT_ENABLE = new ErrorCode(1_002_004_006, "部门({})不处于开启状态,不允许选择");
|
||||
ErrorCode DEPT_PARENT_IS_CHILD = new ErrorCode(1_002_004_007, "不能设置自己的子部门为父部门");
|
||||
ErrorCode FACTORY_DEPT_NOT_FOUND = new ErrorCode(1_002_004_008, "当前工厂没有对应部门");
|
||||
|
||||
// ========== 职称模块 1-002-005-000 ==========
|
||||
ErrorCode POST_NOT_FOUND = new ErrorCode(1_002_005_000, "当前职称不存在");
|
||||
|
@ -75,18 +75,10 @@ public class DeptApiImpl implements DeptApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDept(DeptRespDTO deptRespDTO) {
|
||||
public void updateFactoryDept(DeptRespDTO deptRespDTO) {
|
||||
|
||||
DeptDO deptDO = deptService.getDeptByFactoryId(deptRespDTO.getFactoryId());
|
||||
|
||||
if (deptDO != null) {
|
||||
|
||||
DeptSaveReqVO deptSaveReqVO = BeanUtils.toBean(deptDO, DeptSaveReqVO.class);
|
||||
deptSaveReqVO.setLeaderUserId(deptRespDTO.getLeaderUserId());
|
||||
deptSaveReqVO.setName(deptRespDTO.getName());
|
||||
|
||||
deptService.updateDept(deptSaveReqVO);
|
||||
}
|
||||
DeptSaveReqVO deptSaveReqVO = BeanUtils.toBean(deptRespDTO, DeptSaveReqVO.class);
|
||||
deptService.updateFactoryDept(deptSaveReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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;
|
||||
|
||||
|
@ -136,7 +136,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
" contract_duration AS contractDuration,\n" +
|
||||
" probation_period_time AS probationPeriodTime,\n" +
|
||||
" status,\n" +
|
||||
" create_time AS createTime,\n" +
|
||||
" create_time AS createTime\n" +
|
||||
" FROM\n" +
|
||||
" system_labor_contract lc\n" +
|
||||
" INNER JOIN (SELECT\n" +
|
||||
|
@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.system.dal.mysql.worklog;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
||||
import cn.iocoder.yudao.framework.datapermission.core.aop.DataPermissionContextHolder;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
|
||||
@ -65,8 +64,8 @@ public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
|
||||
.eq(LogReadDo::getLogInstanceId, LogInstanceDO::getId)
|
||||
.eq(LogReadDo::getReadUserId, userId)
|
||||
.eq(LogReadDo::getDeleted, 0));
|
||||
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS readCount FROM work_log_read where read_status = 1 GROUP BY log_instance_id) c on t.id = c.log_instance_id");
|
||||
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS unReadCount FROM work_log_read where read_status = 0 GROUP BY log_instance_id) AS d ON t.id = d.log_instance_id");
|
||||
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS readCount FROM work_log_read where read_status = 1 and deleted = 0 GROUP BY log_instance_id) c on t.id = c.log_instance_id");
|
||||
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS unReadCount FROM work_log_read where read_status = 0 and deleted = 0 GROUP BY log_instance_id) AS d ON t.id = d.log_instance_id");
|
||||
queryWrapper.leftJoin("(SELECT work_log_id, COUNT(work_log_id) AS comment FROM work_log_comment GROUP BY work_log_id) AS b ON t.id = b.work_log_id");
|
||||
queryWrapper.eqIfPresent(LogInstanceDO::getDeptId, reqVO.getDeptId());
|
||||
queryWrapper.eqIfPresent(LogInstanceDO::getFormId, reqVO.getFormId());
|
||||
|
@ -30,6 +30,12 @@ public interface DeptService {
|
||||
*/
|
||||
void updateDept(DeptSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 更新工厂部门
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateFactoryDept(DeptSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除部门
|
||||
*
|
||||
|
@ -128,6 +128,17 @@ public class DeptServiceImpl implements DeptService {
|
||||
deptMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFactoryDept(DeptSaveReqVO updateReqVO) {
|
||||
|
||||
// 校验自己存在
|
||||
validateFactoryDeptExists(updateReqVO.getFactoryId());
|
||||
|
||||
DeptDO update = BeanUtils.toBean(updateReqVO, DeptDO.class);
|
||||
deptMapper.update(update, new LambdaQueryWrapperX<DeptDO>()
|
||||
.eq(DeptDO::getFactoryId, updateReqVO.getFactoryId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@CacheEvict(cacheNames = RedisKeyConstants.DEPT_CHILDREN_ID_LIST,
|
||||
allEntries = true) // allEntries 清空所有缓存,因为操作一个部门,涉及到多个缓存
|
||||
@ -153,6 +164,17 @@ public class DeptServiceImpl implements DeptService {
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void validateFactoryDeptExists(Long factoryId) {
|
||||
if (factoryId == null) {
|
||||
return;
|
||||
}
|
||||
DeptDO dept = deptMapper.selectOne(DeptDO::getFactoryId, factoryId);
|
||||
if (dept == null) {
|
||||
throw exception(FACTORY_DEPT_NOT_FOUND);
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void validateParentDept(Long id, Long parentId) {
|
||||
if (parentId == null || DeptDO.PARENT_ID_ROOT.equals(parentId)) {
|
||||
|
@ -83,5 +83,10 @@ public interface LaborContractService {
|
||||
*/
|
||||
List<LaborContractDO> getListByEndTime(LocalDate now);
|
||||
|
||||
|
||||
/**
|
||||
* 获得当前登录用户的入职时间和转正时间
|
||||
* @param userId 用户编号
|
||||
* @return 日期
|
||||
*/
|
||||
LaborContractDO getSigningDate(Long userId);
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
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;
|
||||
@ -118,4 +119,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);
|
||||
}
|
||||
}
|
@ -91,7 +91,7 @@ public class FactoryInfoServiceImpl implements FactoryInfoService {
|
||||
deptRespDTO.setName(updateReqVO.getShortName());
|
||||
deptRespDTO.setLeaderUserId(updateReqVO.getLeaderUserId());
|
||||
deptRespDTO.setFactoryId(updateReqVO.getId());
|
||||
deptApi.updateDept(deptRespDTO);
|
||||
deptApi.updateFactoryDept(deptRespDTO);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -259,5 +259,11 @@ public class FactoryInfoServiceImpl implements FactoryInfoService {
|
||||
// 更新
|
||||
FactoryInfoDO updateObj = BeanUtils.toBean(updateReqVO, FactoryInfoDO.class);
|
||||
factoryInfoMapper.updateById(updateObj);
|
||||
|
||||
//同步更新 工厂部门状态
|
||||
DeptRespDTO deptRespDTO = new DeptRespDTO();
|
||||
deptRespDTO.setFactoryId(updateReqVO.getId());
|
||||
deptRespDTO.setStatus(updateReqVO.getStatus());
|
||||
deptApi.updateFactoryDept(deptRespDTO);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user