Commit 56864db484685f8e09eab6373abd7916985e15ac
1 parent
c186d279
修改 文件重命名问题
Showing
15 changed files
with
6 additions
and
691 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/OaLeaveController.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.*; | |
| 4 | -import cn.iocoder.yudao.adminserver.modules.activiti.convert.oa.OALeaveConvert; | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; | |
| 6 | -import cn.iocoder.yudao.adminserver.modules.activiti.service.oa.OALeaveService; | |
| 7 | -import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 8 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 9 | -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | |
| 10 | -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | |
| 11 | -import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | |
| 12 | -import io.swagger.annotations.Api; | |
| 13 | -import io.swagger.annotations.ApiImplicitParam; | |
| 14 | -import io.swagger.annotations.ApiOperation; | |
| 15 | -import org.springframework.security.access.prepost.PreAuthorize; | |
| 16 | -import org.springframework.validation.annotation.Validated; | |
| 17 | -import org.springframework.web.bind.annotation.*; | |
| 18 | - | |
| 19 | -import javax.annotation.Resource; | |
| 20 | -import javax.servlet.http.HttpServletResponse; | |
| 21 | -import javax.validation.Valid; | |
| 22 | -import java.io.IOException; | |
| 23 | -import java.util.Collection; | |
| 24 | -import java.util.List; | |
| 25 | - | |
| 26 | -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 27 | -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | |
| 28 | - | |
| 29 | - | |
| 30 | -@Api(tags = "请假申请") | |
| 31 | -@RestController | |
| 32 | -@RequestMapping("/oa/leave") | |
| 33 | -@Validated | |
| 34 | -public class OALeaveController { | |
| 35 | - | |
| 36 | - @Resource | |
| 37 | - private OALeaveService leaveService; | |
| 38 | - | |
| 39 | - @PostMapping("/create") | |
| 40 | - @ApiOperation("创建请假申请") | |
| 41 | - @PreAuthorize("@ss.hasPermission('oa:leave:create')") | |
| 42 | - public CommonResult<Long> createLeave(@Valid @RequestBody OALeaveCreateReqVO createReqVO) { | |
| 43 | - // TODO @芋艿:processKey 自己去理解下。不过得把 leave 变成枚举 | |
| 44 | - // TODO @芋艿 该方法没有用到, 是前一个版本的, 可以删掉。 | |
| 45 | - createReqVO.setProcessKey("leave"); | |
| 46 | - return success(leaveService.createLeave(createReqVO)); | |
| 47 | - } | |
| 48 | - | |
| 49 | - @PostMapping("/form-key/create") | |
| 50 | - @ApiOperation("创建外置请假申请") | |
| 51 | - public CommonResult<Long> createFormKeyLeave(@Valid @RequestBody OALeaveCreateReqVO createReqVO) { | |
| 52 | - // TODO @芋艿:processKey 自己去理解下。不过得把 formkey 变成枚举 | |
| 53 | - // TODO @芋艿 : processKey 是 bpmn <process> 中定义的id, 提交业务表单时候, 需要启动流程, 或许从前台传更合适 | |
| 54 | - createReqVO.setProcessKey("leave-formkey"); | |
| 55 | - return success(leaveService.createLeave(createReqVO)); | |
| 56 | - } | |
| 57 | - | |
| 58 | - @PutMapping("/update") | |
| 59 | - @ApiOperation("更新请假申请") | |
| 60 | - @PreAuthorize("@ss.hasPermission('oa:leave:update')") | |
| 61 | - public CommonResult<Boolean> updateLeave(@Valid @RequestBody OALeaveUpdateReqVO updateReqVO) { | |
| 62 | - leaveService.updateLeave(updateReqVO); | |
| 63 | - return success(true); | |
| 64 | - } | |
| 65 | - | |
| 66 | - @DeleteMapping("/delete") | |
| 67 | - @ApiOperation("删除请假申请") | |
| 68 | - @ApiImplicitParam(name = "id", value = "编号", required = true) | |
| 69 | - @PreAuthorize("@ss.hasPermission('oa:leave:delete')") | |
| 70 | - public CommonResult<Boolean> deleteLeave(@RequestParam("id") Long id) { | |
| 71 | - leaveService.deleteLeave(id); | |
| 72 | - return success(true); | |
| 73 | - } | |
| 74 | - | |
| 75 | - @GetMapping("/get") | |
| 76 | - @ApiOperation("获得请假申请") | |
| 77 | - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) | |
| 78 | - @PreAuthorize("@ss.hasPermission('oa:leave:query')") | |
| 79 | - public CommonResult<OALeaveRespVO> getLeave(@RequestParam("id") Long id) { | |
| 80 | - OALeaveDO leave = leaveService.getLeave(id); | |
| 81 | - return success(OALeaveConvert.INSTANCE.convert(leave)); | |
| 82 | - } | |
| 83 | - | |
| 84 | - @GetMapping("/list") | |
| 85 | - @ApiOperation("获得请假申请列表") | |
| 86 | - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | |
| 87 | - @PreAuthorize("@ss.hasPermission('oa:leave:query')") | |
| 88 | - public CommonResult<List<OALeaveRespVO>> getLeaveList(@RequestParam("ids") Collection<Long> ids) { | |
| 89 | - List<OALeaveDO> list = leaveService.getLeaveList(ids); | |
| 90 | - return success(OALeaveConvert.INSTANCE.convertList(list)); | |
| 91 | - } | |
| 92 | - | |
| 93 | - @GetMapping("/page") | |
| 94 | - @ApiOperation("获得请假申请分页") | |
| 95 | - @PreAuthorize("@ss.hasPermission('oa:leave:query')") | |
| 96 | - public CommonResult<PageResult<OALeaveRespVO>> getLeavePage(@Valid OALeavePageReqVO pageVO) { | |
| 97 | - //值查询自己申请请假 | |
| 98 | - // TODO @芋艿:这里的传值,到底前端搞,还是后端搞。 | |
| 99 | - pageVO.setUserId(SecurityFrameworkUtils.getLoginUser().getUsername()); | |
| 100 | - PageResult<OALeaveDO> pageResult = leaveService.getLeavePage(pageVO); | |
| 101 | - return success(OALeaveConvert.INSTANCE.convertPage(pageResult)); | |
| 102 | - } | |
| 103 | - | |
| 104 | - @GetMapping("/export-excel") | |
| 105 | - @ApiOperation("导出请假申请 Excel") | |
| 106 | - @PreAuthorize("@ss.hasPermission('oa:leave:export')") | |
| 107 | - @OperateLog(type = EXPORT) | |
| 108 | - public void exportLeaveExcel(@Valid OALeaveExportReqVO exportReqVO, | |
| 109 | - HttpServletResponse response) throws IOException { | |
| 110 | - List<OALeaveDO> list = leaveService.getLeaveList(exportReqVO); | |
| 111 | - // 导出 Excel | |
| 112 | - List<OALeaveExcelVO> datas = OALeaveConvert.INSTANCE.convertList02(list); | |
| 113 | - ExcelUtils.write(response, "请假申请.xls", "数据", OALeaveExcelVO.class, datas); | |
| 114 | - } | |
| 115 | - | |
| 116 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/vo/OaLeaveBaseVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | -import io.swagger.annotations.*; | |
| 6 | -import javax.validation.constraints.*; | |
| 7 | -import org.springframework.format.annotation.DateTimeFormat; | |
| 8 | - | |
| 9 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 10 | - | |
| 11 | -/** | |
| 12 | -* 请假申请 Base VO,提供给添加、修改、详细的子 VO 使用 | |
| 13 | -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | |
| 14 | -*/ | |
| 15 | -@Data | |
| 16 | -public class OALeaveBaseVO { | |
| 17 | - | |
| 18 | - @ApiModelProperty(value = "流程id") | |
| 19 | - private String processInstanceId; | |
| 20 | - | |
| 21 | - @ApiModelProperty(value = "状态", required = true) | |
| 22 | - private Integer status; | |
| 23 | - | |
| 24 | - @ApiModelProperty(value = "申请人id", required = true) | |
| 25 | - private String userId; | |
| 26 | - | |
| 27 | - @ApiModelProperty(value = "开始时间", required = true) | |
| 28 | - @NotNull(message = "开始时间不能为空") | |
| 29 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 30 | - private Date startTime; | |
| 31 | - | |
| 32 | - @ApiModelProperty(value = "结束时间", required = true) | |
| 33 | - @NotNull(message = "结束时间不能为空") | |
| 34 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 35 | - private Date endTime; | |
| 36 | - | |
| 37 | - @ApiModelProperty(value = "请假类型") | |
| 38 | - private String leaveType; | |
| 39 | - | |
| 40 | - @ApiModelProperty(value = "原因") | |
| 41 | - private String reason; | |
| 42 | - | |
| 43 | - @ApiModelProperty(value = "申请时间", required = true) | |
| 44 | - @NotNull(message = "申请时间不能为空") | |
| 45 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 46 | - private Date applyTime; | |
| 47 | - | |
| 48 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/vo/OaLeaveCreateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import io.swagger.annotations.*; | |
| 5 | - | |
| 6 | -@ApiModel("请假申请创建 Request VO") | |
| 7 | -@Data | |
| 8 | -@EqualsAndHashCode(callSuper = true) | |
| 9 | -@ToString(callSuper = true) | |
| 10 | -public class OALeaveCreateReqVO extends OALeaveBaseVO { | |
| 11 | - | |
| 12 | - private String processKey; | |
| 13 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/vo/OaLeaveExcelVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | -import io.swagger.annotations.*; | |
| 6 | - | |
| 7 | -import com.alibaba.excel.annotation.ExcelProperty; | |
| 8 | - | |
| 9 | -/** | |
| 10 | - * 请假申请 Excel VO | |
| 11 | - * | |
| 12 | - * @author 芋艿 | |
| 13 | - */ | |
| 14 | -@Data | |
| 15 | -public class OALeaveExcelVO { | |
| 16 | - | |
| 17 | - @ExcelProperty("请假表单主键") | |
| 18 | - private Long id; | |
| 19 | - | |
| 20 | - @ExcelProperty("流程id") | |
| 21 | - private String processInstanceId; | |
| 22 | - | |
| 23 | - @ExcelProperty("状态") | |
| 24 | - private Integer status; | |
| 25 | - | |
| 26 | - @ExcelProperty("申请人id") | |
| 27 | - private String userId; | |
| 28 | - | |
| 29 | - @ExcelProperty("开始时间") | |
| 30 | - private Date startTime; | |
| 31 | - | |
| 32 | - @ExcelProperty("结束时间") | |
| 33 | - private Date endTime; | |
| 34 | - | |
| 35 | - @ExcelProperty("请假类型") | |
| 36 | - private String leaveType; | |
| 37 | - | |
| 38 | - @ExcelProperty("原因") | |
| 39 | - private String reason; | |
| 40 | - | |
| 41 | - @ExcelProperty("申请时间") | |
| 42 | - private Date applyTime; | |
| 43 | - | |
| 44 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/vo/OaLeaveExportReqVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | -import io.swagger.annotations.*; | |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 7 | -import org.springframework.format.annotation.DateTimeFormat; | |
| 8 | - | |
| 9 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 10 | - | |
| 11 | -@ApiModel(value = "请假申请 Excel 导出 Request VO", description = "参数和 OaLeavePageReqVO 是一致的") | |
| 12 | -@Data | |
| 13 | -public class OALeaveExportReqVO { | |
| 14 | - | |
| 15 | - @ApiModelProperty(value = "流程id") | |
| 16 | - private String processInstanceId; | |
| 17 | - | |
| 18 | - @ApiModelProperty(value = "状态") | |
| 19 | - private Integer status; | |
| 20 | - | |
| 21 | - @ApiModelProperty(value = "申请人id") | |
| 22 | - private String userId; | |
| 23 | - | |
| 24 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 25 | - @ApiModelProperty(value = "开始开始时间") | |
| 26 | - private Date beginStartTime; | |
| 27 | - | |
| 28 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 29 | - @ApiModelProperty(value = "结束开始时间") | |
| 30 | - private Date endStartTime; | |
| 31 | - | |
| 32 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 33 | - @ApiModelProperty(value = "开始结束时间") | |
| 34 | - private Date beginEndTime; | |
| 35 | - | |
| 36 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 37 | - @ApiModelProperty(value = "结束结束时间") | |
| 38 | - private Date endEndTime; | |
| 39 | - | |
| 40 | - @ApiModelProperty(value = "请假类型") | |
| 41 | - private String leaveType; | |
| 42 | - | |
| 43 | - @ApiModelProperty(value = "原因") | |
| 44 | - private String reason; | |
| 45 | - | |
| 46 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 47 | - @ApiModelProperty(value = "开始申请时间") | |
| 48 | - private Date beginApplyTime; | |
| 49 | - | |
| 50 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 51 | - @ApiModelProperty(value = "结束申请时间") | |
| 52 | - private Date endApplyTime; | |
| 53 | - | |
| 54 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/vo/OaLeavePageReqVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | -import io.swagger.annotations.*; | |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 7 | -import org.springframework.format.annotation.DateTimeFormat; | |
| 8 | - | |
| 9 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 10 | - | |
| 11 | -@ApiModel("请假申请分页 Request VO") | |
| 12 | -@Data | |
| 13 | -@EqualsAndHashCode(callSuper = true) | |
| 14 | -@ToString(callSuper = true) | |
| 15 | -public class OALeavePageReqVO extends PageParam { | |
| 16 | - | |
| 17 | - @ApiModelProperty(value = "流程id") | |
| 18 | - private String processInstanceId; | |
| 19 | - | |
| 20 | - @ApiModelProperty(value = "状态") | |
| 21 | - private Integer status; | |
| 22 | - | |
| 23 | - @ApiModelProperty(value = "申请人id") | |
| 24 | - private String userId; | |
| 25 | - | |
| 26 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 27 | - @ApiModelProperty(value = "开始开始时间") | |
| 28 | - private Date beginStartTime; | |
| 29 | - | |
| 30 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 31 | - @ApiModelProperty(value = "结束开始时间") | |
| 32 | - private Date endStartTime; | |
| 33 | - | |
| 34 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 35 | - @ApiModelProperty(value = "开始结束时间") | |
| 36 | - private Date beginEndTime; | |
| 37 | - | |
| 38 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 39 | - @ApiModelProperty(value = "结束结束时间") | |
| 40 | - private Date endEndTime; | |
| 41 | - | |
| 42 | - @ApiModelProperty(value = "请假类型") | |
| 43 | - private String leaveType; | |
| 44 | - | |
| 45 | - @ApiModelProperty(value = "原因") | |
| 46 | - private String reason; | |
| 47 | - | |
| 48 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 49 | - @ApiModelProperty(value = "开始申请时间") | |
| 50 | - private Date beginApplyTime; | |
| 51 | - | |
| 52 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 53 | - @ApiModelProperty(value = "结束申请时间") | |
| 54 | - private Date endApplyTime; | |
| 55 | - | |
| 56 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/vo/OaLeaveRespVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import io.swagger.annotations.*; | |
| 5 | - | |
| 6 | -@ApiModel("请假申请 Response VO") | |
| 7 | -@Data | |
| 8 | -@EqualsAndHashCode(callSuper = true) | |
| 9 | -@ToString(callSuper = true) | |
| 10 | -public class OALeaveRespVO extends OALeaveBaseVO { | |
| 11 | - | |
| 12 | - @ApiModelProperty(value = "请假表单主键", required = true) | |
| 13 | - private Long id; | |
| 14 | - | |
| 15 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/oa/vo/OaLeaveUpdateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo; | |
| 2 | - | |
| 3 | -import io.swagger.annotations.ApiModel; | |
| 4 | -import io.swagger.annotations.ApiModelProperty; | |
| 5 | -import lombok.Data; | |
| 6 | -import lombok.EqualsAndHashCode; | |
| 7 | -import lombok.ToString; | |
| 8 | - | |
| 9 | -import javax.validation.constraints.NotNull; | |
| 10 | -import java.util.Map; | |
| 11 | - | |
| 12 | -@ApiModel("请假申请更新 Request VO") | |
| 13 | -@Data | |
| 14 | -@EqualsAndHashCode(callSuper = true) | |
| 15 | -@ToString(callSuper = true) | |
| 16 | -public class OALeaveUpdateReqVO extends OALeaveBaseVO { | |
| 17 | - | |
| 18 | - @ApiModelProperty(value = "请假表单主键", required = true) | |
| 19 | - @NotNull(message = "请假表单主键不能为空") | |
| 20 | - private Long id; | |
| 21 | - | |
| 22 | - // TODO @json:swagger 和 validator 的注解要加哈。 | |
| 23 | - | |
| 24 | - private String taskId; | |
| 25 | - | |
| 26 | - private String comment; | |
| 27 | - | |
| 28 | - private Map<String,Object> variables; | |
| 29 | - | |
| 30 | - // TODO @芋艿:variables 的作用是啥。 | |
| 31 | - | |
| 32 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/convert/oa/OaLeaveConvert.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.convert.oa; | |
| 2 | - | |
| 3 | -import java.util.*; | |
| 4 | - | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; | |
| 6 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 7 | - | |
| 8 | -import org.mapstruct.Mapper; | |
| 9 | -import org.mapstruct.factory.Mappers; | |
| 10 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.*; | |
| 11 | - | |
| 12 | -/** | |
| 13 | - * 请假申请 Convert | |
| 14 | - * | |
| 15 | - * @author 芋艿 | |
| 16 | - */ | |
| 17 | -@Mapper | |
| 18 | -public interface OALeaveConvert { | |
| 19 | - | |
| 20 | - OALeaveConvert INSTANCE = Mappers.getMapper(OALeaveConvert.class); | |
| 21 | - | |
| 22 | - OALeaveDO convert(OALeaveCreateReqVO bean); | |
| 23 | - | |
| 24 | - OALeaveDO convert(OALeaveUpdateReqVO bean); | |
| 25 | - | |
| 26 | - OALeaveRespVO convert(OALeaveDO bean); | |
| 27 | - | |
| 28 | - List<OALeaveRespVO> convertList(List<OALeaveDO> list); | |
| 29 | - | |
| 30 | - PageResult<OALeaveRespVO> convertPage(PageResult<OALeaveDO> page); | |
| 31 | - | |
| 32 | - List<OALeaveExcelVO> convertList02(List<OALeaveDO> list); | |
| 33 | - | |
| 34 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/dal/dataobject/oa/OaLeaveDO.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa; | |
| 2 | - | |
| 3 | -import lombok.*; | |
| 4 | -import java.util.*; | |
| 5 | -import com.baomidou.mybatisplus.annotation.*; | |
| 6 | -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * 请假申请 DO | |
| 10 | - * | |
| 11 | - * @author 芋艿 | |
| 12 | - */ | |
| 13 | -@TableName("oa_leave") | |
| 14 | -@Data | |
| 15 | -@EqualsAndHashCode(callSuper = true) | |
| 16 | -@ToString(callSuper = true) | |
| 17 | -@Builder | |
| 18 | -@NoArgsConstructor | |
| 19 | -@AllArgsConstructor | |
| 20 | -public class OALeaveDO extends BaseDO { | |
| 21 | - | |
| 22 | - /** | |
| 23 | - * 请假表单主键 | |
| 24 | - */ | |
| 25 | - @TableId | |
| 26 | - private Long id; | |
| 27 | - /** | |
| 28 | - * 流程id | |
| 29 | - */ | |
| 30 | - private String processInstanceId; | |
| 31 | - /** | |
| 32 | - * 状态 | |
| 33 | - */ | |
| 34 | - private Integer status; | |
| 35 | - /** | |
| 36 | - * 申请人id | |
| 37 | - */ | |
| 38 | - private String userId; | |
| 39 | - /** | |
| 40 | - * 开始时间 | |
| 41 | - */ | |
| 42 | - private Date startTime; | |
| 43 | - /** | |
| 44 | - * 结束时间 | |
| 45 | - */ | |
| 46 | - private Date endTime; | |
| 47 | - /** | |
| 48 | - * 请假类型 | |
| 49 | - */ | |
| 50 | - private String leaveType; | |
| 51 | - /** | |
| 52 | - * 原因 | |
| 53 | - */ | |
| 54 | - private String reason; | |
| 55 | - /** | |
| 56 | - * 申请时间 | |
| 57 | - */ | |
| 58 | - private Date applyTime; | |
| 59 | - | |
| 60 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/dal/mysql/oa/OaLeaveMapper.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/dal/mysql/oa/OALeaveMapper.java
| ... | ... | @@ -15,7 +15,7 @@ import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.*; |
| 15 | 15 | * @author 芋艿 |
| 16 | 16 | */ |
| 17 | 17 | @Mapper |
| 18 | -public interface OaLeaveMapper extends BaseMapperX<OALeaveDO> { | |
| 18 | +public interface OALeaveMapper extends BaseMapperX<OALeaveDO> { | |
| 19 | 19 | |
| 20 | 20 | default PageResult<OALeaveDO> selectPage(OALeavePageReqVO reqVO) { |
| 21 | 21 | return selectPage(reqVO, new QueryWrapperX<OALeaveDO>() | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/oa/OaLeaveService.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.service.oa; | |
| 2 | - | |
| 3 | - | |
| 4 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveCreateReqVO; | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveUpdateReqVO; | |
| 6 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveExportReqVO; | |
| 7 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeavePageReqVO; | |
| 8 | -import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; | |
| 9 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 10 | - | |
| 11 | -import javax.validation.Valid; | |
| 12 | -import java.util.Collection; | |
| 13 | -import java.util.List; | |
| 14 | - | |
| 15 | -/** | |
| 16 | - * 请假申请 Service 接口 | |
| 17 | - * | |
| 18 | - * @author 芋艿 | |
| 19 | - */ | |
| 20 | -public interface OALeaveService { | |
| 21 | - | |
| 22 | - /** | |
| 23 | - * 创建请假申请 | |
| 24 | - * | |
| 25 | - * @param createReqVO 创建信息 | |
| 26 | - * @return 编号 | |
| 27 | - */ | |
| 28 | - Long createLeave(@Valid OALeaveCreateReqVO createReqVO); | |
| 29 | - | |
| 30 | - /** | |
| 31 | - * 更新请假申请 | |
| 32 | - * | |
| 33 | - * @param updateReqVO 更新信息 | |
| 34 | - */ | |
| 35 | - void updateLeave(@Valid OALeaveUpdateReqVO updateReqVO); | |
| 36 | - | |
| 37 | - /** | |
| 38 | - * 删除请假申请 | |
| 39 | - * | |
| 40 | - * @param id 编号 | |
| 41 | - */ | |
| 42 | - void deleteLeave(Long id); | |
| 43 | - | |
| 44 | - /** | |
| 45 | - * 获得请假申请 | |
| 46 | - * | |
| 47 | - * @param id 编号 | |
| 48 | - * @return 请假申请 | |
| 49 | - */ | |
| 50 | - OALeaveDO getLeave(Long id); | |
| 51 | - | |
| 52 | - /** | |
| 53 | - * 获得请假申请列表 | |
| 54 | - * | |
| 55 | - * @param ids 编号 | |
| 56 | - * @return 请假申请列表 | |
| 57 | - */ | |
| 58 | - List<OALeaveDO> getLeaveList(Collection<Long> ids); | |
| 59 | - | |
| 60 | - /** | |
| 61 | - * 获得请假申请分页 | |
| 62 | - * | |
| 63 | - * @param pageReqVO 分页查询 | |
| 64 | - * @return 请假申请分页 | |
| 65 | - */ | |
| 66 | - PageResult<OALeaveDO> getLeavePage(OALeavePageReqVO pageReqVO); | |
| 67 | - | |
| 68 | - /** | |
| 69 | - * 获得请假申请列表, 用于 Excel 导出 | |
| 70 | - * | |
| 71 | - * @param exportReqVO 查询条件 | |
| 72 | - * @return 请假申请列表 | |
| 73 | - */ | |
| 74 | - List<OALeaveDO> getLeaveList(OALeaveExportReqVO exportReqVO); | |
| 75 | - | |
| 76 | -} |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/oa/ReportBackEndProcessor.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.activiti.service.oa; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.activiti.dal.mysql.oa.OaLeaveMapper; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.activiti.dal.mysql.oa.OALeaveMapper; | |
| 5 | 5 | import org.activiti.engine.delegate.DelegateExecution; |
| 6 | 6 | import org.activiti.engine.delegate.ExecutionListener; |
| 7 | 7 | import org.springframework.stereotype.Component; |
| ... | ... | @@ -14,7 +14,7 @@ import javax.annotation.Resource; |
| 14 | 14 | public class ReportBackEndProcessor implements ExecutionListener { |
| 15 | 15 | |
| 16 | 16 | @Resource |
| 17 | - private OaLeaveMapper leaveMapper; | |
| 17 | + private OALeaveMapper leaveMapper; | |
| 18 | 18 | |
| 19 | 19 | @Override |
| 20 | 20 | @Transactional(rollbackFor = Exception.class) | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/oa/impl/OALeaveServiceImpl.java
| ... | ... | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveExp |
| 6 | 6 | import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeavePageReqVO; |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.activiti.convert.oa.OALeaveConvert; |
| 8 | 8 | import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; |
| 9 | -import cn.iocoder.yudao.adminserver.modules.activiti.dal.mysql.oa.OaLeaveMapper; | |
| 9 | +import cn.iocoder.yudao.adminserver.modules.activiti.dal.mysql.oa.OALeaveMapper; | |
| 10 | 10 | import cn.iocoder.yudao.adminserver.modules.activiti.service.oa.OALeaveService; |
| 11 | 11 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 12 | 12 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| ... | ... | @@ -35,7 +35,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU |
| 35 | 35 | public class OALeaveServiceImpl implements OALeaveService { |
| 36 | 36 | |
| 37 | 37 | @Resource |
| 38 | - private OaLeaveMapper leaveMapper; | |
| 38 | + private OALeaveMapper leaveMapper; | |
| 39 | 39 | |
| 40 | 40 | @Resource |
| 41 | 41 | private RuntimeService runtimeService; |
| ... | ... | @@ -52,6 +52,7 @@ public class OALeaveServiceImpl implements OALeaveService { |
| 52 | 52 | // 插入 OA 请假单 |
| 53 | 53 | OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO); |
| 54 | 54 | leave.setStatus(1); |
| 55 | + // TODO @jason:应该是存储 userId?? | |
| 55 | 56 | leave.setUserId(SecurityFrameworkUtils.getLoginUser().getUsername()); |
| 56 | 57 | leaveMapper.insert(leave); |
| 57 | 58 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/oa/impl/OaLeaveServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.adminserver.modules.activiti.service.oa.impl; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveCreateReqVO; | |
| 4 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveUpdateReqVO; | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveExportReqVO; | |
| 6 | -import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeavePageReqVO; | |
| 7 | -import cn.iocoder.yudao.adminserver.modules.activiti.convert.oa.OALeaveConvert; | |
| 8 | -import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; | |
| 9 | -import cn.iocoder.yudao.adminserver.modules.activiti.dal.mysql.oa.OaLeaveMapper; | |
| 10 | -import cn.iocoder.yudao.adminserver.modules.activiti.service.oa.OALeaveService; | |
| 11 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 12 | -import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | |
| 13 | -import org.activiti.api.task.model.Task; | |
| 14 | -import org.activiti.api.task.model.builders.TaskPayloadBuilder; | |
| 15 | -import org.activiti.api.task.runtime.TaskRuntime; | |
| 16 | -import org.activiti.engine.RuntimeService; | |
| 17 | -import org.activiti.engine.runtime.ProcessInstance; | |
| 18 | -import org.springframework.stereotype.Service; | |
| 19 | -import org.springframework.transaction.annotation.Transactional; | |
| 20 | -import org.springframework.validation.annotation.Validated; | |
| 21 | - | |
| 22 | -import javax.annotation.Resource; | |
| 23 | -import java.util.*; | |
| 24 | - | |
| 25 | -import static cn.iocoder.yudao.adminserver.modules.activiti.enums.OAErrorCodeConstants.LEAVE_NOT_EXISTS; | |
| 26 | -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 27 | - | |
| 28 | -/** | |
| 29 | - * 请假申请 Service 实现类 | |
| 30 | - * | |
| 31 | - * @author 芋艿 | |
| 32 | - */ | |
| 33 | -@Service | |
| 34 | -@Validated | |
| 35 | -public class OALeaveServiceImpl implements OALeaveService { | |
| 36 | - | |
| 37 | - @Resource | |
| 38 | - private OaLeaveMapper leaveMapper; | |
| 39 | - | |
| 40 | - @Resource | |
| 41 | - private RuntimeService runtimeService; | |
| 42 | - | |
| 43 | - @Resource | |
| 44 | - private org.activiti.engine.TaskService activitiTaskService; | |
| 45 | - | |
| 46 | - @Resource | |
| 47 | - private TaskRuntime taskRuntime; | |
| 48 | - | |
| 49 | - @Override | |
| 50 | - @Transactional(rollbackFor = Exception.class) | |
| 51 | - public Long createLeave(OALeaveCreateReqVO createReqVO) { | |
| 52 | - // 插入 OA 请假单 | |
| 53 | - OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO); | |
| 54 | - leave.setStatus(1); | |
| 55 | - // TODO @jason:应该是存储 userId?? | |
| 56 | - leave.setUserId(SecurityFrameworkUtils.getLoginUser().getUsername()); | |
| 57 | - leaveMapper.insert(leave); | |
| 58 | - | |
| 59 | - // 创建工作流 | |
| 60 | - Map<String, Object> variables = new HashMap<>(); | |
| 61 | - // 如何得到部门领导人,暂时写死 | |
| 62 | - variables.put("deptLeader", "admin"); // TODO @芋艿:需要部门的负责人 | |
| 63 | - Long id = leave.getId(); | |
| 64 | - String businessKey = String.valueOf(id); | |
| 65 | - ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(createReqVO.getProcessKey(), businessKey, variables); | |
| 66 | - String processInstanceId = processInstance.getProcessInstanceId(); | |
| 67 | - | |
| 68 | - // 将工作流的编号,更新到 OA 请假单中 | |
| 69 | - OALeaveDO updateDo = new OALeaveDO(); | |
| 70 | - updateDo.setProcessInstanceId(processInstanceId); | |
| 71 | - updateDo.setId(id); | |
| 72 | - leaveMapper.updateById(updateDo); | |
| 73 | - return id; | |
| 74 | - } | |
| 75 | - | |
| 76 | - @Override | |
| 77 | - @Transactional(rollbackFor = Exception.class) | |
| 78 | - public void updateLeave(OALeaveUpdateReqVO updateReqVO) { | |
| 79 | - // 校验存在 | |
| 80 | - this.validateLeaveExists(updateReqVO.getId()); | |
| 81 | - | |
| 82 | - final Task task = taskRuntime.task(updateReqVO.getTaskId()); | |
| 83 | - activitiTaskService.addComment(task.getId(), task.getProcessInstanceId(), updateReqVO.getComment()); | |
| 84 | - Map<String, Object> variables = updateReqVO.getVariables(); | |
| 85 | - | |
| 86 | - //如何得到部门领导人, 暂时写死 | |
| 87 | - variables.put("deptLeader", "admin"); | |
| 88 | - taskRuntime.complete(TaskPayloadBuilder.complete().withTaskId(task.getId()) | |
| 89 | - .withVariables(variables) | |
| 90 | - .build()); | |
| 91 | - | |
| 92 | - // TOTO @芋道源码 貌似 IDEA 会自动加上final(不需要加 final 哈。虽然是不变,但是代码比较少这么去写) | |
| 93 | - Object reApply = variables.get("reApply"); | |
| 94 | - if(Objects.equals(reApply, true)){ | |
| 95 | - // 更新 表单 | |
| 96 | - OALeaveDO updateObj = OALeaveConvert.INSTANCE.convert(updateReqVO); | |
| 97 | - leaveMapper.updateById(updateObj); | |
| 98 | - } | |
| 99 | - } | |
| 100 | - | |
| 101 | - @Override | |
| 102 | - public void deleteLeave(Long id) { | |
| 103 | - // 校验存在 | |
| 104 | - this.validateLeaveExists(id); | |
| 105 | - // 删除 | |
| 106 | - leaveMapper.deleteById(id); | |
| 107 | - // TODO @jason:需要调用 runtimeService 的 delete 方法,删除??? | |
| 108 | - // TOTO @芋道源码 目前页面暂时没有实现基于业务表单的删除, 该代码自动生成的。 | |
| 109 | - // TODO @芋道源码 我理解提交流程后,是不允许删除的? , 只能在流程处理中作废流程 | |
| 110 | - } | |
| 111 | - | |
| 112 | - private void validateLeaveExists(Long id) { | |
| 113 | - if (leaveMapper.selectById(id) == null) { | |
| 114 | - throw exception(LEAVE_NOT_EXISTS); | |
| 115 | - } | |
| 116 | - } | |
| 117 | - | |
| 118 | - @Override | |
| 119 | - public OALeaveDO getLeave(Long id) { | |
| 120 | - return leaveMapper.selectById(id); | |
| 121 | - } | |
| 122 | - | |
| 123 | - @Override | |
| 124 | - public List<OALeaveDO> getLeaveList(Collection<Long> ids) { | |
| 125 | - return leaveMapper.selectBatchIds(ids); | |
| 126 | - } | |
| 127 | - | |
| 128 | - @Override | |
| 129 | - public PageResult<OALeaveDO> getLeavePage(OALeavePageReqVO pageReqVO) { | |
| 130 | - return leaveMapper.selectPage(pageReqVO); | |
| 131 | - } | |
| 132 | - | |
| 133 | - @Override | |
| 134 | - public List<OALeaveDO> getLeaveList(OALeaveExportReqVO exportReqVO) { | |
| 135 | - return leaveMapper.selectList(exportReqVO); | |
| 136 | - } | |
| 137 | - | |
| 138 | -} |