From 43e6298d09d3239fac121686de24e369c3af9df2 Mon Sep 17 00:00:00 2001 From: lihongyu <504404568@qq.com> Date: Fri, 30 Dec 2022 23:23:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9C=8B=E6=9D=BF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yili/reportform/job/SyncData_job.java | 2 +- .../reportform/service/DataViewService.java | 4 +- .../reportform/service/ProcessPubService.java | 779 +++++++++--------- 3 files changed, 409 insertions(+), 376 deletions(-) diff --git a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SyncData_job.java b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SyncData_job.java index fca0d798..86a2ffcf 100644 --- a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SyncData_job.java +++ b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SyncData_job.java @@ -42,7 +42,7 @@ public class SyncData_job implements IJob { //同步节点数据到 BO_EU_PAL_FILENODE5 public void syncNodeData() { DBSql.update("DELETE FROM BO_EU_NODESYN_EXCEPTION"); - DBSql.update("DELETE FROM BO_EU_PAL_FILENODE5"); + //DBSql.update("DELETE FROM BO_EU_PAL_FILENODE5"); HashMap dataMap = new HashMap<>(); ArrayList fromNodeDataIDMaps = new ArrayList<>(); ArrayList> oldNodeDataMaps = new ArrayList<>(); diff --git a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java index a1a06662..7d4ad3cb 100644 --- a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java +++ b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java @@ -225,7 +225,7 @@ public class DataViewService extends ActionWeb { // if (nodeRowMap.getString("ROLE").equals(positionID) || // nodeRowMap.getString("POST").equals(positionID)) { List nodeRowMaps = DBSql.getMaps( - "SELECT NODEID,NODENAME,NODETYPE,PLID,PLNAME,ACTIVITYNUMBER,ACTIVITYDESC,ROLE,ROLENAME,POST,POSTNAME FROM BO_EU_PAL_FILENODE6 WHERE POST LIKE '%" + "SELECT NODEID,NODENAME,NODETYPE,PLID,PLNAME,ACTIVITYNUMBER,ACTIVITYDESC,ROLE,ROLENAME,POST,POSTNAME FROM BO_EU_PAL_FILENODE5 WHERE POST LIKE '%" + positionName + "%'"); for (RowMap nodeRowMap : nodeRowMaps) { String plId = nodeRowMap.getString("PLID"); @@ -594,7 +594,7 @@ public class DataViewService extends ActionWeb { String POSITION_NAME = UserContext.fromUID(uid).getUserModel().getPositionName(); if (UtilString.isNotEmpty(POSITION_NAME)) { List nodeRowMaps = DBSql.getMaps( - "SELECT NODEID,NODENAME,NODETYPE,PLID,PLNAME,ACTIVITYNUMBER,ACTIVITYDESC,ROLE,ROLENAME,POST,POSTNAME FROM BO_EU_PAL_FILENODE6 WHERE POST LIKE '%" + "SELECT NODEID,NODENAME,NODETYPE,PLID,PLNAME,ACTIVITYNUMBER,ACTIVITYDESC,ROLE,ROLENAME,POST,POSTNAME FROM BO_EU_PAL_FILENODE5 WHERE POST LIKE '%" + POSITION_NAME + "%'"); for (RowMap nodeRowMap : nodeRowMaps) { String PLID = nodeRowMap.getString("PLID"); diff --git a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/ProcessPubService.java b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/ProcessPubService.java index d1102777..8eea922e 100644 --- a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/ProcessPubService.java +++ b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/ProcessPubService.java @@ -1,5 +1,14 @@ package com.awspaas.user.apps.yili.reportform.service; +import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.stream.Collectors; + +import com.actionsoft.bpms.bo.engine.BO; import com.actionsoft.bpms.commons.database.RowMap; import com.actionsoft.bpms.commons.mvc.view.ActionWeb; import com.actionsoft.bpms.commons.mvc.view.ResponseObject; @@ -7,24 +16,12 @@ import com.actionsoft.bpms.org.model.UserModel; import com.actionsoft.bpms.server.RequestParams; import com.actionsoft.bpms.server.UserContext; import com.actionsoft.bpms.util.DBSql; +import com.actionsoft.bpms.util.UtilString; import com.actionsoft.sdk.local.SDK; import com.awspaas.user.apps.yili.reportform.util.GetNodesUtil; import com.awspaas.user.apps.yili.reportform.util.TreeUtil; -import org.json.JSONException; -import org.json.JSONObject; -import java.sql.Connection; -import java.sql.Timestamp; -import java.text.NumberFormat; -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; - -import static java.util.stream.Collectors.collectingAndThen; -import static java.util.stream.Collectors.toCollection; +import net.sf.json.JSONObject; /** @@ -35,7 +32,8 @@ import static java.util.stream.Collectors.toCollection; public class ProcessPubService extends ActionWeb { - UserContext _uc; + private static final String Map = null; + UserContext _uc; public ProcessPubService(UserContext uc) { super(uc); @@ -1338,6 +1336,7 @@ public class ProcessPubService extends ActionWeb { * @date: 2022/7/15 15:56 */ public String nodeAnalysisTerms(UserContext uc, RequestParams params) { + long start = System.currentTimeMillis(); ResponseObject ro = ResponseObject.newOkResponse(); //所属单位 List deptMaps = DBSql.getMaps("SELECT ID,PARENTDEPARTMENTID,DEPARTMENTNAME,LAYER,ORDERINDEX FROM ORGDEPARTMENT" @@ -1389,6 +1388,8 @@ public class ProcessPubService extends ActionWeb { List fieldTreeNodes = TreeUtil.buildTree("1",fieldNodes, "process", null, null, null); ro.put("deptTreeNodes", deptTreeNodes); ro.put("fieldTreeNodes", fieldTreeNodes); + long end = System.currentTimeMillis(); + System.out.println("======加载筛选框用时=====>"+(end-start)/1000); return ro.toString(); } @@ -1408,111 +1409,126 @@ public class ProcessPubService extends ActionWeb { ArrayList fieldList = new ArrayList<>(); NumberFormat numberformat = NumberFormat.getInstance(); numberformat.setMaximumFractionDigits(2); - List nodeRowMaps = DBSql.getMaps("SELECT BN.NODEID,BN.NODETYPE,BF.FILEID,BF.PLPARENTID,BF.PUBDEPT FROM BO_EU_PAL_FILENODE5 BN LEFT JOIN BO_EU_PAL_FILE1 BF ON BN.PLID=BF.FILEID WHERE BF.FILESTATE='1' AND BF.PLMETHODID='process.epc'"); + List nodeRowMaps = DBSql.getMaps("SELECT BN.NODEID,BN.NODETYPE,BF.FILEID,BF.PLPARENTID,BF.PUBDEPT FROM BO_EU_PAL_FILENODE5 BN LEFT JOIN BO_EU_PAL_FILE1 BF ON BN.PLID=BF.FILEID WHERE BF.FILESTATE='1' AND BF.PLMETHODID in ('process.epc','process.flowchart')"); ArrayList nodeHandleMaps = new ArrayList<>(); - if (null!=unit && !unit.equals("")) { - if("all".equals(unit)) { - for (RowMap fileRowMap : nodeRowMaps) { - nodeHandleMaps.add(fileRowMap); - } - }else { - nodeHandleMaps = new ArrayList<>(); - deptIDList = new ArrayList(); - deptIDList = GetNodesUtil.getChildDept(unit, deptIDList); - for (String deptID : deptIDList) { - for (RowMap fileMap : nodeRowMaps) { - if (fileMap.getString("PUBDEPT").contains(deptID)) { - nodeHandleMaps.add(fileMap); - } + + if(UtilString.isNotEmpty(unit)||UtilString.isNotEmpty(field)) { + if (null!=unit && !unit.equals("")) { + if("all".equals(unit)) { + for (RowMap fileRowMap : nodeRowMaps) { + nodeHandleMaps.add(fileRowMap); } - } - - } - nodeRowMaps = nodeHandleMaps; - } - if (null!=field && !field.equals("")) { - if("all".equals(field)) { - for (RowMap fileRowMap : nodeRowMaps) { - nodeHandleMaps.add(fileRowMap); - } - }else { - nodeHandleMaps = new ArrayList<>(); - fieldList = new ArrayList(); - fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); - for (Map fieldMap : fieldList) { - String fieldID = String.valueOf(fieldMap.get("FRAMEID")); - for (RowMap fileMap : nodeRowMaps) { - if (fileMap.getString("PLPARENTID").equals(fieldID)) { - nodeHandleMaps.add(fileMap); - } - } - } - } - nodeRowMaps = nodeHandleMaps; - } - - - - Integer nodeTotalNum = 0; - Integer approvalNodeNum = 0; - Integer operationNodeNum = 0; - Integer onlineNodeNum = 0; - Integer itsysNodeNum = 0; - String approvalRrationate = "0"; - String operationRate = "0"; - String onlineRate = "0"; - String itsysRate = "0"; - if (null!=nodeRowMaps && !nodeRowMaps.isEmpty()) { - nodeTotalNum = nodeRowMaps.size(); - approvalNodeNum = 0; - operationNodeNum = 0; - onlineNodeNum = 0; - itsysNodeNum = 0; - for (RowMap nodeRowMap : nodeRowMaps) { - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { - approvalNodeNum += 1; - } - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3") || nodeRowMap.getString("NODETYPE").equals("method_service_node4")) { - operationNodeNum += 1; - } - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { - onlineNodeNum += 1; - } - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3")) { - itsysNodeNum += 1; - } + }else { + nodeHandleMaps = new ArrayList<>(); + deptIDList = new ArrayList(); + deptIDList = GetNodesUtil.getChildDept(unit, deptIDList); + for (String deptID : deptIDList) { + for (RowMap fileMap : nodeRowMaps) { + if (fileMap.getString("PUBDEPT").contains(deptID)) { + nodeHandleMaps.add(fileMap); + } + } + } + + } + nodeRowMaps = nodeHandleMaps; } + if (null!=field && !field.equals("")) { + if("all".equals(field)) { + for (RowMap fileRowMap : nodeRowMaps) { + nodeHandleMaps.add(fileRowMap); + } + }else { + nodeHandleMaps = new ArrayList<>(); + fieldList = new ArrayList(); + fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); + for (Map fieldMap : fieldList) { + String fieldID = String.valueOf(fieldMap.get("FRAMEID")); + for (RowMap fileMap : nodeRowMaps) { + if (fileMap.getString("PLPARENTID").equals(fieldID)) { + nodeHandleMaps.add(fileMap); + } + } + } + } + nodeRowMaps = nodeHandleMaps; + } + + + + Integer nodeTotalNum = 0; + Integer approvalNodeNum = 0; + Integer operationNodeNum = 0; + Integer onlineNodeNum = 0; + Integer itsysNodeNum = 0; + String approvalRrationate = "0"; + String operationRate = "0"; + String onlineRate = "0"; + String itsysRate = "0"; + if (null!=nodeRowMaps && !nodeRowMaps.isEmpty()) { + nodeTotalNum = nodeRowMaps.size(); + approvalNodeNum = 0; + operationNodeNum = 0; + onlineNodeNum = 0; + itsysNodeNum = 0; + for (RowMap nodeRowMap : nodeRowMaps) { + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { + approvalNodeNum += 1; + } + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3") || nodeRowMap.getString("NODETYPE").equals("method_service_node4")) { + operationNodeNum += 1; + } + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { + onlineNodeNum += 1; + } + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3")) { + itsysNodeNum += 1; + } + } - approvalRrationate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); - operationRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100); - onlineRate = numberformat.format((float) onlineNodeNum / (float) approvalNodeNum * 100); - itsysRate = numberformat.format((float) itsysNodeNum / (float) operationNodeNum * 100); - - ro.put("nodeTotalNum",nodeTotalNum); - ro.put("approvalNodeNum",approvalNodeNum); - ro.put("approvalRrationate",approvalRrationate); - ro.put("onlineRate",onlineRate); - ro.put("operationNodeNum",operationNodeNum); - ro.put("operationRate",operationRate); - ro.put("itsysRate",itsysRate); - } else { - nodeTotalNum = 0; - approvalNodeNum = 0; - operationNodeNum = 0; - onlineNodeNum = 0; - itsysNodeNum = 0; - approvalRrationate = "0"; - operationRate = "0"; - onlineRate = "0"; - itsysRate = "0"; - ro.ok("暂无节点"); - ro.put("nodeTotalNum",nodeTotalNum); - ro.put("approvalNodeNum",approvalNodeNum); - ro.put("approvalRrationate",approvalRrationate); - ro.put("onlineRate",onlineRate); - ro.put("operationNodeNum",operationNodeNum); - ro.put("operationRate",operationRate); - ro.put("itsysRate",itsysRate); + approvalRrationate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); + operationRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100); + onlineRate = numberformat.format((float) onlineNodeNum / (float) approvalNodeNum * 100); + itsysRate = numberformat.format((float) itsysNodeNum / (float) operationNodeNum * 100); + ro.put("nodeTotalNum",nodeTotalNum); + ro.put("approvalNodeNum",approvalNodeNum); + ro.put("approvalRrationate",approvalRrationate); + ro.put("onlineRate",onlineRate); + ro.put("operationNodeNum",operationNodeNum); + ro.put("operationRate",operationRate); + ro.put("itsysRate",itsysRate); + } else { + nodeTotalNum = 0; + approvalNodeNum = 0; + operationNodeNum = 0; + onlineNodeNum = 0; + itsysNodeNum = 0; + approvalRrationate = "0"; + operationRate = "0"; + onlineRate = "0"; + itsysRate = "0"; + ro.ok("暂无节点"); + ro.put("nodeTotalNum",nodeTotalNum); + ro.put("approvalNodeNum",approvalNodeNum); + ro.put("approvalRrationate",approvalRrationate); + ro.put("onlineRate",onlineRate); + ro.put("operationNodeNum",operationNodeNum); + ro.put("operationRate",operationRate); + ro.put("itsysRate",itsysRate); + } + }else { + List list = SDK.getBOAPI().query("BO_EU_FILE_OPERATIONNODE").addQuery("TYPE = ", "流程节点总数").list(); + for (BO bo : list) { + String data = bo.getString("NODEDATA"); + String name = bo.getString("NAME"); + if("operationNodeNum".equals(name)||"approvalNodeNum".equals(name)||"nodeTotalNum".equals(name)) { + ro.put(name,Integer.parseInt(data)); + }else { + ro.put(name,data); + + } + } + } return ro.toString(); } @@ -1588,137 +1604,143 @@ public class ProcessPubService extends ActionWeb { Integer approvalOLNodeNum = 0; String approvalRate = "0"; String approvalOLRate = "0"; + if(UtilString.isNotEmpty(field)) { + if (null!=field && !field.equals("")) { + if("all".equals(field)) { + for (RowMap nodeRowMap : nodeRowMaps) { + nodeHandleMaps.add(nodeRowMap); + } + }else { + nodeHandleMaps = new ArrayList<>(); + fieldList = new ArrayList(); + fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); + for (Map fieldMap : fieldList) { + String fieldID = String.valueOf(fieldMap.get("FRAMEID")); + for (RowMap nodeRowMap : nodeRowMaps) { + if (nodeRowMap.getString("PLPARENTID").equals(fieldID)) { + nodeHandleMaps.add(nodeRowMap); + } + } + } + + } + nodeRowMaps = nodeHandleMaps; + } - if (null!=field && !field.equals("")) { - if("all".equals(field)) { - for (RowMap nodeRowMap : nodeRowMaps) { - nodeHandleMaps.add(nodeRowMap); - } - }else { - nodeHandleMaps = new ArrayList<>(); - fieldList = new ArrayList(); - fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); - for (Map fieldMap : fieldList) { - String fieldID = String.valueOf(fieldMap.get("FRAMEID")); - for (RowMap nodeRowMap : nodeRowMaps) { - if (nodeRowMap.getString("PLPARENTID").equals(fieldID)) { - nodeHandleMaps.add(nodeRowMap); - } - } - } - - } - nodeRowMaps = nodeHandleMaps; - } - - if (null!=BDInfoMaps && !BDInfoMaps.isEmpty()) { - for (RowMap bdInfoMap : BDInfoMaps) { - nodeTotalNum = 0; - approvalNodeNum = 0; - approvalOLNodeNum = 0; - String bdDeptID = bdInfoMap.getString("DEPTID"); - deptIDList = new ArrayList(); - deptIDList = GetNodesUtil.getChildDept(bdDeptID, deptIDList); - if (null!=deptIDList && !deptIDList.isEmpty()) { - for (String deptID : deptIDList) { - for (RowMap nodeRowMap : nodeRowMaps) { - if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { - nodeTotalNum += 1; - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { - approvalNodeNum += 1; - } - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { - approvalOLNodeNum += 1; - } - } - } - } - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",bdDeptID); - deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("approvalNodeNum",approvalNodeNum); - BDApprovalNodeCountMaps.add(deptNodeCountMap); - if (nodeTotalNum!=0) { - approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); - } else { - approvalRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",bdDeptID); - deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("approvalRate",approvalRate); - BDApprovalNodeRateMaps.add(deptNodeCountMap); - if (approvalNodeNum!=0) { - approvalOLRate = numberformat.format((float) approvalOLNodeNum / (float) approvalNodeNum * 100); - } else { - approvalOLRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",bdDeptID); - deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("approvalOLRate",approvalOLRate); - BDApprovalOLNodeRateMaps.add(deptNodeCountMap); - } - } - if (null!=FDInfoMaps && !FDInfoMaps.isEmpty()) { - for (RowMap fdInfoMap : FDInfoMaps) { - nodeTotalNum = 0; - approvalNodeNum = 0; - approvalOLNodeNum = 0; - String fdDeptID = fdInfoMap.getString("DEPTID"); - deptIDList = new ArrayList(); - deptIDList = GetNodesUtil.getChildDept(fdDeptID, deptIDList); - if (null!=deptIDList && !deptIDList.isEmpty()) { - for (String deptID : deptIDList) { - for (RowMap nodeRowMap : nodeRowMaps) { - if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { - nodeTotalNum += 1; - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { - approvalNodeNum += 1; - } - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { - approvalOLNodeNum += 1; - } - } - } - } - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",fdDeptID); - deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("approvalNodeNum",approvalNodeNum); - FDApprovalNodeCountMaps.add(deptNodeCountMap); - if (nodeTotalNum!=0) { - approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); - } else { - approvalRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",fdDeptID); - deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("approvalRate",approvalRate); - FDApprovalNodeRateMaps.add(deptNodeCountMap); - if (approvalNodeNum!=0) { - approvalOLRate = numberformat.format((float) approvalOLNodeNum / (float) approvalNodeNum * 100); - } else { - approvalOLRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",fdDeptID); - deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("approvalOLRate",approvalOLRate); - FDApprovalOLNodeRateMaps.add(deptNodeCountMap); - } - } - - ro.put("BDApprovalNodeCountMaps",BDApprovalNodeCountMaps); - ro.put("FDApprovalNodeCountMaps",FDApprovalNodeCountMaps); - ro.put("BDApprovalNodeRateMaps",BDApprovalNodeRateMaps); - ro.put("FDApprovalNodeRateMaps",FDApprovalNodeRateMaps); - ro.put("BDApprovalOLNodeRateMaps",BDApprovalOLNodeRateMaps); - ro.put("FDApprovalOLNodeRateMaps",FDApprovalOLNodeRateMaps); - + if (null!=BDInfoMaps && !BDInfoMaps.isEmpty()) { + for (RowMap bdInfoMap : BDInfoMaps) { + nodeTotalNum = 0; + approvalNodeNum = 0; + approvalOLNodeNum = 0; + String bdDeptID = bdInfoMap.getString("DEPTID"); + deptIDList = new ArrayList(); + deptIDList = GetNodesUtil.getChildDept(bdDeptID, deptIDList); + if (null!=deptIDList && !deptIDList.isEmpty()) { + for (String deptID : deptIDList) { + for (RowMap nodeRowMap : nodeRowMaps) { + if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { + nodeTotalNum += 1; + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { + approvalNodeNum += 1; + } + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { + approvalOLNodeNum += 1; + } + } + } + } + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",bdDeptID); + deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("approvalNodeNum",approvalNodeNum); + BDApprovalNodeCountMaps.add(deptNodeCountMap); + if (nodeTotalNum!=0) { + approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); + } else { + approvalRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",bdDeptID); + deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("approvalRate",approvalRate); + BDApprovalNodeRateMaps.add(deptNodeCountMap); + if (approvalNodeNum!=0) { + approvalOLRate = numberformat.format((float) approvalOLNodeNum / (float) approvalNodeNum * 100); + } else { + approvalOLRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",bdDeptID); + deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("approvalOLRate",approvalOLRate); + BDApprovalOLNodeRateMaps.add(deptNodeCountMap); + } + } + if (null!=FDInfoMaps && !FDInfoMaps.isEmpty()) { + for (RowMap fdInfoMap : FDInfoMaps) { + nodeTotalNum = 0; + approvalNodeNum = 0; + approvalOLNodeNum = 0; + String fdDeptID = fdInfoMap.getString("DEPTID"); + deptIDList = new ArrayList(); + deptIDList = GetNodesUtil.getChildDept(fdDeptID, deptIDList); + if (null!=deptIDList && !deptIDList.isEmpty()) { + for (String deptID : deptIDList) { + for (RowMap nodeRowMap : nodeRowMaps) { + if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { + nodeTotalNum += 1; + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { + approvalNodeNum += 1; + } + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { + approvalOLNodeNum += 1; + } + } + } + } + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",fdDeptID); + deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("approvalNodeNum",approvalNodeNum); + FDApprovalNodeCountMaps.add(deptNodeCountMap); + if (nodeTotalNum!=0) { + approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); + } else { + approvalRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",fdDeptID); + deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("approvalRate",approvalRate); + FDApprovalNodeRateMaps.add(deptNodeCountMap); + if (approvalNodeNum!=0) { + approvalOLRate = numberformat.format((float) approvalOLNodeNum / (float) approvalNodeNum * 100); + } else { + approvalOLRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",fdDeptID); + deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("approvalOLRate",approvalOLRate); + FDApprovalOLNodeRateMaps.add(deptNodeCountMap); + } + } + ro.put("BDApprovalNodeCountMaps",BDApprovalNodeCountMaps); + ro.put("FDApprovalNodeCountMaps",FDApprovalNodeCountMaps); + ro.put("BDApprovalNodeRateMaps",BDApprovalNodeRateMaps); + ro.put("FDApprovalNodeRateMaps",FDApprovalNodeRateMaps); + ro.put("BDApprovalOLNodeRateMaps",BDApprovalOLNodeRateMaps); + ro.put("FDApprovalOLNodeRateMaps",FDApprovalOLNodeRateMaps); + }else { + List list = SDK.getBOAPI().query("BO_EU_FILE_OPERATIONNODE").addQuery("TYPE = ", "审批节点信息").list(); + for (BO bo : list) { + ro.put(bo.getString("NAME"),bo.getString("NODEDATA")); + + } + } + return ro.toString(); } /** @@ -1744,7 +1766,7 @@ public class ProcessPubService extends ActionWeb { ArrayList BDOperationOLNodeRateMaps = new ArrayList<>(); ArrayList FDOperationOLNodeRateMaps = new ArrayList<>(); //事业部和职能部门ID,名称 list - List nodeRowMaps = DBSql.getMaps("SELECT BN.NODEID,BN.NODETYPE,BF.FILEID,BF.PLPARENTID,BF.PUBDEPT FROM BO_EU_PAL_FILENODE5 BN LEFT JOIN BO_EU_PAL_FILE1 BF ON BN.PLID=BF.FILEID WHERE BF.FILESTATE='1' AND BF.PLMETHODID='process.epc'"); + List nodeRowMaps = DBSql.getMaps("SELECT BN.NODEID,BN.NODETYPE,BF.FILEID,BF.PLPARENTID,BF.PUBDEPT FROM BO_EU_PAL_FILENODE5 BN LEFT JOIN BO_EU_PAL_FILE1 BF ON BN.PLID=BF.FILEID WHERE BF.FILESTATE='1' AND BF.PLMETHODID in ('process.epc','process.flowchart')"); ArrayList nodeHandleMaps = new ArrayList<>(); List BDInfoMaps = DBSql.getMaps("SELECT DEPTID,DEPTNAME,ABBREVIATION,DEPTTYPE FROM BO_EU_DEPT_ABBREVIATION WHERE DEPTTYPE='BD'"); List FDInfoMaps = DBSql.getMaps("SELECT DEPTID,DEPTNAME,ABBREVIATION,DEPTTYPE FROM BO_EU_DEPT_ABBREVIATION WHERE DEPTTYPE='FD'"); @@ -1754,136 +1776,147 @@ public class ProcessPubService extends ActionWeb { Integer operationOLNodeNum = 0; String operationNodeRate = "0"; String operationOLNodeRate = "0"; - - if (null!=field && !field.equals("")) { - if("all".equals(field)) { - for (RowMap fileRowMap : nodeRowMaps) { - nodeHandleMaps.add(fileRowMap); - } - }else { - nodeHandleMaps = new ArrayList<>(); - fieldList = new ArrayList(); - fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); - for (Map fieldMap : fieldList) { - String fieldID = String.valueOf(fieldMap.get("FRAMEID")); - for (RowMap nodeRowMap : nodeRowMaps) { - if (nodeRowMap.getString("PLPARENTID").equals(fieldID)) { - nodeHandleMaps.add(nodeRowMap); - } + if(UtilString.isNotEmpty(field)) { + if (null!=field && !field.equals("")) { + if("all".equals(field)) { + for (RowMap fileRowMap : nodeRowMaps) { + nodeHandleMaps.add(fileRowMap); } - } + }else { + nodeHandleMaps = new ArrayList<>(); + fieldList = new ArrayList(); + fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); + for (Map fieldMap : fieldList) { + String fieldID = String.valueOf(fieldMap.get("FRAMEID")); + for (RowMap nodeRowMap : nodeRowMaps) { + if (nodeRowMap.getString("PLPARENTID").equals(fieldID)) { + nodeHandleMaps.add(nodeRowMap); + } + } + } + + } + nodeRowMaps = nodeHandleMaps; + } + + if (null!=BDInfoMaps && !BDInfoMaps.isEmpty()) { + for (RowMap bdInfoMap : BDInfoMaps) { + nodeTotalNum = 0; + operationNodeNum = 0; + operationOLNodeNum = 0; + String bdDeptID = bdInfoMap.getString("DEPTID"); + deptIDList = new ArrayList(); + deptIDList = GetNodesUtil.getChildDept(bdDeptID, deptIDList); + if (null!=deptIDList && !deptIDList.isEmpty()) { + for (String deptID : deptIDList) { + for (RowMap nodeRowMap : nodeRowMaps) { + if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { + nodeTotalNum += 1; + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3") || nodeRowMap.getString("NODETYPE").equals("method_service_node4")) { + operationNodeNum += 1; + } + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3")) { + operationOLNodeNum += 1; + } + } + } + } + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",bdDeptID); + deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("operationNodeNum",operationNodeNum); + BDOperationNodeCountMaps.add(deptNodeCountMap); + if (nodeTotalNum!=0) { + operationNodeRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100); + } else { + operationNodeRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",bdDeptID); + deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("operationNodeRate",operationNodeRate); + BDOperationNodeRateMaps.add(deptNodeCountMap); + if (operationNodeNum!=0) { + operationOLNodeRate = numberformat.format((float) operationOLNodeNum / (float) operationNodeNum * 100); + } else { + operationOLNodeRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",bdDeptID); + deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("operationOLNodeRate",operationOLNodeRate); + BDOperationOLNodeRateMaps.add(deptNodeCountMap); + } + } + if (null!=FDInfoMaps && !FDInfoMaps.isEmpty()) { + for (RowMap fdInfoMap : FDInfoMaps) { + nodeTotalNum = 0; + operationNodeNum = 0; + operationOLNodeNum = 0; + String fdDeptID = fdInfoMap.getString("DEPTID"); + deptIDList = new ArrayList(); + deptIDList = GetNodesUtil.getChildDept(fdDeptID, deptIDList); + if (null!=deptIDList && !deptIDList.isEmpty()) { + for (String deptID : deptIDList) { + for (RowMap nodeRowMap : nodeRowMaps) { + if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { + nodeTotalNum += 1; + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3") || nodeRowMap.getString("NODETYPE").equals("method_service_node4")) { + operationNodeNum += 1; + } + if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3")) { + operationOLNodeNum += 1; + } + } + } + } + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",fdDeptID); + deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("operationNodeNum",operationNodeNum); + FDOperationNodeCountMaps.add(deptNodeCountMap); + if (nodeTotalNum!=0) { + operationNodeRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100); + } else { + operationNodeRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",fdDeptID); + deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("operationNodeRate",operationNodeRate); + FDOperationNodeRateMaps.add(deptNodeCountMap); + if (operationNodeNum!=0) { + operationOLNodeRate = numberformat.format((float) operationOLNodeNum / (float) operationNodeNum * 100); + } else { + operationOLNodeRate = "0"; + } + deptNodeCountMap = new HashMap<>(); + deptNodeCountMap.put("deptID",fdDeptID); + deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); + deptNodeCountMap.put("operationOLNodeRate",operationOLNodeRate); + FDOperationOLNodeRateMaps.add(deptNodeCountMap); + } + } + + ro.put("BDOperationNodeCountMaps",BDOperationNodeCountMaps); + ro.put("FDOperationNodeCountMaps",FDOperationNodeCountMaps); + ro.put("BDOperationNodeRateMaps",BDOperationNodeRateMaps); + ro.put("FDOperationNodeRateMaps",FDOperationNodeRateMaps); + ro.put("BDOperationOLNodeRateMaps",BDOperationOLNodeRateMaps); + ro.put("FDOperationOLNodeRateMaps",FDOperationOLNodeRateMaps); + }else { + List list = SDK.getBOAPI().query("BO_EU_FILE_OPERATIONNODE").addQuery("TYPE = ", "操作节点信息").list(); + for (BO bo : list) { + ro.put(bo.getString("NAME"),bo.getString("NODEDATA")); - } - nodeRowMaps = nodeHandleMaps; + } + } + - if (null!=BDInfoMaps && !BDInfoMaps.isEmpty()) { - for (RowMap bdInfoMap : BDInfoMaps) { - nodeTotalNum = 0; - operationNodeNum = 0; - operationOLNodeNum = 0; - String bdDeptID = bdInfoMap.getString("DEPTID"); - deptIDList = new ArrayList(); - deptIDList = GetNodesUtil.getChildDept(bdDeptID, deptIDList); - if (null!=deptIDList && !deptIDList.isEmpty()) { - for (String deptID : deptIDList) { - for (RowMap nodeRowMap : nodeRowMaps) { - if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { - nodeTotalNum += 1; - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3") || nodeRowMap.getString("NODETYPE").equals("method_service_node4")) { - operationNodeNum += 1; - } - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3")) { - operationOLNodeNum += 1; - } - } - } - } - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",bdDeptID); - deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("operationNodeNum",operationNodeNum); - BDOperationNodeCountMaps.add(deptNodeCountMap); - if (nodeTotalNum!=0) { - operationNodeRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100); - } else { - operationNodeRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",bdDeptID); - deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("operationNodeRate",operationNodeRate); - BDOperationNodeRateMaps.add(deptNodeCountMap); - if (operationNodeNum!=0) { - operationOLNodeRate = numberformat.format((float) operationOLNodeNum / (float) operationNodeNum * 100); - } else { - operationOLNodeRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",bdDeptID); - deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("operationOLNodeRate",operationOLNodeRate); - BDOperationOLNodeRateMaps.add(deptNodeCountMap); - } - } - if (null!=FDInfoMaps && !FDInfoMaps.isEmpty()) { - for (RowMap fdInfoMap : FDInfoMaps) { - nodeTotalNum = 0; - operationNodeNum = 0; - operationOLNodeNum = 0; - String fdDeptID = fdInfoMap.getString("DEPTID"); - deptIDList = new ArrayList(); - deptIDList = GetNodesUtil.getChildDept(fdDeptID, deptIDList); - if (null!=deptIDList && !deptIDList.isEmpty()) { - for (String deptID : deptIDList) { - for (RowMap nodeRowMap : nodeRowMaps) { - if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { - nodeTotalNum += 1; - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3") || nodeRowMap.getString("NODETYPE").equals("method_service_node4")) { - operationNodeNum += 1; - } - if (nodeRowMap.getString("NODETYPE").equals("method_approval_node3")) { - operationOLNodeNum += 1; - } - } - } - } - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",fdDeptID); - deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("operationNodeNum",operationNodeNum); - FDOperationNodeCountMaps.add(deptNodeCountMap); - if (nodeTotalNum!=0) { - operationNodeRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100); - } else { - operationNodeRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",fdDeptID); - deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("operationNodeRate",operationNodeRate); - FDOperationNodeRateMaps.add(deptNodeCountMap); - if (operationNodeNum!=0) { - operationOLNodeRate = numberformat.format((float) operationOLNodeNum / (float) operationNodeNum * 100); - } else { - operationOLNodeRate = "0"; - } - deptNodeCountMap = new HashMap<>(); - deptNodeCountMap.put("deptID",fdDeptID); - deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); - deptNodeCountMap.put("operationOLNodeRate",operationOLNodeRate); - FDOperationOLNodeRateMaps.add(deptNodeCountMap); - } - } - - ro.put("BDOperationNodeCountMaps",BDOperationNodeCountMaps); - ro.put("FDOperationNodeCountMaps",FDOperationNodeCountMaps); - ro.put("BDOperationNodeRateMaps",BDOperationNodeRateMaps); - ro.put("FDOperationNodeRateMaps",FDOperationNodeRateMaps); - ro.put("BDOperationOLNodeRateMaps",BDOperationOLNodeRateMaps); - ro.put("FDOperationOLNodeRateMaps",FDOperationOLNodeRateMaps); + return ro.toString(); }