提交 b49a9f53 编写于 作者: chenxiang@lab.ibiz5.com's avatar chenxiang@lab.ibiz5.com

添加LogicNodeModel

上级 b4644091
......@@ -19,11 +19,9 @@ public class LogicModel extends BaseModel {
private boolean hasStartWF = false;
private List<String> ruleGlobalParams = new ArrayList<>();
public List<String> getRuleGlobalParams() {
return ruleGlobalParams;
}
private List<LogicNodeModel> logicNodeModels = new ArrayList<>();
public LogicModel(EntityModel entityModel, IPSDELogic iPSDELogic) {
public LogicModel(EntityModel entityModel, IPSDELogic iPSDELogic) {
this.opt = iPSDELogic;
this.entity = entityModel;
this.setCodeName(iPSDELogic.getCodeName());
......@@ -48,6 +46,8 @@ public class LogicModel extends BaseModel {
if (!CollectionUtils.isEmpty(iPSDELogic.getPSDELogicNodes())) {
Map<String, String> map = new HashMap<>();
for (IPSDELogicNode iPSDELogicNode : iPSDELogic.getPSDELogicNodes()) {
LogicNodeModel logicNodeModel = new LogicNodeModel(this,iPSDELogicNode);
logicNodeModels.add(logicNodeModel);
if (iPSDELogicNode.getLogicNodeType().equals("STARTWF")) {
hasStartWF = true;
}
......@@ -60,7 +60,7 @@ public class LogicModel extends BaseModel {
dstPSDataEntity.getPSSystemModule().getCodeName().toLowerCase(),
dstPSDataEntity.getCodeName()
);
ruleGlobalParams.add(String.format("global %s %s;", strDataType, String.format("%sservice;",dstPSDataEntity.getCodeName().toLowerCase())));
ruleGlobalParams.add(String.format("global %s %s;", strDataType, String.format("%sservice",dstPSDataEntity.getCodeName().toLowerCase())));
map.put(dstPSDataEntity.getName(), dstPSDataEntity.getName());
}
} catch (Exception e) {
......@@ -78,7 +78,7 @@ public class LogicModel extends BaseModel {
entityModel.getDataEntity().getPSSystemModule().getCodeName().toLowerCase(),
entityModel.getDataEntity().getCodeName()
);
ruleGlobalParams.add(String.format("global %s %s;", strDataType, String.format("iBzSys%sDefaultService;",entityModel.getCodeName())));
ruleGlobalParams.add(String.format("global %s %s;", strDataType, String.format("iBzSys%sDefaultService",entityModel.getCodeName())));
}
ruleGlobalParams.add(String.format("global %s %s;", "cn.ibizlab.util.security.AuthenticationUser", "curuser"));
}
......@@ -87,4 +87,11 @@ public class LogicModel extends BaseModel {
return (IPSDELogic) opt;
}
public List<String> getRuleGlobalParams() {
return ruleGlobalParams;
}
public List<LogicNodeModel> getLogicNodeModels() {
return logicNodeModels;
}
}
package cn.ibizlab.codegen.model;
import net.ibizsys.model.dataentity.logic.IPSDELogicNode;
import java.util.ArrayList;
import java.util.List;
public class LogicNodeModel extends BaseModel {
private LogicModel logicModel;
private List<String> ruleGlobalParams = new ArrayList<>();
public LogicNodeModel(LogicModel logicModel, IPSDELogicNode iPSDELogicNode) {
this.opt = iPSDELogicNode;
this.logicModel = logicModel;
this.setCodeName(iPSDELogicNode.getCodeName());
this.setName(iPSDELogicNode.getName());
this.setId(String.format("%1$s-%2$s", logicModel.getCodeName(), iPSDELogicNode.getCodeName()));
}
public String getLogicNodeType(){
return this.getPSDELogicNode().getLogicNodeType();
}
public LogicModel getLogicModel() {
return logicModel;
}
public IPSDELogicNode getPSDELogicNode() {
return (IPSDELogicNode) opt;
}
}
{{#if (eq deLogicNode.dstPSDEAction.codeName 'Get')}}
cn.ibizlab.util.helper.CachedBeanCopier.copy({{lowerCase deLogicNode.dstPSDataEntity.codeName}}service.get({{lowerCase deLogicNode.dstPSDELogicParam.codeName}}.get{{deLogicNode.dstPSDataEntity.keyPSDEField.codeName}}()),{{lowerCase deLogicNode.dstPSDELogicParam.codeName}});
{{#if (eq logicNodeModel.pSDELogicNode.dstPSDEAction.codeName 'Get')}}
cn.ibizlab.util.helper.CachedBeanCopier.copy({{lowerCase logicNodeModel.pSDELogicNode.dstPSDataEntity.codeName}}service.get({{lowerCase logicNodeModel.pSDELogicNode.dstPSDELogicParam.codeName}}.get{{logicNodeModel.pSDELogicNode.dstPSDataEntity.keyPSDEField.codeName}}()),{{lowerCase logicNodeModel.pSDELogicNode.dstPSDELogicParam.codeName}});
{{else}}
{{#if (eq deLogicNode.dstPSDEAction.codeName 'Remove')}}
{{lowerCase deLogicNode.dstPSDataEntity.codeName}}service.remove({{lowerCase deLogicNode.dstPSDELogicParam.codeName}}.get{{deLogicNode.dstPSDataEntity.keyPSDEField.codeName}}());
{{#if (eq logicNodeModel.pSDELogicNode.dstPSDEAction.codeName 'Remove')}}
{{lowerCase logicNodeModel.pSDELogicNode.dstPSDataEntity.codeName}}service.remove({{lowerCase logicNodeModel.pSDELogicNode.dstPSDELogicParam.codeName}}.get{{logicNodeModel.pSDELogicNode.dstPSDataEntity.keyPSDEField.codeName}}());
{{else}}
{{lowerCase deLogicNode.dstPSDataEntity.codeName}}service.{{camelCase deLogicNode.dstPSDEAction.codeName}}({{lowerCase deLogicNode.dstPSDELogicParam.codeName}});
{{lowerCase logicNodeModel.pSDELogicNode.dstPSDataEntity.codeName}}service.{{camelCase logicNodeModel.pSDELogicNode.dstPSDEAction.codeName}}({{lowerCase logicNodeModel.pSDELogicNode.dstPSDELogicParam.codeName}});
{{/if}}
{{/if}}
{{#each deLogicNode.pSDELogicNodeParams as |nodeParam|}}
{{#each logicNodeModel.pSDELogicNode.pSDELogicNodeParams as |nodeParam|}}
{{#if (eq nodeParam.srcValueType "SRCVALUE")}}{{lowerCase nodeParam.dstPSDELogicParam.codeName}}.set("{{lowerCase nodeParam.dstFieldName}}","{{nodeParam.srcValue}}");{{/if}}
{{#if (eq nodeParam.srcValueType "SRCDLPARAM")}}{{lowerCase nodeParam.dstPSDELogicParam.codeName}}.set("{{lowerCase nodeParam.dstFieldName}}",{{lowerCase nodeParam.srcPSDELogicParam.codeName}}.get("{{lowerCase nodeParam.srcFieldName}}"));{{/if}}
{{#if (eq nodeParam.srcValueType "CURTIME")}}{{lowerCase nodeParam.dstPSDELogicParam.codeName}}.set("{{lowerCase nodeParam.dstFieldName}}",(new java.sql.Timestamp(new java.util.Date().getTime()))));{{/if}}
......
......@@ -9,18 +9,18 @@ import cn.ibizlab.util.errors.BadRequestAlertException;
{{ruleGlobalParam}}
{{/each}}
{{#each entityLogic.pSDELogicNodes as |deLogicNode|}}
{{#each entityLogic.logicNodeModels as |logicNodeModel|}}
//逻辑处理节点[{{deLogicNode.name}}]
rule "{{lowerCase deLogicNode.codeName}}"
ruleflow-group "{{lowerCase deLogicNode.codeName}}"
//逻辑处理节点[{{logicNodeModel.name}}]
rule "{{lowerCase logicNodeModel.codeName}}"
ruleflow-group "{{lowerCase logicNodeModel.codeName}}"
when
then
{{#eq deLogicNode.logicNodeType "PREPAREPARAM"}}{{> @macro/logic/drl/PrepareParam.hbs deLogicNode=deLogicNode}}{{/eq}}
{{#eq deLogicNode.logicNodeType "DEACTION"}}{{> @macro/logic/drl/DEAction.hbs deLogicNode=deLogicNode}}{{/eq}}
{{#eq deLogicNode.logicNodeType "RAWSQLCALL"}}{{> @macro/logic/drl/RawSQLCall.hbs deLogicNode=deLogicNode}}{{/eq}}
{{#eq deLogicNode.logicNodeType "RAWSQLANDLOOPCALL"}}{{> @macro/logic/drl/RawSQLAndLoopCall.hbs deLogicNode=deLogicNode}}{{/eq}}
{{#eq deLogicNode.logicNodeType "STARTWF"}}{{> @macro/logic/drl/StartWF.hbs deLogicNode=deLogicNode}}{{/eq}}
{{#eq logicNodeModel.logicNodeType "PREPAREPARAM"}}{{> @macro/logic/drl/PrepareParam.hbs logicNodeModel=logicNodeModel}}{{/eq}}
{{#eq logicNodeModel.logicNodeType "DEACTION"}}{{> @macro/logic/drl/DEAction.hbs logicNodeModel=logicNodeModel}}{{/eq}}
{{#eq logicNodeModel.logicNodeType "RAWSQLCALL"}}{{> @macro/logic/drl/RawSQLCall.hbs logicNodeModel=logicNodeModel}}{{/eq}}
{{#eq logicNodeModel.logicNodeType "RAWSQLANDLOOPCALL"}}{{> @macro/logic/drl/RawSQLAndLoopCall.hbs logicNodeModel=logicNodeModel}}{{/eq}}
{{#eq logicNodeModel.logicNodeType "STARTWF"}}{{> @macro/logic/drl/StartWF.hbs logicNodeModel=logicNodeModel}}{{/eq}}
{{#each entityLogic.pSDELogicParams as |logicParam|}}
update({{lowerCase logicParam.codeName}});//更新fact中变量值
{{/each}}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册