车辆流程新版,更改status字段,新增title字段
Some checks are pending
Java CI with Maven / build (11) (push) Waiting to run
Java CI with Maven / build (17) (push) Waiting to run
Java CI with Maven / build (8) (push) Waiting to run
yudao-ui-admin CI / build (14.x) (push) Waiting to run
yudao-ui-admin CI / build (16.x) (push) Waiting to run

This commit is contained in:
XaoLi717 2024-11-27 10:38:41 +08:00
parent 87e22f4fd6
commit 21101a1ca1
7 changed files with 50 additions and 11 deletions

View File

@ -16,7 +16,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
public class ClglPageReqVO extends PageParam {
@Schema(description = "流程状态", example = "1")
private Integer flowStatus;
private Integer status;
@Schema(description = "id", example = "26309")
private Long id;
@ -27,6 +27,9 @@ public class ClglPageReqVO extends PageParam {
@Schema(description = "申请人名字")
private String carUserName;
@Schema(description = "标题")
private String title;
@Schema(description = "部门")
private Integer dept;

View File

@ -21,7 +21,7 @@ public class ClglRespVO {
private String processInstanceId;
@Schema(description = "流程状态", example = "1")
private Integer flowStatus;
private Integer status;
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26309")
@ExcelProperty("id")
@ -35,6 +35,10 @@ public class ClglRespVO {
@ExcelProperty("申请人名字")
private String carUserName;
@Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("标题")
private String title;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("部门")
private Integer dept;

View File

@ -11,6 +11,13 @@ import java.time.LocalDateTime;
@Data
public class ClglSaveReqVO {
@Schema(description = "流程定义key")
private String processDefinitionKey;
@Schema(description = "当前创建路径")
private String curfullpath;
@Schema(description = "发起人自选审批人 Map", example = "{taskKey1: [1, 2]}")
private Map<String, List<Long>> startUserSelectAssignees;
@ -30,6 +37,10 @@ public class ClglSaveReqVO {
@NotNull(message = "申请人名字不能为空")
private String carUserName;
@Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标题不能为空")
private String title;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
private Integer dept;

View File

@ -44,13 +44,17 @@ public class ClglDO extends BaseDO {
* 枚举 {@link BpmTaskStatusEnum}
* 考虑到简单所以直接复用了 BpmProcessInstanceStatusEnum 枚举也可以自己定义一个枚举哈
*/
private Integer flowStatus;
private Integer status;
/**
* id
*/
@TableId
private Long id;
/**
* title
*/
private String title;
/**
* 申请人id
*/

View File

@ -22,6 +22,7 @@ public interface ClglMapper extends BaseMapperX<ClglDO> {
.eqIfPresent(ClglDO::getId, reqVO.getId())
.eqIfPresent(ClglDO::getCarUserId, reqVO.getCarUserId())
.eqIfPresent(ClglDO::getCarUserName, reqVO.getCarUserName())
.eqIfPresent(ClglDO::getTitle, reqVO.getTitle())
.eqIfPresent(ClglDO::getDept, reqVO.getDept())
.eqIfPresent(ClglDO::getDeptName, reqVO.getDeptName())
.eqIfPresent(ClglDO::getCarType, reqVO.getCarType())
@ -33,7 +34,7 @@ public interface ClglMapper extends BaseMapperX<ClglDO> {
.eqIfPresent(ClglDO::getCarEndMileage, reqVO.getCarEndMileage())
.eqIfPresent(ClglDO::getCarStatus, reqVO.getCarStatus())
.eqIfPresent(ClglDO::getUserId, userId)
.eqIfPresent(ClglDO::getFlowStatus, reqVO.getFlowStatus())
.eqIfPresent(ClglDO::getStatus, reqVO.getStatus())
.betweenIfPresent(ClglDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(ClglDO::getId));
}
@ -42,6 +43,7 @@ public interface ClglMapper extends BaseMapperX<ClglDO> {
.eqIfPresent(ClglDO::getId, reqVO.getId())
.eqIfPresent(ClglDO::getCarUserId, reqVO.getCarUserId())
.eqIfPresent(ClglDO::getCarUserName, reqVO.getCarUserName())
.eqIfPresent(ClglDO::getTitle, reqVO.getTitle())
.eqIfPresent(ClglDO::getDept, reqVO.getDept())
.eqIfPresent(ClglDO::getDeptName, reqVO.getDeptName())
.eqIfPresent(ClglDO::getCarType, reqVO.getCarType())
@ -52,7 +54,7 @@ public interface ClglMapper extends BaseMapperX<ClglDO> {
.eqIfPresent(ClglDO::getCarStartMileage, reqVO.getCarStartMileage())
.eqIfPresent(ClglDO::getCarEndMileage, reqVO.getCarEndMileage())
.eqIfPresent(ClglDO::getCarStatus, reqVO.getCarStatus())
.eqIfPresent(ClglDO::getFlowStatus, reqVO.getFlowStatus())
.eqIfPresent(ClglDO::getStatus, reqVO.getStatus())
.betweenIfPresent(ClglDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(ClglDO::getId));
}

View File

@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.home.service.clgl;
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.dal.mysql.processinstancetodo.ProcessInstanceTodoMapper;
import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -14,6 +15,7 @@ import cn.iocoder.yudao.module.home.dal.dataobject.clgl.ClglDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.bpm.dal.dataobject.processinstancetodo.ProcessInstanceTodoDO;
import cn.iocoder.yudao.module.home.dal.mysql.clgl.ClglMapper;
@ -29,18 +31,22 @@ import static cn.iocoder.yudao.module.home.enums.ErrorCodeConstants.*;
@Service
@Validated
public class ClglServiceImpl implements ClglService {
public static final String PROCESS_KEY = "car-001";
// public static final String PROCESS_KEY = "car-001";
public static String PROCESS_KEY = "";
@Resource
private ClglMapper clglMapper;
@Resource
private ProcessInstanceTodoMapper processInstanceTodoMapper;
@Resource
private BpmProcessInstanceApi processInstanceApi;
@Override
public Long createClgl(Long userId,ClglSaveReqVO createReqVO) {
PROCESS_KEY = createReqVO.getProcessDefinitionKey();
// 插入
ClglDO clgl = BeanUtils.toBean(createReqVO, ClglDO.class)
.setUserId(userId).setFlowStatus(BpmTaskStatusEnum.RUNNING.getStatus());
.setUserId(userId).setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
clglMapper.insert(clgl);
// 发起 BPM 流程
@ -51,6 +57,15 @@ public class ClglServiceImpl implements ClglService {
.setStartUserSelectAssignees(createReqVO.getStartUserSelectAssignees()));
// 将工作流的编号更新到 OA 请假单中
clglMapper.updateById(new ClglDO().setId(clgl.getId()).setProcessInstanceId(processInstanceId));
ProcessInstanceTodoDO todo = new ProcessInstanceTodoDO();
todo.setTitle(createReqVO.getTitle());
todo.setProcessKey(PROCESS_KEY);
todo.setProcessInstanceId(processInstanceId);
todo.setFormCustomCreatePath(createReqVO.getCurfullpath());
todo.setStatus(0);
processInstanceTodoMapper.insert(todo);
// 返回
return clgl.getId();
}
@ -101,7 +116,7 @@ public class ClglServiceImpl implements ClglService {
@Override
public void updateClglStatus(Long id, Integer status) {
validateLeaveExists(id);
clglMapper.updateById(new ClglDO().setId(id).setFlowStatus(status));
clglMapper.updateById(new ClglDO().setId(id).setStatus(status));
}
}

View File

@ -112,7 +112,7 @@ public class ClglServiceImplTest extends BaseDbUnitTest {
// mock 数据
ClglDO dbClgl = randomPojo(ClglDO.class, o -> { // 等会查询到
o.setId(null);
o.setCarUser(null);
o.setCarUserId(null);
o.setDept(null);
o.setCarType(null);
o.setCarDriver(null);
@ -128,7 +128,7 @@ public class ClglServiceImplTest extends BaseDbUnitTest {
// 测试 id 不匹配
clglMapper.insert(cloneIgnoreId(dbClgl, o -> o.setId(null)));
// 测试 carUser 不匹配
clglMapper.insert(cloneIgnoreId(dbClgl, o -> o.setCarUser(null)));
clglMapper.insert(cloneIgnoreId(dbClgl, o -> o.setCarUserId(null)));
// 测试 dept 不匹配
clglMapper.insert(cloneIgnoreId(dbClgl, o -> o.setDept(null)));
// 测试 carType 不匹配
@ -152,7 +152,7 @@ public class ClglServiceImplTest extends BaseDbUnitTest {
// 准备参数
ClglPageReqVO reqVO = new ClglPageReqVO();
reqVO.setId(null);
reqVO.setCarUser(null);
reqVO.setCarUserId(null);
reqVO.setDept(null);
reqVO.setCarType(null);
reqVO.setCarDriver(null);