Browse Source

员工年假部分

zhaopeiqing 7 months ago
parent
commit
738ae478c9
35 changed files with 558 additions and 536 deletions
  1. 1 1
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/api/schedulingmanage/AttendanceApiImpl.java
  2. 1 1
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/employeesetting/AttendanceEmployeeSettingController.java
  3. 1 1
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/info/AttendanceInfoController.java
  4. 1 1
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/schedulingmanage/AttendanceSchedulingManageController.java
  5. 7 0
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/employeesetting/AttendanceEmployeeSettingServiceImpl.java
  6. 7 0
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/info/AttendanceInfoServiceImpl.java
  7. 7 0
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/schedulingmanage/AttendanceSchedulingManageServiceImpl.java
  8. 9 0
      yudao-module-personnel/yudao-module-employee-api/src/main/java/cn/iocoder/yudao/module/employee/api/EmployeeApi.java
  9. 44 0
      yudao-module-personnel/yudao-module-employee-api/src/main/java/cn/iocoder/yudao/module/employee/api/dto/EmployeePageReqDTO.java
  10. 22 129
      yudao-module-personnel/yudao-module-employee-api/src/main/java/cn/iocoder/yudao/module/employee/api/dto/EmployeeRespDTO.java
  11. 12 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/api/info/EmployeeApiImpl.java
  12. 1 1
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/EmployeeInfoHistoryController.java
  13. 3 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoHistoryPageReqVO.java
  14. 4 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoHistoryRespVO.java
  15. 4 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoHistorySaveReqVO.java
  16. 4 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoPageReqVO.java
  17. 54 38
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoQueryReqVO.java
  18. 4 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoRespVO.java
  19. 3 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoSaveReqVO.java
  20. 4 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/dal/dataobject/info/EmployeeInfoDO.java
  21. 4 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/dal/dataobject/info/EmployeeInfoHistoryDO.java
  22. 1 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/dal/mysql/info/EmployeeInfoHistoryMapper.java
  23. 2 0
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/dal/mysql/info/EmployeeInfoMapper.java
  24. 11 0
      yudao-module-personnel/yudao-module-holiday-biz/pom.xml
  25. 0 15
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/api/contractinfo/RelationsApiImpl.java
  26. 15 0
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/api/info/HolidayApiImpl.java
  27. 48 0
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/controller/admin/contractinfo/HolidayController.java
  28. 0 98
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/controller/admin/contractinfo/RelationsContractInfoController.java
  29. 85 85
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/dal/dataobject/contractinfo/RelationsContractInfoDO.java
  30. 37 37
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/dal/mysql/contractinfo/RelationsContractInfoMapper.java
  31. 56 56
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/service/contractinfo/RelationsContractInfoService.java
  32. 71 71
      yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/service/contractinfo/RelationsContractInfoServiceImpl.java
  33. 1 1
      yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/contractinfo/RelationsContractInfoController.java
  34. 15 0
      yudao-module-system/yudao-module-system-biz/pom.xml
  35. 19 1
      yudao-server/pom.xml

+ 1 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/api/schedulingmanage/AttendanceApiImpl.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.attendance.api.schedulingmanage;
+package cn.iocoder.yudao.module.attendance.api.info;
 
 import cn.iocoder.yudao.module.attendance.api.AttendanceApi;
 import org.springframework.stereotype.Service;

+ 1 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/employeesetting/AttendanceEmployeeSettingController.java

@@ -34,7 +34,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
 
 @Tag(name = "管理后台 - 考勤员工设置")
 @RestController
