From a901f563c512e7adf97b32d7c8854d9b83d2047c Mon Sep 17 00:00:00 2001 From: tangfutang Date: Mon, 13 Apr 2020 20:51:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=B7=BB=E5=8A=A0=E9=A3=8E?= =?UTF-8?q?=E9=99=A9=E9=A2=84=E8=AD=A6=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alarm/DefaultScenarioContextLoader.java | 22 +++++++++++++++++++ .../action/ProductCheckItemGroup.java | 20 ++++++++++++++--- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/com/amarsoft/app/alarm/DefaultScenarioContextLoader.java b/src/com/amarsoft/app/alarm/DefaultScenarioContextLoader.java index 47f14a3f5..e71155b49 100644 --- a/src/com/amarsoft/app/alarm/DefaultScenarioContextLoader.java +++ b/src/com/amarsoft/app/alarm/DefaultScenarioContextLoader.java @@ -5,6 +5,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.StringTokenizer; +import java.util.concurrent.ConcurrentHashMap; import javax.script.Bindings; import javax.script.Invocable; @@ -155,6 +156,24 @@ public class DefaultScenarioContextLoader extends ScenarioContextLoader{ } } + public String getString( Object obj ) { + if ( obj == null ) { + return ""; + } + return obj.toString(); + } + + public Map convertMapToMapString( Map params ) { + if ( params == null || params.isEmpty() ) { + return null; + } + Map result = new ConcurrentHashMap(); + for ( java.util.Map.Entry p : params.entrySet() ) { + result.put( p.getKey(), getString( p.getValue() ) ); + } + return result; + } + /* * 根据产品的阶段和流程步骤视图处理类来处理加载检查项 */ @@ -175,6 +194,9 @@ public class DefaultScenarioContextLoader extends ScenarioContextLoader{ if(null!=flowModel.getAttribute("FlOWPAGECHECK")&&flowModel.getAttribute("FlOWPAGECHECK").getString().length()>0){ try { custCheckNode=flowModel.getAttribute("FlOWPAGECHECK").getString(); + Map flowParams = convertMapToMapString( cparam ); + flowParams.putAll( GetFlowAction.getFlowParamByFlowUnid( cparam.get( "ObjectNo" ).toString() ) ); + productGroup.setFlowFixedParam( flowParams ); ScriptEngineManager factory = new ScriptEngineManager(); //每次生成一个engine实例 ScriptEngine engine = factory.getEngineByName("groovy"); diff --git a/src_core/com/tenwa/flow/treeview/action/ProductCheckItemGroup.java b/src_core/com/tenwa/flow/treeview/action/ProductCheckItemGroup.java index 004de5749..58df7c232 100644 --- a/src_core/com/tenwa/flow/treeview/action/ProductCheckItemGroup.java +++ b/src_core/com/tenwa/flow/treeview/action/ProductCheckItemGroup.java @@ -2,9 +2,9 @@ package com.tenwa.flow.treeview.action; import java.util.ArrayList; import java.util.List; +import java.util.Map; import com.amarsoft.app.alarm.CheckItem; -import com.amarsoft.app.alarm.ItemGroup; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.BizObjectQuery; import com.amarsoft.are.jbo.JBOFactory; @@ -13,9 +13,15 @@ public class ProductCheckItemGroup { public List checkItemList = new ArrayList(); //模型列表 - + private Map flowFixedParam; - public void addProductCheckByCode(String codeno)throws Exception{ + public Map getFlowFixedParam() { + return flowFixedParam; + } + public void setFlowFixedParam(Map flowFixedParam) { + this.flowFixedParam = flowFixedParam; + } + public void addProductCheckByCode(String codeno)throws Exception{ String query = "Select \"O.*\" from O where "+ "O.Status=:Status and O.scenarioid='基础子表校验' and O.SUBTYPENO in('"+codeno+"')"; query += " order by SortNo asc"; @@ -63,6 +69,14 @@ public class ProductCheckItemGroup { checkItemList.add(checkItem[i]); } } + + public void addProductCheckByCondition( String condition, String modelId ) throws Exception { + String[] kv = condition.split( "=" ); + if ( this.flowFixedParam != null && kv[ 1 ].trim().equals( this.flowFixedParam.get( kv[ 0 ].trim() ) ) ) { + this.addProductCheckByModelId( modelId ); + } + } + public void addProductCheckByModelId(String codeno) throws Exception{ String query = "Select \"O.*\" from O where "+ "O.Status=:Status and O.scenarioid='基础子表校验' and O.MODELID in("+codeno+")";