Browse Source

【修改】合并master分支

lichen 8 months ago
parent
commit
8f3e1a89a4
27 changed files with 1309 additions and 17 deletions
  1. 13 1
      yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
  2. 5 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java
  3. 98 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/OaEntryController.java
  4. 97 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/OaLeaveController.java
  5. 81 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/OaEntryPageReqVO.java
  6. 100 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/OaEntryRespVO.java
  7. 74 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/OaEntrySaveReqVO.java
  8. 82 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/leave/OaLeavePageReqVO.java
  9. 100 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/leave/OaLeaveRespVO.java
  10. 74 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/leave/OaLeaveSaveReqVO.java
  11. 1 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveCreateReqVO.java
  12. 0 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/oldLeave/BpmOALeavePageReqVO.java
  13. 1 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java
  14. 107 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/OaEntryDO.java
  15. 107 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/OaLeaveDO.java
  16. 0 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOALeaveMapper.java
  17. 43 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/OaEntryMapper.java
  18. 40 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/OaLeaveMapper.java
  19. 57 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/entry/OaEntryService.java
  20. 77 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/entry/OaEntryServiceImpl.java
  21. 58 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/leave/OaLeaveService.java
  22. 77 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/leave/OaLeaveServiceImpl.java
  23. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOALeaveStatusListener.java
  24. 4 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOALeaveService.java
  25. 6 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOALeaveServiceImpl.java
  26. 1 1
      yudao-server/src/main/resources/application-local.yaml
  27. 4 1
      yudao-ui/yudao-ui-admin-vue2/.env.dev

+ 13 - 1
yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java

