From b5372b1120dc6e81b49b75113282a6b233bfdef1 Mon Sep 17 00:00:00 2001 From: zhal <15900249928@163.com> Date: Thu, 1 Sep 2022 15:23:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com.actionsoft.apps.coe.pal.publisher.jar | Bin 213492 -> 213220 bytes .../PublishExecuteListenerInterfaceImpl.java | 351 ++++++------------ 2 files changed, 121 insertions(+), 230 deletions(-) diff --git a/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar b/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar index 47a129c4567d8789e0c3cb59b48080997585f11e..9570bd9271ebe6e0dbf6ae3bd456794e1299e574 100644 GIT binary patch delta 14906 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 methodAttrsMap = new HashMap<>();// 属性存储 @@ -560,7 +555,7 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme //查询对应绩效模型中数据模型进行填充数据 BaseModel defineModel = CoeDesignerAPIManager.getInstance().getDefinition(id, 0); - CoeProcessLevelWeb coeProcessLevelWeb=new CoeProcessLevelWeb(uc); + CoeProcessLevelWeb coeProcessLevelWeb = new CoeProcessLevelWeb(uc); String define = defineModel.getDefinition(); JSONObject definition = JSONObject.parseObject(define); @@ -568,6 +563,13 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme coeProcessLevelWeb.handleShapeDefaultAttr(wsId, parentModel, elements, methodAttrsMap); + //获取当前MP绩效最新排序数值 + BO performanceNumberBO = SDK.getBOAPI().query("BO_EU_PERFORMANCE_NUMBER").addQuery("PERFORMANCE_TYPE=", "control.kpi").addQuery("PROCESS_NUMBER=", processNumber).detail(); + //去掉 /P05V1.0- + String before = processNumber.substring(0, processNumber.indexOf("/")); + String after = processNumber.substring(processNumber.indexOf("-"), processNumber.length()); + + int currentnumber = 0; //拿去流程数据填充绩效模型中数据属性 for (String key : elements.keySet()) { JSONObject shape1 = elements.getJSONObject(key); @@ -577,25 +579,119 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme String shapeText = shape1.getString("text"); JSONArray dataAttributes = shape1.getJSONArray("dataAttributes"); if (!dataAttributes.isEmpty() && dataAttributes.size() > 0) { + + if (performanceNumberBO != null) { + currentnumber = Integer.valueOf(performanceNumberBO.getString("CURRENTNUMBER")); + } else { + BO performanceBo = new BO(); + performanceBo.set("PROCESS_NUMBER", processNumber); + performanceBo.set("CURRENTNUMBER", 1); + performanceBo.set("PERFORMANCE_TYPE", "control.kpi"); + SDK.getBOAPI().create("BO_EU_PERFORMANCE_NUMBER", performanceBo, performNumberProcess.getId(), ""); + currentnumber = 1; + } + currentnumber++; + for (Object attribute : dataAttributes) { JSONObject obj = (JSONObject) attribute; if (obj.containsKey("attributesJsonArray")) { JSONArray attributesJsonArray = obj.getJSONArray("attributesJsonArray"); - for (int i = 0; i < attributesJsonArray.size(); i++) { - if (attributesJsonArray.getJSONObject(i).containsKey("id")) { - String getid=attributesJsonArray.getJSONObject(i).getString("id"); - if(getid.equals("Number_of_the_associated_flow_file")){ - attributesJsonArray.getJSONObject(i).put("value", processNumber); + BO recordBO = new BO(); + if (attributesJsonArray.size() > 0) { + for (int i = 0; i < attributesJsonArray.size(); i++) { + if (attributesJsonArray.getJSONObject(i).containsKey("id")) { + String getid = attributesJsonArray.getJSONObject(i).getString("id"); + String value = attributesJsonArray.getJSONObject(i).getString("value"); + + //回填流程编号到绩效模型 + if (getid.equals("Number_of_the_associated_flow_file")) { + attributesJsonArray.getJSONObject(i).put("value", processNumber); + } + + + //插入绩效指标库操作 + if (getid.equals("Process_Architecture_L1")) {//L1 + recordBO.set("PROCESS_ARCHITECTURE_L1", value); + } + if (getid.equals("Process_Architecture_L2")) {//L2 + recordBO.set("PROCESS_ARCHITECTURE_L2", value); + } + if (getid.equals("Process_Architecture_L3")) {//L3 + recordBO.set("PROCESS_ARCHITECTURE_L3", value); + } + if (getid.equals("Number_of_the_associated_flow_file")) {//关联流程文件编号 + recordBO.set("NUMBER_OF_THE_ASSO_FLOW_FILE", value); + } + if (getid.equals("Associated_process_name")) {//关联流程名称 + recordBO.set("ASSOCIATED_PROCESS_NAME", value); + } + if (getid.equals("Associated_process_name")) {//流程绩效指标名称 + recordBO.set("PERFORMANCE_INDICATOR_NAME", value); + } + + if (getid.equals("Index_properties")) {//指标性质 + recordBO.set("INDEX_PROPERTIES", value); + } + if (getid.equals("ndicator_User_defined_label")) {//指标自定义标签 + recordBO.set("NDICATOR_USER_DEFINED_LABEL", value); + } + if (getid.equals("Index_definition")) {//指标定义 + recordBO.set("INDEX_DEFINITION", value); + } + if (getid.equals("unit_measurement")) {//计量单位 + recordBO.set("UNIT_MEASUREMENT", value); + } + if (getid.equals("statistical_period")) {//统计周期 + recordBO.set("STATISTICAL_PERIOD", value); + } + + if (getid.equals("computational_formula")) {//计算公式 + recordBO.set("COMPUTATIONAL_FORMULA", value); + } + if (getid.equals("Data_fetch_logic")) {//数据取数逻辑 + recordBO.set("DATA_FETCH_LOGIC", value); + } + if (getid.equals("Take_the_number_aperture")) {//取数口径 + recordBO.set("TAKE_THE_NUMBER_APERTURE", value); + } + if (getid.equals("remark")) {//备注 + recordBO.set("REMARK", value); + } + if (getid.equals("oa_process")) {//OA流程 + recordBO.set("OA_PROCESS", value); + } + + if (getid.equals("element")) {//元素 + JSONObject getvalue = attributesJsonArray.getJSONObject(i).getJSONObject("value"); + if (getvalue != null) { + JSONArray elejsonArray = attributesJsonArray.getJSONObject(i).getJSONObject("value").getJSONArray("table"); + for (int k = 1; k < elejsonArray.size(); k++) { + String name = elejsonArray.getJSONObject(k).get("name").toString(); + String desc = elejsonArray.getJSONObject(k).get("desc").toString(); + BO eleBO = new BO(); + eleBO.set("ELEMENT", name); + eleBO.set("DATASOURCES", desc); + SDK.getBOAPI().create("BO_EU_ELEMENT", eleBO, processInst.getId(), ""); + } + } + + } + + //回填绩效编号操作 + if (getid.equals("Process_performance_indicator_Number")) { + attributesJsonArray.getJSONObject(i).put("value", "MA" + before + after + currentnumber); + } } - } + SDK.getBOAPI().create("BO_EU_PER_IND_LIB", recordBO, processInst.getId(), ""); } - } } } } + performanceNumberBO.set("CURRENTNUMBER", currentnumber); + SDK.getBOAPI().update("BO_EU_PERFORMANCE_NUMBER", performanceNumberBO); defineModel.setDefinition(definition.toString()); // 保存文件 @@ -610,210 +706,5 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme } - /** - * 发布流程结束查询关联绩效模型数据,插入绩效指标库中 - * @return - */ - public void insertPerformanceIndicatorLibrary(String publishFileId,UserContext uc,String wsId,String processNumber){ - - //获取关联绩效模型数据 - try { - List performanceList=new ArrayList(); - performanceList.add(0,"control.kpi"); - performanceList.add(1,publishFileId); - - RowMap performrowMap=DBSql.getMap("SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE EXT2=?",performanceList.toString()); - - - - if(performrowMap!=null ){ - - String id = performrowMap.getString("ID"); - - PALRepositoryModel parentModel = PALRepositoryCache.getCache().get(id); - - - Map> methodAttrsMap = new HashMap<>();// 属性存储 - - Map methodValueAttrsMap = new HashMap<>();// 属性存储 - - //查询对应绩效模型中数据模型进行填充数据 - BaseModel defineModel = CoeDesignerAPIManager.getInstance().getDefinition(id, 0); - - CoeProcessLevelWeb coeProcessLevelWeb=new CoeProcessLevelWeb(uc); - - String define = defineModel.getDefinition(); - JSONObject definition = JSONObject.parseObject(define); - JSONObject elements = definition.getJSONObject("elements"); - - - - ProcessInstance processInst=SDK.getProcessAPI().createBOProcessInstance("obj_1ffbc1e73b99427ca64469e466f97dbe", uc.getUID(), "指标绩效数据插入"); - - //拿去流程数据填充绩效模型中数据属性 - for (String key : elements.keySet()) { - JSONObject shape1 = elements.getJSONObject(key); - if ("linker".equals(shape1.getString("name"))) { - continue; - } - String shapeText = shape1.getString("text"); - JSONArray dataAttributes = shape1.getJSONArray("dataAttributes"); - if (!dataAttributes.isEmpty() && dataAttributes.size() > 0) { - for (Object attribute : dataAttributes) { - JSONObject obj = (JSONObject) attribute; - if (obj.containsKey("attributesJsonArray")) { - JSONArray attributesJsonArray = obj.getJSONArray("attributesJsonArray"); - BO recordBO=new BO(); - - for (int i = 0; i < attributesJsonArray.size(); i++) { - if (attributesJsonArray.getJSONObject(i).containsKey("id")) { - - String getid=attributesJsonArray.getJSONObject(i).getString("id"); - String value=attributesJsonArray.getJSONObject(i).getString("value"); - if(getid.equals("Process_Architecture_L1")){//L1 - recordBO.set("PROCESS_ARCHITECTURE_L1",value); - } - if(getid.equals("Process_Architecture_L2")){//L2 - recordBO.set("PROCESS_ARCHITECTURE_L2",value); - } - if(getid.equals("Process_Architecture_L3")){//L3 - recordBO.set("PROCESS_ARCHITECTURE_L3",value); - } - if(getid.equals("Number_of_the_associated_flow_file")){//关联流程文件编号 - recordBO.set("NUMBER_OF_THE_ASSO_FLOW_FILE",value); - } - if(getid.equals("Associated_process_name")){//关联流程名称 - recordBO.set("ASSOCIATED_PROCESS_NAME",value); - } - if(getid.equals("Associated_process_name")){//流程绩效指标名称 - recordBO.set("PERFORMANCE_INDICATOR_NAME",value); - } - - if(getid.equals("Index_properties")){//指标性质 - recordBO.set("INDEX_PROPERTIES",value); - } - if(getid.equals("ndicator_User_defined_label")){//指标自定义标签 - recordBO.set("NDICATOR_USER_DEFINED_LABEL",value); - } - if(getid.equals("Index_definition")){//指标定义 - recordBO.set("INDEX_DEFINITION",value); - } - if(getid.equals("unit_measurement")){//计量单位 - recordBO.set("UNIT_MEASUREMENT",value); - } - if(getid.equals("statistical_period")){//统计周期 - recordBO.set("STATISTICAL_PERIOD",value); - } - - if(getid.equals("computational_formula")){//计算公式 - recordBO.set("COMPUTATIONAL_FORMULA",value); - } - if(getid.equals("Data_fetch_logic")){//数据取数逻辑 - recordBO.set("DATA_FETCH_LOGIC",value); - } - if(getid.equals("Take_the_number_aperture")){//取数口径 - recordBO.set("TAKE_THE_NUMBER_APERTURE",value); - } - if(getid.equals("remark")){//备注 - recordBO.set("REMARK",value); - } - if(getid.equals("oa_process")){//OA流程 - recordBO.set("OA_PROCESS",value); - } - - if(getid.equals("element")){//元素 - - JSONObject getvalue = attributesJsonArray.getJSONObject(i).getJSONObject("value"); - if(getvalue!=null){ - JSONArray elejsonArray = attributesJsonArray.getJSONObject(i).getJSONObject("value").getJSONArray("table"); - for(int k=1;k