diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java index 3a8c4b2b..0e6b89ad 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java @@ -37,4 +37,6 @@ public interface GlobalErrorCodeConstants { ErrorCode UNKNOWN = new ErrorCode(999, "未知错误"); + + ErrorCode OA_PROCURE_NOT_EXISTS = new ErrorCode(10001, "OA 采购申请不存在"); } diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java index e588beae..fbf8b331 100644 --- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java @@ -25,6 +25,11 @@ public interface ErrorCodeConstants { ErrorCode OA_EVECTION_NOT_EXISTS = new ErrorCode(1_009_001_101, "出差申请不存在"); ErrorCode OA_SEAL_NOT_EXISTS = new ErrorCode(1_009_001_102, "用章申请不存在"); ErrorCode OA_CONTRACT_NOT_EXISTS = new ErrorCode(1_009_001_103, "合同审批不存在"); + ErrorCode OA_CASH_NOT_EXISTS = new ErrorCode(1_009_001_104, "现金支出申请不存在"); + ErrorCode OA_OVERTIME_NOT_EXISTS = new ErrorCode(1_009_001_105, "加班申请不存在"); + ErrorCode OA_REGULAR_NOT_EXISTS = new ErrorCode(1_009_001_106, "转正申请不存在"); + ErrorCode OA_SHIFTJOBS_NOT_EXISTS = new ErrorCode(1_009_001_107, "调岗申请不存在"); + ErrorCode OA_SECOND_NOT_EXISTS = new ErrorCode(1_009_001_108, "借调申请不存在"); // ========== 流程模型 1-009-002-000 ========== ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程"); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOACashController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOACashController.java index 81ecf159..b0b6191c 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOACashController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOACashController.java @@ -41,7 +41,7 @@ public class BpmOACashController { } @GetMapping("/get") - @Operation(summary = "获得请假申请") + @Operation(summary = "获得现金支出申请") @Parameter(name = "id", description = "编号", required = true, example = "1024") public CommonResult getCash(@RequestParam("id") Long id) { diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAContractController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAContractController.java index 444e71c9..b750e198 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAContractController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAContractController.java @@ -41,7 +41,7 @@ public class BpmOAContractController { } @GetMapping("/get") - @Operation(summary = "获得请假申请") + @Operation(summary = "获得合同审批") @Parameter(name = "id", description = "编号", required = true, example = "1024") public CommonResult getContract(@RequestParam("id") Long id) { diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java index b2c3ed23..041d4183 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java @@ -41,7 +41,7 @@ public class BpmOAEvectionController { } @GetMapping("/get") - @Operation(summary = "获得请假申请") + @Operation(summary = "获得出差申请") @Parameter(name = "id", description = "编号", required = true, example = "1024") public CommonResult getEvection(@RequestParam("id") Long id) { diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.http b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.http deleted file mode 100644 index 96bbf964..00000000 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.http +++ /dev/null @@ -1,12 +0,0 @@ -### 请求 /bpm/oa/leave/create 接口 => 成功 -POST {{baseUrl}}/bpm/oa/leave/create -Content-Type: application/json -tenant-id: 1 -Authorization: Bearer {{token}} - -{ - "startTime": "2022-03-01", - "endTime": "2022-03-05", - "type": 1, - "reason": "我要请假啦啦啦!" -} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAOvertimeController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAOvertimeController.java new file mode 100644 index 00000000..b665200d --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAOvertimeController.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime.BpmOAOvertimeCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime.BpmOAOvertimeRespVO; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAOvertimeConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAOvertimeDO; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOAOvertimeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +/** + * OA 加班申请 Controller + * + * @author 符溶馨 + + */ +@Tag(name = "管理后台 - OA 加班申请") +@RestController +@RequestMapping("/bpm/oa/overtime") +@Validated +public class BpmOAOvertimeController { + + @Resource + private BpmOAOvertimeService overtimeService; + + @PostMapping("/create") + @Operation(summary = "创建请求申请") + public CommonResult createOvertime(@Valid @RequestBody BpmOAOvertimeCreateReqVO createReqVO) { + + return success(overtimeService.createOvertime(getLoginUserId(), createReqVO)); + } + + @GetMapping("/get") + @Operation(summary = "获得加班申请") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getOvertime(@RequestParam("id") Long id) { + + BpmOAOvertimeDO overtime = overtimeService.getOvertime(id); + + return success(BpmOAOvertimeConvert.INSTANCE.convert(overtime)); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcureController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcureController.java new file mode 100644 index 00000000..5fbc9614 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAProcureController.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureSaveReqVO; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAProcureConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOaProcureService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - OA 采购申请") +@RestController +@RequestMapping("/bpm/oa-procure") +@Validated +public class BpmOAProcureController { + + @Resource + private BpmOaProcureService bpmOaProcureService; + + @PostMapping("/create") + @Operation(summary = "创建OA 采购申请") + @PreAuthorize("@ss.hasPermission('bpm:oa-procure:create')") + public CommonResult createOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO createReqVO) { + return success(bpmOaProcureService.createOaProcure(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新OA 采购申请") + @PreAuthorize("@ss.hasPermission('bpm:oa-procure:update')") + public CommonResult updateOaProcure(@Valid @RequestBody BpmOAProcureSaveReqVO updateReqVO) { + bpmOaProcureService.updateOaProcure(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除OA 采购申请") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:oa-procure:delete')") + public CommonResult deleteOaProcure(@RequestParam("id") Long id) { + bpmOaProcureService.deleteOaProcure(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得OA 采购申请") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:oa-procure:query')") + public CommonResult getOaProcure(@RequestParam("id") Long id) { + BpmOAProcureDO oaProcure = bpmOaProcureService.getOaProcure(id); + return success(BpmOAProcureConvert.INSTANCE.convert(oaProcure)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOARegularController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOARegularController.java new file mode 100644 index 00000000..dee3c5e8 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOARegularController.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular.BpmOARegularCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular.BpmOARegularRespVO; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOARegularConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOARegularDO; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOARegularService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +/** + * OA 转正申请 Controller + * + * @author 符溶馨 + + */ +@Tag(name = "管理后台 - OA 转正申请") +@RestController +@RequestMapping("/bpm/oa/regular") +@Validated +public class BpmOARegularController { + + @Resource + private BpmOARegularService regularService; + + @PostMapping("/create") + @Operation(summary = "创建请求申请") + public CommonResult createRegular(@Valid @RequestBody BpmOARegularCreateReqVO createReqVO) { + + return success(regularService.createRegular(getLoginUserId(), createReqVO)); + } + + @GetMapping("/get") + @Operation(summary = "获得转正申请") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getRegular(@RequestParam("id") Long id) { + + BpmOARegularDO regular = regularService.getRegular(id); + + return success(BpmOARegularConvert.INSTANCE.convert(regular)); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java index 5d036ddf..ab1b827e 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java @@ -41,7 +41,7 @@ public class BpmOASealController { } @GetMapping("/get") - @Operation(summary = "获得请假申请") + @Operation(summary = "获得用章申请") @Parameter(name = "id", description = "编号", required = true, example = "1024") public CommonResult getSeal(@RequestParam("id") Long id) { diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASecondController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASecondController.java new file mode 100644 index 00000000..1c1debf9 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASecondController.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second.BpmOASecondCreateReqVO; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASecondConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASecondDO; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASecondService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +/** + * OA 借调申请 Controller + * + * @author 符溶馨 + */ +@Tag(name = "管理后台 - OA 借调申请") +@RestController +@RequestMapping("/bpm/oa/second") +@Validated +public class BpmOASecondController { + + @Resource + private BpmOASecondService service; + + @PostMapping("/create") + @Operation(summary = "创建借调申请") + public CommonResult createLeave(@Valid @RequestBody BpmOASecondCreateReqVO createReqVO) { + return success(service.createSecond(getLoginUserId(), createReqVO)); + } + + @GetMapping("/get") + @Operation(summary = "获得借调申请") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getLeave(@RequestParam("id") Long id) { + BpmOASecondDO second = service.getSecond(id); + return success(BpmOASecondConvert.INSTANCE.convert(second)); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAShiftjobsController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAShiftjobsController.java new file mode 100644 index 00000000..42c17a97 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAShiftjobsController.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs.BpmOAShiftjobsCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs.BpmOAShiftjobsRespVO; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAShiftjobsConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAShiftjobsDO; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOAShiftjobsService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +/** + * OA 调岗申请 Controller + * + * @author 符溶馨 + + */ +@Tag(name = "管理后台 - OA 调岗申请") +@RestController +@RequestMapping("/bpm/oa/shiftjobs") +@Validated +public class BpmOAShiftjobsController { + + @Resource + private BpmOAShiftjobsService shiftjobsService; + + @PostMapping("/create") + @Operation(summary = "创建请求申请") + public CommonResult createShiftjobs(@Valid @RequestBody BpmOAShiftjobsCreateReqVO createReqVO) { + + return success(shiftjobsService.createShiftjobs(getLoginUserId(), createReqVO)); + } + + @GetMapping("/get") + @Operation(summary = "获得用章申请") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getShiftjobs(@RequestParam("id") Long id) { + + BpmOAShiftjobsDO shiftjobs = shiftjobsService.getShiftjobs(id); + + return success(BpmOAShiftjobsConvert.INSTANCE.convert(shiftjobs)); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/overtime/BpmOAOvertimeCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/overtime/BpmOAOvertimeCreateReqVO.java new file mode 100644 index 00000000..ec65ecfe --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/overtime/BpmOAOvertimeCreateReqVO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime; + +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 加班申请 创建 Request VO + * + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 加班申请创建 Request VO") +@Data +@EqualsAndHashCode() +@ToString(callSuper = true) +public class BpmOAOvertimeCreateReqVO { + + @Schema(description = "加班原因", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "加班事由不能为空") + private String reason; + + @Schema(description = "加班的开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime startTime; + + @Schema(description = "加班的结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结束时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime endTime; + + @Schema(description = "加班时长", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "加班时长不能为空") + private BigDecimal timeLength; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/overtime/BpmOAOvertimeRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/overtime/BpmOAOvertimeRespVO.java new file mode 100644 index 00000000..b24c21dc --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/overtime/BpmOAOvertimeRespVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 加班申请 请求Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOAOvertimeRespVO extends BpmOABaseRespVO { + + @Schema(description = "加班原因", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "加班事由不能为空") + private String reason; + + @Schema(description = "加班的开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "开始时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime startTime; + + @Schema(description = "加班的结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结束时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime endTime; + + @Schema(description = "加班时长", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "加班时长不能为空") + private BigDecimal timeLength; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcurePageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcurePageReqVO.java new file mode 100644 index 00000000..8931919b --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcurePageReqVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure; + +import lombok.*; +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 java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - OA 采购申请分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOAProcurePageReqVO extends PageParam { + + @Schema(description = "申请人的用户编号", example = "26976") + private Long userId; + + @Schema(description = "申请事由", example = "不喜欢") + private String reason; + + @Schema(description = "采购类型 (根据字典的来)", example = "2") + private Integer procureType; + + @Schema(description = "期望交付日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expectedDeliveryDate; + + @Schema(description = "采购明细数据JSON") + private List procureDetailJson; + + @Schema(description = "备注") + private String remarks; + + @Schema(description = "采购总金额") + private String totalMoney; + + @Schema(description = "采购总金额大写") + private String totalMoneyChinese; + + @Schema(description = "附件信息") + private String fileItems; + + @Schema(description = "报销结果") + private Integer result; + + @Schema(description = "流程实例的编号", example = "15852") + private String processInstanceId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcureRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcureRespVO.java new file mode 100644 index 00000000..e1d36567 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcureRespVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure; + +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - OA 采购申请 Response VO") +@Data +public class BpmOAProcureRespVO { + + @Schema(description = "报销表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25971") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26976") + private Long userId; + + @Schema(description = "申请事由", example = "不喜欢") + private String reason; + + @Schema(description = "采购类型 (根据字典的来)", example = "2") + private Integer procureType; + + @Schema(description = "期望交付日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expectedDeliveryDate; + + @Schema(description = "采购明细数据JSON", requiredMode = Schema.RequiredMode.REQUIRED) + private List procureDetailJson; + + @Schema(description = "备注") + private String remarks; + + @Schema(description = "采购总金额") + private String totalMoney; + + @Schema(description = "采购总金额大写") + private String totalMoneyChinese; + + @Schema(description = "附件信息") + private List fileItems; + + @Schema(description = "报销结果", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer result; + + @Schema(description = "流程实例的编号", example = "15852") + private String processInstanceId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcureSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcureSaveReqVO.java new file mode 100644 index 00000000..68e2e813 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/BpmOAProcureSaveReqVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure; + +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotEmpty; +import java.time.LocalDateTime; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - OA 采购申请新增/修改 Request VO") +@Data +public class BpmOAProcureSaveReqVO { + + @Schema(description = "报销表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25971") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26976") + private Long userId; + + @Schema(description = "申请事由", example = "不喜欢") + private String reason; + + @Schema(description = "采购类型 (根据字典的来)", example = "2") + private Integer procureType; + + @Schema(description = "期望交付日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expectedDeliveryDate; + + @Schema(description = "采购明细数据JSON", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "采购明细数据JSON不能为空") + private List procureDetailJson; + + @Schema(description = "备注") + private String remarks; + + @Schema(description = "采购总金额") + private String totalMoney; + + @Schema(description = "采购总金额大写") + private String totalMoneyChinese; + + @Schema(description = "报销结果") + private Integer result; + + @Schema(description = "流程实例的编号", example = "15852") + private String processInstanceId; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/ProcureDetail.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/ProcureDetail.java new file mode 100644 index 00000000..4242fa43 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/procure/ProcureDetail.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class ProcureDetail { + @Schema(description = "名称") + private String name; + @Schema(description = "规格") + private String sku; + @Schema(description = "数量") + private String quantity; + @Schema(description = "单位") + private String unit; + @Schema(description = "价格(单价)") + private String amount; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/regular/BpmOARegularCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/regular/BpmOARegularCreateReqVO.java new file mode 100644 index 00000000..37d14ec7 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/regular/BpmOARegularCreateReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular; + +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDate; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +/** + * 转正申请 创建 Request VO + * + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 转正申请创建 Request VO") +@Data +@EqualsAndHashCode() +@ToString(callSuper = true) +public class BpmOARegularCreateReqVO { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "部门不能为空") + private Long deptId; + + @Schema(description = "入职时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate entryDate; + + @Schema(description = "转正时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "转正时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate confirmationDate; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String notes; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/regular/BpmOARegularRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/regular/BpmOARegularRespVO.java new file mode 100644 index 00000000..c293e591 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/regular/BpmOARegularRespVO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDate; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +/** + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 转正申请 请求Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOARegularRespVO extends BpmOABaseRespVO { + + @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "部门不能为空") + private Long deptId; + + @Schema(description = "入职时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate entryDate; + + @Schema(description = "转正时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "转正时间不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate confirmationDate; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String notes; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/second/BpmOASecondCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/second/BpmOASecondCreateReqVO.java new file mode 100644 index 00000000..29560b51 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/second/BpmOASecondCreateReqVO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second; + +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 借调申请 创建 Request VO + * + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 借调申请创建 Request VO") +@Data +@EqualsAndHashCode() +@ToString(callSuper = true) +public class BpmOASecondCreateReqVO { + + @Schema(description = "借调类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "借调类型不能为空") + private String type; + + @Schema(description = "借调说明", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String reason; + + @Schema(description = "借调明细", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "借调项目不能为空") + private List seconds; + + @Schema(description = "押金", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long deposit; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems ; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/second/BpmOASecondRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/second/BpmOASecondRespVO.java new file mode 100644 index 00000000..a50bfd4f --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/second/BpmOASecondRespVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Schema(description = "管理后台 - 借调申请创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOASecondRespVO extends BpmOABaseRespVO { + + @Schema(description = "借调类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "借调类型不能为空") + private String type; + + @Schema(description = "借调说明", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String reason; + + @Schema(description = "借调明细", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "借调项目不能为空") + private List seconds; + + @Schema(description = "押金", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long deposit; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems ; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/shiftjobs/BpmOAShiftjobsCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/shiftjobs/BpmOAShiftjobsCreateReqVO.java new file mode 100644 index 00000000..101f1c7f --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/shiftjobs/BpmOAShiftjobsCreateReqVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs; + +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 调岗申请 创建 Request VO + * + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 调岗申请创建 Request VO") +@Data +@EqualsAndHashCode() +@ToString(callSuper = true) +public class BpmOAShiftjobsCreateReqVO { + + @Schema(description = "调岗类型-参见 bpm_oa_shiftjobs_type 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "调岗类型不能为空") + private Integer type; + + @Schema(description = "原部门编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "原部门不能为空") + private Long oldDeptId; + + @Schema(description = "原上级领导编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long oldParentId; + + @Schema(description = "原岗位编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long oldPostId; + + @Schema(description = "新部门编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "新部门不能为空") + private Long newDeptId; + + @Schema(description = "新上级领导编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long newParentId; + + @Schema(description = "新岗位编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long newPostId; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String notes; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/shiftjobs/BpmOAShiftjobsRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/shiftjobs/BpmOAShiftjobsRespVO.java new file mode 100644 index 00000000..38470a78 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/shiftjobs/BpmOAShiftjobsRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 调岗申请 请求Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOAShiftjobsRespVO extends BpmOABaseRespVO { + + @Schema(description = "调岗类型-参见 bpm_oa_shiftjobs_type 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "调岗类型不能为空") + private Integer type; + + @Schema(description = "原部门编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "原部门不能为空") + private Long oldDeptId; + + @Schema(description = "原上级领导编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long oldParentId; + + @Schema(description = "原岗位编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long oldPostId; + + @Schema(description = "新部门编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "新部门不能为空") + private Long newDeptId; + + @Schema(description = "新上级领导编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long newParentId; + + @Schema(description = "新岗位编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long newPostId; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String notes; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAOvertimeConvert.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAOvertimeConvert.java new file mode 100644 index 00000000..d1f2a312 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAOvertimeConvert.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.bpm.convert.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime.BpmOAOvertimeCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime.BpmOAOvertimeRespVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAOvertimeDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 加班申请 Convert + * + * @author 符溶馨 + */ +@Mapper +public interface BpmOAOvertimeConvert { + + BpmOAOvertimeConvert INSTANCE = Mappers.getMapper(BpmOAOvertimeConvert.class); + + BpmOAOvertimeDO convert(BpmOAOvertimeCreateReqVO bean); + + BpmOAOvertimeRespVO convert(BpmOAOvertimeDO bean); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAProcureConvert.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAProcureConvert.java new file mode 100644 index 00000000..4583ff20 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAProcureConvert.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.bpm.convert.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureSaveReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.BpmOAReimbursementRespVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAReimbursementDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 报销申请 Convert + * + * @author yj + */ +@Mapper +public interface BpmOAProcureConvert { + + BpmOAProcureConvert INSTANCE = Mappers.getMapper(BpmOAProcureConvert.class); + + BpmOAProcureDO convert(BpmOAProcureSaveReqVO bean); + + BpmOAProcureRespVO convert(BpmOAProcureDO bean); + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOARegularConvert.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOARegularConvert.java new file mode 100644 index 00000000..3a71eb41 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOARegularConvert.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.bpm.convert.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular.BpmOARegularCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular.BpmOARegularRespVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOARegularDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 转正申请 Convert + * + * @author 符溶馨 + */ +@Mapper +public interface BpmOARegularConvert { + + BpmOARegularConvert INSTANCE = Mappers.getMapper(BpmOARegularConvert.class); + + BpmOARegularDO convert(BpmOARegularCreateReqVO bean); + + BpmOARegularRespVO convert(BpmOARegularDO bean); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASecondConvert.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASecondConvert.java new file mode 100644 index 00000000..2a374f0d --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASecondConvert.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.bpm.convert.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second.BpmOASecondCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second.BpmOASecondRespVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASecondDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 借调申请 Convert + * + * @author 符溶馨 + */ +@Mapper +public interface BpmOASecondConvert { + + BpmOASecondConvert INSTANCE = Mappers.getMapper(BpmOASecondConvert.class); + + BpmOASecondDO convert(BpmOASecondCreateReqVO bean); + + BpmOASecondRespVO convert(BpmOASecondDO bean); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAShiftjobsConvert.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAShiftjobsConvert.java new file mode 100644 index 00000000..ede8b827 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOAShiftjobsConvert.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.bpm.convert.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs.BpmOAShiftjobsCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs.BpmOAShiftjobsRespVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAShiftjobsDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * 调岗申请 Convert + * + * @author 符溶馨 + */ +@Mapper +public interface BpmOAShiftjobsConvert { + + BpmOAShiftjobsConvert INSTANCE = Mappers.getMapper(BpmOAShiftjobsConvert.class); + + BpmOAShiftjobsDO convert(BpmOAShiftjobsCreateReqVO bean); + + BpmOAShiftjobsRespVO convert(BpmOAShiftjobsDO bean); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAOvertimeDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAOvertimeDO.java new file mode 100644 index 00000000..48d7f6bf --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAOvertimeDO.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + * OA 加班申请 DO + * + * + * @author 符溶馨 + + */ +@TableName(value ="bpm_oa_overtime", autoResultMap = true) +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOAOvertimeDO extends BaseDO { + + /** + * 出差表单主键 + */ + @TableId + private Long id; + + /** + * 申请人的用户编号 + * + * 关联 AdminUserDO 的 id 属性 + */ + private Long userId; + + /** + * 加班事由 + */ + private String reason; + + /** + * 开始时间 + */ + private LocalDateTime startTime; + + /** + * 结束时间 + */ + private LocalDateTime endTime; + + /** + * 加班时长 + */ + private BigDecimal timeLength; + + /** + * 出差的结果 + * + * 枚举 {@link BpmProcessInstanceResultEnum} + * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈 + */ + private Integer result; + + /** + * 对应的流程编号 + * + * 关联 ProcessInstance 的 id 属性 + */ + private String processInstanceId; + + /** + * 附件基本信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems ; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAProcureDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAProcureDO.java new file mode 100644 index 00000000..13aca0f6 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAProcureDO.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.ProcureDetail; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * OA 采购申请 DO + * + * @author 姚君 + */ +@TableName(value ="bpm_oa_procure", autoResultMap = true) +@KeySequence("bpm_oa_procure_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOAProcureDO extends BaseDO { + + /** + * 报销表单主键 + */ + @TableId + private Long id; + /** + * 申请人的用户编号 + */ + private Long userId; + /** + * 申请事由 + */ + private String reason; + /** + * 采购类型 (根据字典的来) + */ + private Integer procureType; + /** + * 期望交付日期 + */ + private LocalDateTime expectedDeliveryDate; + /** + * 采购明细数据JSON + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List procureDetailJson; + /** + * 备注 + */ + private String remarks; + /** + * 采购总金额 + */ + private String totalMoney; + /** + * 采购总金额大写 + */ + private String totalMoneyChinese; + /** + * 附件信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; + /** + * 采购结果 + */ + private Integer result; + /** + * 流程实例的编号 + */ + private String processInstanceId; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOARegularDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOARegularDO.java new file mode 100644 index 00000000..7fc7d94c --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOARegularDO.java @@ -0,0 +1,84 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.time.LocalDate; +import java.util.List; + +/** + * OA 转正申请 DO + * + * + * @author 符溶馨 + + */ +@TableName(value ="bpm_oa_regular", autoResultMap = true) +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOARegularDO extends BaseDO { + + /** + * 出差表单主键 + */ + @TableId + private Long id; + + /** + * 申请人的用户编号 + * + * 关联 AdminUserDO 的 id 属性 + */ + private Long userId; + + /** + * 申请人的部门编号 + */ + private Long deptId; + + /** + * 入职时间 + */ + private LocalDate entryDate; + + /** + * 转正时间 + */ + private LocalDate confirmationDate; + + /** + * 备注 + */ + private String notes; + + /** + * 出差的结果 + * + * 枚举 {@link BpmProcessInstanceResultEnum} + * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈 + */ + private Integer result; + + /** + * 对应的流程编号 + * + * 关联 ProcessInstance 的 id 属性 + */ + private String processInstanceId; + + /** + * 附件基本信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems ; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReimbursementDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReimbursementDO.java index 273b2ab1..5e3b5700 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReimbursementDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReimbursementDO.java @@ -79,6 +79,6 @@ public class BpmOAReimbursementDO extends BaseDO { * 附件基本信息 */ @TableField(typeHandler = JacksonTypeHandler.class) - private List fileItems ; + private List fileItems; } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASecondDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASecondDO.java new file mode 100644 index 00000000..9b0ab2d1 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASecondDO.java @@ -0,0 +1,84 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second.Second; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.util.List; + +/** + * OA 借调申请 DO + * + * + * @author 符溶馨 + + */ +@TableName(value ="bpm_oa_second", autoResultMap = true) +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOASecondDO extends BaseDO { + + /** + * 请假表单主键 + */ + @TableId + private Long id; + + /** + * 申请人的用户编号 + * 关联 AdminUserDO 的 id 属性 + */ + private Long userId; + + /** + * 借调类型 + */ + private String type; + + /** + * 借调说明 + */ + private String reason; + + /** + * 借调明细数据JSON + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List seconds; + + /** + * 押金 + */ + private Long deposit; + + /** + * 结果 + * + * 枚举 {@link BpmProcessInstanceResultEnum} + * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈 + */ + private Integer result; + + /** + * 对应的流程编号 + * + * 关联 ProcessInstance 的 id 属性 + */ + private String processInstanceId; + + /** + * 附件基本信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAShiftjobsDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAShiftjobsDO.java new file mode 100644 index 00000000..50ec9d8c --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAShiftjobsDO.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.util.List; + +/** + * OA 调岗申请 DO + * + * + * @author 符溶馨 + + */ +@TableName(value ="bpm_oa_shiftjobs", autoResultMap = true) +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOAShiftjobsDO extends BaseDO { + + /** + * 调岗表单主键 + */ + @TableId + private Long id; + + /** + * 申请人的用户编号 + * + * 关联 AdminUserDO 的 id 属性 + */ + private Long userId; + + /** + * 调岗类型 + */ + private String type; + + /** + * 原部门编号 + */ + private Long oldDeptId; + + /** + * 原上级领导编号 + */ + private Long oldParentId; + + /** + * 原岗位编号 + */ + private Long oldPostId; + + /** + * 新部门编号 + */ + private Long newDeptId; + + /** + * 新上级领导编号 + */ + private Long newParentId; + + /** + * 新岗位编号 + */ + private Long newPostId; + + /** + * 备注 + */ + private String notes; + + /** + * 用章的结果 + * + * 枚举 {@link BpmProcessInstanceResultEnum} + * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈 + */ + private Integer result; + + /** + * 对应的流程编号 + * + * 关联 ProcessInstance 的 id 属性 + */ + private String processInstanceId; + + /** + * 附件基本信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems ; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAOvertimeMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAOvertimeMapper.java new file mode 100644 index 00000000..6ee47908 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAOvertimeMapper.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.bpm.dal.mysql.oa; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAOvertimeDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 加班申请 Mapper + * + * @author 符溶馨 + + */ +@Mapper +public interface BpmOAOvertimeMapper extends BaseMapperX { +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOARegularMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOARegularMapper.java new file mode 100644 index 00000000..1facc4f2 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOARegularMapper.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.bpm.dal.mysql.oa; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOARegularDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 转正申请 Mapper + * + * @author 符溶馨 + + */ +@Mapper +public interface BpmOARegularMapper extends BaseMapperX { +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASecondMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASecondMapper.java new file mode 100644 index 00000000..6e25c961 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASecondMapper.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.bpm.dal.mysql.oa; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASecondDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 借调申请 Mapper + * + * @author 符溶馨 + + */ +@Mapper +public interface BpmOASecondMapper extends BaseMapperX { +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAShiftjobsMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAShiftjobsMapper.java new file mode 100644 index 00000000..9fbd2723 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAShiftjobsMapper.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.bpm.dal.mysql.oa; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAShiftjobsDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 调岗申请 Mapper + * + * @author 符溶馨 + */ +@Mapper +public interface BpmOAShiftjobsMapper extends BaseMapperX { +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOaProcureMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOaProcureMapper.java new file mode 100644 index 00000000..477c2282 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOaProcureMapper.java @@ -0,0 +1,33 @@ +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.procure.BpmOAProcurePageReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * OA 采购申请 Mapper + * + * @author 姚君 + */ +@Mapper +public interface BpmOaProcureMapper extends BaseMapperX { + + default PageResult selectPage(BpmOAProcurePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BpmOAProcureDO::getUserId, reqVO.getUserId()) + .eqIfPresent(BpmOAProcureDO::getReason, reqVO.getReason()) + .eqIfPresent(BpmOAProcureDO::getProcureType, reqVO.getProcureType()) + .betweenIfPresent(BpmOAProcureDO::getExpectedDeliveryDate, reqVO.getExpectedDeliveryDate()) + .eqIfPresent(BpmOAProcureDO::getProcureDetailJson, reqVO.getProcureDetailJson()) + .eqIfPresent(BpmOAProcureDO::getRemarks, reqVO.getRemarks()) + .eqIfPresent(BpmOAProcureDO::getFileItems, reqVO.getFileItems()) + .eqIfPresent(BpmOAProcureDO::getResult, reqVO.getResult()) + .eqIfPresent(BpmOAProcureDO::getProcessInstanceId, reqVO.getProcessInstanceId()) + .betweenIfPresent(BpmOAProcureDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BpmOAProcureDO::getId)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOACashServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOACashServiceImpl.java index f9182e1d..4a4c17de 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOACashServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOACashServiceImpl.java @@ -17,7 +17,7 @@ import java.util.List; 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_CONTRACT_NOT_EXISTS; +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.OA_CASH_NOT_EXISTS; /** * OA 现金支出 Service 实现类 @@ -74,7 +74,7 @@ public class BpmOACashServiceImpl extends BpmOABaseService implements BpmOACashS private void validateLeaveExists(Long id) { if (cashMapper.selectById(id) == null) { - throw exception(OA_CONTRACT_NOT_EXISTS); + throw exception(OA_CASH_NOT_EXISTS); } } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAOvertimeService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAOvertimeService.java new file mode 100644 index 00000000..2f23dc2a --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAOvertimeService.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime.BpmOAOvertimeCreateReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAOvertimeDO; + +import javax.validation.Valid; + +/** + * 加班申请 Service 接口 + * + * @author 符溶馨 + + */ +public interface BpmOAOvertimeService { + + /** + * 创建加班申请 + * + * @param userId 用户编号 + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createOvertime(Long userId, @Valid BpmOAOvertimeCreateReqVO createReqVO); + + /** + * 更新加班申请的状态 + * + * @param id 编号 + * @param result 结果 + */ + void updateOvertimeResult(Long id, Integer result); + + /** + * 获得加班申请 + * + * @param id 编号 + * @return 加班申请 + */ + BpmOAOvertimeDO getOvertime(Long id); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAOvertimeServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAOvertimeServiceImpl.java new file mode 100644 index 00000000..c8b41217 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAOvertimeServiceImpl.java @@ -0,0 +1,86 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +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.overtime.BpmOAOvertimeCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAOvertimeConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAOvertimeDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAOvertimeMapper; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +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_OVERTIME_NOT_EXISTS; + +/** + * OA 加班申请 Service 实现类 + * + * @author 符溶馨 + + */ +@Service +@Validated +public class BpmOAOvertimeServiceImpl extends BpmOABaseService implements BpmOAOvertimeService{ + + /** + * OA 加班对应的流程定义 KEY + */ + public static final String PROCESS_KEY = "oa_overtime"; + + @Resource + private BpmOAOvertimeMapper overtimeMapper; + + @Resource + private BpmProcessInstanceApi processInstanceApi; + + @Override + public Long createOvertime(Long userId, BpmOAOvertimeCreateReqVO createReqVO) { + + //插入OA 转正申请 + BpmOAOvertimeDO overtime = BpmOAOvertimeConvert.INSTANCE.convert(createReqVO).setUserId(userId) + .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); + overtimeMapper.insert(overtime) ; + + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + String processInstanceId = processInstanceApi.createProcessInstance(userId, + new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) + .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(overtime.getId()))).getCheckedData(); + + // 将工作流的编号,更新到 OA 加班单中 + overtimeMapper.updateById(new BpmOAOvertimeDO().setId(overtime.getId()).setProcessInstanceId(processInstanceId)); + + List fileItems = createReqVO.getFileItems() ; + //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id + if (fileItems != null && !fileItems.isEmpty()) { + uploadBpmFileProcessInstanceId(processInstanceId,fileItems) ; + } + return overtime.getId(); + } + + @Override + public void updateOvertimeResult(Long id, Integer result) { + + validateLeaveExists(id); + overtimeMapper.updateById(new BpmOAOvertimeDO().setId(id).setResult(result)); + } + + private void validateLeaveExists(Long id) { + if (overtimeMapper.selectById(id) == null) { + throw exception(OA_OVERTIME_NOT_EXISTS); + } + } + + @Override + public BpmOAOvertimeDO getOvertime(Long id) { + + return overtimeMapper.selectById(id); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOARegularService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOARegularService.java new file mode 100644 index 00000000..907c292d --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOARegularService.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular.BpmOARegularCreateReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOARegularDO; + +import javax.validation.Valid; + +/** + * 转正申请 Service 接口 + * + * @author 符溶馨 + + */ +public interface BpmOARegularService { + + /** + * 创建转正申请 + * + * @param userId 用户编号 + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createRegular(Long userId, @Valid BpmOARegularCreateReqVO createReqVO); + + /** + * 更新转正申请的状态 + * + * @param id 编号 + * @param result 结果 + */ + void updateRegularResult(Long id, Integer result); + + /** + * 获得转正申请 + * + * @param id 编号 + * @return 转正申请 + */ + BpmOARegularDO getRegular(Long id); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOARegularServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOARegularServiceImpl.java new file mode 100644 index 00000000..8c082057 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOARegularServiceImpl.java @@ -0,0 +1,86 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +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.regular.BpmOARegularCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOARegularConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOARegularDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOARegularMapper; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +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_REGULAR_NOT_EXISTS; + +/** + * OA 转正申请 Service 实现类 + * + * @author 符溶馨 + + */ +@Service +@Validated +public class BpmOARegularServiceImpl extends BpmOABaseService implements BpmOARegularService{ + + /** + * OA 转正对应的流程定义 KEY + */ + public static final String PROCESS_KEY = "oa_regular"; + + @Resource + private BpmOARegularMapper regularMapper; + + @Resource + private BpmProcessInstanceApi processInstanceApi; + + @Override + public Long createRegular(Long userId, BpmOARegularCreateReqVO createReqVO) { + + //插入OA 转正申请 + BpmOARegularDO regular = BpmOARegularConvert.INSTANCE.convert(createReqVO).setUserId(userId) + .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); + regularMapper.insert(regular) ; + + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + String processInstanceId = processInstanceApi.createProcessInstance(userId, + new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) + .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(regular.getId()))).getCheckedData(); + + // 将工作流的编号,更新到 OA 转正单中 + regularMapper.updateById(new BpmOARegularDO().setId(regular.getId()).setProcessInstanceId(processInstanceId)); + + List fileItems = createReqVO.getFileItems() ; + //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id + if (fileItems != null && !fileItems.isEmpty()) { + uploadBpmFileProcessInstanceId(processInstanceId,fileItems) ; + } + return regular.getId(); + } + + @Override + public void updateRegularResult(Long id, Integer result) { + + validateLeaveExists(id); + regularMapper.updateById(new BpmOARegularDO().setId(id).setResult(result)); + } + + private void validateLeaveExists(Long id) { + if (regularMapper.selectById(id) == null) { + throw exception(OA_REGULAR_NOT_EXISTS); + } + } + + @Override + public BpmOARegularDO getRegular(Long id) { + + return regularMapper.selectById(id); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealService.java index 5572d32a..91f39fc4 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealService.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealService.java @@ -5,6 +5,12 @@ import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASealDO; import javax.validation.Valid; +/** + * 用章申请 Service 接口 + * + * @author 符溶馨 + + */ public interface BpmOASealService { /** diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealServiceImpl.java index 9f4de420..25f3b254 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASealServiceImpl.java @@ -30,7 +30,7 @@ import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.OA_SEAL_NOT_E public class BpmOASealServiceImpl extends BpmOABaseService implements BpmOASealService { /** - * OA 出差对应的流程定义 KEY + * OA 用章对应的流程定义 KEY */ public static final String PROCESS_KEY = "oa_seal"; @@ -43,7 +43,7 @@ public class BpmOASealServiceImpl extends BpmOABaseService implements BpmOASealS @Override public Long createSeal(Long userId, BpmOASealCreateReqVO createReqVO) { - //插入OA 出差申请 + //插入OA 用章申请 BpmOASealDO seal = BpmOASealConvert.INSTANCE.convert(createReqVO).setUserId(userId) .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); sealMapper.insert(seal) ; @@ -54,7 +54,7 @@ public class BpmOASealServiceImpl extends BpmOABaseService implements BpmOASealS new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(seal.getId()))).getCheckedData(); - // 将工作流的编号,更新到 OA 请假单中 + // 将工作流的编号,更新到 OA 用章单中 sealMapper.updateById(new BpmOASealDO().setId(seal.getId()).setProcessInstanceId(processInstanceId)); List fileItems = createReqVO.getFileItems() ; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASecondService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASecondService.java new file mode 100644 index 00000000..5f562047 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASecondService.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second.BpmOASecondCreateReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASecondDO; + +import javax.validation.Valid; + +/** + * 借调申请 Service 接口 + * + * @author 符溶馨 + + */ +public interface BpmOASecondService { + + /** + * 创建借调申请 + * + * @param userId 用户编号 + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createSecond(Long userId, @Valid BpmOASecondCreateReqVO createReqVO); + + /** + * 更新借调申请的状态 + * + * @param id 编号 + * @param result 结果 + */ + void updateSecondResult(Long id, Integer result); + + /** + * 获得借调申请 + * + * @param id 编号 + * @return 借调申请 + */ + BpmOASecondDO getSecond(Long id); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASecondServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASecondServiceImpl.java new file mode 100644 index 00000000..dc5c54a9 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASecondServiceImpl.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +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.second.BpmOASecondCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASecondConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASecondDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASecondMapper; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +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_SECOND_NOT_EXISTS; + +/** + * 功能描述 + * OA 借调申请 Service 实现类 + * + * @author 符溶馨 + */ +@Service +@Validated +public class BpmOASecondServiceImpl extends BpmOABaseService implements BpmOASecondService{ + + /** + * OA 请假对应的流程定义 KEY + */ + public static final String PROCESS_KEY = "oa_second"; + + @Resource + private BpmOASecondMapper secondMapper ; + + @Resource + private BpmProcessInstanceApi processInstanceApi; + + @Override + public Long createSecond(Long userId, BpmOASecondCreateReqVO createReqVO) { + BpmOASecondDO second = BpmOASecondConvert.INSTANCE.convert(createReqVO).setUserId(userId) + .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); + secondMapper.insert(second) ; + + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + String processInstanceId = processInstanceApi.createProcessInstance(userId, + new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) + .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(second.getId()))).getCheckedData(); + + // 将工作流的编号,更新到 OA 请假单中 + secondMapper.updateById(new BpmOASecondDO().setId(second.getId()).setProcessInstanceId(processInstanceId)); + + List fileItems = createReqVO.getFileItems() ; + //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id + if (fileItems != null && !fileItems.isEmpty()) { + uploadBpmFileProcessInstanceId(processInstanceId,fileItems) ; + } + return second.getId(); + } + + @Override + public void updateSecondResult(Long id, Integer result) { + validateLeaveExists(id); + secondMapper.updateById(new BpmOASecondDO().setId(id).setResult(result)); + } + + private void validateLeaveExists(Long id) { + if (secondMapper.selectById(id) == null) { + throw exception(OA_SECOND_NOT_EXISTS); + } + } + + @Override + public BpmOASecondDO getSecond(Long id) { + + return secondMapper.selectById(id); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAShiftjobsService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAShiftjobsService.java new file mode 100644 index 00000000..c8655155 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAShiftjobsService.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs.BpmOAShiftjobsCreateReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAShiftjobsDO; + +import javax.validation.Valid; + +/** + * 调岗申请 Service 接口 + * + * @author 符溶馨 + + */ +public interface BpmOAShiftjobsService { + + /** + * 创建调岗申请 + * + * @param userId 用户编号 + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createShiftjobs(Long userId, @Valid BpmOAShiftjobsCreateReqVO createReqVO); + + /** + * 更新调岗申请的状态 + * + * @param id 编号 + * @param result 结果 + */ + void updateShiftjobsResult(Long id, Integer result); + + /** + * 获得调岗申请 + * + * @param id 编号 + * @return 调岗申请 + */ + BpmOAShiftjobsDO getShiftjobs(Long id); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAShiftjobsServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAShiftjobsServiceImpl.java new file mode 100644 index 00000000..bf6844d2 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAShiftjobsServiceImpl.java @@ -0,0 +1,86 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +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.shiftjobs.BpmOAShiftjobsCreateReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAShiftjobsConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAShiftjobsDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAShiftjobsMapper; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +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_SHIFTJOBS_NOT_EXISTS; + +/** + * OA 调岗申请 Service 实现类 + * + * @author 符溶馨 + + */ +@Service +@Validated +public class BpmOAShiftjobsServiceImpl extends BpmOABaseService implements BpmOAShiftjobsService{ + + /** + * OA 调岗对应的流程定义 KEY + */ + public static final String PROCESS_KEY = "oa_shiftjobs"; + + @Resource + private BpmOAShiftjobsMapper shiftjobsMapper; + + @Resource + private BpmProcessInstanceApi processInstanceApi; + + @Override + public Long createShiftjobs(Long userId, BpmOAShiftjobsCreateReqVO createReqVO) { + + //插入OA 调岗申请 + BpmOAShiftjobsDO shiftjobs = BpmOAShiftjobsConvert.INSTANCE.convert(createReqVO).setUserId(userId) + .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); + shiftjobsMapper.insert(shiftjobs) ; + + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + String processInstanceId = processInstanceApi.createProcessInstance(userId, + new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) + .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(shiftjobs.getId()))).getCheckedData(); + + // 将工作流的编号,更新到 OA 调岗单中 + shiftjobsMapper.updateById(new BpmOAShiftjobsDO().setId(shiftjobs.getId()).setProcessInstanceId(processInstanceId)); + + List fileItems = createReqVO.getFileItems() ; + //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id + if (fileItems != null && !fileItems.isEmpty()) { + uploadBpmFileProcessInstanceId(processInstanceId,fileItems) ; + } + return shiftjobs.getId(); + } + + @Override + public void updateShiftjobsResult(Long id, Integer result) { + + validateLeaveExists(id); + shiftjobsMapper.updateById(new BpmOAShiftjobsDO().setId(id).setResult(result)); + } + + private void validateLeaveExists(Long id) { + if (shiftjobsMapper.selectById(id) == null) { + throw exception(OA_SHIFTJOBS_NOT_EXISTS); + } + } + + @Override + public BpmOAShiftjobsDO getShiftjobs(Long id) { + + return shiftjobsMapper.selectById(id); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaProcureService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaProcureService.java new file mode 100644 index 00000000..7df9a574 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaProcureService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcurePageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO; + +import javax.validation.Valid; + +/** + * OA 采购申请 Service 接口 + * + * @author 姚君 + */ +public interface BpmOaProcureService { + + /** + * 创建OA 采购申请 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createOaProcure(@Valid BpmOAProcureSaveReqVO createReqVO); + + /** + * 更新OA 采购申请 + * + * @param updateReqVO 更新信息 + */ + void updateOaProcure(@Valid BpmOAProcureSaveReqVO updateReqVO); + + /** + * 删除OA 采购申请 + * + * @param id 编号 + */ + void deleteOaProcure(Long id); + + /** + * 获得OA 采购申请 + * + * @param id 编号 + * @return OA 采购申请 + */ + BpmOAProcureDO getOaProcure(Long id); + + /** + * 获得OA 采购申请分页 + * + * @param pageReqVO 分页查询 + * @return OA 采购申请分页 + */ + PageResult getOaProcurePage(BpmOAProcurePageReqVO pageReqVO); + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaProcureServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaProcureServiceImpl.java new file mode 100644 index 00000000..5ad5db4b --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaProcureServiceImpl.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; +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.procure.BpmOAProcurePageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureSaveReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAProcureConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOaProcureMapper; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; + +/** + * OA 采购申请 Service 实现类 + * + * @author 姚君 + */ +@Service +@Validated +public class BpmOaProcureServiceImpl extends BpmOABaseService implements BpmOaProcureService { + + @Resource + private BpmOaProcureMapper bpmOaProcureMapper; + @Resource + private BpmProcessInstanceApi processInstanceApi; + /** + * OA 请假对应的流程定义 KEY + */ + public static final String PROCESS_KEY = "oa_procure"; + @Override + public Long createOaProcure(BpmOAProcureSaveReqVO createReqVO) { + Long userId = WebFrameworkUtils.getLoginUserId(); + // 插入 + BpmOAProcureDO oaProcure = BpmOAProcureConvert.INSTANCE.convert(createReqVO).setUserId(userId) + .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); + bpmOaProcureMapper.insert(oaProcure); + + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + String processInstanceId = processInstanceApi.createProcessInstance(userId, + new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) + .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oaProcure.getId()))).getCheckedData(); + + // 将工作流的编号,更新到 OA 采购单中 + bpmOaProcureMapper.updateById(new BpmOAProcureDO().setId(oaProcure.getId()).setProcessInstanceId(processInstanceId)); + + List fileItems = createReqVO.getFileItems() ; + //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id + if (fileItems != null && !fileItems.isEmpty()) { + uploadBpmFileProcessInstanceId(processInstanceId,fileItems) ; + } + return oaProcure.getId(); + } + + @Override + public void updateOaProcure(BpmOAProcureSaveReqVO updateReqVO) { + // 校验存在 + validateOaProcureExists(updateReqVO.getId()); + // 更新 + BpmOAProcureDO updateObj = BeanUtils.toBean(updateReqVO, BpmOAProcureDO.class); + bpmOaProcureMapper.updateById(updateObj); + } + + @Override + public void deleteOaProcure(Long id) { + // 校验存在 + validateOaProcureExists(id); + // 删除 + bpmOaProcureMapper.deleteById(id); + } + + private void validateOaProcureExists(Long id) { + if (bpmOaProcureMapper.selectById(id) == null) { + throw exception(GlobalErrorCodeConstants.OA_PROCURE_NOT_EXISTS); + } + } + + @Override + public BpmOAProcureDO getOaProcure(Long id) { + return bpmOaProcureMapper.selectById(id); + } + + @Override + public PageResult getOaProcurePage(BpmOAProcurePageReqVO pageReqVO) { + return bpmOaProcureMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOACashResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOACashResultListener.java index 82183be9..2b21bbd2 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOACashResultListener.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOACashResultListener.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceRe import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; import cn.iocoder.yudao.module.bpm.service.oa.BpmOACashService; import cn.iocoder.yudao.module.bpm.service.oa.BpmOACashServiceImpl; +import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -12,6 +13,7 @@ import javax.annotation.Resource; * * @author 符溶馨 */ +@Component public class BpmOACashResultListener extends BpmProcessInstanceResultEventListener { @Resource private BpmOACashService cashService; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAContractResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAContractResultListener.java index 7c526210..f754b41b 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAContractResultListener.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAContractResultListener.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceRe import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; import cn.iocoder.yudao.module.bpm.service.oa.BpmOAContractService; import cn.iocoder.yudao.module.bpm.service.oa.BpmOAContractServiceImpl; +import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -12,6 +13,7 @@ import javax.annotation.Resource; * * @author 符溶馨 */ +@Component public class BpmOAContractResultListener extends BpmProcessInstanceResultEventListener { @Resource diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAEvectionResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAEvectionResultListener.java index 8b1d9bdc..c37c6f08 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAEvectionResultListener.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAEvectionResultListener.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceRe import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; import cn.iocoder.yudao.module.bpm.service.oa.BpmOAEvectionService; import cn.iocoder.yudao.module.bpm.service.oa.BpmOAEvectionServiceImpl; +import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -12,6 +13,7 @@ import javax.annotation.Resource; * * @author 符溶馨 */ +@Component public class BpmOAEvectionResultListener extends BpmProcessInstanceResultEventListener { @Resource diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAOvertimeResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAOvertimeResultListener.java new file mode 100644 index 00000000..fc1acf3f --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAOvertimeResultListener.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.bpm.service.oa.listener; + +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent; +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOAOvertimeService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOAOvertimeServiceImpl; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * OA 加班单的结果的监听器实现类 + * + * @author 符溶馨 + */ +@Component +public class BpmOAOvertimeResultListener extends BpmProcessInstanceResultEventListener { + + @Resource + private BpmOAOvertimeService overtimeService; + + @Override + protected String getProcessDefinitionKey() { + return BpmOAOvertimeServiceImpl.PROCESS_KEY; + } + + @Override + protected void onEvent(BpmProcessInstanceResultEvent event) { + overtimeService.updateOvertimeResult(Long.parseLong(event.getBusinessKey()), event.getResult()); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASealResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASealResultListener.java index aed64280..715b1c24 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASealResultListener.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASealResultListener.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceRe import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; import cn.iocoder.yudao.module.bpm.service.oa.BpmOASealService; import cn.iocoder.yudao.module.bpm.service.oa.BpmOASealServiceImpl; +import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -12,6 +13,7 @@ import javax.annotation.Resource; * * @author 符溶馨 */ +@Component public class BpmOASealResultListener extends BpmProcessInstanceResultEventListener { @Resource diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASecondResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASecondResultListener.java new file mode 100644 index 00000000..ef55d639 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASecondResultListener.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.bpm.service.oa.listener; + +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent; +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASecondService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASecondServiceImpl; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * OA 借调单的结果的监听器实现类 + */ +@Component +public class BpmOASecondResultListener extends BpmProcessInstanceResultEventListener { + + @Resource + private BpmOASecondService secondService; + + @Override + protected String getProcessDefinitionKey() { + return BpmOASecondServiceImpl.PROCESS_KEY; + } + + @Override + protected void onEvent(BpmProcessInstanceResultEvent event) { + secondService.updateSecondResult(Long.parseLong(event.getBusinessKey()), event.getResult()); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAShiftjobsResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAShiftjobsResultListener.java new file mode 100644 index 00000000..420b0ffa --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOAShiftjobsResultListener.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.bpm.service.oa.listener; + +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent; +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOAShiftjobsService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOAShiftjobsServiceImpl; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * OA 调岗单的结果的监听器实现类 + * + * @author 符溶馨 + */ +@Component +public class BpmOAShiftjobsResultListener extends BpmProcessInstanceResultEventListener { + + @Resource + private BpmOAShiftjobsService shiftjobsService; + + @Override + protected String getProcessDefinitionKey() { + + return BpmOAShiftjobsServiceImpl.PROCESS_KEY; + } + + @Override + protected void onEvent(BpmProcessInstanceResultEvent event) { + shiftjobsService.updateShiftjobsResult(Long.parseLong(event.getBusinessKey()), event.getResult()); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOaProcureMapper.xml b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOaProcureMapper.xml new file mode 100644 index 00000000..2bdaff7c --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOaProcureMapper.xml @@ -0,0 +1,12 @@ + + + + + + +