@@ -12,7 +12,7 @@ public interface ErrorCodeConstants {
     // ==========  通用流程处理 模块 1-009-000-000 ==========
 
     // ========== OA 流程模块 1-009-001-000 ==========
-    ErrorCode OA_LEAVE_NOT_EXISTS = new ErrorCode(1_009_001_001, "请假申请不存在");
+    ErrorCode OA_OLD_LEAVE_NOT_EXISTS = new ErrorCode(1_009_001_001, "请假申请不存在");
 
     // ========== 流程模型 1-009-002-000 ==========
     ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程");
@@ -76,5 +76,17 @@ public interface ErrorCodeConstants {
     ErrorCode PROCESS_EXPRESSION_NOT_EXISTS = new ErrorCode(1_009_014_000, "流程表达式不存在");
     // ========== BPM 流程规则 1_009_015_000 ==========
     ErrorCode TASK_ASSIGN_RULE_NOT_EXISTS = new ErrorCode(1_009_015_000, "Bpm 任务规则不存在");
+    ErrorCode TASK_ASSIGN_RULE_EXISTS = new ErrorCode(1_009_006_000, "流程({}) 的任务({}) 已经存在分配规则");
+    ErrorCode TASK_UPDATE_FAIL_NOT_MODEL = new ErrorCode(1_009_006_002, "只有流程模型的任务分配规则,才允许被修改");
+    ErrorCode TASK_ASSIGN_SCRIPT_NOT_EXISTS = new ErrorCode(1_009_006_004, "操作失败,原因:任务分配脚本({}) 不存在");
 
+
+
+    // ========== 入职流程信息 1-009-012-000 ==========
+    ErrorCode OA_ENTRY_NOT_EXISTS = new ErrorCode(1009012000, "入职流程信息不存在");
+
+
+
+    // ========== 请假流程信息 1-009-017-000 ==========
+    ErrorCode OA_LEAVE_NOT_EXISTS = new ErrorCode(1009017000, "请假流程信息不存在");
 }

+ 5 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java

@@ -3,11 +3,13 @@ package cn.iocoder.yudao.module.bpm.controller.admin.oa;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeaveRespVO;
+
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.oldLeave.BpmOALeaveCreateReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.oldLeave.BpmOALeaveRespVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
-import cn.iocoder.yudao.module.bpm.service.oa.BpmOALeaveService;
+
+import cn.iocoder.yudao.module.bpm.service.oa.oldLeave.BpmOALeaveService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 98 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/OaEntryController.java

@@ -0,0 +1,98 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa;
+
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry.OaEntryPageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry.OaEntryRespVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry.OaEntrySaveReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaEntryDO;
+import cn.iocoder.yudao.module.bpm.service.oa.entry.OaEntryService;
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+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 javax.validation.constraints.*;
+import javax.validation.*;
+import javax.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+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 static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+
+
+
+@Tag(name = "管理后台 - 入职流程信息")
+@RestController
+@RequestMapping("/bpm/oa-entry")
+@Validated
+public class OaEntryController {
+
+    @Resource
+    private OaEntryService oaEntryService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建入职流程信息")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:create')")
+    public CommonResult<Integer> createOaEntry(@Valid @RequestBody OaEntrySaveReqVO createReqVO) {
+        return success(oaEntryService.createOaEntry(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新入职流程信息")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:update')")
+    public CommonResult<Boolean> updateOaEntry(@Valid @RequestBody OaEntrySaveReqVO updateReqVO) {
+        oaEntryService.updateOaEntry(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除入职流程信息")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:delete')")
+    public CommonResult<Boolean> deleteOaEntry(@RequestParam("id") Integer id) {
+        oaEntryService.deleteOaEntry(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得入职流程信息")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:query')")
+    public CommonResult<OaEntryRespVO> getOaEntry(@RequestParam("id") Integer id) {
+        OaEntryDO oaEntry = oaEntryService.getOaEntry(id);
+        return success(BeanUtils.toBean(oaEntry, OaEntryRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得入职流程信息分页")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:query')")
+    public CommonResult<PageResult<OaEntryRespVO>> getOaEntryPage(@Valid OaEntryPageReqVO pageReqVO) {
+        PageResult<OaEntryDO> pageResult = oaEntryService.getOaEntryPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, OaEntryRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出入职流程信息 Excel")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportOaEntryExcel(@Valid OaEntryPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<OaEntryDO> list = oaEntryService.getOaEntryPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "入职流程信息.xls", "数据", OaEntryRespVO.class,
+                        BeanUtils.toBean(list, OaEntryRespVO.class));
+    }
+
+}

+ 97 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/OaLeaveController.java

@@ -0,0 +1,97 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa;
+
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.OaLeavePageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.OaLeaveRespVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.OaLeaveSaveReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaLeaveDO;
+import cn.iocoder.yudao.module.bpm.service.oa.leave.OaLeaveService;
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+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 javax.validation.constraints.*;
+import javax.validation.*;
+import javax.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+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 static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+
+
+@Tag(name = "管理后台 - 请假流程信息")
+@RestController
+@RequestMapping("/bpm/oa-leave")
+@Validated
+public class OaLeaveController {
+
+    @Resource
+    private OaLeaveService oaLeaveService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建请假流程信息")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')")
+    public CommonResult<Integer> createOaLeave(@Valid @RequestBody OaLeaveSaveReqVO createReqVO) {
+        return success(oaLeaveService.createOaLeave(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新请假流程信息")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:update')")
+    public CommonResult<Boolean> updateOaLeave(@Valid @RequestBody OaLeaveSaveReqVO updateReqVO) {
+        oaLeaveService.updateOaLeave(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除请假流程信息")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:delete')")
+    public CommonResult<Boolean> deleteOaLeave(@RequestParam("id") Integer id) {
+        oaLeaveService.deleteOaLeave(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得请假流程信息")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
+    public CommonResult<OaLeaveRespVO> getOaLeave(@RequestParam("id") Integer id) {
+        OaLeaveDO oaLeave = oaLeaveService.getOaLeave(id);
+        return success(BeanUtils.toBean(oaLeave, OaLeaveRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得请假流程信息分页")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
+    public CommonResult<PageResult<OaLeaveRespVO>> getOaLeavePage(@Valid OaLeavePageReqVO pageReqVO) {
+        PageResult<OaLeaveDO> pageResult = oaLeaveService.getOaLeavePage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, OaLeaveRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出请假流程信息 Excel")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportOaLeaveExcel(@Valid OaLeavePageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<OaLeaveDO> list = oaLeaveService.getOaLeavePage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "请假流程信息.xls", "数据", OaLeaveRespVO.class,
+                        BeanUtils.toBean(list, OaLeaveRespVO.class));
+    }
+
+}

+ 81 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/OaEntryPageReqVO.java

@@ -0,0 +1,81 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 入职流程信息分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class OaEntryPageReqVO extends PageParam {
+
+    @Schema(description = "uuid", example = "13471")
+    private String entryId;
+
+    @Schema(description = "入职人", example = "王五")
+    private String loginName;
+
+    @Schema(description = "部门", example = "2937")
+    private String deptId;
+
+    @Schema(description = "职位")
+    private String position;
+
+    @Schema(description = "员工类型", example = "1")
+    private String employeeType;
+
+    @Schema(description = "性别")
+    private String gender;
+
+    @Schema(description = "出身日期")
+    private String birthday;
+
+    @Schema(description = "联系电话")
+    private String contactNumber;
+
+    @Schema(description = "电子邮箱")
+    private String email;
+
+    @Schema(description = "教育背景")
+    private String education;
+
+    @Schema(description = "工作经验")
+    private String workExperience;
+
+    @Schema(description = "入职日期")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private String[] startDate;
+
+    @Schema(description = "备注")
+    private String remarks;
+
+    @Schema(description = "流程实例id", example = "11656")
+    private String procInsId;
+
+    @Schema(description = "单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)", example = "2")
+    private String oaEntryStatus;
+
+    @Schema(description = "审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)", example = "2")
+    private String auditStatus;
+
+    @Schema(description = "当前审核人编号", example = "20994")
+    private String auditLoginId;
+
+    @Schema(description = "最后审核时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private String[] finalAuditDate;
+
+    @Schema(description = "数据来源,流程添加、手动添加")
+    private String infoSource;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 100 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/OaEntryRespVO.java

@@ -0,0 +1,100 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 入职流程信息 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class OaEntryRespVO {
+
+    @Schema(description = "入职表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "22133")
+    @ExcelProperty("入职表单主键")
+    private Integer id;
+
+    @Schema(description = "uuid", example = "13471")
+    @ExcelProperty("uuid")
+    private String entryId;
+
+    @Schema(description = "入职人", example = "王五")
+    @ExcelProperty("入职人")
+    private String loginName;
+
+    @Schema(description = "部门", example = "2937")
+    @ExcelProperty("部门")
+    private String deptId;
+
+    @Schema(description = "职位")
+    @ExcelProperty("职位")
+    private String position;
+
+    @Schema(description = "员工类型", example = "1")
+    @ExcelProperty("员工类型")
+    private String employeeType;
+
+    @Schema(description = "性别")
+    @ExcelProperty("性别")
+    private String gender;
+
+    @Schema(description = "出身日期")
+    @ExcelProperty("出身日期")
+    private String birthday;
+
+    @Schema(description = "联系电话")
+    @ExcelProperty("联系电话")
+    private String contactNumber;
+
+    @Schema(description = "电子邮箱")
+    @ExcelProperty("电子邮箱")
+    private String email;
+
+    @Schema(description = "教育背景")
+    @ExcelProperty("教育背景")
+    private String education;
+
+    @Schema(description = "工作经验")
+    @ExcelProperty("工作经验")
+    private String workExperience;
+
+    @Schema(description = "入职日期")
+    @ExcelProperty("入职日期")
+    private String startDate;
+
+    @Schema(description = "备注")
+    @ExcelProperty("备注")
+    private String remarks;
+
+    @Schema(description = "流程实例id", example = "11656")
+    @ExcelProperty("流程实例id")
+    private String procInsId;
+
+    @Schema(description = "单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)", example = "2")
+    @ExcelProperty("单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)")
+    private String oaEntryStatus;
+
+    @Schema(description = "审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)", example = "2")
+    @ExcelProperty("审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)")
+    private String auditStatus;
+
+    @Schema(description = "当前审核人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20994")
+    @ExcelProperty("当前审核人编号")
+    private String auditLoginId;
+
+    @Schema(description = "最后审核时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("最后审核时间")
+    private String finalAuditDate;
+
+    @Schema(description = "数据来源,流程添加、手动添加")
+    @ExcelProperty("数据来源,流程添加、手动添加")
+    private String infoSource;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 74 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/OaEntrySaveReqVO.java

@@ -0,0 +1,74 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - 入职流程信息新增/修改 Request VO")
+@Data
+public class OaEntrySaveReqVO {
+
+    @Schema(description = "入职表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "22133")
+    private Integer id;
+
+    @Schema(description = "uuid", example = "13471")
+    private String entryId;
+
+    @Schema(description = "入职人", example = "王五")
+    private String loginName;
+
+    @Schema(description = "部门", example = "2937")
+    private String deptId;
+
+    @Schema(description = "职位")
+    private String position;
+
+    @Schema(description = "员工类型", example = "1")
+    private String employeeType;
+
+    @Schema(description = "性别")
+    private String gender;
+
+    @Schema(description = "出身日期")
+    private String birthday;
+
+    @Schema(description = "联系电话")
+    private String contactNumber;
+
+    @Schema(description = "电子邮箱")
+    private String email;
+
+    @Schema(description = "教育背景")
+    private String education;
+
+    @Schema(description = "工作经验")
+    private String workExperience;
+
+    @Schema(description = "入职日期")
+    private String startDate;
+
+    @Schema(description = "备注")
+    private String remarks;
+
+    @Schema(description = "流程实例id", example = "11656")
+    private String procInsId;
+
+    @Schema(description = "单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)", example = "2")
+    private String oaEntryStatus;
+
+    @Schema(description = "审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)", example = "2")
+    private String auditStatus;
+
+    @Schema(description = "当前审核人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20994")
+    @NotEmpty(message = "当前审核人编号不能为空")
+    private String auditLoginId;
+
+    @Schema(description = "最后审核时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "最后审核时间不能为空")
+    private String finalAuditDate;
+
+    @Schema(description = "数据来源,流程添加、手动添加")
+    private String infoSource;
+
+}

+ 82 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/leave/OaLeavePageReqVO.java

@@ -0,0 +1,82 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 请假流程信息分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class OaLeavePageReqVO extends PageParam {
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+    @Schema(description = "uuid", example = "17142")
+    private String leaveId;
+
+    @Schema(description = "员工姓名", example = "张三")
+    private String loginName;
+
+    @Schema(description = "员工编号", example = "18704")
+    private String loginId;
+
+    @Schema(description = "部门", example = "26420")
+    private String deptId;
+
+    @Schema(description = "员工职位")
+    private String position;
+
+    @Schema(description = "请假类型", example = "2")
+    private String type;
+
+    @Schema(description = "开始时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private String[] startTime;
+
+    @Schema(description = "结束时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private String[] endTime;
+
+    @Schema(description = "请假天数")
+    private String day;
+
+    @Schema(description = "具体到上下午,am上午 pm下午")
+    private String concreteDay1;
+
+    @Schema(description = "具体到上下午,am上午 pm下午")
+    private String concreteDay2;
+
+    @Schema(description = "请假原因", example = "不喜欢")
+    private String reason;
+
+    @Schema(description = "备注")
+    private String remarks;
+
+    @Schema(description = "流程实例id", example = "32163")
+    private String procInsId;
+
+    @Schema(description = "单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)", example = "1")
+    private String oaLeaveStatus;
+
+    @Schema(description = "审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)", example = "2")
+    private String auditStatus;
+
+    @Schema(description = "当前审核人编号", example = "12911")
+    private String auditLoginId;
+
+    @Schema(description = "最后审核时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private String[] finalAuditDate;
+
+    @Schema(description = "数据来源,流程添加、手动添加")
+    private String infoSource;
+
+}

+ 100 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/leave/OaLeaveRespVO.java

@@ -0,0 +1,100 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 请假流程信息 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class OaLeaveRespVO {
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "请假表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11541")
+    @ExcelProperty("请假表单主键")
+    private Integer id;
+
+    @Schema(description = "uuid", example = "17142")
+    @ExcelProperty("uuid")
+    private String leaveId;
+
+    @Schema(description = "员工姓名", example = "张三")
+    @ExcelProperty("员工姓名")
+    private String loginName;
+
+    @Schema(description = "员工编号", example = "18704")
+    @ExcelProperty("员工编号")
+    private String loginId;
+
+    @Schema(description = "部门", example = "26420")
+    @ExcelProperty("部门")
+    private String deptId;
+
+    @Schema(description = "员工职位")
+    @ExcelProperty("员工职位")
+    private String position;
+
+    @Schema(description = "请假类型", example = "2")
+    @ExcelProperty("请假类型")
+    private String type;
+
+    @Schema(description = "开始时间")
+    @ExcelProperty("开始时间")
+    private String startTime;
+
+    @Schema(description = "结束时间")
+    @ExcelProperty("结束时间")
+    private String endTime;
+
+    @Schema(description = "请假天数")
+    @ExcelProperty("请假天数")
+    private String day;
+
+    @Schema(description = "具体到上下午,am上午 pm下午")
+    @ExcelProperty("具体到上下午,am上午 pm下午")
+    private String concreteDay1;
+
+    @Schema(description = "具体到上下午,am上午 pm下午")
+    @ExcelProperty("具体到上下午,am上午 pm下午")
+    private String concreteDay2;
+
+    @Schema(description = "请假原因", example = "不喜欢")
+    @ExcelProperty("请假原因")
+    private String reason;
+
+    @Schema(description = "备注")
+    @ExcelProperty("备注")
+    private String remarks;
+
+    @Schema(description = "流程实例id", example = "32163")
+    @ExcelProperty("流程实例id")
+    private String procInsId;
+
+    @Schema(description = "单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)", example = "1")
+    @ExcelProperty("单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)")
+    private String oaLeaveStatus;
+
+    @Schema(description = "审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)", example = "2")
+    @ExcelProperty("审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)")
+    private String auditStatus;
+
+    @Schema(description = "当前审核人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12911")
+    @ExcelProperty("当前审核人编号")
+    private String auditLoginId;
+
+    @Schema(description = "最后审核时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("最后审核时间")
+    private String finalAuditDate;
+
+    @Schema(description = "数据来源,流程添加、手动添加")
+    @ExcelProperty("数据来源,流程添加、手动添加")
+    private String infoSource;
+
+}

+ 74 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/leave/OaLeaveSaveReqVO.java

@@ -0,0 +1,74 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - 请假流程信息新增/修改 Request VO")
+@Data
+public class OaLeaveSaveReqVO {
+
+    @Schema(description = "请假表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11541")
+    private Integer id;
+
+    @Schema(description = "uuid", example = "17142")
+    private String leaveId;
+
+    @Schema(description = "员工姓名", example = "张三")
+    private String loginName;
+
+    @Schema(description = "员工编号", example = "18704")
+    private String loginId;
+
+    @Schema(description = "部门", example = "26420")
+    private String deptId;
+
+    @Schema(description = "员工职位")
+    private String position;
+
+    @Schema(description = "请假类型", example = "2")
+    private String type;
+
+    @Schema(description = "开始时间")
+    private String startTime;
+
+    @Schema(description = "结束时间")
+    private String endTime;
+
+    @Schema(description = "请假天数")
+    private String day;
+
+    @Schema(description = "具体到上下午,am上午 pm下午")
+    private String concreteDay1;
+
+    @Schema(description = "具体到上下午,am上午 pm下午")
+    private String concreteDay2;
+
+    @Schema(description = "请假原因", example = "不喜欢")
+    private String reason;
+
+    @Schema(description = "备注")
+    private String remarks;
+
+    @Schema(description = "流程实例id", example = "32163")
+    private String procInsId;
+
+    @Schema(description = "单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)", example = "1")
+    private String oaLeaveStatus;
+
+    @Schema(description = "审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)", example = "2")
+    private String auditStatus;
+
+    @Schema(description = "当前审核人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12911")
+    @NotEmpty(message = "当前审核人编号不能为空")
+    private String auditLoginId;
+
+    @Schema(description = "最后审核时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "最后审核时间不能为空")
+    private String finalAuditDate;
+
+    @Schema(description = "数据来源,流程添加、手动添加")
+    private String infoSource;
+
+}

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveCreateReqVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.oldLeave;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;

yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeavePageReqVO.java → yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/oldLeave/BpmOALeavePageReqVO.java


+ 1 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
+package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.oldLeave;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;

+ 107 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/OaEntryDO.java

@@ -0,0 +1,107 @@
+package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
+
+import lombok.*;
+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 芋道源码
+ */
+@TableName("bpm_oa_entry")
+@KeySequence("bpm_oa_entry_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class OaEntryDO extends BaseDO {
+
+    /**
+     * 入职表单主键
+     */
+    @TableId
+    private Integer id;
+    /**
+     * uuid
+     */
+    private String entryId;
+    /**
+     * 入职人
+     */
+    private String loginName;
+    /**
+     * 部门
+     */
+    private String deptId;
+    /**
+     * 职位
+     */
+    private String position;
+    /**
+     * 员工类型
+     */
+    private String employeeType;
+    /**
+     * 性别
+     */
+    private String gender;
+    /**
+     * 出身日期
+     */
+    private String birthday;
+    /**
+     * 联系电话
+     */
+    private String contactNumber;
+    /**
+     * 电子邮箱
+     */
+    private String email;
+    /**
+     * 教育背景
+     */
+    private String education;
+    /**
+     * 工作经验
+     */
+    private String workExperience;
+    /**
+     * 入职日期
+     */
+    private String startDate;
+    /**
+     * 备注
+     */
+    private String remarks;
+    /**
+     * 流程实例id
+     */
+    private String procInsId;
+    /**
+     * 单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)
+     */
+    private String oaEntryStatus;
+    /**
+     * 审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)
+     */
+    private String auditStatus;
+    /**
+     * 当前审核人编号
+     */
+    private String auditLoginId;
+    /**
+     * 最后审核时间
+     */
+    private String finalAuditDate;
+    /**
+     * 数据来源,流程添加、手动添加
+     */
+    private String infoSource;
+
+}

+ 107 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/OaLeaveDO.java

@@ -0,0 +1,107 @@
+package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
+
+import lombok.*;
+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 芋道源码
+ */
+@TableName("bpm_oa_leave")
+@KeySequence("bpm_oa_leave_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class OaLeaveDO extends BaseDO {
+
+    /**
+     * 请假表单主键
+     */
+    @TableId
+    private Integer id;
+    /**
+     * uuid
+     */
+    private String leaveId;
+    /**
+     * 员工姓名
+     */
+    private String loginName;
+    /**
+     * 员工编号
+     */
+    private String loginId;
+    /**
+     * 部门
+     */
+    private String deptId;
+    /**
+     * 员工职位
+     */
+    private String position;
+    /**
+     * 请假类型
+     */
+    private String type;
+    /**
+     * 开始时间
+     */
+    private String startTime;
+    /**
+     * 结束时间
+     */
+    private String endTime;
+    /**
+     * 请假天数
+     */
+    private String day;
+    /**
+     * 具体到上下午,am上午 pm下午
+     */
+    private String concreteDay1;
+    /**
+     * 具体到上下午,am上午 pm下午
+     */
+    private String concreteDay2;
+    /**
+     * 请假原因
+     */
+    private String reason;
+    /**
+     * 备注
+     */
+    private String remarks;
+    /**
+     * 流程实例id
+     */
+    private String procInsId;
+    /**
+     * 单据状态(0:暂存,1:审批中,2:生效,4:审批完成,3:删除,5作废)
+     */
+    private String oaLeaveStatus;
+    /**
+     * 审核状态(0:驳回,1:提交,2:审批中,4:审批完成,3:取消结束)
+     */
+    private String auditStatus;
+    /**
+     * 当前审核人编号
+     */
+    private String auditLoginId;
+    /**
+     * 最后审核时间
+     */
+    private String finalAuditDate;
+    /**
+     * 数据来源,流程添加、手动添加
+     */
+    private String infoSource;
+
+}

+ 0 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOALeaveMapper.java

@@ -1,5 +1,4 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa;
-
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;

+ 43 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/OaEntryMapper.java

@@ -0,0 +1,43 @@
+package cn.iocoder.yudao.module.bpm.dal.mysql.oa;
+
+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.bpm.controller.admin.oa.vo.entry.OaEntryPageReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaEntryDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 入职流程信息 Mapper
+ *
+ * @author 芋道源码
+ */
+@Mapper
+public interface OaEntryMapper extends BaseMapperX<OaEntryDO> {
+
+    default PageResult<OaEntryDO> selectPage(OaEntryPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<OaEntryDO>()
+                .eqIfPresent(OaEntryDO::getEntryId, reqVO.getEntryId())
+                .likeIfPresent(OaEntryDO::getLoginName, reqVO.getLoginName())
+                .eqIfPresent(OaEntryDO::getDeptId, reqVO.getDeptId())
+                .eqIfPresent(OaEntryDO::getPosition, reqVO.getPosition())
+                .eqIfPresent(OaEntryDO::getEmployeeType, reqVO.getEmployeeType())
+                .eqIfPresent(OaEntryDO::getGender, reqVO.getGender())
+                .eqIfPresent(OaEntryDO::getBirthday, reqVO.getBirthday())
+                .eqIfPresent(OaEntryDO::getContactNumber, reqVO.getContactNumber())
+                .eqIfPresent(OaEntryDO::getEmail, reqVO.getEmail())
+                .eqIfPresent(OaEntryDO::getEducation, reqVO.getEducation())
+                .eqIfPresent(OaEntryDO::getWorkExperience, reqVO.getWorkExperience())
+                .betweenIfPresent(OaEntryDO::getStartDate, reqVO.getStartDate())
+                .eqIfPresent(OaEntryDO::getRemarks, reqVO.getRemarks())
+                .eqIfPresent(OaEntryDO::getProcInsId, reqVO.getProcInsId())
+                .eqIfPresent(OaEntryDO::getOaEntryStatus, reqVO.getOaEntryStatus())
+                .eqIfPresent(OaEntryDO::getAuditStatus, reqVO.getAuditStatus())
+                .eqIfPresent(OaEntryDO::getAuditLoginId, reqVO.getAuditLoginId())
+                .betweenIfPresent(OaEntryDO::getFinalAuditDate, reqVO.getFinalAuditDate())
+                .eqIfPresent(OaEntryDO::getInfoSource, reqVO.getInfoSource())
+                .betweenIfPresent(OaEntryDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(OaEntryDO::getId));
+    }
+
+}

+ 40 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/OaLeaveMapper.java

@@ -0,0 +1,40 @@
+package cn.iocoder.yudao.module.bpm.dal.mysql.oa;
+
+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.bpm.controller.admin.oa.vo.leave.OaLeavePageReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaLeaveDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 请假流程信息 Mapper
+ *
+ * @author 芋道源码
+ */
+@Mapper
+public interface OaLeaveMapper extends BaseMapperX<OaLeaveDO> {
+
+    default PageResult<OaLeaveDO> selectPage(OaLeavePageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<OaLeaveDO>()
+                .eqIfPresent(OaLeaveDO::getLeaveId, reqVO.getLeaveId())
+                .likeIfPresent(OaLeaveDO::getLoginName, reqVO.getLoginName())
+                .eqIfPresent(OaLeaveDO::getLoginId, reqVO.getLoginId())
+                .eqIfPresent(OaLeaveDO::getDeptId, reqVO.getDeptId())
+                .eqIfPresent(OaLeaveDO::getPosition, reqVO.getPosition())
+                .eqIfPresent(OaLeaveDO::getType, reqVO.getType())
+                .betweenIfPresent(OaLeaveDO::getStartTime, reqVO.getStartTime())
+                .betweenIfPresent(OaLeaveDO::getEndTime, reqVO.getEndTime())
+                .eqIfPresent(OaLeaveDO::getDay, reqVO.getDay())
+                .eqIfPresent(OaLeaveDO::getConcreteDay1, reqVO.getConcreteDay1())
+                .eqIfPresent(OaLeaveDO::getConcreteDay2, reqVO.getConcreteDay2())
+                .eqIfPresent(OaLeaveDO::getReason, reqVO.getReason())
+                .eqIfPresent(OaLeaveDO::getRemarks, reqVO.getRemarks())
+                .eqIfPresent(OaLeaveDO::getProcInsId, reqVO.getProcInsId())
+                .eqIfPresent(OaLeaveDO::getOaLeaveStatus, reqVO.getOaLeaveStatus())
+                .eqIfPresent(OaLeaveDO::getInfoSource, reqVO.getInfoSource())
+                .orderByDesc(OaLeaveDO::getId));
+    }
+
+}

+ 57 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/entry/OaEntryService.java

@@ -0,0 +1,57 @@
+package cn.iocoder.yudao.module.bpm.service.oa.entry;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry.OaEntryPageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry.OaEntrySaveReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaEntryDO;
+
+import java.util.*;
+import javax.validation.*;
+
+
+/**
+ * 入职流程信息 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface OaEntryService {
+
+    /**
+     * 创建入职流程信息
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Integer createOaEntry(@Valid OaEntrySaveReqVO createReqVO);
+
+    /**
+     * 更新入职流程信息
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateOaEntry(@Valid OaEntrySaveReqVO updateReqVO);
+
+    /**
+     * 删除入职流程信息
+     *
+     * @param id 编号
+     */
+    void deleteOaEntry(Integer id);
+
+    /**
+     * 获得入职流程信息
+     *
+     * @param id 编号
+     * @return 入职流程信息
+     */
+    OaEntryDO getOaEntry(Integer id);
+
+    /**
+     * 获得入职流程信息分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 入职流程信息分页
+     */
+    PageResult<OaEntryDO> getOaEntryPage(OaEntryPageReqVO pageReqVO);
+
+}

+ 77 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/entry/OaEntryServiceImpl.java

@@ -0,0 +1,77 @@
+package cn.iocoder.yudao.module.bpm.service.oa.entry;
+
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry.OaEntryPageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry.OaEntrySaveReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaEntryDO;
+import cn.iocoder.yudao.module.bpm.dal.mysql.oa.OaEntryMapper;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+
+
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
+
+/**
+ * 入职流程信息 Service 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class OaEntryServiceImpl implements OaEntryService {
+
+    @Resource
+    private OaEntryMapper oaEntryMapper;
+
+    @Override
+    public Integer createOaEntry(OaEntrySaveReqVO createReqVO) {
+        // 插入
+        OaEntryDO oaEntry = BeanUtils.toBean(createReqVO, OaEntryDO.class);
+        oaEntryMapper.insert(oaEntry);
+        // 返回
+        return oaEntry.getId();
+    }
+
+    @Override
+    public void updateOaEntry(OaEntrySaveReqVO updateReqVO) {
+        // 校验存在
+        validateOaEntryExists(updateReqVO.getId());
+        // 更新
+        OaEntryDO updateObj = BeanUtils.toBean(updateReqVO, OaEntryDO.class);
+        oaEntryMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteOaEntry(Integer id) {
+        // 校验存在
+        validateOaEntryExists(id);
+        // 删除
+        oaEntryMapper.deleteById(id);
+    }
+
+    private void validateOaEntryExists(Integer id) {
+        if (oaEntryMapper.selectById(id) == null) {
+            throw exception(OA_ENTRY_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public OaEntryDO getOaEntry(Integer id) {
+        return oaEntryMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<OaEntryDO> getOaEntryPage(OaEntryPageReqVO pageReqVO) {
+        return oaEntryMapper.selectPage(pageReqVO);
+    }
+
+}

+ 58 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/leave/OaLeaveService.java

@@ -0,0 +1,58 @@
+package cn.iocoder.yudao.module.bpm.service.oa.leave;
+
+import java.util.*;
+import javax.validation.*;
+
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.OaLeavePageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.OaLeaveSaveReqVO;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaLeaveDO;
+
+/**
+ * 请假流程信息 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface OaLeaveService {
+
+    /**
+     * 创建请假流程信息
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Integer createOaLeave(@Valid OaLeaveSaveReqVO createReqVO);
+
+    /**
+     * 更新请假流程信息
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateOaLeave(@Valid OaLeaveSaveReqVO updateReqVO);
+
+    /**
+     * 删除请假流程信息
+     *
+     * @param id 编号
+     */
+    void deleteOaLeave(Integer id);
+
+    /**
+     * 获得请假流程信息
+     *
+     * @param id 编号
+     * @return 请假流程信息
+     */
+    OaLeaveDO getOaLeave(Integer id);
+
+    /**
+     * 获得请假流程信息分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 请假流程信息分页
+     */
+    PageResult<OaLeaveDO> getOaLeavePage(OaLeavePageReqVO pageReqVO);
+
+}

+ 77 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/leave/OaLeaveServiceImpl.java

@@ -0,0 +1,77 @@
+package cn.iocoder.yudao.module.bpm.service.oa.leave;
+
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.OaLeavePageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.OaLeaveSaveReqVO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.OaLeaveDO;
+import cn.iocoder.yudao.module.bpm.dal.mysql.oa.OaLeaveMapper;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+
+
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
+
+/**
+ * 请假流程信息 Service 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class OaLeaveServiceImpl implements OaLeaveService {
+
+    @Resource
+    private OaLeaveMapper oaLeaveMapper;
+
+    @Override
+    public Integer createOaLeave(OaLeaveSaveReqVO createReqVO) {
+        // 插入
+        OaLeaveDO oaLeave = BeanUtils.toBean(createReqVO, OaLeaveDO.class);
+        oaLeaveMapper.insert(oaLeave);
+        // 返回
+        return oaLeave.getId();
+    }
+
+    @Override
+    public void updateOaLeave(OaLeaveSaveReqVO updateReqVO) {
+        // 校验存在
+        validateOaLeaveExists(updateReqVO.getId());
+        // 更新
+        OaLeaveDO updateObj = BeanUtils.toBean(updateReqVO, OaLeaveDO.class);
+        oaLeaveMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteOaLeave(Integer id) {
+        // 校验存在
+        validateOaLeaveExists(id);
+        // 删除
+        oaLeaveMapper.deleteById(id);
+    }
+
+    private void validateOaLeaveExists(Integer id) {
+        if (oaLeaveMapper.selectById(id) == null) {
+            throw exception(OA_LEAVE_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public OaLeaveDO getOaLeave(Integer id) {
+        return oaLeaveMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<OaLeaveDO> getOaLeavePage(OaLeavePageReqVO pageReqVO) {
+        return oaLeaveMapper.selectPage(pageReqVO);
+    }
+
+}

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOALeaveStatusListener.java

@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.bpm.service.oa.listener;
 
 import cn.iocoder.yudao.module.bpm.event.BpmProcessInstanceStatusEvent;
 import cn.iocoder.yudao.module.bpm.event.BpmProcessInstanceStatusEventListener;
-import cn.iocoder.yudao.module.bpm.service.oa.BpmOALeaveService;
-import cn.iocoder.yudao.module.bpm.service.oa.BpmOALeaveServiceImpl;
+import cn.iocoder.yudao.module.bpm.service.oa.oldLeave.BpmOALeaveService;
+import cn.iocoder.yudao.module.bpm.service.oa.oldLeave.BpmOALeaveServiceImpl;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;

+ 4 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOALeaveService.java

@@ -1,9 +1,11 @@
-package cn.iocoder.yudao.module.bpm.service.oa;
+package cn.iocoder.yudao.module.bpm.service.oa.oldLeave;
 
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO;
+
+
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.oldLeave.BpmOALeaveCreateReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
 
 import javax.validation.Valid;

+ 6 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOALeaveServiceImpl.java

@@ -1,12 +1,14 @@
-package cn.iocoder.yudao.module.bpm.service.oa;
+package cn.iocoder.yudao.module.bpm.service.oa.oldLeave;
 
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
-import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO;
+
+
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.oldLeave.BpmOALeaveCreateReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
 import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOALeaveMapper;
 import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
@@ -19,7 +21,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.OA_LEAVE_NOT_EXISTS;
+import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.OA_OLD_LEAVE_NOT_EXISTS;
 
 /**
  * OA 请假申请 Service 实现类
@@ -72,7 +74,7 @@ public class BpmOALeaveServiceImpl implements BpmOALeaveService {
 
     private void validateLeaveExists(Long id) {
         if (leaveMapper.selectById(id) == null) {
-            throw exception(OA_LEAVE_NOT_EXISTS);
+            throw exception(OA_OLD_LEAVE_NOT_EXISTS);
         }
     }
 

+ 1 - 1
yudao-server/src/main/resources/application-local.yaml

@@ -71,7 +71,7 @@ spring:
     host: 127.0.0.1 # 地址
     port: 6379 # 端口
     database: 0 # 数据库索引
-    password: 123456 # 密码,建议生产环境开启
+#    password: 123456 # 密码,建议生产环境开启
 
 --- #################### 定时任务相关配置 ####################
 

+ 4 - 1
yudao-ui/yudao-ui-admin-vue2/.env.dev

@@ -6,6 +6,9 @@ VUE_APP_TITLE = 芋道管理系统
 
 # 芋道管理系统/开发环境
 VUE_APP_BASE_API = 'http://localhost:48080'
+# VUE_APP_BASE_API = 'http://192.168.100.249:48080'
+# VUE_APP_BASE_API = 'http://192.168.100.234:48080'
+
 
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
@@ -14,7 +17,7 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
 VUE_APP_TENANT_ENABLE = true
 
 # 验证码的开关
-VUE_APP_CAPTCHA_ENABLE = true
+VUE_APP_CAPTCHA_ENABLE = false
 
 # 文档的开关
 VUE_APP_DOC_ENABLE = true