-@RequestMapping("/attendance/employee-setting")
+@RequestMapping("/presonnel/attendance/employee-setting")
 @Validated
 public class AttendanceEmployeeSettingController {
 

+ 1 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/info/AttendanceInfoController.java

@@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
 
 @Tag(name = "管理后台 - 考勤信息")
 @RestController
-@RequestMapping("/attendance/info")
+@RequestMapping("/presonnel/attendance/info")
 @Validated
 public class AttendanceInfoController {
 

+ 1 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/schedulingmanage/AttendanceSchedulingManageController.java

@@ -31,7 +31,7 @@ import javax.validation.Valid;
 
 @Tag(name = "管理后台 - 考勤排班管理")
 @RestController
-@RequestMapping("/attendance/scheduling-manage")
+@RequestMapping("/presonnel/attendance/scheduling-manage")
 @Validated
 public class AttendanceSchedulingManageController {
 

+ 7 - 0
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/employeesetting/AttendanceEmployeeSettingServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.attendance.service.employeesetting;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.module.attendance.controller.admin.employeesetting.vo.AttendanceEmployeeSettingPageReqVO;
 import cn.iocoder.yudao.module.attendance.controller.admin.employeesetting.vo.AttendanceEmployeeSettingSaveReqVO;
 import cn.iocoder.yudao.module.attendance.dal.dataobject.employeesetting.AttendanceEmployeeSettingDO;
@@ -30,6 +31,7 @@ public class AttendanceEmployeeSettingServiceImpl implements AttendanceEmployeeS
     private AttendanceEmployeeSettingMapper employeeSettingMapper;
 
     @Override
+    @TenantIgnore
     public Long createEmployeeSetting(AttendanceEmployeeSettingSaveReqVO createReqVO) {
         // 插入
         AttendanceEmployeeSettingDO employeeSetting = BeanUtils.toBean(createReqVO, AttendanceEmployeeSettingDO.class);
@@ -39,6 +41,7 @@ public class AttendanceEmployeeSettingServiceImpl implements AttendanceEmployeeS
     }
 
     @Override
+    @TenantIgnore
     public void updateEmployeeSetting(AttendanceEmployeeSettingSaveReqVO updateReqVO) {
         // 校验存在
         validateEmployeeSettingExists(updateReqVO.getId());
@@ -48,6 +51,7 @@ public class AttendanceEmployeeSettingServiceImpl implements AttendanceEmployeeS
     }
 
     @Override
+    @TenantIgnore
     public void deleteEmployeeSetting(Long id) {
         // 校验存在
         validateEmployeeSettingExists(id);
@@ -55,6 +59,7 @@ public class AttendanceEmployeeSettingServiceImpl implements AttendanceEmployeeS
         employeeSettingMapper.deleteById(id);
     }
 
+    @TenantIgnore
     private void validateEmployeeSettingExists(Long id) {
         if (employeeSettingMapper.selectById(id) == null) {
             throw exception(ATTENDANCE_EMPLOYEE_SETTING_NOT_EXISTS);
@@ -62,11 +67,13 @@ public class AttendanceEmployeeSettingServiceImpl implements AttendanceEmployeeS
     }
 
     @Override
+    @TenantIgnore
     public AttendanceEmployeeSettingDO getEmployeeSetting(Long id) {
         return employeeSettingMapper.selectById(id);
     }
 
     @Override
+    @TenantIgnore
     public PageResult<AttendanceEmployeeSettingDO> getEmployeeSettingPage(AttendanceEmployeeSettingPageReqVO pageReqVO) {
         return employeeSettingMapper.selectPage(pageReqVO);
     }

+ 7 - 0
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/info/AttendanceInfoServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.attendance.service.info;
 
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.module.attendance.controller.admin.info.vo.AttendanceInfoPageReqVO;
 import cn.iocoder.yudao.module.attendance.controller.admin.info.vo.AttendanceInfoSaveReqVO;
 import cn.iocoder.yudao.module.attendance.dal.dataobject.info.AttendanceInfoDO;
@@ -31,6 +32,7 @@ public class AttendanceInfoServiceImpl implements AttendanceInfoService {
     private AttendanceInfoMapper infoMapper;
 
     @Override
+    @TenantIgnore
     public Long createInfo(AttendanceInfoSaveReqVO createReqVO) {
         // 插入
         AttendanceInfoDO info = BeanUtils.toBean(createReqVO, AttendanceInfoDO.class);
@@ -40,6 +42,7 @@ public class AttendanceInfoServiceImpl implements AttendanceInfoService {
     }
 
     @Override
+    @TenantIgnore
     public void updateInfo(AttendanceInfoSaveReqVO updateReqVO) {
         // 校验存在
         validateInfoExists(updateReqVO.getId());
@@ -49,6 +52,7 @@ public class AttendanceInfoServiceImpl implements AttendanceInfoService {
     }
 
     @Override
+    @TenantIgnore
     public void deleteInfo(Long id) {
         // 校验存在
         validateInfoExists(id);
@@ -56,6 +60,7 @@ public class AttendanceInfoServiceImpl implements AttendanceInfoService {
         infoMapper.deleteById(id);
     }
 
+    @TenantIgnore
     private void validateInfoExists(Long id) {
         if (infoMapper.selectById(id) == null) {
             throw exception(ATTENDANCE_INFO_NOT_EXISTS);
@@ -63,11 +68,13 @@ public class AttendanceInfoServiceImpl implements AttendanceInfoService {
     }
 
     @Override
+    @TenantIgnore
     public AttendanceInfoDO getInfo(Long id) {
         return infoMapper.selectById(id);
     }
 
     @Override
+    @TenantIgnore
     public PageResult<AttendanceInfoDO> getInfoPage(AttendanceInfoPageReqVO pageReqVO) {
         return infoMapper.selectPage(pageReqVO);
     }

+ 7 - 0
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/schedulingmanage/AttendanceSchedulingManageServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.attendance.service.schedulingmanage;
 
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,6 +32,7 @@ public class AttendanceSchedulingManageServiceImpl implements AttendanceScheduli
     private AttendanceSchedulingManageMapper schedulingManageMapper;
 
     @Override
+    @TenantIgnore
     public Long createSchedulingManage(AttendanceSchedulingManageSaveReqVO createReqVO) {
         // 插入
         AttendanceSchedulingManageDO schedulingManage = BeanUtils.toBean(createReqVO, AttendanceSchedulingManageDO.class);
@@ -40,6 +42,7 @@ public class AttendanceSchedulingManageServiceImpl implements AttendanceScheduli
     }
 
     @Override
+    @TenantIgnore
     public void updateSchedulingManage(AttendanceSchedulingManageSaveReqVO updateReqVO) {
         // 校验存在
         validateSchedulingManageExists(updateReqVO.getId());
@@ -49,6 +52,7 @@ public class AttendanceSchedulingManageServiceImpl implements AttendanceScheduli
     }
 
     @Override
+    @TenantIgnore
     public void deleteSchedulingManage(Long id) {
         // 校验存在
         validateSchedulingManageExists(id);
@@ -56,6 +60,7 @@ public class AttendanceSchedulingManageServiceImpl implements AttendanceScheduli
         schedulingManageMapper.deleteById(id);
     }
 
+    @TenantIgnore
     private void validateSchedulingManageExists(Long id) {
         if (schedulingManageMapper.selectById(id) == null) {
             throw exception(ATTENDANCE_SCHEDULING_MANAGE_NOT_EXISTS);
@@ -63,11 +68,13 @@ public class AttendanceSchedulingManageServiceImpl implements AttendanceScheduli
     }
 
     @Override
+    @TenantIgnore
     public AttendanceSchedulingManageDO getSchedulingManage(Long id) {
         return schedulingManageMapper.selectById(id);
     }
 
     @Override
+    @TenantIgnore
     public PageResult<AttendanceSchedulingManageDO> getSchedulingManagePage(AttendanceSchedulingManagePageReqVO pageReqVO) {
         return schedulingManageMapper.selectPage(pageReqVO);
     }

+ 9 - 0
yudao-module-personnel/yudao-module-employee-api/src/main/java/cn/iocoder/yudao/module/employee/api/EmployeeApi.java

@@ -1,6 +1,8 @@
 package cn.iocoder.yudao.module.employee.api;
 
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeCreateReqDTO;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeePageReqDTO;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeQueryReqDTO;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 
@@ -29,4 +31,11 @@ public interface EmployeeApi {
      */
     EmployeeRespDTO getEmployee(@Valid EmployeeQueryReqDTO reqDTO);
 
+    /**
+     * 查询员工分页
+     *
+     * @param pageReqVO
+     * @return
+     */
+    PageResult<EmployeeRespDTO> getEmployeePage(@Valid EmployeePageReqDTO pageReqVO);
 }

+ 44 - 0
yudao-module-personnel/yudao-module-employee-api/src/main/java/cn/iocoder/yudao/module/employee/api/dto/EmployeePageReqDTO.java

@@ -0,0 +1,44 @@
+package cn.iocoder.yudao.module.employee.api.dto;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import lombok.Data;
+
+/**
+ * 员工信息分页 Request DTO
+ *
+ * @author zhaopq
+ */
+@Data
+public class EmployeePageReqDTO extends PageParam {
+
+    /**
+     * 姓名
+     */
+    private String name;
+    /**
+     * 用户头像
+     */
+    private String avatar;
+    /**
+     * 员工状态
+     */
+    private Integer employeeStatus;
+    /**
+     * 状态
+     */
+    private Integer status;
+    /**
+     * 租户编目
+     */
+    private Long tenantId;
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 手机号
+     */
+    private String phone;
+
+}

+ 22 - 129
yudao-module-personnel/yudao-module-employee-api/src/main/java/cn/iocoder/yudao/module/employee/api/dto/EmployeeRespDTO.java

@@ -17,165 +17,58 @@ public class EmployeeRespDTO {
      * 员工ID
      */
     private Long id;
+
     /**
      * 业务UUID
      */
     private String infoId;
-    /**
-     * 员工编号
-     */
-    private String employeeNumber;
+
     /**
      * 姓名
      */
     private String name;
+
     /**
      * 部门ID
      */
     private Long deptId;
+
     /**
-     * 手机号
-     */
-    private String phone;
-    /**
-     * 头像地址
+     * 部门名称
      */
-    private String avatar;
+    private String deptName;
+
     /**
-     * 电子邮箱
+     * 职位编号
      */
-    private String email;
+    private Long postId;
+
     /**
-     * 职位
+     * 职位名称
      */
     private String position;
+
     /**
-     * 职位编号
+     * 员工编号
      */
-    private Long postId;
+    private String employeeNumber;
+
     /**
      * 入职时间
      */
     private LocalDate entryDate;
+
     /**
-     * 试用期到期时间
-     */
-    private LocalDate probationEndDate;
-    /**
-     * 工作地点
-     */
-    private String workLocation;
-    /**
-     * 员工状态
-     */
-    private Integer employeeStatus;
-    /**
-     * 性别
-     */
-    private String gender;
-    /**
-     * 出生日期
-     */
-    private LocalDate birthDate;
-    /**
-     * 婚姻状况
-     */
-    private String marriageStatus;
-    /**
-     * 身份证号
-     */
-    private String idCardNumber;
-    /**
-     * 身份证地址
-     */
-    private String idCardAddress;
-    /**
-     * 户口类型
-     */
-    private String householdType;
-    /**
-     * 户口所在地
-     */
-    private String householdLocation;
-    /**
-     * 学历
-     */
-    private String educationLevel;
-    /**
-     * 专业
-     */
-    private String major;
-    /**
-     * 毕业院校
-     */
-    private String graduationSchool;
-    /**
-     * 毕业时间
-     */
-    private LocalDate graduationDate;
-    /**
-     * 参加工作时间
-     */
-    private LocalDate workStartDate;
-    /**
-     * 年假天数
-     */
-    private Integer annualLeaveDays;
-    /**
-     * 工资卡银行
-     */
-    private String salaryBank;
-    /**
-     * 工资卡号
-     */
-    private String salaryCardNumber;
-    /**
-     * 薪酬
-     */
-    private BigDecimal salary;
-    /**
-     * 岗位薪资
-     */
-    private BigDecimal positionSalary;
-    /**
-     * 项目津贴
-     */
-    private BigDecimal projectAllowance;
-    /**
-     * 特殊岗位津贴
-     */
-    private BigDecimal specialPositionAllowance;
-    /**
-     * 外籍津贴
-     */
-    private BigDecimal foreignAllowance;
-    /**
-     * 午餐补助
-     */
-    private BigDecimal lunchSubsidy;
-    /**
-     * 特别津贴
-     */
-    private BigDecimal specialAllowance;
-    /**
-     * 补贴
-     */
-    private BigDecimal subsidy;
-    /**
-     * 年终奖
-     */
-    private BigDecimal yearEndBonus;
-    /**
-     * 状态
+     * 年假基准天数
      */
-    private Integer status;
+    private Integer baseAnnualLeave;
     /**
-     * 租户编目
+     * 已使用年假天数
      */
-    private Long tenantId;
+    private Integer usedAnnualLeave;
     /**
-     * 用户ID
+     * 剩余年假天数
      */
-    private Long userId;
+    private Integer remainingAnnualLeave;
 
 }

+ 12 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/api/info/EmployeeApiImpl.java

@@ -1,10 +1,13 @@
 package cn.iocoder.yudao.module.employee.api.info;
 
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.employee.api.EmployeeApi;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeCreateReqDTO;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeePageReqDTO;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeQueryReqDTO;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
+import cn.iocoder.yudao.module.employee.controller.admin.info.vo.EmployeeInfoPageReqVO;
 import cn.iocoder.yudao.module.employee.controller.admin.info.vo.EmployeeInfoQueryReqVO;
 import cn.iocoder.yudao.module.employee.controller.admin.info.vo.EmployeeInfoSaveReqVO;
 import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoDO;
@@ -38,4 +41,13 @@ public class EmployeeApiImpl implements EmployeeApi {
         return respDTO;
     }
 
+    @Override
+    public PageResult<EmployeeRespDTO> getEmployeePage(EmployeePageReqDTO reqDTO) {
+        EmployeeInfoPageReqVO pageReqVO = BeanUtils.toBean(reqDTO, EmployeeInfoPageReqVO.class);
+        PageResult<EmployeeInfoDO> pageResult = infoService.getInfoPage(pageReqVO);
+        PageResult<EmployeeRespDTO> respDTO = BeanUtils.toBean(pageResult, EmployeeRespDTO.class);
+        return respDTO;
+    }
+
+
 }

+ 1 - 1
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/EmployeeInfoHistoryController.java

@@ -34,7 +34,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
 
 @Tag(name = "管理后台 - 员工信息历史")
 @RestController
-@RequestMapping("/presonnel/employee-history")
+@RequestMapping("/presonnel/employee/history")
 @Validated
 public class EmployeeInfoHistoryController {
 

+ 3 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoHistoryPageReqVO.java

@@ -97,6 +97,9 @@ public class EmployeeInfoHistoryPageReqVO extends PageParam {
     @Schema(description = "年假基准天数")
     private Integer baseAnnualLeave;
 
+    @Schema(description = "已使用年假天数")
+    private Integer usedAnnualLeave;
+
     @Schema(description = "剩余年假天数")
     private Integer remainingAnnualLeave;
 

+ 4 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoHistoryRespVO.java

@@ -117,6 +117,10 @@ public class EmployeeInfoHistoryRespVO {
     @ExcelProperty("年假基准天数")
     private Integer baseAnnualLeave;
 
+    @Schema(description = "已使用年假天数")
+    @ExcelProperty("已使用年假天数")
+    private Integer usedAnnualLeave;
+
     @Schema(description = "剩余年假天数")
     @ExcelProperty("剩余年假天数")
     private Integer remainingAnnualLeave;

+ 4 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoHistorySaveReqVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.employee.controller.admin.info.vo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -93,6 +94,9 @@ public class EmployeeInfoHistorySaveReqVO {
     @Schema(description = "年假基准天数")
     private Integer baseAnnualLeave;
 
+    @Schema(description = "已使用年假天数")
+    private Integer usedAnnualLeave;
+
     @Schema(description = "剩余年假天数")
     private Integer remainingAnnualLeave;
 

+ 4 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoPageReqVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.employee.controller.admin.info.vo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.*;
 
 import java.time.LocalDate;
@@ -96,6 +97,9 @@ public class EmployeeInfoPageReqVO extends PageParam {
     @Schema(description = "年假基准天数")
     private Integer baseAnnualLeave;
 
+    @Schema(description = "已使用年假天数")
+    private Integer usedAnnualLeave;
+
     @Schema(description = "剩余年假天数")
     private Integer remainingAnnualLeave;
 

+ 54 - 38
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoQueryReqVO.java

@@ -19,32 +19,26 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class EmployeeInfoQueryReqVO extends PageParam {
 
-    @Schema(description = "业务UUID", example = "19517")
+    @Schema(description = "业务UUID", example = "4007")
     private String infoId;
 
-    @Schema(description = "员工编号")
-    private String employeeNumber;
-
     @Schema(description = "姓名", example = "李四")
     private String name;
 
-    @Schema(description = "部门ID", example = "17351")
+    @Schema(description = "部门ID", example = "18657")
     private Long deptId;
 
-    @Schema(description = "手机号")
-    private String phone;
+    @Schema(description = "部门名称", example = "李四")
+    private String deptName;
 
-    @Schema(description = "头像地址")
-    private String avatar;
-
-    @Schema(description = "电子邮箱")
-    private String email;
+    @Schema(description = "职位编号", example = "1434")
+    private Long postId;
 
-    @Schema(description = "职位")
+    @Schema(description = "职位名称")
     private String position;
 
-    @Schema(description = "职位编号", example = "7080")
-    private Long postId;
+    @Schema(description = "员工编号")
+    private String employeeNumber;
 
     @Schema(description = "入职时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@@ -54,21 +48,24 @@ public class EmployeeInfoQueryReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDate[] probationEndDate;
 
-    @Schema(description = "工作地点")
-    private String workLocation;
+    @Schema(description = "离职时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDate[] departureDate;
+
+    @Schema(description = "离职原因", example = "不喜欢")
+    private String resignationReason;
 
     @Schema(description = "员工状态", example = "2")
-    private Integer employeeStatus;
+    private String employeeStatus;
 
     @Schema(description = "性别")
     private String gender;
 
-    @Schema(description = "出生日期")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDate[] birthDate;
+    @Schema(description = "电子邮箱")
+    private String email;
 
-    @Schema(description = "婚姻状况", example = "1")
-    private String marriageStatus;
+    @Schema(description = "手机号")
+    private String phone;
 
     @Schema(description = "身份证号")
     private String idCardNumber;
@@ -82,12 +79,9 @@ public class EmployeeInfoQueryReqVO extends PageParam {
     @Schema(description = "户口所在地")
     private String householdLocation;
 
-    @Schema(description = "学历")
+    @Schema(description = "最高学历")
     private String educationLevel;
 
-    @Schema(description = "专业")
-    private String major;
-
     @Schema(description = "毕业院校")
     private String graduationSchool;
 
@@ -95,18 +89,37 @@ public class EmployeeInfoQueryReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDate[] graduationDate;
 
-    @Schema(description = "参加工作时间")
+    @Schema(description = "银行卡名称", example = "张三")
+    private String bankCardName;
+
+    @Schema(description = "银行卡卡号")
+    private String bankCardNumber;
+
+    @Schema(description = "年假基准天数")
+    private Integer baseAnnualLeave;
+
+    @Schema(description = "已使用年假天数")
+    private Integer usedAnnualLeave;
+
+    @Schema(description = "剩余年假天数")
+    private Integer remainingAnnualLeave;
+
+    @Schema(description = "出生日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDate[] workStartDate;
+    private LocalDate[] birthDate;
 
-    @Schema(description = "年假天数")
-    private Integer annualLeaveDays;
+    @Schema(description = "婚姻状况", example = "1")
+    private String marriageStatus;
 
-    @Schema(description = "工资卡银行")
-    private String salaryBank;
+    @Schema(description = "工作地点")
+    private String workLocation;
 
-    @Schema(description = "工资卡号")
-    private String salaryCardNumber;
+    @Schema(description = "专业")
+    private String major;
+
+    @Schema(description = "参加工作时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDate[] workStartDate;
 
     @Schema(description = "薪酬")
     private BigDecimal salary;
@@ -135,17 +148,20 @@ public class EmployeeInfoQueryReqVO extends PageParam {
     @Schema(description = "年终奖")
     private BigDecimal yearEndBonus;
 
-    @Schema(description = "状态", example = "1")
+    @Schema(description = "头像地址")
+    private String avatar;
+
+    @Schema(description = "状态", example = "2")
     private Integer status;
 
     @Schema(description = "创建时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
-    @Schema(description = "租户编码", example = "14244")
+    @Schema(description = "租户编号", example = "10115")
     private Long tenantId;
 
-    @Schema(description = "用户ID", example = "14244")
+    @Schema(description = "用户ID", example = "4877")
     private Long userId;
 
 }

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

@@ -116,6 +116,10 @@ public class EmployeeInfoRespVO {
     @ExcelProperty("年假基准天数")
     private Integer baseAnnualLeave;
 
+    @Schema(description = "已使用年假天数")
+    @ExcelProperty("已使用年假天数")
+    private Integer usedAnnualLeave;
+
     @Schema(description = "剩余年假天数")
     @ExcelProperty("剩余年假天数")
     private Integer remainingAnnualLeave;

+ 3 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/controller/admin/info/vo/EmployeeInfoSaveReqVO.java

@@ -93,6 +93,9 @@ public class EmployeeInfoSaveReqVO {
     @Schema(description = "年假基准天数")
     private Integer baseAnnualLeave;
 
+    @Schema(description = "已使用年假天数")
+    private Integer usedAnnualLeave;
+
     @Schema(description = "剩余年假天数")
     private Integer remainingAnnualLeave;
 

+ 4 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/dal/dataobject/info/EmployeeInfoDO.java

@@ -127,6 +127,10 @@ public class EmployeeInfoDO extends BaseDO {
      * 年假基准天数
      */
     private Integer baseAnnualLeave;
+    /**
+     * 已使用年假天数
+     */
+    private Integer usedAnnualLeave;
     /**
      * 剩余年假天数
      */

+ 4 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/dal/dataobject/info/EmployeeInfoHistoryDO.java

@@ -128,6 +128,10 @@ public class EmployeeInfoHistoryDO extends BaseDO {
      * 年假基准天数
      */
     private Integer baseAnnualLeave;
+    /**
+     * 已使用年假天数
+     */
+    private Integer usedAnnualLeave;
     /**
      * 剩余年假天数
      */

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

@@ -42,6 +42,7 @@ public interface EmployeeInfoHistoryMapper extends BaseMapperX<EmployeeInfoHisto
                 .likeIfPresent(EmployeeInfoHistoryDO::getBankCardName, reqVO.getBankCardName())
                 .eqIfPresent(EmployeeInfoHistoryDO::getBankCardNumber, reqVO.getBankCardNumber())
                 .eqIfPresent(EmployeeInfoHistoryDO::getBaseAnnualLeave, reqVO.getBaseAnnualLeave())
+                .eqIfPresent(EmployeeInfoHistoryDO::getUsedAnnualLeave, reqVO.getUsedAnnualLeave())
                 .eqIfPresent(EmployeeInfoHistoryDO::getRemainingAnnualLeave, reqVO.getRemainingAnnualLeave())
                 .betweenIfPresent(EmployeeInfoHistoryDO::getBirthDate, reqVO.getBirthDate())
                 .eqIfPresent(EmployeeInfoHistoryDO::getMarriageStatus, reqVO.getMarriageStatus())

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

@@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoDO;
+import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoHistoryDO;
 import org.apache.ibatis.annotations.Mapper;
 import cn.iocoder.yudao.module.employee.controller.admin.info.vo.*;
 
@@ -42,6 +43,7 @@ public interface EmployeeInfoMapper extends BaseMapperX<EmployeeInfoDO> {
                 .likeIfPresent(EmployeeInfoDO::getBankCardName, reqVO.getBankCardName())
                 .eqIfPresent(EmployeeInfoDO::getBankCardNumber, reqVO.getBankCardNumber())
                 .eqIfPresent(EmployeeInfoDO::getBaseAnnualLeave, reqVO.getBaseAnnualLeave())
+                .eqIfPresent(EmployeeInfoDO::getUsedAnnualLeave, reqVO.getUsedAnnualLeave())
                 .eqIfPresent(EmployeeInfoDO::getRemainingAnnualLeave, reqVO.getRemainingAnnualLeave())
                 .betweenIfPresent(EmployeeInfoDO::getBirthDate, reqVO.getBirthDate())
                 .eqIfPresent(EmployeeInfoDO::getMarriageStatus, reqVO.getMarriageStatus())

+ 11 - 0
yudao-module-personnel/yudao-module-holiday-biz/pom.xml

@@ -22,6 +22,11 @@
             <artifactId>yudao-module-holiday-api</artifactId>
             <version>${revision}</version>
         </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-employee-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
 
         <!-- 业务组件 -->
         <dependency>
@@ -88,6 +93,12 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-mail</artifactId>
         </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-employee-api</artifactId>
+            <version>2.1.0-jdk8-snapshot</version>
+            <scope>compile</scope>
+        </dependency>
 
         <!-- 三方云服务相关 -->
 

+ 0 - 15
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/api/contractinfo/RelationsApiImpl.java

@@ -1,15 +0,0 @@
-package cn.iocoder.yudao.module.holiday.api.contractinfo;
-
-import cn.iocoder.yudao.module.relations.api.RelationsApi;
-import org.springframework.stereotype.Service;
-
-
-/**
- * 员工关系 API 实现类
- *
- * @author zhaopq
- */
-@Service
-public class RelationsApiImpl implements RelationsApi {
-
-}

+ 15 - 0
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/api/info/HolidayApiImpl.java

@@ -0,0 +1,15 @@
+package cn.iocoder.yudao.module.holiday.api.info;
+
+import cn.iocoder.yudao.module.holiday.api.HolidayApi;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * 员工假务 API 实现类
+ *
+ * @author zhaopq
+ */
+@Service
+public class HolidayApiImpl implements HolidayApi {
+
+}

+ 48 - 0
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/controller/admin/contractinfo/HolidayController.java

@@ -0,0 +1,48 @@
+package cn.iocoder.yudao.module.holiday.controller.admin.contractinfo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeePageReqDTO;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeQueryReqDTO;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+
+@Tag(name = "管理后台 - 员工假务信息")
+@RestController
+@RequestMapping("/presonnel/holiday")
+@Validated
+public class HolidayController {
+
+    @Resource
+    private EmployeeApi employeeApi;
+
+
+    @GetMapping("/getAnnualLeave")
+    @Operation(summary = "获得员工年假信息")
+//    @PreAuthorize("@ss.hasPermission('employee:info:query')")
+    public CommonResult<EmployeeRespDTO> getAnnualLeave(@Valid EmployeeQueryReqDTO reqDTO) {
+        EmployeeRespDTO info = employeeApi.getEmployee(reqDTO);
+        return success(info);
+    }
+
+    @GetMapping("/getAnnualLeavePage")
+    @Operation(summary = "获得员工年假信息分页")
+//    @PreAuthorize("@ss.hasPermission('employee:info:query')")
+    public CommonResult<PageResult<EmployeeRespDTO>> getAnnualLeavePage(@Valid EmployeePageReqDTO pageReqVO) {
+        PageResult<EmployeeRespDTO> pageResult = employeeApi.getEmployeePage(pageReqVO);
+        return success(pageResult);
+    }
+
+}

+ 0 - 98
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/controller/admin/contractinfo/RelationsContractInfoController.java

@@ -1,98 +0,0 @@
-package cn.iocoder.yudao.module.holiday.controller.admin.contractinfo;
-
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo.RelationsContractInfoDO;
-import cn.iocoder.yudao.module.holiday.service.contractinfo.RelationsContractInfoService;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoPageReqVO;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoRespVO;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoSaveReqVO;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.security.access.prepost.PreAuthorize;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.Operation;
-
-import java.util.*;
-import java.io.IOException;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
-
-import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
-
-
-@Tag(name = "管理后台 - 员工合同信息")
-@RestController
-@RequestMapping("/relations/contract-info")
-@Validated
-public class RelationsContractInfoController {
-
-    @Resource
-    private RelationsContractInfoService contractInfoService;
-
-    @PostMapping("/create")
-    @Operation(summary = "创建员工合同信息")
-    @PreAuthorize("@ss.hasPermission('relations:contract-info:create')")
-    public CommonResult<Long> createContractInfo(@Valid @RequestBody RelationsContractInfoSaveReqVO createReqVO) {
-        return success(contractInfoService.createContractInfo(createReqVO));
-    }
-
-    @PutMapping("/update")
-    @Operation(summary = "更新员工合同信息")
-    @PreAuthorize("@ss.hasPermission('relations:contract-info:update')")
-    public CommonResult<Boolean> updateContractInfo(@Valid @RequestBody RelationsContractInfoSaveReqVO updateReqVO) {
-        contractInfoService.updateContractInfo(updateReqVO);
-        return success(true);
-    }
-
-    @DeleteMapping("/delete")
-    @Operation(summary = "删除员工合同信息")
-    @Parameter(name = "id", description = "编号", required = true)
-    @PreAuthorize("@ss.hasPermission('relations:contract-info:delete')")
-    public CommonResult<Boolean> deleteContractInfo(@RequestParam("id") Long id) {
-        contractInfoService.deleteContractInfo(id);
-        return success(true);
-    }
-
-    @GetMapping("/get")
-    @Operation(summary = "获得员工合同信息")
-    @Parameter(name = "id", description = "编号", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('relations:contract-info:query')")
-    public CommonResult<RelationsContractInfoRespVO> getContractInfo(@RequestParam("id") Long id) {
-        RelationsContractInfoDO contractInfo = contractInfoService.getContractInfo(id);
-        return success(BeanUtils.toBean(contractInfo, RelationsContractInfoRespVO.class));
-    }
-
-    @GetMapping("/page")
-    @Operation(summary = "获得员工合同信息分页")
-    @PreAuthorize("@ss.hasPermission('relations:contract-info:query')")
-    public CommonResult<PageResult<RelationsContractInfoRespVO>> getContractInfoPage(@Valid RelationsContractInfoPageReqVO pageReqVO) {
-        PageResult<RelationsContractInfoDO> pageResult = contractInfoService.getContractInfoPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, RelationsContractInfoRespVO.class));
-    }
-
-    @GetMapping("/export-excel")
-    @Operation(summary = "导出员工合同信息 Excel")
-    @PreAuthorize("@ss.hasPermission('relations:contract-info:export')")
-    @ApiAccessLog(operateType = EXPORT)
-    public void exportContractInfoExcel(@Valid RelationsContractInfoPageReqVO pageReqVO,
-              HttpServletResponse response) throws IOException {
-        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
-        List<RelationsContractInfoDO> list = contractInfoService.getContractInfoPage(pageReqVO).getList();
-        // 导出 Excel
-        ExcelUtils.write(response, "员工合同信息.xls", "数据", RelationsContractInfoRespVO.class,
-                        BeanUtils.toBean(list, RelationsContractInfoRespVO.class));
-    }
-
-}

+ 85 - 85
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/dal/dataobject/contractinfo/RelationsContractInfoDO.java

@@ -1,85 +1,85 @@
-package cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo;
-
-import lombok.*;
-
-import java.time.LocalDate;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
-import com.baomidou.mybatisplus.annotation.*;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-
-/**
- * 员工合同信息 DO
- *
- * @author zhaopq
- */
-@TableName("relations_contract_info")
-@KeySequence("relations_contract_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class RelationsContractInfoDO extends BaseDO {
-
-    /**
-     * 自增ID
-     */
-    @TableId
-    private Long id;
-    /**
-     * 业务UUID
-     */
-    private String infoId;
-    /**
-     * 姓名
-     */
-    private String name;
-    /**
-     * 部门ID
-     */
-    private Long deptId;
-    /**
-     * 部门名称
-     */
-    private String deptName;
-    /**
-     * 职位编号
-     */
-    private Long postId;
-    /**
-     * 职位名称
-     */
-    private String position;
-    /**
-     * 员工编号
-     */
-    private String employeeNumber;
-    /**
-     * 合同开始日期
-     */
-    private LocalDate contractStartDate;
-    /**
-     * 合同结束日期
-     */
-    private LocalDate contractEndDate;
-    /**
-     * 合同期限
-     */
-    private String contractDeadline;
-    /**
-     * 备注信息
-     */
-    private String remarks;
-    /**
-     * 状态
-     */
-    private Integer status;
-    /**
-     * 员工ID
-     */
-    private Long employeeId;
-
-}
+//package cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo;
+//
+//import lombok.*;
+//
+//import java.time.LocalDate;
+//import java.util.*;
+//import java.time.LocalDateTime;
+//import java.time.LocalDateTime;
+//import com.baomidou.mybatisplus.annotation.*;
+//import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+//
+///**
+// * 员工合同信息 DO
+// *
+// * @author zhaopq
+// */
+//@TableName("relations_contract_info")
+//@KeySequence("relations_contract_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+//@Data
+//@EqualsAndHashCode(callSuper = true)
+//@ToString(callSuper = true)
+//@Builder
+//@NoArgsConstructor
+//@AllArgsConstructor
+//public class RelationsContractInfoDO extends BaseDO {
+//
+//    /**
+//     * 自增ID
+//     */
+//    @TableId
+//    private Long id;
+//    /**
+//     * 业务UUID
+//     */
+//    private String infoId;
+//    /**
+//     * 姓名
+//     */
+//    private String name;
+//    /**
+//     * 部门ID
+//     */
+//    private Long deptId;
+//    /**
+//     * 部门名称
+//     */
+//    private String deptName;
+//    /**
+//     * 职位编号
+//     */
+//    private Long postId;
+//    /**
+//     * 职位名称
+//     */
+//    private String position;
+//    /**
+//     * 员工编号
+//     */
+//    private String employeeNumber;
+//    /**
+//     * 合同开始日期
+//     */
+//    private LocalDate contractStartDate;
+//    /**
+//     * 合同结束日期
+//     */
+//    private LocalDate contractEndDate;
+//    /**
+//     * 合同期限
+//     */
+//    private String contractDeadline;
+//    /**
+//     * 备注信息
+//     */
+//    private String remarks;
+//    /**
+//     * 状态
+//     */
+//    private Integer status;
+//    /**
+//     * 员工ID
+//     */
+//    private Long employeeId;
+//
+//}

+ 37 - 37
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/dal/mysql/contractinfo/RelationsContractInfoMapper.java

@@ -1,37 +1,37 @@
-package cn.iocoder.yudao.module.holiday.dal.mysql.contractinfo;
-
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
-import cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo.RelationsContractInfoDO;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoPageReqVO;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * 员工合同信息 Mapper
- *
- * @author zhaopq
- */
-@Mapper
-public interface RelationsContractInfoMapper extends BaseMapperX<RelationsContractInfoDO> {
-
-    default PageResult<RelationsContractInfoDO> selectPage(RelationsContractInfoPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<RelationsContractInfoDO>()
-                .eqIfPresent(RelationsContractInfoDO::getInfoId, reqVO.getInfoId())
-                .likeIfPresent(RelationsContractInfoDO::getName, reqVO.getName())
-                .eqIfPresent(RelationsContractInfoDO::getDeptId, reqVO.getDeptId())
-                .likeIfPresent(RelationsContractInfoDO::getDeptName, reqVO.getDeptName())
-                .eqIfPresent(RelationsContractInfoDO::getPostId, reqVO.getPostId())
-                .eqIfPresent(RelationsContractInfoDO::getPosition, reqVO.getPosition())
-                .eqIfPresent(RelationsContractInfoDO::getEmployeeNumber, reqVO.getEmployeeNumber())
-                .betweenIfPresent(RelationsContractInfoDO::getContractStartDate, reqVO.getContractStartDate())
-                .betweenIfPresent(RelationsContractInfoDO::getContractEndDate, reqVO.getContractEndDate())
-                .eqIfPresent(RelationsContractInfoDO::getContractDeadline, reqVO.getContractDeadline())
-                .eqIfPresent(RelationsContractInfoDO::getRemarks, reqVO.getRemarks())
-                .eqIfPresent(RelationsContractInfoDO::getStatus, reqVO.getStatus())
-                .betweenIfPresent(RelationsContractInfoDO::getCreateTime, reqVO.getCreateTime())
-                .eqIfPresent(RelationsContractInfoDO::getEmployeeId, reqVO.getEmployeeId())
-                .orderByDesc(RelationsContractInfoDO::getId));
-    }
-
-}
+//package cn.iocoder.yudao.module.holiday.dal.mysql.contractinfo;
+//
+//import cn.iocoder.yudao.framework.common.pojo.PageResult;
+//import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+//import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+//import cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo.RelationsContractInfoDO;
+//import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoPageReqVO;
+//import org.apache.ibatis.annotations.Mapper;
+//
+///**
+// * 员工合同信息 Mapper
+// *
+// * @author zhaopq
+// */
+//@Mapper
+//public interface RelationsContractInfoMapper extends BaseMapperX<RelationsContractInfoDO> {
+//
+//    default PageResult<RelationsContractInfoDO> selectPage(RelationsContractInfoPageReqVO reqVO) {
+//        return selectPage(reqVO, new LambdaQueryWrapperX<RelationsContractInfoDO>()
+//                .eqIfPresent(RelationsContractInfoDO::getInfoId, reqVO.getInfoId())
+//                .likeIfPresent(RelationsContractInfoDO::getName, reqVO.getName())
+//                .eqIfPresent(RelationsContractInfoDO::getDeptId, reqVO.getDeptId())
+//                .likeIfPresent(RelationsContractInfoDO::getDeptName, reqVO.getDeptName())
+//                .eqIfPresent(RelationsContractInfoDO::getPostId, reqVO.getPostId())
+//                .eqIfPresent(RelationsContractInfoDO::getPosition, reqVO.getPosition())
+//                .eqIfPresent(RelationsContractInfoDO::getEmployeeNumber, reqVO.getEmployeeNumber())
+//                .betweenIfPresent(RelationsContractInfoDO::getContractStartDate, reqVO.getContractStartDate())
+//                .betweenIfPresent(RelationsContractInfoDO::getContractEndDate, reqVO.getContractEndDate())
+//                .eqIfPresent(RelationsContractInfoDO::getContractDeadline, reqVO.getContractDeadline())
+//                .eqIfPresent(RelationsContractInfoDO::getRemarks, reqVO.getRemarks())
+//                .eqIfPresent(RelationsContractInfoDO::getStatus, reqVO.getStatus())
+//                .betweenIfPresent(RelationsContractInfoDO::getCreateTime, reqVO.getCreateTime())
+//                .eqIfPresent(RelationsContractInfoDO::getEmployeeId, reqVO.getEmployeeId())
+//                .orderByDesc(RelationsContractInfoDO::getId));
+//    }
+//
+//}

+ 56 - 56
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/service/contractinfo/RelationsContractInfoService.java

@@ -1,56 +1,56 @@
-package cn.iocoder.yudao.module.holiday.service.contractinfo;
-
-
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoPageReqVO;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoSaveReqVO;
-import cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo.RelationsContractInfoDO;
-
-import javax.validation.Valid;
-
-/**
- * 员工合同信息 Service 接口
- *
- * @author zhaopq
- */
-public interface RelationsContractInfoService {
-
-    /**
-     * 创建员工合同信息
-     *
-     * @param createReqVO 创建信息
-     * @return 编号
-     */
-    Long createContractInfo(@Valid RelationsContractInfoSaveReqVO createReqVO);
-
-    /**
-     * 更新员工合同信息
-     *
-     * @param updateReqVO 更新信息
-     */
-    void updateContractInfo(@Valid RelationsContractInfoSaveReqVO updateReqVO);
-
-    /**
-     * 删除员工合同信息
-     *
-     * @param id 编号
-     */
-    void deleteContractInfo(Long id);
-
-    /**
-     * 获得员工合同信息
-     *
-     * @param id 编号
-     * @return 员工合同信息
-     */
-    RelationsContractInfoDO getContractInfo(Long id);
-
-    /**
-     * 获得员工合同信息分页
-     *
-     * @param pageReqVO 分页查询
-     * @return 员工合同信息分页
-     */
-    PageResult<RelationsContractInfoDO> getContractInfoPage(RelationsContractInfoPageReqVO pageReqVO);
-
-}
+//package cn.iocoder.yudao.module.holiday.service.contractinfo;
+//
+//
+//import cn.iocoder.yudao.framework.common.pojo.PageResult;
+//import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoPageReqVO;
+//import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoSaveReqVO;
+//import cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo.RelationsContractInfoDO;
+//
+//import javax.validation.Valid;
+//
+///**
+// * 员工合同信息 Service 接口
+// *
+// * @author zhaopq
+// */
+//public interface RelationsContractInfoService {
+//
+//    /**
+//     * 创建员工合同信息
+//     *
+//     * @param createReqVO 创建信息
+//     * @return 编号
+//     */
+//    Long createContractInfo(@Valid RelationsContractInfoSaveReqVO createReqVO);
+//
+//    /**
+//     * 更新员工合同信息
+//     *
+//     * @param updateReqVO 更新信息
+//     */
+//    void updateContractInfo(@Valid RelationsContractInfoSaveReqVO updateReqVO);
+//
+//    /**
+//     * 删除员工合同信息
+//     *
+//     * @param id 编号
+//     */
+//    void deleteContractInfo(Long id);
+//
+//    /**
+//     * 获得员工合同信息
+//     *
+//     * @param id 编号
+//     * @return 员工合同信息
+//     */
+//    RelationsContractInfoDO getContractInfo(Long id);
+//
+//    /**
+//     * 获得员工合同信息分页
+//     *
+//     * @param pageReqVO 分页查询
+//     * @return 员工合同信息分页
+//     */
+//    PageResult<RelationsContractInfoDO> getContractInfoPage(RelationsContractInfoPageReqVO pageReqVO);
+//
+//}

+ 71 - 71
yudao-module-personnel/yudao-module-holiday-biz/src/main/java/cn/iocoder/yudao/module/holiday/service/contractinfo/RelationsContractInfoServiceImpl.java

@@ -1,71 +1,71 @@
-package cn.iocoder.yudao.module.holiday.service.contractinfo;
-
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoPageReqVO;
-import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoSaveReqVO;
-import cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo.RelationsContractInfoDO;
-import cn.iocoder.yudao.module.holiday.dal.mysql.contractinfo.RelationsContractInfoMapper;
-import org.springframework.stereotype.Service;
-import org.springframework.validation.annotation.Validated;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-
-import javax.annotation.Resource;
-
-import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.relations.enums.ErrorCodeConstants.RELATIONS_CONTRACT_INFO_NOT_EXISTS;
-
-/**
- * 员工合同信息 Service 实现类
- *
- * @author zhaopq
- */
-@Service
-@Validated
-public class RelationsContractInfoServiceImpl implements RelationsContractInfoService {
-
-    @Resource
-    private RelationsContractInfoMapper contractInfoMapper;
-
-    @Override
-    public Long createContractInfo(RelationsContractInfoSaveReqVO createReqVO) {
-        // 插入
-        RelationsContractInfoDO contractInfo = BeanUtils.toBean(createReqVO, RelationsContractInfoDO.class);
-        contractInfoMapper.insert(contractInfo);
-        // 返回
-        return contractInfo.getId();
-    }
-
-    @Override
-    public void updateContractInfo(RelationsContractInfoSaveReqVO updateReqVO) {
-        // 校验存在
-        validateContractInfoExists(updateReqVO.getId());
-        // 更新
-        RelationsContractInfoDO updateObj = BeanUtils.toBean(updateReqVO, RelationsContractInfoDO.class);
-        contractInfoMapper.updateById(updateObj);
-    }
-
-    @Override
-    public void deleteContractInfo(Long id) {
-        // 校验存在
-        validateContractInfoExists(id);
-        // 删除
-        contractInfoMapper.deleteById(id);
-    }
-
-    private void validateContractInfoExists(Long id) {
-        if (contractInfoMapper.selectById(id) == null) {
-            throw exception(RELATIONS_CONTRACT_INFO_NOT_EXISTS);
-        }
-    }
-
-    @Override
-    public RelationsContractInfoDO getContractInfo(Long id) {
-        return contractInfoMapper.selectById(id);
-    }
-
-    @Override
-    public PageResult<RelationsContractInfoDO> getContractInfoPage(RelationsContractInfoPageReqVO pageReqVO) {
-        return contractInfoMapper.selectPage(pageReqVO);
-    }
-
-}
+//package cn.iocoder.yudao.module.holiday.service.contractinfo;
+//
+//import cn.iocoder.yudao.framework.common.pojo.PageResult;
+//import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoPageReqVO;
+//import cn.iocoder.yudao.module.holiday.controller.admin.contractinfo.vo.RelationsContractInfoSaveReqVO;
+//import cn.iocoder.yudao.module.holiday.dal.dataobject.contractinfo.RelationsContractInfoDO;
+//import cn.iocoder.yudao.module.holiday.dal.mysql.contractinfo.RelationsContractInfoMapper;
+//import org.springframework.stereotype.Service;
+//import org.springframework.validation.annotation.Validated;
+//import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+//
+//import javax.annotation.Resource;
+//
+//import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+//import static cn.iocoder.yudao.module.holiday.enums.ErrorCodeConstants.RELATIONS_CONTRACT_INFO_NOT_EXISTS;
+//
+///**
+// * 员工合同信息 Service 实现类
+// *
+// * @author zhaopq
+// */
+//@Service
+//@Validated
+//public class RelationsContractInfoServiceImpl implements RelationsContractInfoService {
+//
+//    @Resource
+//    private RelationsContractInfoMapper contractInfoMapper;
+//
+//    @Override
+//    public Long createContractInfo(RelationsContractInfoSaveReqVO createReqVO) {
+//        // 插入
+//        RelationsContractInfoDO contractInfo = BeanUtils.toBean(createReqVO, RelationsContractInfoDO.class);
+//        contractInfoMapper.insert(contractInfo);
+//        // 返回
+//        return contractInfo.getId();
+//    }
+//
+//    @Override
+//    public void updateContractInfo(RelationsContractInfoSaveReqVO updateReqVO) {
+//        // 校验存在
+//        validateContractInfoExists(updateReqVO.getId());
+//        // 更新
+//        RelationsContractInfoDO updateObj = BeanUtils.toBean(updateReqVO, RelationsContractInfoDO.class);
+//        contractInfoMapper.updateById(updateObj);
+//    }
+//
+//    @Override
+//    public void deleteContractInfo(Long id) {
+//        // 校验存在
+//        validateContractInfoExists(id);
+//        // 删除
+//        contractInfoMapper.deleteById(id);
+//    }
+//
+//    private void validateContractInfoExists(Long id) {
+//        if (contractInfoMapper.selectById(id) == null) {
+//            throw exception(RELATIONS_CONTRACT_INFO_NOT_EXISTS);
+//        }
+//    }
+//
+//    @Override
+//    public RelationsContractInfoDO getContractInfo(Long id) {
+//        return contractInfoMapper.selectById(id);
+//    }
+//
+//    @Override
+//    public PageResult<RelationsContractInfoDO> getContractInfoPage(RelationsContractInfoPageReqVO pageReqVO) {
+//        return contractInfoMapper.selectPage(pageReqVO);
+//    }
+//
+//}

+ 1 - 1
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/contractinfo/RelationsContractInfoController.java

@@ -34,7 +34,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
 
 @Tag(name = "管理后台 - 员工合同信息")
 @RestController
-@RequestMapping("/relations/contract-info")
+@RequestMapping("/presonnel/relations/contract-info")
 @Validated
 public class RelationsContractInfoController {
 

+ 15 - 0
yudao-module-system/yudao-module-system-biz/pom.xml

@@ -33,6 +33,21 @@
             <artifactId>yudao-module-employee-api</artifactId>
             <version>${revision}</version>
         </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-relations-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-holiday-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-attendance-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
 
         <!-- 业务组件 -->
         <dependency>

+ 19 - 1
yudao-server/pom.xml

@@ -101,12 +101,30 @@
 <!--            <version>${revision}</version>-->
 <!--        </dependency>-->
 
-        <!-- 人事 相关模块。默认注释,保证编译速度 -->
+        <!-- 人事 员工相关模块。默认注释,保证编译速度 -->
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-module-employee-biz</artifactId>
             <version>${revision}</version>
         </dependency>
+        <!-- 人事 员工关系相关模块。默认注释,保证编译速度 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-relations-biz</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <!-- 人事 假务相关模块。默认注释,保证编译速度 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-holiday-biz</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <!-- 人事 考勤相关模块。默认注释,保证编译速度 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-attendance-biz</artifactId>
+            <version>${revision}</version>
+        </dependency>
 
         <!-- spring boot 配置所需依赖 -->
         <dependency>