mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	实现 OA 请假的取消申请
This commit is contained in:
		| @@ -1,10 +1,10 @@ | |||||||
| package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa; | package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa; | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeavePageReqVO; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.OALeaveConvert; | import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; | import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| @@ -43,27 +43,19 @@ public class BpmOALeaveController { | |||||||
|         return success(leaveService.createLeave(getLoginUserId(), createReqVO)); |         return success(leaveService.createLeave(getLoginUserId(), createReqVO)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @DeleteMapping("/cancel") |  | ||||||
|     @ApiOperation("取消请假申请") |  | ||||||
|     @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) |  | ||||||
|     public CommonResult<Boolean> cancelLeave(@RequestParam("id") Long id) { |  | ||||||
|         leaveService.cancelLeave(id); |  | ||||||
|         return success(true); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @GetMapping("/get") |     @GetMapping("/get") | ||||||
|     @ApiOperation("获得请假申请") |     @ApiOperation("获得请假申请") | ||||||
|     @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) |     @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) | ||||||
|     public CommonResult<OALeaveRespVO> getLeave(@RequestParam("id") Long id) { |     public CommonResult<BpmOALeaveRespVO> getLeave(@RequestParam("id") Long id) { | ||||||
|         OALeaveDO leave = leaveService.getLeave(id); |         BpmOALeaveDO leave = leaveService.getLeave(id); | ||||||
|         return success(OALeaveConvert.INSTANCE.convert(leave)); |         return success(BpmOALeaveConvert.INSTANCE.convert(leave)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @GetMapping("/page") |     @GetMapping("/page") | ||||||
|     @ApiOperation("获得请假申请分页") |     @ApiOperation("获得请假申请分页") | ||||||
|     public CommonResult<PageResult<OALeaveRespVO>> getLeavePage(@Valid OALeavePageReqVO pageVO) { |     public CommonResult<PageResult<BpmOALeaveRespVO>> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) { | ||||||
|         PageResult<OALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); |         PageResult<BpmOALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); | ||||||
|         return success(OALeaveConvert.INSTANCE.convertPage(pageResult)); |         return success(BpmOALeaveConvert.INSTANCE.convertPage(pageResult)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ | |||||||
| @Data | @Data | ||||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||||
| @ToString(callSuper = true) | @ToString(callSuper = true) | ||||||
| public class OALeavePageReqVO extends PageParam { | public class BpmOALeavePageReqVO extends PageParam { | ||||||
| 
 | 
 | ||||||
|     @ApiModelProperty(value = "状态", example = "1", notes = "参见 bpm_process_instance_result 枚举") |     @ApiModelProperty(value = "状态", example = "1", notes = "参见 bpm_process_instance_result 枚举") | ||||||
|     private Integer result; |     private Integer result; | ||||||
| @@ -13,7 +13,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ | |||||||
| @Data | @Data | ||||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||||
| @ToString(callSuper = true) | @ToString(callSuper = true) | ||||||
| public class OALeaveRespVO extends BpmOALeaveBaseVO { | public class BpmOALeaveRespVO extends BpmOALeaveBaseVO { | ||||||
| 
 | 
 | ||||||
|     @ApiModelProperty(value = "请假表单主键", required = true, example = "1024") |     @ApiModelProperty(value = "请假表单主键", required = true, example = "1024") | ||||||
|     private Long id; |     private Long id; | ||||||
| @@ -1,8 +1,8 @@ | |||||||
| package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa; | package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa; | ||||||
| 
 | 
 | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import org.mapstruct.Mapper; | import org.mapstruct.Mapper; | ||||||
| import org.mapstruct.factory.Mappers; | import org.mapstruct.factory.Mappers; | ||||||
| @@ -15,16 +15,16 @@ import java.util.List; | |||||||
|  * @author 芋艿 |  * @author 芋艿 | ||||||
|  */ |  */ | ||||||
| @Mapper | @Mapper | ||||||
| public interface OALeaveConvert { | public interface BpmOALeaveConvert { | ||||||
| 
 | 
 | ||||||
|     OALeaveConvert INSTANCE = Mappers.getMapper(OALeaveConvert.class); |     BpmOALeaveConvert INSTANCE = Mappers.getMapper(BpmOALeaveConvert.class); | ||||||
| 
 | 
 | ||||||
|     OALeaveDO convert(BpmOALeaveCreateReqVO bean); |     BpmOALeaveDO convert(BpmOALeaveCreateReqVO bean); | ||||||
| 
 | 
 | ||||||
|     OALeaveRespVO convert(OALeaveDO bean); |     BpmOALeaveRespVO convert(BpmOALeaveDO bean); | ||||||
| 
 | 
 | ||||||
|     List<OALeaveRespVO> convertList(List<OALeaveDO> list); |     List<BpmOALeaveRespVO> convertList(List<BpmOALeaveDO> list); | ||||||
| 
 | 
 | ||||||
|     PageResult<OALeaveRespVO> convertPage(PageResult<OALeaveDO> page); |     PageResult<BpmOALeaveRespVO> convertPage(PageResult<BpmOALeaveDO> page); | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| @@ -22,7 +22,7 @@ import org.activiti.engine.runtime.ProcessInstance; | |||||||
| @Builder | @Builder | ||||||
| @NoArgsConstructor | @NoArgsConstructor | ||||||
| @AllArgsConstructor | @AllArgsConstructor | ||||||
| public class OALeaveDO extends BaseDO { | public class BpmOALeaveDO extends BaseDO { | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 请假表单主键 |      * 请假表单主键 | ||||||
| @@ -1,4 +0,0 @@ | |||||||
| /** |  | ||||||
|  * TODO 芋艿:实现请假流程,接入工作流 |  | ||||||
|  */ |  | ||||||
| package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave; |  | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa; | package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa; | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeavePageReqVO; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | ||||||
| import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||||||
| @@ -14,16 +14,16 @@ import org.apache.ibatis.annotations.Mapper; | |||||||
|  * @author 芋道源码 |  * @author 芋道源码 | ||||||
|  */ |  */ | ||||||
| @Mapper | @Mapper | ||||||
| public interface BpmOALeaveMapper extends BaseMapperX<OALeaveDO> { | public interface BpmOALeaveMapper extends BaseMapperX<BpmOALeaveDO> { | ||||||
|  |  | ||||||
|     default PageResult<OALeaveDO> selectPage(Long userId, OALeavePageReqVO reqVO) { |     default PageResult<BpmOALeaveDO> selectPage(Long userId, BpmOALeavePageReqVO reqVO) { | ||||||
|         return selectPage(reqVO, new LambdaQueryWrapperX<OALeaveDO>() |         return selectPage(reqVO, new LambdaQueryWrapperX<BpmOALeaveDO>() | ||||||
|                 .eqIfPresent(OALeaveDO::getUserId, userId) |                 .eqIfPresent(BpmOALeaveDO::getUserId, userId) | ||||||
|                 .eqIfPresent(OALeaveDO::getResult, reqVO.getResult()) |                 .eqIfPresent(BpmOALeaveDO::getResult, reqVO.getResult()) | ||||||
|                 .eqIfPresent(OALeaveDO::getType, reqVO.getType()) |                 .eqIfPresent(BpmOALeaveDO::getType, reqVO.getType()) | ||||||
|                 .likeIfPresent(OALeaveDO::getReason, reqVO.getReason()) |                 .likeIfPresent(BpmOALeaveDO::getReason, reqVO.getReason()) | ||||||
|                 .betweenIfPresent(OALeaveDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) |                 .betweenIfPresent(BpmOALeaveDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | ||||||
|                 .orderByDesc(OALeaveDO::getId)); |                 .orderByDesc(BpmOALeaveDO::getId)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa; | |||||||
|  |  | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
|  |  | ||||||
| import javax.validation.Valid; | import javax.validation.Valid; | ||||||
| @@ -32,20 +32,13 @@ public interface BpmOALeaveService { | |||||||
|      */ |      */ | ||||||
|     void updateLeaveResult(Long id, Integer result); |     void updateLeaveResult(Long id, Integer result); | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 删除请假申请 |  | ||||||
|      * |  | ||||||
|      * @param id 编号 |  | ||||||
|      */ |  | ||||||
|     void cancelLeave(Long id); |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 获得请假申请 |      * 获得请假申请 | ||||||
|      * |      * | ||||||
|      * @param id 编号 |      * @param id 编号 | ||||||
|      * @return 请假申请 |      * @return 请假申请 | ||||||
|      */ |      */ | ||||||
|     OALeaveDO getLeave(Long id); |     BpmOALeaveDO getLeave(Long id); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 获得请假申请分页 |      * 获得请假申请分页 | ||||||
| @@ -54,6 +47,6 @@ public interface BpmOALeaveService { | |||||||
|      * @param pageReqVO 分页查询 |      * @param pageReqVO 分页查询 | ||||||
|      * @return 请假申请分页 |      * @return 请假申请分页 | ||||||
|      */ |      */ | ||||||
|     PageResult<OALeaveDO> getLeavePage(Long userId, OALeavePageReqVO pageReqVO); |     PageResult<BpmOALeaveDO> getLeavePage(Long userId, BpmOALeavePageReqVO pageReqVO); | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2,14 +2,13 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl; | |||||||
| 
 | 
 | ||||||
| import cn.hutool.core.date.DateUtil; | import cn.hutool.core.date.DateUtil; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.OALeaveConvert; | import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa.BpmOALeaveMapper; | import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa.BpmOALeaveMapper; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum; | import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; | import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; | ||||||
| import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; |  | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||||
| @@ -29,7 +28,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU | |||||||
|  */ |  */ | ||||||
| @Service | @Service | ||||||
| @Validated | @Validated | ||||||
| public class OALeaveServiceImpl implements BpmOALeaveService { | public class BpmOALeaveServiceImpl implements BpmOALeaveService { | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * OA 请假对应的流程定义 KEY |      * OA 请假对应的流程定义 KEY | ||||||
| @@ -47,7 +46,7 @@ public class OALeaveServiceImpl implements BpmOALeaveService { | |||||||
|     public Long createLeave(Long userId, BpmOALeaveCreateReqVO createReqVO) { |     public Long createLeave(Long userId, BpmOALeaveCreateReqVO createReqVO) { | ||||||
|         // 插入 OA 请假单 |         // 插入 OA 请假单 | ||||||
|         long day = DateUtil.betweenDay(createReqVO.getStartTime(), createReqVO.getEndTime(), false); |         long day = DateUtil.betweenDay(createReqVO.getStartTime(), createReqVO.getEndTime(), false); | ||||||
|         OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO).setUserId(userId).setDay(day) |         BpmOALeaveDO leave = BpmOALeaveConvert.INSTANCE.convert(createReqVO).setUserId(userId).setDay(day) | ||||||
|                 .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); |                 .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); | ||||||
|         leaveMapper.insert(leave); |         leaveMapper.insert(leave); | ||||||
| 
 | 
 | ||||||
| @@ -59,22 +58,13 @@ public class OALeaveServiceImpl implements BpmOALeaveService { | |||||||
|                         .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(leave.getId()))); |                         .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(leave.getId()))); | ||||||
| 
 | 
 | ||||||
|         // 将工作流的编号,更新到 OA 请假单中 |         // 将工作流的编号,更新到 OA 请假单中 | ||||||
|         leaveMapper.updateById(new OALeaveDO().setId(leave.getId()).setProcessInstanceId(processInstanceId)); |         leaveMapper.updateById(new BpmOALeaveDO().setId(leave.getId()).setProcessInstanceId(processInstanceId)); | ||||||
|         return leave.getId(); |         return leave.getId(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void updateLeaveResult(Long id, Integer result) { |     public void updateLeaveResult(Long id, Integer result) { | ||||||
|         leaveMapper.updateById(new OALeaveDO().setId(id).setResult(result)); |         leaveMapper.updateById(new BpmOALeaveDO().setId(id).setResult(result)); | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     @Override |  | ||||||
|     public void cancelLeave(Long id) { |  | ||||||
|         // TODO 需要重新实现 |  | ||||||
|         // 校验存在 |  | ||||||
|         this.validateLeaveExists(id); |  | ||||||
|         // 删除 |  | ||||||
|         leaveMapper.deleteById(id); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private void validateLeaveExists(Long id) { |     private void validateLeaveExists(Long id) { | ||||||
| @@ -84,12 +74,12 @@ public class OALeaveServiceImpl implements BpmOALeaveService { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public OALeaveDO getLeave(Long id) { |     public BpmOALeaveDO getLeave(Long id) { | ||||||
|         return leaveMapper.selectById(id); |         return leaveMapper.selectById(id); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public PageResult<OALeaveDO> getLeavePage(Long userId, OALeavePageReqVO pageReqVO) { |     public PageResult<BpmOALeaveDO> getLeavePage(Long userId, BpmOALeavePageReqVO pageReqVO) { | ||||||
|         return leaveMapper.selectPage(userId, pageReqVO); |         return leaveMapper.selectPage(userId, pageReqVO); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa.listener; | |||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent; | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventListener; | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventListener; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; | import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; | ||||||
| import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl.OALeaveServiceImpl; | import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl.BpmOALeaveServiceImpl; | ||||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||||
|  |  | ||||||
| import javax.annotation.Resource; | import javax.annotation.Resource; | ||||||
| @@ -21,7 +21,7 @@ public class BpmOALeaveResultListener extends BpmProcessInstanceResultEventListe | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     protected String getProcessDefinitionKey() { |     protected String getProcessDefinitionKey() { | ||||||
|         return OALeaveServiceImpl.PROCESS_KEY; |         return BpmOALeaveServiceImpl.PROCESS_KEY; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
| @@ -255,7 +255,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         // 需要主动查询,因为 instance 只有 id 属性 |         // 需要主动查询,因为 instance 只有 id 属性 | ||||||
|         ProcessInstance processInstance = getProcessInstance(instance.getId()); |         // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance | ||||||
|  |         HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); | ||||||
|         // 更新拓展表 |         // 更新拓展表 | ||||||
|         BpmProcessInstanceExtDO instanceExtDO = BpmProcessInstanceConvert.INSTANCE.convert(instance) |         BpmProcessInstanceExtDO instanceExtDO = BpmProcessInstanceConvert.INSTANCE.convert(instance) | ||||||
|                 .setEndTime(new Date()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 |                 .setEndTime(new Date()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 | ||||||
|   | |||||||
| @@ -9,14 +9,6 @@ export function createLeave(data) { | |||||||
|   }) |   }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 删除请假申请
 |  | ||||||
| export function deleteLeave(id) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/oa/leave/delete?id=' + id, |  | ||||||
|     method: 'delete' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // 获得请假申请
 | // 获得请假申请
 | ||||||
| export function getLeave(id) { | export function getLeave(id) { | ||||||
|   return request({ |   return request({ | ||||||
| @@ -1,9 +0,0 @@ | |||||||
| import request from '@/utils/request' |  | ||||||
|  |  | ||||||
|  |  | ||||||
| export function getStartForm(processKey) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/process/definition/getStartForm?processKey='+processKey, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @@ -1,91 +0,0 @@ | |||||||
| import request from '@/utils/request' |  | ||||||
|  |  | ||||||
| // 创建请假申请 |  | ||||||
| export function createLeave(data) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/oa/leave/create', |  | ||||||
|     method: 'post', |  | ||||||
|     data: data |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // 更新请假申请 |  | ||||||
| export function updateLeave(data) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/oa/leave/update', |  | ||||||
|     method: 'put', |  | ||||||
|     data: data |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // 删除请假申请 |  | ||||||
| export function deleteLeave(id) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/oa/leave/delete?id=' + id, |  | ||||||
|     method: 'delete' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // 获得请假申请 |  | ||||||
| export function getLeave(id) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/oa/leave/get?id=' + id, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // 获得待办任务分页 |  | ||||||
| export function getTodoTaskPage(query) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/task/todo/page', |  | ||||||
|     method: 'get', |  | ||||||
|     params: query |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // 签收任务 |  | ||||||
| export function claimTask(id) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/task/claim?id=' + id, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| export function completeTask(data) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/task/complete', |  | ||||||
|     method: 'post', |  | ||||||
|     data: data |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| export function taskSteps(data) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/task/task-steps', |  | ||||||
|     method: 'post', |  | ||||||
|     data: data |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| export function getTaskFormKey(data) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/task/formKey', |  | ||||||
|     method: 'post', |  | ||||||
|     data: data |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| export function processHistorySteps(id) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/task/process/history-steps?id='+id, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  |  | ||||||
| export function getHighlightImg(id) { |  | ||||||
|   return request({ |  | ||||||
|     url: '/workflow/task/process/highlight-img?processInstanceId='+id, |  | ||||||
|     method: 'get' |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
| @@ -26,8 +26,9 @@ | |||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
| import { createLeave} from "@/api/oa/leave" | import { createLeave}  from "@/api/bpm/leave" | ||||||
| import { getDictDatas, DICT_TYPE } from '@/utils/dict' | import { getDictDatas, DICT_TYPE } from '@/utils/dict' | ||||||
|  |  | ||||||
| export default { | export default { | ||||||
|   name: "LeaveCreate", |   name: "LeaveCreate", | ||||||
|   components: { |   components: { | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ | |||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
| import { getLeave} from "@/api/oa/leave" | import { getLeave}  from "@/api/bpm/leave" | ||||||
| import {getDictDatas, DICT_TYPE, getDictDataLabel} from '@/utils/dict' | import {getDictDatas, DICT_TYPE, getDictDataLabel} from '@/utils/dict' | ||||||
| export default { | export default { | ||||||
|   name: "LeaveDetail", |   name: "LeaveDetail", | ||||||
|   | |||||||
| @@ -56,8 +56,10 @@ | |||||||
|           <span>{{ parseTime(scope.row.createTime) }}</span> |           <span>{{ parseTime(scope.row.createTime) }}</span> | ||||||
|         </template> |         </template> | ||||||
|       </el-table-column> |       </el-table-column> | ||||||
|       <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200"> | ||||||
|         <template slot-scope="scope"> |         <template slot-scope="scope"> | ||||||
|  |           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleCancel(scope.row)" | ||||||
|  |                      v-if="scope.row.result === 1">取消请假</el-button> | ||||||
|           <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">详情</el-button> |           <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">详情</el-button> | ||||||
|           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProcessDetail(scope.row)">审批进度</el-button> |           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProcessDetail(scope.row)">审批进度</el-button> | ||||||
|         </template> |         </template> | ||||||
| @@ -71,8 +73,9 @@ | |||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
| import { createLeave, getLeaveApplyMembers, getLeave, getLeavePage} from "@/api/oa/leave" | import { getLeavePage } from "@/api/bpm/leave" | ||||||
| import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict' | import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict' | ||||||
|  | import {cancelProcessInstance} from "@/api/bpm/processInstance"; | ||||||
|  |  | ||||||
| export default { | export default { | ||||||
|   name: "Leave", |   name: "Leave", | ||||||
| @@ -88,20 +91,14 @@ export default { | |||||||
|       total: 0, |       total: 0, | ||||||
|       // 请假申请列表 |       // 请假申请列表 | ||||||
|       list: [], |       list: [], | ||||||
|       // 弹出层标题 |  | ||||||
|       title: "", |  | ||||||
|       // 是否显示弹出层 |  | ||||||
|       open: false, |  | ||||||
|       //审批进度弹出层 |       //审批进度弹出层 | ||||||
|       dateRangeCreateTime: [], |       dateRangeCreateTime: [], | ||||||
|       // 查询参数 |       // 查询参数 | ||||||
|       queryParams: { |       queryParams: { | ||||||
|         pageNo: 1, |         pageNo: 1, | ||||||
|         pageSize: 10, |         pageSize: 10, | ||||||
|         processInstanceId: null, |         result: null, | ||||||
|         status: null, |         type: null, | ||||||
|         userId: null, |  | ||||||
|         leaveType: null, |  | ||||||
|         reason: null, |         reason: null, | ||||||
|       }, |       }, | ||||||
|  |  | ||||||
| @@ -149,6 +146,22 @@ export default { | |||||||
|     handleProcessDetail(row) { |     handleProcessDetail(row) { | ||||||
|       this.$router.push({ path: "/bpm/process-instance/detail", query: { id: row.processInstanceId}}); |       this.$router.push({ path: "/bpm/process-instance/detail", query: { id: row.processInstanceId}}); | ||||||
|     }, |     }, | ||||||
|  |     /** 取消请假 */ | ||||||
|  |     handleCancel(row) { | ||||||
|  |       const id = row.processInstanceId; | ||||||
|  |       this.$prompt('请输入取消原因?', "取消流程", { | ||||||
|  |         type: 'warning', | ||||||
|  |         confirmButtonText: "确定", | ||||||
|  |         cancelButtonText: "取消", | ||||||
|  |         inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/, // 判断非空,且非空格 | ||||||
|  |         inputErrorMessage: "取消原因不能为空", | ||||||
|  |       }).then(({ value }) => { | ||||||
|  |         return cancelProcessInstance(id, value); | ||||||
|  |       }).then(() => { | ||||||
|  |         this.getList(); | ||||||
|  |         this.msgSuccess("取消成功"); | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|     resultFormat(row, column) { |     resultFormat(row, column) { | ||||||
|       return getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, row.result) |       return getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, row.result) | ||||||
|     }, |     }, | ||||||
|   | |||||||
| @@ -192,7 +192,7 @@ export default { | |||||||
|     /** 取消按钮操作 */ |     /** 取消按钮操作 */ | ||||||
|     handleCancel(row) { |     handleCancel(row) { | ||||||
|       const id = row.id; |       const id = row.id; | ||||||
|       this.$prompt('请输出取消原因?', "取消流程", { |       this.$prompt('请输入取消原因?', "取消流程", { | ||||||
|         type: 'warning', |         type: 'warning', | ||||||
|         confirmButtonText: "确定", |         confirmButtonText: "确定", | ||||||
|         cancelButtonText: "取消", |         cancelButtonText: "取消", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV