提交 f46d11a7 编写于 作者: xuhui961310148's avatar xuhui961310148

update:引擎同步执行调整

上级 6df239dc
...@@ -140,17 +140,10 @@ public class RuleEngineExService extends RuleEngineServiceImpl { ...@@ -140,17 +140,10 @@ public class RuleEngineExService extends RuleEngineServiceImpl {
@Override @Override
public RuleEngine syncRun(RuleEngine et) { public RuleEngine syncRun(RuleEngine et) {
log.info("引擎同步校验入参:" + JSON.toJSONString(et)); log.info("引擎同步校验入参:" + JSON.toJSONString(et));
if(!StringUtils.isEmpty(et.getEngineId())) { if (StringUtils.isEmpty(et.getEngineId()) || StringUtils.isEmpty(et.getDatakeys()))
if (StringUtils.isEmpty(et.get("datakeys"))){
return super.syncRun(et); return super.syncRun(et);
} String dataKeys = et.getDatakeys();
String dataKeys = et.get("datakeys").toString(); String ruleIds = et.getRuleids();
boolean flag = false;
String ruleIds = null;
if (!StringUtils.isEmpty(et.get("ruleids"))){
flag = true;
ruleIds = et.get("ruleids").toString();
}
CachedBeanCopier.copy(get(et.getEngineId()), et); CachedBeanCopier.copy(get(et.getEngineId()), et);
String batch = BaseEntityServiceImpl.Tag_Batch_SyncRun + "_" + new SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date())+"["+et.getModelName()+"]"; String batch = BaseEntityServiceImpl.Tag_Batch_SyncRun + "_" + new SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date())+"["+et.getModelName()+"]";
List<EntityObj> lists = JSON.parseArray(dataKeys,EntityObj.class); List<EntityObj> lists = JSON.parseArray(dataKeys,EntityObj.class);
...@@ -169,12 +162,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl { ...@@ -169,12 +162,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl {
ruExecLogService.create(execlog); ruExecLogService.create(execlog);
msg.setDatas(liteDataService.getModelObjs(msg.getModelId(),msg.getFillpropertys(),lists)); msg.setDatas(liteDataService.getModelObjs(msg.getModelId(),msg.getFillpropertys(),lists));
baseEntityService.processAll(msg); baseEntityService.processAll(msg);
if (flag){ List<String> ruleIdsList = msg.getRuleIds();
ArrayList<String> ruleIdsList = new ArrayList<>();
String[] array = ruleIds.split(";|,");
for (int i = 0; i < array.length; i++) {
ruleIdsList.add(array[i]);
}
ArrayList<String> dataKeysList = new ArrayList<>(); ArrayList<String> dataKeysList = new ArrayList<>();
for (EntityObj entityObj : lists) { for (EntityObj entityObj : lists) {
for (Map.Entry<String, Object> entries : entityObj.entrySet()){ for (Map.Entry<String, Object> entries : entityObj.entrySet()){
...@@ -184,12 +172,11 @@ public class RuleEngineExService extends RuleEngineServiceImpl { ...@@ -184,12 +172,11 @@ public class RuleEngineExService extends RuleEngineServiceImpl {
QueryWrapper<ExecResult> queryWrapper = new QueryWrapper<>(); QueryWrapper<ExecResult> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("systemid",et.getSystemId()).in("ruleid",ruleIdsList).in("keyvaluefield",dataKeysList); queryWrapper.eq("systemid",et.getSystemId()).in("ruleid",ruleIdsList).in("keyvaluefield",dataKeysList);
List<ExecResult> execResults = execResultExService.list(queryWrapper); List<ExecResult> execResults = execResultExService.list(queryWrapper);
et.set("result",execResults); et.setResult(JSON.toJSONString(execResults));
et.setDatakeys(dataKeys);
et.setRuleids(ruleIds);
return et; return et;
} }
}
return super.syncRun(et);
}
@Autowired @Autowired
protected IExecLogService ruExecLogService; protected IExecLogService ruExecLogService;
...@@ -267,6 +254,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl { ...@@ -267,6 +254,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl {
msg.setResultDataSource(resultDataSource); msg.setResultDataSource(resultDataSource);
msg.setResultTableName(resultTableName); msg.setResultTableName(resultTableName);
List<String> rules = new ArrayList<>(); List<String> rules = new ArrayList<>();
List<String> ruleIdList = new ArrayList<>();
DataModel dataModel=liteModelService.getDataModel(et.getModelId()); DataModel dataModel=liteModelService.getDataModel(et.getModelId());
HashSet<String> fillpropertys=new HashSet<>(); HashSet<String> fillpropertys=new HashSet<>();
Wrapper<RuleItem> wrappers = Wrappers.<RuleItem>lambdaQuery().eq(RuleItem::getModelId,et.getModelId()).ne(RuleItem::getGroup,"REP").like(RuleItem::getGroup,et.getGroup()); Wrapper<RuleItem> wrappers = Wrappers.<RuleItem>lambdaQuery().eq(RuleItem::getModelId,et.getModelId()).ne(RuleItem::getGroup,"REP").like(RuleItem::getGroup,et.getGroup());
...@@ -279,6 +267,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl { ...@@ -279,6 +267,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl {
wrappers = Wrappers.<RuleItem>lambdaQuery().in(RuleItem::getRuleId,collection); wrappers = Wrappers.<RuleItem>lambdaQuery().in(RuleItem::getRuleId,collection);
} }
ruleItemService.list(wrappers).forEach(ruleItem -> { ruleItemService.list(wrappers).forEach(ruleItem -> {
ruleIdList.add(ruleItem.getRuleId());
String path=rulePath + et.getGroup() + File.separator + ruleItem.getRuleId() + ".drl"; String path=rulePath + et.getGroup() + File.separator + ruleItem.getRuleId() + ".drl";
File file=new File(path); File file=new File(path);
if(!file.exists()) if(!file.exists())
...@@ -304,6 +293,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl { ...@@ -304,6 +293,7 @@ public class RuleEngineExService extends RuleEngineServiceImpl {
} }
}); });
msg.setRules(rules); msg.setRules(rules);
msg.setRuleIds(ruleIdList);
msg.setFillpropertys(fillpropertys); msg.setFillpropertys(fillpropertys);
return msg; return msg;
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册