mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-26 17:21:53 +08:00
实现 OA 请假的取消申请
This commit is contained in:
parent
5437775172
commit
e6142b5308
@ -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: "取消",
|
||||||
|
Loading…
Reference in New Issue
Block a user