Просмотр исходного кода

依据岗位数据过滤,流程取消缓存

wy 2 лет назад
Родитель
Сommit
696e809def

+ 21 - 25
ibps-bpmn-root/modules/bpmn-biz/src/main/java/com/lc/ibps/bpmn/service/impl/BpmTaskActionServiceImpl.java

@@ -172,13 +172,10 @@ public class BpmTaskActionServiceImpl implements BpmTaskActionService{
 				StopWatchUtil.stopAndStartNewLocal(localId, step, "getByTaskId");
 				task=natTaskService.getByTaskId(bpmTask.getTaskId());//TODO 性能略低
 			}
-			new Thread(() ->{
-				StopWatchUtil.stopAndStartNewLocal(localId, step, "publicDoNextEvent.prev");
-				AppUtil.publishEvent(getDoNextEvent(cmd, AopType.PREV));//TODO 性能很低
-			}).start();
-			//前置事件抛出 改异步
-			//StopWatchUtil.stopAndStartNewLocal(localId, step, "publicDoNextEvent.prev");
-			//AppUtil.publishEvent(getDoNextEvent(cmd, AopType.PREV));//TODO 性能很低
+
+			//前置事件抛出
+			StopWatchUtil.stopAndStartNewLocal(localId, step, "publicDoNextEvent.prev");
+			AppUtil.publishEvent(getDoNextEvent(cmd, AopType.PREV));//TODO 性能很低
 
 			//构造会话数据
 			StopWatchUtil.stopAndStartNewLocal(localId, step, "buildTaskActionPluginSession");
