diff --git a/lab-common/src/main/java/org/springblade/common/constant/LauncherConstant.java.r1252 b/lab-common/src/main/java/org/springblade/common/constant/LauncherConstant.java.r1252 deleted file mode 100644 index e937cc2..0000000 --- a/lab-common/src/main/java/org/springblade/common/constant/LauncherConstant.java.r1252 +++ /dev/null @@ -1,254 +0,0 @@ - -package org.springblade.common.constant; - -import org.springblade.core.launch.constant.AppConstant; - -import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX; - -/** - * 启动常量 - * - * @author Chill - */ -public interface LauncherConstant { - - /** - * 郵件服務 - */ - String APPLICATION_EMAIL_NAME = APPLICATION_NAME_PREFIX + "email"; - - - String APPLICATION_FLOW_NAME = APPLICATION_NAME_PREFIX + "workflow"; - - /** - * 资产 - */ - String APPLICATION_CAPITAL_NAME = APPLICATION_NAME_PREFIX + "capital"; - - /** - * lims - */ - String APPLICATION_LIMS_NAME = APPLICATION_NAME_PREFIX + "lims"; - - /** - * office - */ - String APPLICATION_OFFICE_NAME = APPLICATION_NAME_PREFIX + "office"; - /** - * repair - */ - String APPLICATION_REPAIR_NAME = APPLICATION_NAME_PREFIX + "repair"; - - /** - * monitor - */ - String APPLICATION_MONITOR_NAME = APPLICATION_NAME_PREFIX + "monitor"; - - /** - * iot - */ - String APPLICATION_IOT_NAME = APPLICATION_NAME_PREFIX + "iot"; - /** - * xxljob - */ - String APPLICATION_XXLJOB_NAME = APPLICATION_NAME_PREFIX + "xxljob"; - - /** - * xxljob - */ - String APPLICATION_XXLJOB_ADMIN_NAME = APPLICATION_NAME_PREFIX + "xxljob-admin"; - - /** - * nacos dev 地址 - */ - String NACOS_DEV_ADDR = "172.29.14.103:8848"; - //String NACOS_DEV_ADDR = "127.0.0.1:8848"; - - //String NACOS_DEV_ADDR = "172.29.14.103:8848"; - - /** - * nacos prod 地址 - */ - String NACOS_PROD_ADDR = "172.30.0.48:8848"; - - /** - * nacos test 地址 - */ - String NACOS_TEST_ADDR = "192.168.1.88:8848"; - - /** - * sentinel dev 地址 - */ - String SENTINEL_DEV_ADDR = "127.0.0.1:8848"; - - /** - * sentinel prod 地址 - */ - String SENTINEL_PROD_ADDR = "172.30.0.58:8858"; - - /** - * sentinel test 地址 - */ - String SENTINEL_TEST_ADDR = "172.30.0.58:8858"; - - /** - * seata dev 地址 - */ - String SEATA_DEV_ADDR = "127.0.0.1:8091"; - - /** - * seata prod 地址 - */ - String SEATA_PROD_ADDR = "172.30.0.68:8091"; - - /** - * seata test 地址 - */ - String SEATA_TEST_ADDR = "172.30.0.68:8091"; - - /** - * zipkin dev 地址 - */ - String ZIPKIN_DEV_ADDR = "http://127.0.0.1:9411"; - - /** - * zipkin prod 地址 - */ - String ZIPKIN_PROD_ADDR = "http://172.30.0.71:9411"; - - /** - * zipkin test 地址 - */ - String ZIPKIN_TEST_ADDR = "http://172.30.0.71:9411"; - - /** - * elk dev 地址 - */ - String ELK_DEV_ADDR = "127.0.0.1:9000"; - - /** - * elk prod 地址 - */ - String ELK_PROD_ADDR = "172.30.0.72:9000"; - - /** - * elk test 地址 - */ - String ELK_TEST_ADDR = "172.30.0.72:9000"; - - /** - * seata file模式 - */ - String FILE_MODE = "file"; - - /** - * seata nacos模式 - */ - String NACOS_MODE = "nacos"; - - /** - * seata default模式 - */ - String DEFAULT_MODE = "default"; - - /** - * seata group后缀 - */ - String GROUP_NAME = "-group"; - - /** - * seata 服务组格式 - * - * @param appName 服务名 - * @return group - */ - static String seataServiceGroup(String appName) { - return appName.concat(GROUP_NAME); - } - - /** - * 动态获取nacos地址 - * - * @param profile 环境变量 - * @return addr - */ - static String nacosAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return NACOS_PROD_ADDR; - case (AppConstant.TEST_CODE): - return NACOS_TEST_ADDR; - default: - return NACOS_DEV_ADDR; - } - } - - /** - * 动态获取sentinel地址 - * - * @param profile 环境变量 - * @return addr - */ - static String sentinelAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return SENTINEL_PROD_ADDR; - case (AppConstant.TEST_CODE): - return SENTINEL_TEST_ADDR; - default: - return SENTINEL_DEV_ADDR; - } - } - - /** - * 动态获取seata地址 - * - * @param profile 环境变量 - * @return addr - */ - static String seataAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return SEATA_PROD_ADDR; - case (AppConstant.TEST_CODE): - return SEATA_TEST_ADDR; - default: - return SEATA_DEV_ADDR; - } - } - - /** - * 动态获取zipkin地址 - * - * @param profile 环境变量 - * @return addr - */ - static String zipkinAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return ZIPKIN_PROD_ADDR; - case (AppConstant.TEST_CODE): - return ZIPKIN_TEST_ADDR; - default: - return ZIPKIN_DEV_ADDR; - } - } - - /** - * 动态获取elk地址 - * - * @param profile 环境变量 - * @return addr - */ - static String elkAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return ELK_PROD_ADDR; - case (AppConstant.TEST_CODE): - return ELK_TEST_ADDR; - default: - return ELK_DEV_ADDR; - } - } - -} diff --git a/lab-common/src/main/java/org/springblade/common/constant/LauncherConstant.java.r1253 b/lab-common/src/main/java/org/springblade/common/constant/LauncherConstant.java.r1253 deleted file mode 100644 index 3a4739d..0000000 --- a/lab-common/src/main/java/org/springblade/common/constant/LauncherConstant.java.r1253 +++ /dev/null @@ -1,254 +0,0 @@ - -package org.springblade.common.constant; - -import org.springblade.core.launch.constant.AppConstant; - -import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX; - -/** - * 启动常量 - * - * @author Chill - */ -public interface LauncherConstant { - - /** - * 郵件服務 - */ - String APPLICATION_EMAIL_NAME = APPLICATION_NAME_PREFIX + "email"; - - - String APPLICATION_FLOW_NAME = APPLICATION_NAME_PREFIX + "workflow"; - - /** - * 资产 - */ - String APPLICATION_CAPITAL_NAME = APPLICATION_NAME_PREFIX + "capital"; - - /** - * lims - */ - String APPLICATION_LIMS_NAME = APPLICATION_NAME_PREFIX + "lims"; - - /** - * office - */ - String APPLICATION_OFFICE_NAME = APPLICATION_NAME_PREFIX + "office"; - /** - * repair - */ - String APPLICATION_REPAIR_NAME = APPLICATION_NAME_PREFIX + "repair"; - - /** - * monitor - */ - String APPLICATION_MONITOR_NAME = APPLICATION_NAME_PREFIX + "monitor"; - - /** - * iot - */ - String APPLICATION_IOT_NAME = APPLICATION_NAME_PREFIX + "iot"; - /** - * xxljob - */ - String APPLICATION_XXLJOB_NAME = APPLICATION_NAME_PREFIX + "xxljob"; - - /** - * xxljob - */ - String APPLICATION_XXLJOB_ADMIN_NAME = APPLICATION_NAME_PREFIX + "xxljob-admin"; - - /** - * nacos dev 地址 - */ - //String NACOS_DEV_ADDR = "172.29.14.103:8848"; - String NACOS_DEV_ADDR = "127.0.0.1:8848"; - - //String NACOS_DEV_ADDR = "172.29.14.103:8848"; - - /** - * nacos prod 地址 - */ - String NACOS_PROD_ADDR = "172.30.0.48:8848"; - - /** - * nacos test 地址 - */ - String NACOS_TEST_ADDR = "192.168.1.88:8848"; - - /** - * sentinel dev 地址 - */ - String SENTINEL_DEV_ADDR = "127.0.0.1:8848"; - - /** - * sentinel prod 地址 - */ - String SENTINEL_PROD_ADDR = "172.30.0.58:8858"; - - /** - * sentinel test 地址 - */ - String SENTINEL_TEST_ADDR = "172.30.0.58:8858"; - - /** - * seata dev 地址 - */ - String SEATA_DEV_ADDR = "127.0.0.1:8091"; - - /** - * seata prod 地址 - */ - String SEATA_PROD_ADDR = "172.30.0.68:8091"; - - /** - * seata test 地址 - */ - String SEATA_TEST_ADDR = "172.30.0.68:8091"; - - /** - * zipkin dev 地址 - */ - String ZIPKIN_DEV_ADDR = "http://127.0.0.1:9411"; - - /** - * zipkin prod 地址 - */ - String ZIPKIN_PROD_ADDR = "http://172.30.0.71:9411"; - - /** - * zipkin test 地址 - */ - String ZIPKIN_TEST_ADDR = "http://172.30.0.71:9411"; - - /** - * elk dev 地址 - */ - String ELK_DEV_ADDR = "127.0.0.1:9000"; - - /** - * elk prod 地址 - */ - String ELK_PROD_ADDR = "172.30.0.72:9000"; - - /** - * elk test 地址 - */ - String ELK_TEST_ADDR = "172.30.0.72:9000"; - - /** - * seata file模式 - */ - String FILE_MODE = "file"; - - /** - * seata nacos模式 - */ - String NACOS_MODE = "nacos"; - - /** - * seata default模式 - */ - String DEFAULT_MODE = "default"; - - /** - * seata group后缀 - */ - String GROUP_NAME = "-group"; - - /** - * seata 服务组格式 - * - * @param appName 服务名 - * @return group - */ - static String seataServiceGroup(String appName) { - return appName.concat(GROUP_NAME); - } - - /** - * 动态获取nacos地址 - * - * @param profile 环境变量 - * @return addr - */ - static String nacosAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return NACOS_PROD_ADDR; - case (AppConstant.TEST_CODE): - return NACOS_TEST_ADDR; - default: - return NACOS_DEV_ADDR; - } - } - - /** - * 动态获取sentinel地址 - * - * @param profile 环境变量 - * @return addr - */ - static String sentinelAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return SENTINEL_PROD_ADDR; - case (AppConstant.TEST_CODE): - return SENTINEL_TEST_ADDR; - default: - return SENTINEL_DEV_ADDR; - } - } - - /** - * 动态获取seata地址 - * - * @param profile 环境变量 - * @return addr - */ - static String seataAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return SEATA_PROD_ADDR; - case (AppConstant.TEST_CODE): - return SEATA_TEST_ADDR; - default: - return SEATA_DEV_ADDR; - } - } - - /** - * 动态获取zipkin地址 - * - * @param profile 环境变量 - * @return addr - */ - static String zipkinAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return ZIPKIN_PROD_ADDR; - case (AppConstant.TEST_CODE): - return ZIPKIN_TEST_ADDR; - default: - return ZIPKIN_DEV_ADDR; - } - } - - /** - * 动态获取elk地址 - * - * @param profile 环境变量 - * @return addr - */ - static String elkAddr(String profile) { - switch (profile) { - case (AppConstant.PROD_CODE): - return ELK_PROD_ADDR; - case (AppConstant.TEST_CODE): - return ELK_TEST_ADDR; - default: - return ELK_DEV_ADDR; - } - } - -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/controller/HomePageController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/controller/HomePageController.java index 7a8485e..4134750 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/controller/HomePageController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/controller/HomePageController.java @@ -6,9 +6,11 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.plugin.homepage.service.IHomePageService; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -41,20 +43,25 @@ public class HomePageController extends BladeController { @ApiOperationSupport(order = 1) @ApiOperation(value = "我的相关", notes = "首页的“到期提醒”、“我的待办”、“今日新增”、“今日完成”的统计") public R aboutMy() throws Exception{ + //当前获取登录人deptid + String deptId = AuthUtil.getDeptId(); + String taskUser = WfTaskUtil.getTaskUser(); + String taskGroup = WfTaskUtil.getCandidateGroup(); + String tenantId = WfTaskUtil.getTenantId(); -// Future expireNum = homePageService.expireNum(); -// Future needDoNum = homePageService.needDoNum(); -// Future todayAddNum = homePageService.todayAddNum(); -// Future todayFinishNum = homePageService.todayFinishNum(); -// -// JSONObject result = new JSONObject(); -// result.put("needDoNum", needDoNum.get()); -// result.put("expireNum", expireNum.get()); -// result.put("todayAddNum" , todayAddNum.get()); -// result.put("todayFinishNum", todayFinishNum.get()); -// -// return R.data(result); - return homePageService.aboutMy(); + Future expireNum = homePageService.expireNum(taskUser,taskGroup,deptId,tenantId); + Future needDoNum = homePageService.needDoNum(taskUser,taskGroup,deptId,tenantId); + Future todayAddNum = homePageService.todayAddNum(deptId,tenantId); + Future todayFinishNum = homePageService.todayFinishNum(deptId,tenantId); + + JSONObject result = new JSONObject(); + result.put("needDoNum", needDoNum.get()); + result.put("expireNum", expireNum.get()); + result.put("todayAddNum" , todayAddNum.get()); + result.put("todayFinishNum", todayFinishNum.get()); + + return R.data(result); +// return homePageService.aboutMy(); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/IHomePageService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/IHomePageService.java index 71c3884..ef486e7 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/IHomePageService.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/IHomePageService.java @@ -22,11 +22,11 @@ public interface IHomePageService { R flowTakeTime(); - Future expireNum(); + Future expireNum(String taskUser,String taskGroup,String deptId,String tenantId); - Future needDoNum(); + Future needDoNum(String taskUser,String taskGroup,String deptId,String tenantId); - Future todayAddNum(); + Future todayAddNum(String deptId,String tenantId); - Future todayFinishNum(); + Future todayFinishNum(String deptId,String tenantId); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java index 14bd69b..89f26ad 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java @@ -152,25 +152,18 @@ public class HomePageServiceImpl implements IHomePageService { @Async @Override - public Future expireNum(){ - String taskUser = WfTaskUtil.getTaskUser(); - String taskGroup = WfTaskUtil.getCandidateGroup(); - //当前获取登录人deptid - String deptId = AuthUtil.getDeptId(); + public Future expireNum(String taskUser,String taskGroup,String deptId,String tenantId){ List nowUserDepts = Func.toLongList(deptId); - //我的待办 TaskQuery taskQuery = taskService.createTaskQuery() .orderByTaskCreateTime() .desc() - .taskTenantId(WfTaskUtil.getTenantId()) - .taskCandidateOrAssigned(taskUser) - .taskCandidateGroupIn(Func.toStrList(taskGroup)) + .taskTenantId(tenantId) .active(); -// taskQuery.taskCandidateOrAssigned(taskUser) -// .taskCandidateGroupIn(Func.toStrList(taskGroup)) -// ; + taskQuery.taskCandidateOrAssigned(taskUser) + .taskCandidateGroupIn(Func.toStrList(taskGroup)) + ; List listNeedDo = taskQuery.list(); @@ -195,23 +188,17 @@ public class HomePageServiceImpl implements IHomePageService { @Async @Override - public Future needDoNum(){ - String taskUser = WfTaskUtil.getTaskUser(); - String taskGroup = WfTaskUtil.getCandidateGroup(); - //当前获取登录人deptid - String deptId = AuthUtil.getDeptId(); + public Future needDoNum(String taskUser,String taskGroup,String deptId,String tenantId){ List nowUserDepts = Func.toLongList(deptId); //1.我的待办 TaskQuery taskQuery = taskService.createTaskQuery() .orderByTaskCreateTime() .desc() - .taskTenantId(WfTaskUtil.getTenantId()) - .taskCandidateOrAssigned(taskUser) - .taskCandidateGroupIn(Func.toStrList(taskGroup)) + .taskTenantId(tenantId) .active(); -// taskQuery.taskCandidateOrAssigned(taskUser) -// .taskCandidateGroupIn(Func.toStrList(taskGroup)) + taskQuery.taskCandidateOrAssigned(taskUser) + .taskCandidateGroupIn(Func.toStrList(taskGroup)) ; List listNeedDo = taskQuery.list(); @@ -220,16 +207,14 @@ public class HomePageServiceImpl implements IHomePageService { @Async @Override - public Future todayAddNum(){ + public Future todayAddNum(String deptId,String tenantId){ - //当前获取登录人deptid - String deptId = AuthUtil.getDeptId(); List nowUserDepts = Func.toLongList(deptId); //3.与我相关的新增 //3.1.获取今日新增的流程 HistoricProcessInstanceQuery thisDayStartProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() - .processInstanceTenantId(WfTaskUtil.getTenantId()) + .processInstanceTenantId(tenantId) .startedAfter(DateUtil.toDate(LocalDate.now())); @@ -256,16 +241,13 @@ public class HomePageServiceImpl implements IHomePageService { @Async @Override - public Future todayFinishNum(){ - - //当前获取登录人deptid - String deptId = AuthUtil.getDeptId(); + public Future todayFinishNum(String deptId,String tenantId){ List nowUserDepts = Func.toLongList(deptId); //4.与我相关的今日完成 //4.1 获取今日完成的流程 HistoricProcessInstanceQuery thisDayEndProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() - .processInstanceTenantId(WfTaskUtil.getTenantId()) + .processInstanceTenantId(tenantId) .finishedAfter(DateUtil.toDate(LocalDate.now())); //4.2 遍历流程,得到流程发起人,只要流程发起人的dept在当前用户所属的dept列表中,就计算一次 int todayFinishNum = 0; diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/cache/FlowCache.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/cache/FlowCache.java index 128e703..255a762 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/cache/FlowCache.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/cache/FlowCache.java @@ -1,19 +1,14 @@ package org.springblade.plugin.workbench.cache; -import org.springblade.common.constant.CommonConstant; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.SpringUtil; -import org.springblade.plugin.workbench.entity.BladeManMade; import org.springblade.plugin.workbench.feign.IFlowClient; -import org.springblade.system.entity.Menu; -import org.springblade.system.feign.ISysClient; import java.util.List; import java.util.Map; import static org.springblade.core.cache.constant.CacheConstant.FLOW_CACHE; -import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; /** * @Description 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 new file mode 100644 index 0000000..f988ec5 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/AutoStartProcessController.java @@ -0,0 +1,42 @@ +package org.springblade.plugin.workbench.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +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.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description 自动启动的工作流的原型信息 + * @Author ytl + * @Date 2023/2/22 0022 13:06 + */ + +@NonDS +@RestController +@AllArgsConstructor +@RequestMapping("/autoProcess") +@Api(value = "自动启动的工作流的原型信息", tags = "自动启动的工作流的原型信息") +public class AutoStartProcessController extends BladeController { + +// /** +// * 分页 +// */ +// @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); +// } + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/WorkBenchController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/WorkBenchController.java index c3689be..1595252 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/WorkBenchController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/controller/WorkBenchController.java @@ -7,8 +7,7 @@ import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; -import org.springblade.plugin.workbench.entity.BladeManMade; -import org.springblade.plugin.workbench.service.IBladeManMadeService; +import org.springblade.plugin.workbench.service.IAutoStartModelService; import org.springblade.plugin.workbench.service.IWorkBenchService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -30,7 +29,7 @@ import java.util.Map; @Api(value = "工作台", tags = "工作台") public class WorkBenchController extends BladeController { private final IWorkBenchService workBenchService; - private final IBladeManMadeService bladeManMadeService; + private final IAutoStartModelService bladeManMadeService; @GetMapping("/repeat") @ApiOperationSupport(order = 1) diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/BladeManMade.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/AutoStartModel.java similarity index 57% rename from lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/BladeManMade.java rename to lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/AutoStartModel.java index 103b818..2aa4ff5 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/BladeManMade.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/AutoStartModel.java @@ -13,13 +13,29 @@ import org.springblade.core.tool.utils.DateUtil; */ @Data -@TableName("blade_flow_man_made") +@TableName("blade_flow_autostart_model") @EqualsAndHashCode(callSuper = true) -public class BladeManMade extends TenantEntity { +public class AutoStartModel extends TenantEntity { private static final long serialVersionUID = 1L; private String procInstId; - private Long processSeconds; + + private Long applyUser; + + //发起人角色名 + private String applyRole; + + private Long maintenanceCompany; + + private Long management; + + private Long taskParent; + + private Long taskType; + + private Long taskLevel; + + private Long repeatMode; } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/mapper/BladeManMadeMapper.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/mapper/BladeManMadeMapper.java index ed6cc60..66a31e3 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/mapper/BladeManMadeMapper.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/mapper/BladeManMadeMapper.java @@ -1,12 +1,12 @@ package org.springblade.plugin.workbench.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.springblade.plugin.workbench.entity.BladeManMade; +import org.springblade.plugin.workbench.entity.AutoStartModel; /** * @Description * @Author ytl * @Date 2023/2/20 0020 15:23 */ -public interface BladeManMadeMapper extends BaseMapper { +public interface BladeManMadeMapper extends BaseMapper { } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IBladeManMadeService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IAutoStartModelService.java similarity index 67% rename from lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IBladeManMadeService.java rename to lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IAutoStartModelService.java index e9ba281..ef9bf62 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IBladeManMadeService.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/IAutoStartModelService.java @@ -1,7 +1,7 @@ package org.springblade.plugin.workbench.service; import com.baomidou.mybatisplus.extension.service.IService; -import org.springblade.plugin.workbench.entity.BladeManMade; +import org.springblade.plugin.workbench.entity.AutoStartModel; import java.util.List; import java.util.Map; @@ -11,6 +11,6 @@ import java.util.Map; * @Author ytl * @Date 2023/2/20 0020 15:36 */ -public interface IBladeManMadeService extends IService { +public interface IAutoStartModelService extends IService { List> bladeManMadeVariabList(); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/BladeManMadeServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java similarity index 73% rename from lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/BladeManMadeServiceImpl.java rename to lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java index 6ff7661..859a0f3 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/BladeManMadeServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java @@ -5,9 +5,9 @@ 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.plugin.workbench.entity.BladeManMade; +import org.springblade.plugin.workbench.entity.AutoStartModel; import org.springblade.plugin.workbench.mapper.BladeManMadeMapper; -import org.springblade.plugin.workbench.service.IBladeManMadeService; +import org.springblade.plugin.workbench.service.IAutoStartModelService; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -22,16 +22,16 @@ import java.util.Map; */ @Service @AllArgsConstructor -public class BladeManMadeServiceImpl extends BaseServiceImpl implements IBladeManMadeService { +public class AutoStartModelServiceImpl extends BaseServiceImpl implements IAutoStartModelService { private final HistoryService historyService; @Override public List> bladeManMadeVariabList() { - List bladeManMades = baseMapper.selectList(Wrappers.lambdaQuery()); + List autoStartModels = baseMapper.selectList(Wrappers.lambdaQuery()); List> maps = new ArrayList<>(); - if(bladeManMades.size() > 0){ - bladeManMades.forEach(bl ->{ + if(autoStartModels.size() > 0){ + autoStartModels.forEach(bl ->{ List variableList = historyService.createHistoricVariableInstanceQuery().processInstanceId(bl.getProcInstId()).list(); Map variable = new HashMap<>(); variableList.forEach(va ->{ diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/WorkBenchServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/WorkBenchServiceImpl.java index c405e51..7921871 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/WorkBenchServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/WorkBenchServiceImpl.java @@ -9,9 +9,9 @@ import org.flowable.variable.api.history.HistoricVariableInstance; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.SpringUtil; -import org.springblade.plugin.workbench.entity.BladeManMade; +import org.springblade.plugin.workbench.entity.AutoStartModel; import org.springblade.plugin.workbench.enumutil.RepeatTypeEnum; -import org.springblade.plugin.workbench.service.IBladeManMadeService; +import org.springblade.plugin.workbench.service.IAutoStartModelService; import org.springblade.plugin.workbench.service.IWorkBenchService; import org.springblade.plugin.workbench.util.RepeatOperation; import org.springblade.system.cache.DictBizCache; @@ -35,7 +35,7 @@ public class WorkBenchServiceImpl implements IWorkBenchService { private final RuntimeService runtimeService; - private final IBladeManMadeService bladeManMadeService; + private final IAutoStartModelService bladeManMadeService; private final HistoryService historyService; @@ -103,11 +103,11 @@ public class WorkBenchServiceImpl implements IWorkBenchService { @Override public void getTaskToRepeat(){ - List list = bladeManMadeService.list(); + List list = bladeManMadeService.list(); Map>> maps = new HashMap<>(); if(list.size() > 0){ - for(BladeManMade bl : list){ + for(AutoStartModel bl : list){ //历史流程变量 Map processVariables = new HashMap<>(); List list1 = historyService.createHistoricVariableInstanceQuery().processInstanceId(bl.getProcInstId()).list(); 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 ed0669e..e39e1bb 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 @@ -3,7 +3,6 @@ package org.springblade.plugin.workflow.process.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Sets; import lombok.AllArgsConstructor; @@ -41,8 +40,8 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; import org.springblade.plugin.workbench.cache.FlowCache; -import org.springblade.plugin.workbench.entity.BladeManMade; -import org.springblade.plugin.workbench.service.IBladeManMadeService; +import org.springblade.plugin.workbench.entity.AutoStartModel; +import org.springblade.plugin.workbench.service.IAutoStartModelService; import org.springblade.plugin.workflow.core.constant.WfExtendConstant; import org.springblade.plugin.workflow.core.utils.ObjectUtil; import org.springblade.plugin.workflow.core.utils.WfModelUtil; @@ -93,7 +92,7 @@ public class WfProcessService implements IWfProcessService { private final IUserSearchClient userSearchService; - private final IBladeManMadeService bladeManMadeService; + private final IAutoStartModelService autoStartModelService; private final RedisTemplate redisTemplate; @@ -198,13 +197,22 @@ public class WfProcessService implements IWfProcessService { ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, definition.getKey(), variables); //将新增的流程实例id保存到blade_flow_man_made - BladeManMade bladeManMade = new BladeManMade(); - bladeManMade.setProcInstId(processInstance.getId()); + AutoStartModel autoStartModel = new AutoStartModel(); + autoStartModel.setProcInstId(processInstance.getId()); Date startTime = processInstance.getStartTime(); Date qiwangwanchengshijian = DateUtil.parse(variables.get("qiwangwanchengshijian").toString(), "yyyy-MM-dd HH:mm:ss"); Duration between = DateUtil.between(startTime, qiwangwanchengshijian); - bladeManMade.setProcessSeconds(between.getSeconds()); - bladeManMadeService.save(bladeManMade); + autoStartModel.setProcessSeconds(between.getSeconds()); + autoStartModel.setApplyUser(Long.valueOf(variables.get("applyUser").toString())); + autoStartModel.setApplyRole(variables.get("createRole").toString()); + autoStartModel.setMaintenanceCompany(Long.valueOf(variables.get("yunweigongsi").toString())); + autoStartModel.setManagement(Long.valueOf(variables.get("guanlibumen").toString())); + autoStartModel.setTaskParent(Long.valueOf(variables.get("renwufulei").toString())); + autoStartModel.setTaskType(Long.valueOf(variables.get("renwuzhonglei").toString())); + autoStartModel.setTaskLevel(Long.valueOf(variables.get("renwudengji").toString())); + autoStartModel.setRepeatMode(Long.valueOf(variables.get("chongfumoshi").toString())); + + autoStartModelService.save(autoStartModel); FlowCache.clearBladeManMadeCache(); return handleProcessInstance(processInstance, variables); } @@ -213,7 +221,7 @@ public class WfProcessService implements IWfProcessService { //判断该类型的流程是否已经发起过,false:有重复的,true:没重复 private boolean isNewProcess(Map variables){ - variables.remove("qiwangwanchengshijian"); + boolean b = false; List> processInstanceVariable = FlowCache.getProcessInstanceVariable(); for(Map hi : processInstanceVariable){ @@ -234,6 +242,9 @@ public class WfProcessService implements IWfProcessService { Iterator> iterator = entries.iterator(); while(iterator.hasNext()){ Map.Entry next = iterator.next(); + if(StringUtils.equals(next.getKey(),"qiwangwanchengshijian")){ + continue; + } if(!Func.equals(next.getValue(),map2.get(next.getKey()))){ return true; }