管理看板代码提交

This commit is contained in:
lihongyu 2022-12-30 23:23:33 +08:00
parent c35629be39
commit 43e6298d09
3 changed files with 409 additions and 376 deletions

View File

@ -42,7 +42,7 @@ public class SyncData_job implements IJob {
//同步节点数据到 BO_EU_PAL_FILENODE5 //同步节点数据到 BO_EU_PAL_FILENODE5
public void syncNodeData() { public void syncNodeData() {
DBSql.update("DELETE FROM BO_EU_NODESYN_EXCEPTION"); 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<String, Object> dataMap = new HashMap<>(); HashMap<String, Object> dataMap = new HashMap<>();
ArrayList<String> fromNodeDataIDMaps = new ArrayList<>(); ArrayList<String> fromNodeDataIDMaps = new ArrayList<>();
ArrayList<Map<String, ?>> oldNodeDataMaps = new ArrayList<>(); ArrayList<Map<String, ?>> oldNodeDataMaps = new ArrayList<>();

View File

@ -225,7 +225,7 @@ public class DataViewService extends ActionWeb {
// if (nodeRowMap.getString("ROLE").equals(positionID) || // if (nodeRowMap.getString("ROLE").equals(positionID) ||
// nodeRowMap.getString("POST").equals(positionID)) { // nodeRowMap.getString("POST").equals(positionID)) {
List<RowMap> nodeRowMaps = DBSql.getMaps( List<RowMap> 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 + "%'"); + positionName + "%'");
for (RowMap nodeRowMap : nodeRowMaps) { for (RowMap nodeRowMap : nodeRowMaps) {
String plId = nodeRowMap.getString("PLID"); String plId = nodeRowMap.getString("PLID");
@ -594,7 +594,7 @@ public class DataViewService extends ActionWeb {
String POSITION_NAME = UserContext.fromUID(uid).getUserModel().getPositionName(); String POSITION_NAME = UserContext.fromUID(uid).getUserModel().getPositionName();
if (UtilString.isNotEmpty(POSITION_NAME)) { if (UtilString.isNotEmpty(POSITION_NAME)) {
List<RowMap> nodeRowMaps = DBSql.getMaps( List<RowMap> 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 + "%'"); + POSITION_NAME + "%'");
for (RowMap nodeRowMap : nodeRowMaps) { for (RowMap nodeRowMap : nodeRowMaps) {
String PLID = nodeRowMap.getString("PLID"); String PLID = nodeRowMap.getString("PLID");

View File

@ -1,5 +1,14 @@
package com.awspaas.user.apps.yili.reportform.service; 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.database.RowMap;
import com.actionsoft.bpms.commons.mvc.view.ActionWeb; import com.actionsoft.bpms.commons.mvc.view.ActionWeb;
import com.actionsoft.bpms.commons.mvc.view.ResponseObject; 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.RequestParams;
import com.actionsoft.bpms.server.UserContext; import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.bpms.util.DBSql; import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.bpms.util.UtilString;
import com.actionsoft.sdk.local.SDK; import com.actionsoft.sdk.local.SDK;
import com.awspaas.user.apps.yili.reportform.util.GetNodesUtil; import com.awspaas.user.apps.yili.reportform.util.GetNodesUtil;
import com.awspaas.user.apps.yili.reportform.util.TreeUtil; import com.awspaas.user.apps.yili.reportform.util.TreeUtil;
import org.json.JSONException;
import org.json.JSONObject;
import java.sql.Connection; import net.sf.json.JSONObject;
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;
/** /**
@ -35,7 +32,8 @@ import static java.util.stream.Collectors.toCollection;
public class ProcessPubService extends ActionWeb { public class ProcessPubService extends ActionWeb {
UserContext _uc; private static final String Map = null;
UserContext _uc;
public ProcessPubService(UserContext uc) { public ProcessPubService(UserContext uc) {
super(uc); super(uc);
@ -1338,6 +1336,7 @@ public class ProcessPubService extends ActionWeb {
* @date: 2022/7/15 15:56 * @date: 2022/7/15 15:56
*/ */
public String nodeAnalysisTerms(UserContext uc, RequestParams params) { public String nodeAnalysisTerms(UserContext uc, RequestParams params) {
long start = System.currentTimeMillis();
ResponseObject ro = ResponseObject.newOkResponse(); ResponseObject ro = ResponseObject.newOkResponse();
//所属单位 //所属单位
List<RowMap> deptMaps = DBSql.getMaps("SELECT ID,PARENTDEPARTMENTID,DEPARTMENTNAME,LAYER,ORDERINDEX FROM ORGDEPARTMENT" List<RowMap> deptMaps = DBSql.getMaps("SELECT ID,PARENTDEPARTMENTID,DEPARTMENTNAME,LAYER,ORDERINDEX FROM ORGDEPARTMENT"
@ -1389,6 +1388,8 @@ public class ProcessPubService extends ActionWeb {
List<Map> fieldTreeNodes = TreeUtil.buildTree("1",fieldNodes, "process", null, null, null); List<Map> fieldTreeNodes = TreeUtil.buildTree("1",fieldNodes, "process", null, null, null);
ro.put("deptTreeNodes", deptTreeNodes); ro.put("deptTreeNodes", deptTreeNodes);
ro.put("fieldTreeNodes", fieldTreeNodes); ro.put("fieldTreeNodes", fieldTreeNodes);
long end = System.currentTimeMillis();
System.out.println("======加载筛选框用时=====>"+(end-start)/1000);
return ro.toString(); return ro.toString();
} }
@ -1408,111 +1409,126 @@ public class ProcessPubService extends ActionWeb {
ArrayList<Map> fieldList = new ArrayList<>(); ArrayList<Map> fieldList = new ArrayList<>();
NumberFormat numberformat = NumberFormat.getInstance(); NumberFormat numberformat = NumberFormat.getInstance();
numberformat.setMaximumFractionDigits(2); numberformat.setMaximumFractionDigits(2);
List<RowMap> 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<RowMap> 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<RowMap> nodeHandleMaps = new ArrayList<>(); ArrayList<RowMap> nodeHandleMaps = new ArrayList<>();
if (null!=unit && !unit.equals("")) {
if("all".equals(unit)) { if(UtilString.isNotEmpty(unit)||UtilString.isNotEmpty(field)) {
for (RowMap fileRowMap : nodeRowMaps) { if (null!=unit && !unit.equals("")) {
nodeHandleMaps.add(fileRowMap); if("all".equals(unit)) {
} for (RowMap fileRowMap : nodeRowMaps) {
}else { nodeHandleMaps.add(fileRowMap);
nodeHandleMaps = new ArrayList<>();
deptIDList = new ArrayList<String>();
deptIDList = GetNodesUtil.getChildDept(unit, deptIDList);
for (String deptID : deptIDList) {
for (RowMap fileMap : nodeRowMaps) {
if (fileMap.getString("PUBDEPT").contains(deptID)) {
nodeHandleMaps.add(fileMap);
}
} }
} }else {
nodeHandleMaps = new ArrayList<>();
} deptIDList = new ArrayList<String>();
nodeRowMaps = nodeHandleMaps; deptIDList = GetNodesUtil.getChildDept(unit, deptIDList);
} for (String deptID : deptIDList) {
if (null!=field && !field.equals("")) { for (RowMap fileMap : nodeRowMaps) {
if("all".equals(field)) { if (fileMap.getString("PUBDEPT").contains(deptID)) {
for (RowMap fileRowMap : nodeRowMaps) { nodeHandleMaps.add(fileMap);
nodeHandleMaps.add(fileRowMap); }
} }
}else { }
nodeHandleMaps = new ArrayList<>();
fieldList = new ArrayList<Map>(); }
fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); nodeRowMaps = nodeHandleMaps;
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;
}
} }
if (null!=field && !field.equals("")) {
if("all".equals(field)) {
for (RowMap fileRowMap : nodeRowMaps) {
nodeHandleMaps.add(fileRowMap);
}
}else {
nodeHandleMaps = new ArrayList<>();
fieldList = new ArrayList<Map>();
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); approvalRrationate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100);
operationRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100); operationRate = numberformat.format((float) operationNodeNum / (float) nodeTotalNum * 100);
onlineRate = numberformat.format((float) onlineNodeNum / (float) approvalNodeNum * 100); onlineRate = numberformat.format((float) onlineNodeNum / (float) approvalNodeNum * 100);
itsysRate = numberformat.format((float) itsysNodeNum / (float) operationNodeNum * 100); itsysRate = numberformat.format((float) itsysNodeNum / (float) operationNodeNum * 100);
ro.put("nodeTotalNum",nodeTotalNum);
ro.put("nodeTotalNum",nodeTotalNum); ro.put("approvalNodeNum",approvalNodeNum);
ro.put("approvalNodeNum",approvalNodeNum); ro.put("approvalRrationate",approvalRrationate);
ro.put("approvalRrationate",approvalRrationate); ro.put("onlineRate",onlineRate);
ro.put("onlineRate",onlineRate); ro.put("operationNodeNum",operationNodeNum);
ro.put("operationNodeNum",operationNodeNum); ro.put("operationRate",operationRate);
ro.put("operationRate",operationRate); ro.put("itsysRate",itsysRate);
ro.put("itsysRate",itsysRate); } else {
} else { nodeTotalNum = 0;
nodeTotalNum = 0; approvalNodeNum = 0;
approvalNodeNum = 0; operationNodeNum = 0;
operationNodeNum = 0; onlineNodeNum = 0;
onlineNodeNum = 0; itsysNodeNum = 0;
itsysNodeNum = 0; approvalRrationate = "0";
approvalRrationate = "0"; operationRate = "0";
operationRate = "0"; onlineRate = "0";
onlineRate = "0"; itsysRate = "0";
itsysRate = "0"; ro.ok("暂无节点");
ro.ok("暂无节点"); ro.put("nodeTotalNum",nodeTotalNum);
ro.put("nodeTotalNum",nodeTotalNum); ro.put("approvalNodeNum",approvalNodeNum);
ro.put("approvalNodeNum",approvalNodeNum); ro.put("approvalRrationate",approvalRrationate);
ro.put("approvalRrationate",approvalRrationate); ro.put("onlineRate",onlineRate);
ro.put("onlineRate",onlineRate); ro.put("operationNodeNum",operationNodeNum);
ro.put("operationNodeNum",operationNodeNum); ro.put("operationRate",operationRate);
ro.put("operationRate",operationRate); ro.put("itsysRate",itsysRate);
ro.put("itsysRate",itsysRate); }
}else {
List<BO> 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(); return ro.toString();
} }
@ -1588,137 +1604,143 @@ public class ProcessPubService extends ActionWeb {
Integer approvalOLNodeNum = 0; Integer approvalOLNodeNum = 0;
String approvalRate = "0"; String approvalRate = "0";
String approvalOLRate = "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<Map>();
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 (null!=BDInfoMaps && !BDInfoMaps.isEmpty()) {
if("all".equals(field)) { for (RowMap bdInfoMap : BDInfoMaps) {
for (RowMap nodeRowMap : nodeRowMaps) { nodeTotalNum = 0;
nodeHandleMaps.add(nodeRowMap); approvalNodeNum = 0;
} approvalOLNodeNum = 0;
}else { String bdDeptID = bdInfoMap.getString("DEPTID");
nodeHandleMaps = new ArrayList<>(); deptIDList = new ArrayList<String>();
fieldList = new ArrayList<Map>(); deptIDList = GetNodesUtil.getChildDept(bdDeptID, deptIDList);
fieldList = GetNodesUtil.getChildFrame(field,"", fieldList); if (null!=deptIDList && !deptIDList.isEmpty()) {
for (Map fieldMap : fieldList) { for (String deptID : deptIDList) {
String fieldID = String.valueOf(fieldMap.get("FRAMEID")); for (RowMap nodeRowMap : nodeRowMaps) {
for (RowMap nodeRowMap : nodeRowMaps) { if (nodeRowMap.getString("PUBDEPT").contains(deptID)) {
if (nodeRowMap.getString("PLPARENTID").equals(fieldID)) { nodeTotalNum += 1;
nodeHandleMaps.add(nodeRowMap); 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;
} }
nodeRowMaps = nodeHandleMaps; }
} }
}
if (null!=BDInfoMaps && !BDInfoMaps.isEmpty()) { }
for (RowMap bdInfoMap : BDInfoMaps) { deptNodeCountMap = new HashMap<>();
nodeTotalNum = 0; deptNodeCountMap.put("deptID",bdDeptID);
approvalNodeNum = 0; deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION"));
approvalOLNodeNum = 0; deptNodeCountMap.put("approvalNodeNum",approvalNodeNum);
String bdDeptID = bdInfoMap.getString("DEPTID"); BDApprovalNodeCountMaps.add(deptNodeCountMap);
deptIDList = new ArrayList<String>(); if (nodeTotalNum!=0) {
deptIDList = GetNodesUtil.getChildDept(bdDeptID, deptIDList); approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100);
if (null!=deptIDList && !deptIDList.isEmpty()) { } else {
for (String deptID : deptIDList) { approvalRate = "0";
for (RowMap nodeRowMap : nodeRowMaps) { }
if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { deptNodeCountMap = new HashMap<>();
nodeTotalNum += 1; deptNodeCountMap.put("deptID",bdDeptID);
if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION"));
approvalNodeNum += 1; deptNodeCountMap.put("approvalRate",approvalRate);
} BDApprovalNodeRateMaps.add(deptNodeCountMap);
if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { if (approvalNodeNum!=0) {
approvalOLNodeNum += 1; approvalOLRate = numberformat.format((float) approvalOLNodeNum / (float) approvalNodeNum * 100);
} } else {
} approvalOLRate = "0";
} }
} deptNodeCountMap = new HashMap<>();
} deptNodeCountMap.put("deptID",bdDeptID);
deptNodeCountMap = new HashMap<>(); deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION"));
deptNodeCountMap.put("deptID",bdDeptID); deptNodeCountMap.put("approvalOLRate",approvalOLRate);
deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); BDApprovalOLNodeRateMaps.add(deptNodeCountMap);
deptNodeCountMap.put("approvalNodeNum",approvalNodeNum); }
BDApprovalNodeCountMaps.add(deptNodeCountMap); }
if (nodeTotalNum!=0) { if (null!=FDInfoMaps && !FDInfoMaps.isEmpty()) {
approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); for (RowMap fdInfoMap : FDInfoMaps) {
} else { nodeTotalNum = 0;
approvalRate = "0"; approvalNodeNum = 0;
} approvalOLNodeNum = 0;
deptNodeCountMap = new HashMap<>(); String fdDeptID = fdInfoMap.getString("DEPTID");
deptNodeCountMap.put("deptID",bdDeptID); deptIDList = new ArrayList<String>();
deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); deptIDList = GetNodesUtil.getChildDept(fdDeptID, deptIDList);
deptNodeCountMap.put("approvalRate",approvalRate); if (null!=deptIDList && !deptIDList.isEmpty()) {
BDApprovalNodeRateMaps.add(deptNodeCountMap); for (String deptID : deptIDList) {
if (approvalNodeNum!=0) { for (RowMap nodeRowMap : nodeRowMaps) {
approvalOLRate = numberformat.format((float) approvalOLNodeNum / (float) approvalNodeNum * 100); if (nodeRowMap.getString("PUBDEPT").contains(deptID)) {
} else { nodeTotalNum += 1;
approvalOLRate = "0"; if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) {
} approvalNodeNum += 1;
deptNodeCountMap = new HashMap<>(); }
deptNodeCountMap.put("deptID",bdDeptID); if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) {
deptNodeCountMap.put("deptName",bdInfoMap.getString("ABBREVIATION")); approvalOLNodeNum += 1;
deptNodeCountMap.put("approvalOLRate",approvalOLRate); }
BDApprovalOLNodeRateMaps.add(deptNodeCountMap); }
} }
} }
if (null!=FDInfoMaps && !FDInfoMaps.isEmpty()) { }
for (RowMap fdInfoMap : FDInfoMaps) { deptNodeCountMap = new HashMap<>();
nodeTotalNum = 0; deptNodeCountMap.put("deptID",fdDeptID);
approvalNodeNum = 0; deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION"));
approvalOLNodeNum = 0; deptNodeCountMap.put("approvalNodeNum",approvalNodeNum);
String fdDeptID = fdInfoMap.getString("DEPTID"); FDApprovalNodeCountMaps.add(deptNodeCountMap);
deptIDList = new ArrayList<String>(); if (nodeTotalNum!=0) {
deptIDList = GetNodesUtil.getChildDept(fdDeptID, deptIDList); approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100);
if (null!=deptIDList && !deptIDList.isEmpty()) { } else {
for (String deptID : deptIDList) { approvalRate = "0";
for (RowMap nodeRowMap : nodeRowMaps) { }
if (nodeRowMap.getString("PUBDEPT").contains(deptID)) { deptNodeCountMap = new HashMap<>();
nodeTotalNum += 1; deptNodeCountMap.put("deptID",fdDeptID);
if (nodeRowMap.getString("NODETYPE").equals("method_approval_node") || nodeRowMap.getString("NODETYPE").equals("method_service_node")) { deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION"));
approvalNodeNum += 1; deptNodeCountMap.put("approvalRate",approvalRate);
} FDApprovalNodeRateMaps.add(deptNodeCountMap);
if (nodeRowMap.getString("NODETYPE").equals("method_approval_node")) { if (approvalNodeNum!=0) {
approvalOLNodeNum += 1; approvalOLRate = numberformat.format((float) approvalOLNodeNum / (float) approvalNodeNum * 100);
} } else {
} approvalOLRate = "0";
} }
} deptNodeCountMap = new HashMap<>();
} deptNodeCountMap.put("deptID",fdDeptID);
deptNodeCountMap = new HashMap<>(); deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION"));
deptNodeCountMap.put("deptID",fdDeptID); deptNodeCountMap.put("approvalOLRate",approvalOLRate);
deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); FDApprovalOLNodeRateMaps.add(deptNodeCountMap);
deptNodeCountMap.put("approvalNodeNum",approvalNodeNum); }
FDApprovalNodeCountMaps.add(deptNodeCountMap); }
if (nodeTotalNum!=0) { ro.put("BDApprovalNodeCountMaps",BDApprovalNodeCountMaps);
approvalRate = numberformat.format((float) approvalNodeNum / (float) nodeTotalNum * 100); ro.put("FDApprovalNodeCountMaps",FDApprovalNodeCountMaps);
} else { ro.put("BDApprovalNodeRateMaps",BDApprovalNodeRateMaps);
approvalRate = "0"; ro.put("FDApprovalNodeRateMaps",FDApprovalNodeRateMaps);
} ro.put("BDApprovalOLNodeRateMaps",BDApprovalOLNodeRateMaps);
deptNodeCountMap = new HashMap<>(); ro.put("FDApprovalOLNodeRateMaps",FDApprovalOLNodeRateMaps);
deptNodeCountMap.put("deptID",fdDeptID); }else {
deptNodeCountMap.put("deptName",fdInfoMap.getString("ABBREVIATION")); List<BO> list = SDK.getBOAPI().query("BO_EU_FILE_OPERATIONNODE").addQuery("TYPE = ", "审批节点信息").list();
deptNodeCountMap.put("approvalRate",approvalRate); for (BO bo : list) {
FDApprovalNodeRateMaps.add(deptNodeCountMap); ro.put(bo.getString("NAME"),bo.getString("NODEDATA"));
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);
return ro.toString(); return ro.toString();
} }
/** /**
@ -1744,7 +1766,7 @@ public class ProcessPubService extends ActionWeb {
ArrayList<Map> BDOperationOLNodeRateMaps = new ArrayList<>(); ArrayList<Map> BDOperationOLNodeRateMaps = new ArrayList<>();
ArrayList<Map> FDOperationOLNodeRateMaps = new ArrayList<>(); ArrayList<Map> FDOperationOLNodeRateMaps = new ArrayList<>();
//事业部和职能部门ID名称 list //事业部和职能部门ID名称 list
List<RowMap> 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<RowMap> 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<RowMap> nodeHandleMaps = new ArrayList<>(); ArrayList<RowMap> nodeHandleMaps = new ArrayList<>();
List<RowMap> BDInfoMaps = DBSql.getMaps("SELECT DEPTID,DEPTNAME,ABBREVIATION,DEPTTYPE FROM BO_EU_DEPT_ABBREVIATION WHERE DEPTTYPE='BD'"); List<RowMap> BDInfoMaps = DBSql.getMaps("SELECT DEPTID,DEPTNAME,ABBREVIATION,DEPTTYPE FROM BO_EU_DEPT_ABBREVIATION WHERE DEPTTYPE='BD'");
List<RowMap> FDInfoMaps = DBSql.getMaps("SELECT DEPTID,DEPTNAME,ABBREVIATION,DEPTTYPE FROM BO_EU_DEPT_ABBREVIATION WHERE DEPTTYPE='FD'"); List<RowMap> 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; Integer operationOLNodeNum = 0;
String operationNodeRate = "0"; String operationNodeRate = "0";
String operationOLNodeRate = "0"; String operationOLNodeRate = "0";
if(UtilString.isNotEmpty(field)) {
if (null!=field && !field.equals("")) { if (null!=field && !field.equals("")) {
if("all".equals(field)) { if("all".equals(field)) {
for (RowMap fileRowMap : nodeRowMaps) { for (RowMap fileRowMap : nodeRowMaps) {
nodeHandleMaps.add(fileRowMap); nodeHandleMaps.add(fileRowMap);
}
}else {
nodeHandleMaps = new ArrayList<>();
fieldList = new ArrayList<Map>();
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);
}
} }
} }else {
nodeHandleMaps = new ArrayList<>();
fieldList = new ArrayList<Map>();
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<String>();
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<String>();
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<BO> 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<String>();
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<String>();
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(); return ro.toString();
} }