Browse Source

Merge remote-tracking branch 'origin/master_20240722' into master_20240722

dongpo 6 months ago
parent
commit
82e3cf56aa

+ 18 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/EmployeeInfoController.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.employee.controller.admin.info;
 
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
@@ -17,8 +18,12 @@ import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoDO;
 import cn.iocoder.yudao.module.employee.service.info.EmployeeInfoService;
 import cn.iocoder.yudao.module.relations.api.contract.RelationsContractApi;
 import cn.iocoder.yudao.module.relations.api.contract.dto.RelationsContractDTO;
+import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
+import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
+import cn.iocoder.yudao.module.system.api.dicttenant.dto.DictDataTenantRespDTO;
 import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO;
+import cn.iocoder.yudao.module.system.enums.dicttenant.DictTypeTenantEnum;
 import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import cn.iocoder.yudao.module.system.service.dept.PostService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -59,6 +64,9 @@ public class EmployeeInfoController {
     @Resource
     private RelationsContractApi relationsContractApi;
 
+    @Resource
+    private DictDataApi dictDataApi;
+
     @PostMapping("/create")
     @Operation(summary = "创建员工信息")
     @PreAuthorize("@ss.hasPermission('employee:info:create')")
@@ -213,6 +221,9 @@ public class EmployeeInfoController {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<EmployeeInfoDO> list = infoService.getInfoPage(pageReqVO).getList();
         List<EmployeeInfoRespVO> respVOList = BeanUtils.toBean(list, EmployeeInfoRespVO.class);
+        // 员工状态
+        List<DictDataRespDTO> dictDataList = dictDataApi.getDictDataList("employee_status");
+        Map<String, String> dictDataMap = CollectionUtils.convertMap(dictDataList, DictDataRespDTO::getValue, DictDataRespDTO::getLabel);
         if (respVOList != null && respVOList.size() > 0) {
             respVOList.forEach(respVO -> {
                 // 如果部门ID不为空,则尝试获取部门详细信息
@@ -233,6 +244,13 @@ public class EmployeeInfoController {
                         respVO.setPosition(post.getName());
                     }
                 }
+                // 员工状态
+                if (StrUtil.isNotBlank(respVO.getEmployeeStatus())) {
+                    String employeeStatusDesc = dictDataMap.get(respVO.getEmployeeStatus());
+                    if (StrUtil.isNotBlank(employeeStatusDesc)) {
+                        respVO.setEmployeeStatusDesc(employeeStatusDesc);
+                    }
+                }
             });
         }
         // 导出 Excel

+ 11 - 50
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoRespVO.java

@@ -14,11 +14,9 @@ import com.alibaba.excel.annotation.*;
 public class EmployeeInfoRespVO {
 
     @Schema(description = "员工ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10984")
-    @ExcelProperty("员工ID")
     private Long id;
 
     @Schema(description = "业务UUID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1987")
-    @ExcelProperty("业务UUID")
     private String infoId;
 
     @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@@ -26,23 +24,24 @@ public class EmployeeInfoRespVO {
     private String name;
 
     @Schema(description = "部门ID", example = "22378")
-    @ExcelProperty("部门ID")
     private Long deptId;
 
     @Schema(description = "部门名称", example = "芋艿")
-    @ExcelProperty("部门名称")
+    @ExcelProperty("部门")
     private String deptName;
 
     @Schema(description = "职位编号", example = "1056")
-    @ExcelProperty("职位编号")
     private Long postId;
 
     @Schema(description = "职位名称")
-    @ExcelProperty("职位名称")
+    @ExcelProperty("职位")
     private String position;
 
+    @Schema(description = "手机号")
+    @ExcelProperty("手机号")
+    private String phone;
+
     @Schema(description = "员工编号")
-    @ExcelProperty("员工编号")
     private String employeeNumber;
 
     @Schema(description = "入职时间")
@@ -51,170 +50,132 @@ public class EmployeeInfoRespVO {
     private LocalDate entryDate;
 
     @Schema(description = "试用期到期时间")
-    @ExcelProperty("试用期到期时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate probationEndDate;
 
     @Schema(description = "离职时间")
-    @ExcelProperty("离职时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate departureDate;
 
     @Schema(description = "离职原因", example = "不香")
-    @ExcelProperty("离职原因")
     private String resignationReason;
 
     @Schema(description = "员工状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @ExcelProperty("员工状态")
     private String employeeStatus;
 
+    @Schema(description = "员工状态", example = "在职")
+    @ExcelProperty("员工状态")
+    private String employeeStatusDesc;
+
     @Schema(description = "性别")
-    @ExcelProperty("性别")
     private String gender;
 
     @Schema(description = "电子邮箱")
-    @ExcelProperty("电子邮箱")
     private String email;
 
-    @Schema(description = "手机号")
-    @ExcelProperty("手机号")
-    private String phone;
-
     @Schema(description = "身份证号")
-    @ExcelProperty("身份证号")
     private String idCardNumber;
 
     @Schema(description = "身份证地址")
-    @ExcelProperty("身份证地址")
     private String idCardAddress;
 
     @Schema(description = "户口类型", example = "2")
-    @ExcelProperty("户口类型")
     private String householdType;
 
     @Schema(description = "户口所在地")
-    @ExcelProperty("户口所在地")
     private String householdLocation;
 
     @Schema(description = "最高学历")
-    @ExcelProperty("最高学历")
     private String educationLevel;
 
     @Schema(description = "毕业院校")
-    @ExcelProperty("毕业院校")
     private String graduationSchool;
 
     @Schema(description = "毕业时间")
-    @ExcelProperty("毕业时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate graduationDate;
 
     @Schema(description = "银行卡名称", example = "张三")
-    @ExcelProperty("银行卡名称")
     private String bankCardName;
 
     @Schema(description = "银行卡卡号")
-    @ExcelProperty("银行卡卡号")
     private String bankCardNumber;
 
     @Schema(description = "年假基准天数")
-    @ExcelProperty("年假基准天数")
     private BigDecimal baseAnnualLeave;
 
     @Schema(description = "已使用年假天数")
-    @ExcelProperty("已使用年假天数")
     private BigDecimal usedAnnualLeave;
 
     @Schema(description = "剩余年假天数")
-    @ExcelProperty("剩余年假天数")
+    @ExcelProperty("当前可用年假")
     private BigDecimal remainingAnnualLeave;
 
     @Schema(description = "出生日期")
-    @ExcelProperty("出生日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate birthDate;
 
     @Schema(description = "婚姻状况", example = "2")
-    @ExcelProperty("婚姻状况")
     private String marriageStatus;
 
     @Schema(description = "工作地点")
-    @ExcelProperty("工作地点")
     private String workLocation;
 
     @Schema(description = "专业")
-    @ExcelProperty("专业")
     private String major;
 
     @Schema(description = "参加工作时间")
-    @ExcelProperty("参加工作时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate workStartDate;
 
     @Schema(description = "薪酬")
-    @ExcelProperty("薪酬")
     private BigDecimal salary;
 
     @Schema(description = "岗位薪资")
-    @ExcelProperty("岗位薪资")
     private BigDecimal positionSalary;
 
     @Schema(description = "项目津贴")
-    @ExcelProperty("项目津贴")
     private BigDecimal projectAllowance;
 
     @Schema(description = "特殊岗位津贴")
-    @ExcelProperty("特殊岗位津贴")
     private BigDecimal specialPositionAllowance;
 
     @Schema(description = "外籍津贴")
-    @ExcelProperty("外籍津贴")
     private BigDecimal foreignAllowance;
 
     @Schema(description = "午餐补助")
-    @ExcelProperty("午餐补助")
     private BigDecimal lunchSubsidy;
 
     @Schema(description = "特别津贴")
-    @ExcelProperty("特别津贴")
     private BigDecimal specialAllowance;
 
     @Schema(description = "补贴")
-    @ExcelProperty("补贴")
     private BigDecimal subsidy;
 
     @Schema(description = "年终奖")
-    @ExcelProperty("年终奖")
     private BigDecimal yearEndBonus;
 
     @Schema(description = "头像地址")
-    @ExcelProperty("头像地址")
     private String avatar;
 
     @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @ExcelProperty("状态")
     private Integer status;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
-    @ExcelProperty("创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
     @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27933")
-    @ExcelProperty("租户编号")
     private Long tenantId;
 
     @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12259")
-    @ExcelProperty("用户ID")
     private Long userId;
 
     @Schema(description = "最新合同开始日期")
-    @ExcelProperty("最新合同开始日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate contractStartDate;
 
     @Schema(description = "最新合同结束日期")
-    @ExcelProperty("最新合同结束日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate contractEndDate;
 

+ 1 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/dal/mysql/info/EmployeeInfoMapper.java

@@ -70,6 +70,7 @@ public interface EmployeeInfoMapper extends BaseMapperX<EmployeeInfoDO> {
     default EmployeeInfoDO getInfo(EmployeeInfoQueryReqVO reqVO) {
         return selectOne(new LambdaQueryWrapperX<EmployeeInfoDO>()
                 .eqIfPresent(EmployeeInfoDO::getUserId, reqVO.getUserId())
+                .eqIfPresent(EmployeeInfoDO::getName, reqVO.getName())
                 .eqIfPresent(EmployeeInfoDO::getTenantId, reqVO.getTenantId())
                 .eqIfPresent(EmployeeInfoDO::getPhone, reqVO.getPhone())
                 .eqIfPresent(EmployeeInfoDO::getId, reqVO.getId())

+ 0 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

@@ -290,7 +290,6 @@ public class AdminUserServiceImpl implements AdminUserService {
     }
 
     @Override
-    @TenantIgnore
     public AdminUserDO getUser(Long id) {
         return userMapper.selectById(id);
     }