提交 5ee6121f authored 作者: hzh's avatar hzh

代码优化

上级 d31f456e
...@@ -13,7 +13,7 @@ public enum ProcessKey { ...@@ -13,7 +13,7 @@ public enum ProcessKey {
//出差审批 //出差审批
PROCESS_KEY_TRAVEL("process-travel", "出差审批"); PROCESS_KEY_TRAVEL("process-travel", "出差审批");
private String key; private final String key;
private String desc; private final String desc;
} }
package org.dromara.server.constant; package org.dromara.server.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
/** /**
* 流程步骤类型 * 流程步骤类型
* *
* @author wenhe * @author wenhe
*/ */
@Getter
@AllArgsConstructor
public enum ProcessStepType { public enum ProcessStepType {
/** /**
* 开始 * 开始
*/ */
START, START("START","开始"),
/** /**
* 其他 * 其他
*/ */
OTHER, OTHER("OTHER","其他"),
/** /**
* 审批 * 审批
*/ */
APPROVE, APPROVE("APPROVE","审批"),
/** /**
* 结束 * 结束
*/ */
END; END("END","结束"),;
private final String type;
private final String desc;
} }
package org.dromara.server.domain; package org.dromara.server.domain;
import lombok.experimental.Accessors;
import org.dromara.common.tenant.core.TenantEntity; import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;
...@@ -14,6 +15,7 @@ import java.io.Serial; ...@@ -14,6 +15,7 @@ import java.io.Serial;
* @date 2024-12-11 * @date 2024-12-11
*/ */
@Data @Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("process_config") @TableName("process_config")
public class ProcessConfig extends TenantEntity { public class ProcessConfig extends TenantEntity {
......
...@@ -17,8 +17,9 @@ public interface IProcessConfigService extends IBaseService<ProcessConfigVo, Pro ...@@ -17,8 +17,9 @@ public interface IProcessConfigService extends IBaseService<ProcessConfigVo, Pro
* 创建默认审批流程配置 * 创建默认审批流程配置
* *
* @param processKey 流程key * @param processKey 流程key
* @param tenantId 租户id
* @return boolean * @return boolean
*/ */
boolean createDefaultProcessConfig(String processKey); boolean createDefaultProcessConfig(String processKey, String tenantId);
} }
package org.dromara.server.service.impl; package org.dromara.server.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.service.AbstractBaseService; import org.dromara.common.mybatis.service.AbstractBaseService;
import org.dromara.server.constant.ProcessKey;
import org.dromara.server.domain.ProcessConfig; import org.dromara.server.domain.ProcessConfig;
import org.dromara.server.domain.bo.ProcessConfigBo; import org.dromara.server.domain.bo.ProcessConfigBo;
import org.dromara.server.domain.vo.Process;
import org.dromara.server.domain.vo.ProcessConfigVo; import org.dromara.server.domain.vo.ProcessConfigVo;
import org.dromara.server.mapper.ProcessConfigMapper; import org.dromara.server.mapper.ProcessConfigMapper;
import org.dromara.server.service.IProcessConfigService; import org.dromara.server.service.IProcessConfigService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -43,8 +48,24 @@ public class ProcessConfigServiceImpl extends AbstractBaseService<ProcessConfigV ...@@ -43,8 +48,24 @@ public class ProcessConfigServiceImpl extends AbstractBaseService<ProcessConfigV
} }
@Override @Override
public boolean createDefaultProcessConfig(String processKey) { public boolean createDefaultProcessConfig(String processKey, String tenantId) {
//TODO 创建默认审批流程配置 Arrays.stream(ProcessKey.values())
return false; .filter(item -> StringUtils.equals(item.getKey(), processKey))
.findFirst()
.ifPresent(pk -> {
if (StringUtils.equals(pk.getKey(), ProcessKey.PROCESS_KEY_TRAVEL.getKey())) {
List<Process> processList = List.of(
new Process().setStepKey(System.currentTimeMillis()+"")
);
ProcessConfig pc = new ProcessConfig()
.setProcessKey(pk.getKey())
.setProcessName(pk.getDesc())
.setProcess(JSON.toJSONString(processList));
pc.setTenantId(tenantId);
baseMapper.insert(pc);
}
});
return true;
} }
} }
...@@ -83,7 +83,7 @@ public class ProcessProgressServiceImpl extends AbstractBaseService<ProcessProgr ...@@ -83,7 +83,7 @@ public class ProcessProgressServiceImpl extends AbstractBaseService<ProcessProgr
//获取审批配置 //获取审批配置
List<Process> processList = JSON.parseArray(process, Process.class); List<Process> processList = JSON.parseArray(process, Process.class);
//获取审批步骤 //获取审批步骤
List<Process> approveProcessList = StreamUtils.filter(processList, p -> StringUtils.equals(p.getStepType(), ProcessStepType.APPROVE.name())); List<Process> approveProcessList = StreamUtils.filter(processList, p -> StringUtils.equals(p.getStepType(), ProcessStepType.APPROVE.getType()));
//获取审批进度 //获取审批进度
List<ProcessProgress> progressList = baseMapper.selectList( List<ProcessProgress> progressList = baseMapper.selectList(
new LambdaQueryWrapper<>(ProcessProgress.class) new LambdaQueryWrapper<>(ProcessProgress.class)
...@@ -210,7 +210,7 @@ public class ProcessProgressServiceImpl extends AbstractBaseService<ProcessProgr ...@@ -210,7 +210,7 @@ public class ProcessProgressServiceImpl extends AbstractBaseService<ProcessProgr
} else { } else {
//获取审批配置 //获取审批配置
List<Process> processList = JSON.parseArray(process, Process.class); List<Process> processList = JSON.parseArray(process, Process.class);
List<Process> approveProcessList = StreamUtils.filter(processList, p -> StringUtils.equals(p.getStepType(), ProcessStepType.APPROVE.name())); List<Process> approveProcessList = StreamUtils.filter(processList, p -> StringUtils.equals(p.getStepType(), ProcessStepType.APPROVE.getType()));
return approveProcessList.stream().flatMap(p -> p.getOperatorList().stream()).collect(Collectors.toList()); return approveProcessList.stream().flatMap(p -> p.getOperatorList().stream()).collect(Collectors.toList());
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论