@@ -191,10 +188,8 @@ public class BpmTaskActionServiceImpl implements BpmTaskActionService{
 			ITaskActionHandlerDefine def = (ITaskActionHandlerDefine)taskActionHandlerConfig.getTaskActionHandlerDef(taskCmd.getActionName());
 			//执行和返回
 			StopWatchUtil.stopAndStartNewLocal(localId, step, "execute");
-			new Thread(() ->{
-				//boolean result =h handler.execute(taskActionPluginSession,def);
-				handler.execute(taskActionPluginSession,def);//TODO 性能很低
-			}).start();
+			boolean result = handler.execute(taskActionPluginSession,def);//TODO 性能很低
+
 			//后置事件抛出
 			StopWatchUtil.stopAndStartNewLocal(localId, step, "publicDoNextEvent.post");
 			AppUtil.publishEvent(getDoNextEvent(cmd, AopType.POST));
@@ -203,21 +198,22 @@ public class BpmTaskActionServiceImpl implements BpmTaskActionService{
 			StopWatchUtil.stopAndStartNewLocal(localId, step, "clearTaskByInstId");
 			BpmnContextUtil.clearTaskByInstId(taskCmd.getInstId());
 
-			//if(result) {
-			StopWatchUtil.stopAndStartNewLocal(localId, step, "updataTimes");
-			bpmCommonStatmentService.updateTimes(cmd.getApprovalOpinion(), cmd.getCurUser(), cmd.getActionName());
-			StopWatchUtil.stopAndStartNewLocal(localId, step, "getActionCmd.1");
-			ActionCmd finsActionCmd = BpmnContextUtil.getActionCmd(cmd.getInstId());
-			StopWatchUtil.stopAndStartNewLocal(localId, step, "getTransitVars.1");
-			Object rejectAfterExecutionId = finsActionCmd.getTransitVars("rejectAfterExecutionId");
-			if (rejectAfterExecutionId != null && StringUtil.isNotEmpty(rejectAfterExecutionId.toString())) {
-				// 调整Activiti的执行表数据
-				StopWatchUtil.stopAndStartNewLocal(localId, step, "multipleInstancesRejectAdjust");
-				BpmExecUtil.multipleInstancesRejectAdjust(rejectAfterExecutionId.toString());
+			if(result) {
+				StopWatchUtil.stopAndStartNewLocal(localId, step, "updataTimes");
+				bpmCommonStatmentService.updateTimes(cmd.getApprovalOpinion(),cmd.getCurUser(),cmd.getActionName());
+				StopWatchUtil.stopAndStartNewLocal(localId, step, "getActionCmd.1");
+				ActionCmd finsActionCmd = BpmnContextUtil.getActionCmd(cmd.getInstId());
+				StopWatchUtil.stopAndStartNewLocal(localId, step, "getTransitVars.1");
+				Object rejectAfterExecutionId = finsActionCmd.getTransitVars("rejectAfterExecutionId");
+				if (rejectAfterExecutionId != null && StringUtil.isNotEmpty(rejectAfterExecutionId.toString())) {
+					// 调整Activiti的执行表数据
+					StopWatchUtil.stopAndStartNewLocal(localId, step, "multipleInstancesRejectAdjust");
+					BpmExecUtil.multipleInstancesRejectAdjust(rejectAfterExecutionId.toString());
+				}
+				return true;
 			}
-			return true;
-			//	}
-			//throw new BaseException("任务办理失败");
+
+			throw new BaseException("任务办理失败");
 		}
 		catch (Exception e) {
 			Throwable t = e.getCause();//org.activiti.engine.ActivitiException

+ 2 - 21
ibps-component-root/modules/comp-querybuilder/src/main/java/com/lc/ibps/components/querybuilder/SqlQueryBuilderFactory.java

@@ -24,27 +24,7 @@ import com.lc.ibps.components.querybuilder.support.builder.SqlBuilder;
 import com.lc.ibps.components.querybuilder.support.filter.SqlInjectionAttackFilter;
 import com.lc.ibps.components.querybuilder.support.parser.AbstractSqlRuleParser;
 import com.lc.ibps.components.querybuilder.support.parser.IRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.BeginsWithRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.BetweenRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.ContainsRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.DefaultGroupParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.EndsWithRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.EqualRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.GreaterOrEqualRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.GreaterRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.INRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.IsEmptyRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.IsNotEmptyRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.IsNotNullRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.IsNullRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.LessOrEqualRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.LessRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.NotBeginsWithRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.NotBetweenRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.NotContainsRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.NotEndsWithRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.NotEqualRuleParser;
-import com.lc.ibps.components.querybuilder.support.parser.sql.NotInRuleParser;
+import com.lc.ibps.components.querybuilder.support.parser.sql.*;
 
 /**
  * SQL构建工厂。
@@ -96,6 +76,7 @@ public class SqlQueryBuilderFactory extends AbstractQueryBuilderFactory {
 		ruleParsers.add(new IsNotEmptyRuleParser());
 		ruleParsers.add(new IsNullRuleParser());
 		ruleParsers.add(new IsNotNullRuleParser());
+		ruleParsers.add(new FindInSetRuleParser());
 	}
 
 	/**

+ 2 - 1
ibps-component-root/modules/comp-querybuilder/src/main/java/com/lc/ibps/components/querybuilder/enums/EnumOperator.java

@@ -47,7 +47,8 @@ public enum EnumOperator {
     IS_EMPTY("is_empty"),
     IS_NOT_EMPTY("is_not_empty"),
     IS_NULL("is_null"),
-    IS_NOT_NULL("is_not_null");
+    IS_NOT_NULL("is_not_null"),
+    FIND_IN_SET("find_in_set");
 
 
     private final String value;

+ 5 - 1
ibps-component-root/modules/comp-querybuilder/src/main/java/com/lc/ibps/components/querybuilder/model/result/SqlQueryResult.java

@@ -105,7 +105,11 @@ public class SqlQueryResult extends AbstractResult {
         			}
         			value = str.toString();
         		}
-        		sql.replace(index, index + 1, value);
+				if(sql.indexOf("FIND_IN_SET")==0){
+
+				}else {
+					sql.replace(index, index + 1, value);
+				}
             }
             return sql.toString();
         } else {

+ 28 - 28
ibps-provider-root/modules/provider-bpmn/src/main/java/com/lc/ibps/bpmn/provider/BpmTaskProvider.java

@@ -2598,34 +2598,34 @@ public class BpmTaskProvider extends GenericProvider implements IBpmTaskService,
 	public APIResult<Void> agree(
 			@ApiParam(name = "agreeVo", value = "同意动作参数对象", required = true)
 			@RequestBody(required = true) BpmActionAgreeVo agreeVo) {
-		try {
-			//devncq 20220807
-			//Thread.currentThread().sleep(3000);
-			String str = RedisUtil.redisTemplateString.opsForValue().get("BpmTaskProvider:getFormData:"+agreeVo.getTaskId());
-			if(StringUtil.isNotEmpty(str)){
-
-				com.alibaba.fastjson.JSONObject dataObj1 = com.alibaba.fastjson.JSON.parseObject(str);
-				//com.alibaba.fastjson.JSONObject dataObj2 = (com.alibaba.fastjson.JSONObject)dataObj1.clone();
-				//String boDataStr = (String)dataObj1.get("boData");
-				//Map<String, Object> boData =  com.alibaba.fastjson.JSON.parseObject(boDataStr);
-				String dataStr =agreeVo.getData();
-				//Map<String, Object> data =  com.alibaba.fastjson.JSON.parseObject(dataStr);
-//				logger.error("AbstractTaskListener dataStr:"+dataStr);
-				//boData.putAll(data);
-				//boDataStr =  com.alibaba.fastjson.JSON.toJSONString(boData);
-				dataObj1.put("boData",dataStr);
-				String redisDataStr =  com.alibaba.fastjson.JSON.toJSONString(dataObj1);
-//				logger.error("AbstractTaskListener redisDataStr:"+redisDataStr);
-				if(StringUtil.isNotEmpty(redisDataStr)){
-					RedisUtil.redisTemplateString.opsForValue().set("BpmTaskProvider:getFormData:"+agreeVo.getTaskId(),redisDataStr,30, TimeUnit.DAYS);
-				}
-			}
-			//refreshFormData(saveVo.getTaskId(), null);
-		} catch (Exception e) {
-			logger.error("AbstractTaskListener异常:",e);
-		} finally {
-
-		}
+//		try {w
+//			//devncq 20220807
+//			//Thread.currentThread().sleep(3000);
+//			String str = RedisUtil.redisTemplateString.opsForValue().get("BpmTaskProvider:getFormData:"+agreeVo.getTaskId());w
+//			if(StringUtil.isNotEmpty(str)){w
+//
+//				com.alibaba.fastjson.JSONObject dataObj1 = com.alibaba.fastjson.JSON.parseObject(str);w
+//				//com.alibaba.fastjson.JSONObject dataObj2 = (com.alibaba.fastjson.JSONObject)dataObj1.clone();
+//				//String boDataStr = (String)dataObj1.get("boData");
+//				//Map<String, Object> boData =  com.alibaba.fastjson.JSON.parseObject(boDataStr);
+//				String dataStr =agreeVo.getData();w
+//				//Map<String, Object> data =  com.alibaba.fastjson.JSON.parseObject(dataStr);
+////				logger.error("AbstractTaskListener dataStr:"+dataStr);
+//				//boData.putAll(data);
+//				//boDataStr =  com.alibaba.fastjson.JSON.toJSONString(boData);
+//				dataObj1.put("boData",dataStr);w
+//				String redisDataStr =  com.alibaba.fastjson.JSON.toJSONString(dataObj1);w
+////				logger.error("AbstractTaskListener redisDataStr:"+redisDataStr);
+//				if(StringUtil.isNotEmpty(redisDataStr)){w
+//					RedisUtil.redisTemplateString.opsForValue().set("BpmTaskProvider:getFormData:"+agreeVo.getTaskId(),redisDataStr,30, TimeUnit.DAYS);w
+//				}w
+//			}w
+//			//refreshFormData(saveVo.getTaskId(), null);
+//		} catch (Exception e) {w
+//			logger.error("AbstractTaskListener异常:",e);w
+//		} finally {w
+//w
+//		} w
 		APIResult<Void> result = new APIResult<>();
 		IHandlerValidator<UniqueHandlerValidation> validator = null;
 		String localId = UniqueIdUtil.getId();