diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/AutoStartProcessController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/AutoStartProcessController.java index f988ec5..b2f8e0b 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/AutoStartProcessController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/AutoStartProcessController.java @@ -10,9 +10,11 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; -import org.springblade.system.entity.AuthClient; +import org.springblade.plugin.workbench.entity.AutoStartModel; +import org.springblade.plugin.workbench.service.IAutoStartModelService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -27,16 +29,25 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/autoProcess") @Api(value = "自动启动的工作流的原型信息", tags = "自动启动的工作流的原型信息") public class AutoStartProcessController extends BladeController { + private final IAutoStartModelService autoStartModelService; -// /** -// * 分页 -// */ -// @GetMapping("/list") -// @ApiOperationSupport(order = 1) -// @ApiOperation(value = "分页", notes = "传入autoStartModel") -// public R> list(AuthClient authClient, Query query) { -// IPage pages = clientService.page(Condition.getPage(query), Condition.getQueryWrapper(authClient)); -// return R.data(pages); -// } + /** + * 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "分页", notes = "传入autoStartModel") + public R> list(AutoStartModel model, Query query) { + IPage page = autoStartModelService.page(Condition.getPage(query), Condition.getQueryWrapper(model)); + return R.data(page); + } + + @GetMapping("/detail") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "详情", notes = "详情") + public R detail(@RequestParam String id){ + + return null; + } } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IAutoStartModelService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IAutoStartModelService.java index ef9bf62..d8bc23b 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IAutoStartModelService.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IAutoStartModelService.java @@ -1,6 +1,7 @@ package org.springblade.plugin.workbench.service; import com.baomidou.mybatisplus.extension.service.IService; +import org.springblade.core.tool.api.R; import org.springblade.plugin.workbench.entity.AutoStartModel; import java.util.List; @@ -13,4 +14,6 @@ import java.util.Map; */ public interface IAutoStartModelService extends IService { List> bladeManMadeVariabList(); + + R getOne(String id); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java index 859a0f3..654bc46 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java @@ -1,10 +1,12 @@ package org.springblade.plugin.workbench.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; import org.flowable.engine.HistoryService; import org.flowable.variable.api.history.HistoricVariableInstance; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; import org.springblade.plugin.workbench.entity.AutoStartModel; import org.springblade.plugin.workbench.mapper.BladeManMadeMapper; import org.springblade.plugin.workbench.service.IAutoStartModelService; @@ -44,4 +46,16 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(AutoStartModel::getId, id); + AutoStartModel autoStartModel = baseMapper.selectOne(queryWrapper); + + return R.data(autoStartModel); + } + + + } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/vo/AutoStartModelVO.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/vo/AutoStartModelVO.java new file mode 100644 index 0000000..f01c21a --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/vo/AutoStartModelVO.java @@ -0,0 +1,18 @@ +package org.springblade.plugin.workbench.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @Description + * @Author ytl + * @Date 2023/2/22 0022 15:23 + */ +@Data +@ApiModel(value = "WfCopyVO对象", description = "流程抄送") +public class AutoStartModelVO implements Serializable { + private static final long serialVersionUID = 1L; +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java index e39e1bb..509b2f9 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java @@ -179,14 +179,17 @@ public class WfProcessService implements IWfProcessService { //判断该手动发起任务是否已经发起过,或者时不重复任务 if(StringUtils.equals(variables.get("$chongfumoshi").toString(),"不重复")){ + System.out.println("发起不重复任务-----"); // 启动流程 identityService.setAuthenticatedUserId(userId); ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, definition.getKey(), variables); return handleProcessInstance(processInstance, variables); }else if(this.isNewProcess(variables) && Func.isEmpty(variables.get("forcestart"))){ + System.out.println("提醒是否要手动发起重复任务-----"); return "类似任务已经发起过,是否要强制发起"; }else{ + System.out.println("手动发起任务-------1"); //如果是技术员发起的一般任务,直接指定assignee = 公司 if(Func.equals(createRoleName, WfProcessConstant.COMMENT_ROLE_NAME) && Func.equals(variables.get("$renwudengji"), WfProcessConstant.COMMENT_TASK_LEVEL)){ variables.put("assignee",variables.get("yunweigongsi")); @@ -196,6 +199,7 @@ public class WfProcessService implements IWfProcessService { ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, definition.getKey(), variables); + System.out.println("手动发起任务-------2"); //将新增的流程实例id保存到blade_flow_man_made AutoStartModel autoStartModel = new AutoStartModel(); autoStartModel.setProcInstId(processInstance.getId()); @@ -211,7 +215,7 @@ public class WfProcessService implements IWfProcessService { autoStartModel.setTaskType(Long.valueOf(variables.get("renwuzhonglei").toString())); autoStartModel.setTaskLevel(Long.valueOf(variables.get("renwudengji").toString())); autoStartModel.setRepeatMode(Long.valueOf(variables.get("chongfumoshi").toString())); - + System.out.println("手动发起任务-------3"); autoStartModelService.save(autoStartModel); FlowCache.clearBladeManMadeCache(); return handleProcessInstance(processInstance, variables); @@ -223,14 +227,21 @@ public class WfProcessService implements IWfProcessService { private boolean isNewProcess(Map variables){ boolean b = false; + if(autoStartModelService.list().size() ==0){ + b = false; + return b; + } List> processInstanceVariable = FlowCache.getProcessInstanceVariable(); - for(Map hi : processInstanceVariable){ - boolean noEqual = this.isNoEqual(variables, hi); - if(noEqual){//有不相等的,直接下一次循环判断 - continue; - }else{//没有不相等的,说明有重复的,结束循环,返回b=true - b = true; - break; + System.out.println(processInstanceVariable.size() + "-----------------------------"); + if (processInstanceVariable.size() > 0) { + for(Map hi : processInstanceVariable){ + boolean noEqual = this.isNoEqual(variables, hi); + if(noEqual){//有不相等的,直接下一次循环判断 + continue; + }else{//没有不相等的,说明有重复的,结束循环,返回b=true + b = true; + break; + } } }