|
@@ -5,7 +5,11 @@ import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
+import cn.iocoder.yudao.framework.security.core.LoginUser;
|
|
|
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
|
|
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
|
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
|
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
|
import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
|
import cn.iocoder.yudao.module.relations.controller.admin.contract.vo.RelationsContractPageReqVO;
|
|
@@ -14,6 +18,8 @@ import cn.iocoder.yudao.module.relations.controller.admin.contract.vo.RelationsC
|
|
|
import cn.iocoder.yudao.module.relations.dal.dataobject.contract.RelationsContractDO;
|
|
|
import cn.iocoder.yudao.module.relations.dal.mysql.contract.RelationsContractMapper;
|
|
|
import cn.iocoder.yudao.module.relations.enums.contractinfo.ContractInfoStatusEnum;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -41,12 +47,19 @@ public class RelationsContractServiceImpl implements RelationsContractService {
|
|
|
private RelationsContractMapper contractMapper;
|
|
|
@Resource
|
|
|
private FileApi fileApi;
|
|
|
+ @Resource
|
|
|
+ private EmployeeApi employeeApi;
|
|
|
|
|
|
@Override
|
|
|
@TenantIgnore
|
|
|
public Long createContractInfo(RelationsContractSaveReqVO createReqVO) {
|
|
|
// 查询该员工是否有合同存在
|
|
|
List<RelationsContractDO> list = contractMapper.selectPage(new RelationsContractPageReqVO().setEmployeeId(createReqVO.getEmployeeId())).getList();
|
|
|
+ // 获取用户信息和租户ID
|
|
|
+ LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
|
|
+ Long tenantId = user != null && user.getTenantId() != null ? user.getTenantId() : 0L;
|
|
|
+ Long userId = user != null && user.getId() != null ? user.getId() : 0L;
|
|
|
+ createReqVO.setTenantId(tenantId);
|
|
|
// 检查查询结果是否为空
|
|
|
if (!CollUtil.isEmpty(list)) {
|
|
|
// 更新状态
|
|
@@ -65,6 +78,12 @@ public class RelationsContractServiceImpl implements RelationsContractService {
|
|
|
createReqVO.setContractId(infoId);
|
|
|
RelationsContractDO contractInfo = BeanUtils.toBean(createReqVO, RelationsContractDO.class);
|
|
|
contractInfo.setStatus(ContractInfoStatusEnum.LATEST.getStatus());
|
|
|
+ // 登录员工信息
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(userId);// 判空检查
|
|
|
+ if (loginEmployee != null) {
|
|
|
+ contractInfo.setCreatorEmployeeId(loginEmployee.getId());
|
|
|
+ contractInfo.setCreatorEmployeeName(loginEmployee.getName());
|
|
|
+ }
|
|
|
contractMapper.insert(contractInfo);
|
|
|
// 保存业务uuid到附件中
|
|
|
this.saveFileList(createReqVO.getFileIdList(), infoId);
|