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,7 +15,7 @@ import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.*; | ||
| 15 | * @author 芋艿 | 15 | * @author 芋艿 |
| 16 | */ | 16 | */ |
| 17 | @Mapper | 17 | @Mapper |
| 18 | -public interface OaLeaveMapper extends BaseMapperX<OALeaveDO> { | 18 | +public interface OALeaveMapper extends BaseMapperX<OALeaveDO> { |
| 19 | 19 | ||
| 20 | default PageResult<OALeaveDO> selectPage(OALeavePageReqVO reqVO) { | 20 | default PageResult<OALeaveDO> selectPage(OALeavePageReqVO reqVO) { |
| 21 | return selectPage(reqVO, new QueryWrapperX<OALeaveDO>() | 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 | package cn.iocoder.yudao.adminserver.modules.activiti.service.oa; | 1 | package cn.iocoder.yudao.adminserver.modules.activiti.service.oa; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; | 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 | import org.activiti.engine.delegate.DelegateExecution; | 5 | import org.activiti.engine.delegate.DelegateExecution; |
| 6 | import org.activiti.engine.delegate.ExecutionListener; | 6 | import org.activiti.engine.delegate.ExecutionListener; |
| 7 | import org.springframework.stereotype.Component; | 7 | import org.springframework.stereotype.Component; |
| @@ -14,7 +14,7 @@ import javax.annotation.Resource; | @@ -14,7 +14,7 @@ import javax.annotation.Resource; | ||
| 14 | public class ReportBackEndProcessor implements ExecutionListener { | 14 | public class ReportBackEndProcessor implements ExecutionListener { |
| 15 | 15 | ||
| 16 | @Resource | 16 | @Resource |
| 17 | - private OaLeaveMapper leaveMapper; | 17 | + private OALeaveMapper leaveMapper; |
| 18 | 18 | ||
| 19 | @Override | 19 | @Override |
| 20 | @Transactional(rollbackFor = Exception.class) | 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,7 +6,7 @@ import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeaveExp | ||
| 6 | import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeavePageReqVO; | 6 | import cn.iocoder.yudao.adminserver.modules.activiti.controller.oa.vo.OALeavePageReqVO; |
| 7 | import cn.iocoder.yudao.adminserver.modules.activiti.convert.oa.OALeaveConvert; | 7 | import cn.iocoder.yudao.adminserver.modules.activiti.convert.oa.OALeaveConvert; |
| 8 | import cn.iocoder.yudao.adminserver.modules.activiti.dal.dataobject.oa.OALeaveDO; | 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 | import cn.iocoder.yudao.adminserver.modules.activiti.service.oa.OALeaveService; | 10 | import cn.iocoder.yudao.adminserver.modules.activiti.service.oa.OALeaveService; |
| 11 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 11 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 12 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | 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,7 +35,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU | ||
| 35 | public class OALeaveServiceImpl implements OALeaveService { | 35 | public class OALeaveServiceImpl implements OALeaveService { |
| 36 | 36 | ||
| 37 | @Resource | 37 | @Resource |
| 38 | - private OaLeaveMapper leaveMapper; | 38 | + private OALeaveMapper leaveMapper; |
| 39 | 39 | ||
| 40 | @Resource | 40 | @Resource |
| 41 | private RuntimeService runtimeService; | 41 | private RuntimeService runtimeService; |
| @@ -52,6 +52,7 @@ public class OALeaveServiceImpl implements OALeaveService { | @@ -52,6 +52,7 @@ public class OALeaveServiceImpl implements OALeaveService { | ||
| 52 | // 插入 OA 请假单 | 52 | // 插入 OA 请假单 |
| 53 | OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO); | 53 | OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO); |
| 54 | leave.setStatus(1); | 54 | leave.setStatus(1); |
| 55 | + // TODO @jason:应该是存储 userId?? | ||
| 55 | leave.setUserId(SecurityFrameworkUtils.getLoginUser().getUsername()); | 56 | leave.setUserId(SecurityFrameworkUtils.getLoginUser().getUsername()); |
| 56 | leaveMapper.insert(leave); | 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 | -} |