个人视图部门视图代码提交

This commit is contained in:
lihongyu 2022-12-29 21:44:13 +08:00
parent c59d79830c
commit f9d751687f
4 changed files with 3248 additions and 230 deletions

View File

@ -0,0 +1,83 @@
package com.awspaas.user.apps.yili.reportform.job;
import java.util.List;
import java.util.Map;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.actionsoft.apps.coe.pal.pal.repository.dao.CoeProcessLevelDaoFacotory;
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.schedule.IJob;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.bpms.util.UtilString;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.awspaas.user.apps.yili.reportform.util.RepositoryAttribute;
/**
* 定时刷新APP_ACT_COE_PAL_REPOSITORY表最新版本的标识EXT3用于部门视图展示最新版本
* @author Administrator
*
*/
public class SynFileStateJob implements IJob {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
int count = 0;
int count2 = 0;
long start = System.currentTimeMillis();
System.err.println("刷新版本标识ID开始==========>");
List<PALRepositoryModel> palRepositoryModels = CoeProcessLevelDaoFacotory.createCoeProcessLevel()
.getAllCoeProcessLevelByWsId("7d3ca852-a0bd-42e6-80b1-3dcea6f55083");
for (PALRepositoryModel palRepositoryModel : palRepositoryModels) {
String id = palRepositoryModel.getId();
// 同步发布部门到APP_ACT_COE_PAL_REPOSITORY
try {
Map<String, JSONObject> queryRepositoryAttributeById = new RepositoryAttribute().queryRepositoryAttributeById(id);
if (null != queryRepositoryAttributeById && !queryRepositoryAttributeById.isEmpty()) {
// 发布部门
JSONObject Issuing_department = queryRepositoryAttributeById.get("Issuing_department");
if (null != Issuing_department && !Issuing_department.equals("")) {
JSONArray PUBDEPTJA = Issuing_department.getJSONArray("value");
if (null != PUBDEPTJA && !PUBDEPTJA.isEmpty()) {
for (Object PUBDEPTO : PUBDEPTJA) {
JSONObject PUBDEPTJO = JSONObject.parseObject(String.valueOf(PUBDEPTO));
String dempId = PUBDEPTJO.getString("id");
count2 += DBSql.update("UPDATE APP_ACT_COE_PAL_REPOSITORY SET EXT6 = '"+dempId+"' WHERE ID = '"+id+"'");
}
}
}
}
} catch (Exception e) {
// TODO: handle exception
}
// String methodId = palRepositoryModel.getMethodId();
String plVersionId = palRepositoryModel.getVersionId();
String sqly = "SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLVERSIONID = '" + plVersionId + "'";
List<RowMap> maps = DBSql.getMaps(sqly);
if (maps.size() > 1) {
String sqlu = "SELECT ID FROM (SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLVERSIONID = '"
+ plVersionId + "' AND ISPUBLISH ='1' ORDER BY PLVER DESC ) WHERE ROWNUM<2";
String palId = DBSql.getString(sqlu);
if (UtilString.isNotEmpty(palId)) {
if (!id.equals(palId)) {
count += DBSql.update("UPDATE APP_ACT_COE_PAL_REPOSITORY SET EXT5 = '0' WHERE ID = '"+id+"'");
// continue;
} else {
count += DBSql.update("UPDATE APP_ACT_COE_PAL_REPOSITORY SET EXT5 = '1' WHERE ID = '"+id+"'");
}
}
}
}
long end = System.currentTimeMillis();
System.err.println("刷新版本标识ID结束==========>本次处理数据:" + count+"条,用时:"+(end-start)/1000+"");
System.err.println("同步发布部门结束==========>本次处理数据:" + count2+"条,用时:"+(end-start)/1000+"");
}
}

View File

@ -199,9 +199,13 @@ public class DataViewService extends ActionWeb {
// FILEID,PLNAME,PLMETHODID,PLLEVEL,PLORDERINDEX,RELEVANTFILE,SUPPORTFILE,PROCESSKPI
// FROM BO_EU_PAL_FILE1 WHERE PLMETHODID='process.epc' AND FILESTATE='1' ORDER
// BY TO_NUMBER(PLLEVEL) ASC, TO_NUMBER(PLORDERINDEX) ASC");
//List<RowMap> fileRowMaps1 = DBSql.getMaps("SELECT FILEID,PLNAME,PLMETHODID,PLLEVEL,PLORDERINDEX,RELEVANTFILE,SUPPORTFILE,PROCESSKPI FROM BO_EU_PAL_FILE1 WHERE PLMETHODID='process.epc' AND FILESTATE='1' ORDER BY PLLEVEL ASC, PLORDERINDEX ASC");
// List<RowMap> fileRowMaps1 = DBSql.getMaps("SELECT
// FILEID,PLNAME,PLMETHODID,PLLEVEL,PLORDERINDEX,RELEVANTFILE,SUPPORTFILE,PROCESSKPI
// FROM BO_EU_PAL_FILE1 WHERE PLMETHODID='process.epc' AND FILESTATE='1' ORDER
// BY PLLEVEL ASC, PLORDERINDEX ASC");
// AND FILESTATE='1' ORDER BY TO_NUMBER(PLLEVEL) ASC, TO_NUMBER(PLORDERINDEX)
// ASC
if (null != positionIDs && !positionIDs.isEmpty()) {
UoPProcessMaps = new ArrayList<Map>();
nodeMaps = new ArrayList<Map>();
@ -212,8 +216,7 @@ public class DataViewService extends ActionWeb {
UoPProcessMap.put("text", "岗位流程");
UoPProcessMap.put("fileType", "UoPProcess");
UoPProcessMaps.add(UoPProcessMap);
List<RowMap> nodeRowMaps = DBSql.getMaps(
"SELECT NODEID,NODENAME,NODETYPE,PLID,PLNAME,ACTIVITYNUMBER,ACTIVITYDESC,ROLE,ROLENAME,POST,POSTNAME FROM BO_EU_PAL_FILENODE5");
long start = System.currentTimeMillis();
ArrayList<String> positionNameList = new ArrayList<>();
for (String positionID : positionIDs) {
sqlParams = new Object[] { positionID };
@ -223,65 +226,70 @@ public class DataViewService extends ActionWeb {
POSITION_NAME = POSITIONMap.getString("POSITION_NAME");
positionNameList.add(POSITION_NAME);
}
} long start = System.currentTimeMillis();
if (null != nodeRowMaps && !nodeRowMaps.isEmpty()) {
for (RowMap nodeRowMap : nodeRowMaps) {
String PLID = nodeRowMap.getString("PLID");
RowMap fileRowMap = DBSql.getMap("SELECT FILEID,PLNAME,PLMETHODID,PLLEVEL,PLORDERINDEX,RELEVANTFILE,SUPPORTFILE,PROCESSKPI FROM BO_EU_PAL_FILE1 WHERE FILEID = '"+PLID+"'");
if(fileRowMap!=null) {
for (String positionName : positionNameList) {
// if (nodeRowMap.getString("ROLE").equals(positionID) ||
// nodeRowMap.getString("POST").equals(positionID)) {
if (nodeRowMap.getString("POST").contains(positionName)) {
nodeMap = new HashMap<String, Object>();
model = PALRepositoryCache.getCache().get(nodeRowMap.getString("PLID"));
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}
path = "./w" + "?"
+ "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + nodeRowMap.getString("PLID") + "&" + "sid=" + sid + "&"
+ "taskId=" + taskId;
nodeMap.put("NODENAME", nodeRowMap.getString("NODENAME"));
nodeMap.put("PLNAME", nodeRowMap.getString("PLNAME"));
nodeMap.put("NODETYPE", nodeRowMap.getString("NODETYPE"));
nodeMap.put("path", path);
nodeMap.put("ACTIVITYNUMBER", nodeRowMap.getString("ACTIVITYNUMBER"));
nodeMap.put("ACTIVITYDESC", nodeRowMap.getString("ACTIVITYDESC"));
nodeMap.put("ROLENAME", nodeRowMap.getString("ROLE"));
nodeMap.put("POSTNAME", nodeRowMap.getString("POST"));
nodeMaps.add(nodeMap);
}
UoPProcessMap = new HashMap<String, Object>();
fileType = "process";
model = PALRepositoryCache.getCache().get(fileRowMap.getString("FILEID"));
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}
path = "./w" + "?"
+ "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + fileRowMap.getString("FILEID") + "&" + "sid=" + sid + "&"
+ "taskId=" + taskId;
UoPProcessMap.put("id", fileRowMap.getString("FILEID"));
UoPProcessMap.put("text", fileRowMap.getString("PLNAME"));
UoPProcessMap.put("path", path);
UoPProcessMap.put("RELEVANTFILE", fileRowMap.getString("RELEVANTFILE"));
UoPProcessMap.put("SUPPORTFILE", fileRowMap.getString("SUPPORTFILE"));
UoPProcessMap.put("PROCESSKPI", fileRowMap.getString("PROCESSKPI"));
UoPProcessMap.put("fileType", fileType);
UoPProcessMap.put("PARENTID", rootuuId);
UoPProcessMaps.add(UoPProcessMap);
}
}
for (String positionName : positionNameList) {
// if (nodeRowMap.getString("ROLE").equals(positionID) ||
// nodeRowMap.getString("POST").equals(positionID)) {
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 '%"
+ positionName + "%'");
for (RowMap nodeRowMap : nodeRowMaps) {
String plId = nodeRowMap.getString("PLID");
RowMap fileRowMap = DBSql.getMap(
"SELECT FILESTATE,FILEID,PLNAME,PLMETHODID,PLLEVEL,PLORDERINDEX,RELEVANTFILE,SUPPORTFILE,PROCESSKPI FROM BO_EU_PAL_FILE1 WHERE FILEID = '"
+ plId + "'");
if (fileRowMap != null) {
if ("0".equals(fileRowMap.getString("FILESTATE"))) {
continue;
}
nodeMap = new HashMap<String, Object>();
model = PALRepositoryCache.getCache().get(plId);
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}
path = "./w" + "?" + "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + nodeRowMap.getString("PLID") + "&" + "sid=" + sid + "&" + "taskId="
+ taskId;
nodeMap.put("NODENAME", nodeRowMap.getString("NODENAME"));
nodeMap.put("PLNAME", nodeRowMap.getString("PLNAME"));
nodeMap.put("NODETYPE", nodeRowMap.getString("NODETYPE"));
nodeMap.put("path", path);
nodeMap.put("ACTIVITYNUMBER", nodeRowMap.getString("ACTIVITYNUMBER"));
nodeMap.put("ACTIVITYDESC", nodeRowMap.getString("ACTIVITYDESC"));
nodeMap.put("ROLENAME", nodeRowMap.getString("ROLE"));
nodeMap.put("POSTNAME", nodeRowMap.getString("POST"));
nodeMaps.add(nodeMap);
UoPProcessMap = new HashMap<String, Object>();
fileType = "process";
model = PALRepositoryCache.getCache().get(fileRowMap.getString("FILEID"));
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}
path = "./w" + "?" + "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + fileRowMap.getString("FILEID") + "&" + "sid=" + sid + "&" + "taskId="
+ taskId;
UoPProcessMap.put("id", fileRowMap.getString("FILEID"));
UoPProcessMap.put("text", fileRowMap.getString("PLNAME"));
UoPProcessMap.put("path", path);
UoPProcessMap.put("RELEVANTFILE", fileRowMap.getString("RELEVANTFILE"));
UoPProcessMap.put("SUPPORTFILE", fileRowMap.getString("SUPPORTFILE"));
UoPProcessMap.put("PROCESSKPI", fileRowMap.getString("PROCESSKPI"));
UoPProcessMap.put("fileType", fileType);
UoPProcessMap.put("PARENTID", rootuuId);
UoPProcessMaps.add(UoPProcessMap);
}
}
}
long end = System.currentTimeMillis();
System.err.println("个人视图(岗位流程)查询用时=========>"+(end-start)/1000+"");
System.err.println("个人视图(岗位流程)查询用时=========>" + (end - start) / 1000 + "");
UoPProcessMaps = UoPProcessMaps.stream()
.collect(collectingAndThen(
toCollection(() -> new TreeSet<>(Comparator.comparing(o -> String.valueOf(o.get("id"))))),
@ -553,31 +561,30 @@ public class DataViewService extends ActionWeb {
}
}
nodeAMaps = new ArrayList<>();
nodeBMaps = new ArrayList<>();
if (null != nodeMaps && !nodeMaps.isEmpty()) {
for (Map nodeReturnMap : nodeMaps) {
nodeTempMap = new HashMap<String, Object>();
String NODETYPE = String.valueOf(nodeReturnMap.get("NODETYPE"));
if (NODETYPE.equals("method_approval_node") || NODETYPE.equals("method_service_node")) {
nodeTempMap = nodeReturnMap;
nodeAMaps.add(nodeTempMap);
} else if (NODETYPE.equals("method_approval_node3") || NODETYPE.equals("method_service_node4")) {
nodeTempMap = nodeReturnMap;
nodeBMaps.add(nodeTempMap);
}
nodeAMaps = new ArrayList<>();
nodeBMaps = new ArrayList<>();
if (null != nodeMaps && !nodeMaps.isEmpty()) {
for (Map nodeReturnMap : nodeMaps) {
nodeTempMap = new HashMap<String, Object>();
String NODETYPE = String.valueOf(nodeReturnMap.get("NODETYPE"));
if (NODETYPE.equals("method_approval_node") || NODETYPE.equals("method_service_node")) {
nodeTempMap = nodeReturnMap;
nodeAMaps.add(nodeTempMap);
} else if (NODETYPE.equals("method_approval_node3") || NODETYPE.equals("method_service_node4")) {
nodeTempMap = nodeReturnMap;
nodeBMaps.add(nodeTempMap);
}
}
totalNum = nodeMaps.size();
aNum = nodeAMaps.size();
bNum = nodeBMaps.size();
ro.put("totalNodeNum", totalNum);
ro.put("totalNode", nodeMaps);
ro.put("typeANum", aNum);
ro.put("typeA", nodeAMaps);
ro.put("typeBNum", bNum);
ro.put("typeB", nodeBMaps);
}
totalNum = nodeMaps.size();
aNum = nodeAMaps.size();
bNum = nodeBMaps.size();
ro.put("totalNodeNum", totalNum);
ro.put("totalNode", nodeMaps);
ro.put("typeANum", aNum);
ro.put("typeA", nodeAMaps);
ro.put("typeBNum", bNum);
ro.put("typeB", nodeBMaps);
// 岗位流程/我的流程
} else {
@ -592,72 +599,72 @@ public class DataViewService extends ActionWeb {
UoPProcessMap.put("fileType", "UoPProcess");
UoPProcessMaps.add(UoPProcessMap);
long start = System.currentTimeMillis();
List<RowMap> nodeRowMaps = DBSql.getMaps(
"SELECT NODEID,NODENAME,NODETYPE,PLID,PLNAME,ACTIVITYNUMBER,ACTIVITYDESC,ROLE,ROLENAME,POST,POSTNAME FROM BO_EU_PAL_FILENODE5");
String POSITION_NAME = UserContext.fromUID(uid).getUserModel().getPositionName();
if (UtilString.isNotEmpty(POSITION_NAME)) {
for (RowMap nodeRowMap : nodeRowMaps) {
String PLID = nodeRowMap.getString("PLID");
RowMap fileRowMap = DBSql.getMap("SELECT FILEID,PLNAME,PLMETHODID,PLLEVEL,PLORDERINDEX,RELEVANTFILE,SUPPORTFILE,PROCESSKPI FROM BO_EU_PAL_FILE1 WHERE FILEID = '"+PLID+"'");
count++;
if(fileRowMap!=null) {
if (nodeRowMap.getString("POST").contains(POSITION_NAME)) {
// if (nodeRowMap.getString("ROLE").equals(positionID) ||
// nodeRowMap.getString("POST").equals(positionID)) {
nodeMap = new HashMap<String, Object>();
model = PALRepositoryCache.getCache().get(nodeRowMap.getString("PLID"));
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}
path = "./w" + "?"
+ "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + nodeRowMap.getString("PLID") + "&" + "sid=" + sid + "&"
+ "taskId=" + taskId;
nodeMap.put("NODENAME", nodeRowMap.getString("NODENAME"));
nodeMap.put("PLNAME", nodeRowMap.getString("PLNAME"));
nodeMap.put("NODETYPE", nodeRowMap.getString("NODETYPE"));
nodeMap.put("path", path);
nodeMap.put("ACTIVITYNUMBER", nodeRowMap.getString("ACTIVITYNUMBER"));
nodeMap.put("ACTIVITYDESC", nodeRowMap.getString("ACTIVITYDESC"));
nodeMap.put("ROLENAME", nodeRowMap.getString("ROLE"));
nodeMap.put("POSTNAME", nodeRowMap.getString("POST"));
nodeMaps.add(nodeMap);
UoPProcessMap = new HashMap<String, Object>();
fileType = "process";
model = PALRepositoryCache.getCache().get(PLID);
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}
path = "./w" + "?"
+ "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + PLID + "&" + "sid=" + sid + "&"
+ "taskId=" + taskId;
UoPProcessMap.put("id", PLID);
UoPProcessMap.put("text", fileRowMap.getString("PLNAME"));
UoPProcessMap.put("path", path);
UoPProcessMap.put("RELEVANTFILE", fileRowMap.getString("RELEVANTFILE"));
UoPProcessMap.put("SUPPORTFILE", fileRowMap.getString("SUPPORTFILE"));
UoPProcessMap.put("PROCESSKPI", fileRowMap.getString("PROCESSKPI"));
UoPProcessMap.put("fileType", fileType);
UoPProcessMap.put("PARENTID", rootuuId);
UoPProcessMaps.add(UoPProcessMap);
}
}
if (UtilString.isNotEmpty(POSITION_NAME)) {
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 '%"
+ POSITION_NAME + "%'");
for (RowMap nodeRowMap : nodeRowMaps) {
String PLID = nodeRowMap.getString("PLID");
RowMap fileRowMap = DBSql.getMap(
"SELECT FILESTATE,FILEID,PLNAME,PLMETHODID,PLLEVEL,PLORDERINDEX,RELEVANTFILE,SUPPORTFILE,PROCESSKPI FROM BO_EU_PAL_FILE1 WHERE FILEID = '"
+ PLID + "'");
count++;
if (fileRowMap != null) {
if ("0".equals(fileRowMap.getString("FILESTATE"))) {
continue;
}
// if (nodeRowMap.getString("ROLE").equals(positionID) ||
// nodeRowMap.getString("POST").equals(positionID)) {
nodeMap = new HashMap<String, Object>();
model = PALRepositoryCache.getCache().get(nodeRowMap.getString("PLID"));
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}else {
}
path = "./w" + "?" + "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + nodeRowMap.getString("PLID") + "&" + "sid=" + sid + "&" + "taskId="
+ taskId;
nodeMap.put("NODENAME", nodeRowMap.getString("NODENAME"));
nodeMap.put("PLNAME", nodeRowMap.getString("PLNAME"));
nodeMap.put("NODETYPE", nodeRowMap.getString("NODETYPE"));
nodeMap.put("path", path);
nodeMap.put("ACTIVITYNUMBER", nodeRowMap.getString("ACTIVITYNUMBER"));
nodeMap.put("ACTIVITYDESC", nodeRowMap.getString("ACTIVITYDESC"));
nodeMap.put("ROLENAME", nodeRowMap.getString("ROLE"));
nodeMap.put("POSTNAME", nodeRowMap.getString("POST"));
nodeMaps.add(nodeMap);
UoPProcessMap = new HashMap<String, Object>();
fileType = "process";
model = PALRepositoryCache.getCache().get(PLID);
if (null != model) {
if (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册
taskId = getLastPublishTaskIdByModelId(model.getId());
}
}
path = "./w" + "?" + "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + PLID + "&" + "sid=" + sid + "&" + "taskId=" + taskId;
UoPProcessMap.put("id", PLID);
UoPProcessMap.put("text", fileRowMap.getString("PLNAME"));
UoPProcessMap.put("path", path);
UoPProcessMap.put("RELEVANTFILE", fileRowMap.getString("RELEVANTFILE"));
UoPProcessMap.put("SUPPORTFILE", fileRowMap.getString("SUPPORTFILE"));
UoPProcessMap.put("PROCESSKPI", fileRowMap.getString("PROCESSKPI"));
UoPProcessMap.put("fileType", fileType);
UoPProcessMap.put("PARENTID", rootuuId);
UoPProcessMaps.add(UoPProcessMap);
}
}
} else {
ro.info("当前用户未设置岗位");
}
long end = System.currentTimeMillis();
System.err.println("个人视图(我的流程)查询用时=========>"+(end-start)/1000+"");
System.err.println("个人视图(我的流程)查询用时=========>" + (end - start) / 1000 + "");
UoPProcessMaps = UoPProcessMaps.stream()
.collect(collectingAndThen(
toCollection(() -> new TreeSet<>(Comparator.comparing(o -> String.valueOf(o.get("id"))))),
@ -929,31 +936,31 @@ public class DataViewService extends ActionWeb {
ro.info("您的岗位暂无需执行的流程");
}
}
nodeAMaps = new ArrayList<>();
nodeBMaps = new ArrayList<>();
if (null != nodeMaps && !nodeMaps.isEmpty()) {
for (Map nodeReturnMap : nodeMaps) {
nodeTempMap = new HashMap<String, Object>();
String NODETYPE = String.valueOf(nodeReturnMap.get("NODETYPE"));
if (NODETYPE.equals("method_approval_node") || NODETYPE.equals("method_service_node")) {
nodeTempMap.putAll(nodeReturnMap);
nodeAMaps.add(nodeTempMap);
} else if (NODETYPE.equals("method_approval_node3") || NODETYPE.equals("method_service_node4")) {
nodeTempMap.putAll(nodeReturnMap);
nodeBMaps.add(nodeTempMap);
}
nodeAMaps = new ArrayList<>();
nodeBMaps = new ArrayList<>();
if (null != nodeMaps && !nodeMaps.isEmpty()) {
for (Map nodeReturnMap : nodeMaps) {
nodeTempMap = new HashMap<String, Object>();
String NODETYPE = String.valueOf(nodeReturnMap.get("NODETYPE"));
if (NODETYPE.equals("method_approval_node") || NODETYPE.equals("method_service_node")) {
nodeTempMap.putAll(nodeReturnMap);
nodeAMaps.add(nodeTempMap);
} else if (NODETYPE.equals("method_approval_node3") || NODETYPE.equals("method_service_node4")) {
nodeTempMap.putAll(nodeReturnMap);
nodeBMaps.add(nodeTempMap);
}
}
totalNum = nodeMaps.size();
aNum = nodeAMaps.size();
bNum = nodeBMaps.size();
ro.put("totalNodeNum", totalNum);
ro.put("totalNode", nodeMaps);
ro.put("typeANum", aNum);
ro.put("typeA", nodeAMaps);
ro.put("typeBNum", bNum);
ro.put("typeB", nodeBMaps);
}
totalNum = nodeMaps.size();
aNum = nodeAMaps.size();
bNum = nodeBMaps.size();
ro.put("totalNodeNum", totalNum);
ro.put("totalNode", nodeMaps);
ro.put("typeANum", aNum);
ro.put("typeA", nodeAMaps);
ro.put("typeBNum", bNum);
ro.put("typeB", nodeBMaps);
}
return ro.toString();
}
@ -1056,6 +1063,7 @@ public class DataViewService extends ActionWeb {
String deptString = params.get("dept");
String fileType = params.get("fileType");
ArrayList<String> deptIDList = new ArrayList<>();
ArrayList<String> deptIDList2 = new ArrayList<>();
String sql = "SELECT ID AS FILEID,PLNAME,PLPARENTID,PLMETHODID,PLLEVEL,PLVERSIONID,PLORDERINDEX,EXT3 as POLICYTYPE FROM APP_ACT_COE_PAL_REPOSITORY WHERE ISPUBLISH = 1 AND ISSTOP =0 AND EXT5 = '1' AND (PLMETHODID='process.epc' OR PLMETHODID='control.policy' OR PLMETHODID='process.flowchart')";
ArrayList<RowMap> fileHandleRowMaps = new ArrayList<>();
Map<String, Object> reFileMap = new HashMap<>();
@ -1075,88 +1083,83 @@ public class DataViewService extends ActionWeb {
deptIDList = new ArrayList<String>();
deptIDList = GetNodesUtil.getChildDept(ucDeptID, deptIDList);
if (deptIDList != null) {
deptIDList2 = deptIDList;
deptString = deptIDList.toString();
}
}
System.err.println("查询部门视图===>" + fileListMap.size());
for (RowMap rowMap : fileListMap) {
String sqlParm = deptString;
if (UtilString.isNotEmpty(deptString)) {
if (deptString.contains(",")) {
StringBuffer sbu = new StringBuffer();
net.sf.json.JSONArray jsonArry = net.sf.json.JSONArray.fromObject(deptString);
for (int i = 0; i < jsonArry.size(); i++) {
if (jsonArry.size() == 1) {
sbu.append("'").append(jsonArry.getString(i)).append("'");
} else {
if (i == jsonArry.size() - 1) {
sbu.append("'").append(jsonArry.getString(i)).append("'");
} else {
sbu.append("'").append(jsonArry.getString(i)).append("'").append(",");
String id = rowMap.getString("FILEID");
/*
* String plVersionId = rowMap.getString("PLVERSIONID"); String sqly =
* "SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLVERSIONID = '" +
* plVersionId + "'"; List<RowMap> maps = DBSql.getMaps(sqly); if (maps.size() >
* 1) { String sqlu =
* "SELECT ID FROM (SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLVERSIONID = '"
* + plVersionId + "' AND ISPUBLISH ='1' ORDER BY PLVER DESC ) WHERE ROWNUM<2";
* String palId = DBSql.getString(sqlu); if (UtilString.isNotEmpty(palId)) { if
* (!id.equals(palId)) { continue; } } }
*/
PALRepositoryModel model = PALRepositoryCache.getCache().get(id);
if (model != null) {
try {
Integer PLLEVEL = model.getLevel();
String methodId = model.getMethodId();
Map<String, JSONObject> queryRepositoryAttributeById = new RepositoryAttribute()
.queryRepositoryAttributeById(model.getId());
if (null != queryRepositoryAttributeById && !queryRepositoryAttributeById.isEmpty()) {
// 发布部门
JSONObject Issuing_department = queryRepositoryAttributeById.get("Issuing_department");
if (null != Issuing_department && !Issuing_department.equals("")) {
JSONArray PUBDEPTJA = Issuing_department.getJSONArray("value");
if (null != PUBDEPTJA && !PUBDEPTJA.isEmpty()) {
for (Object PUBDEPTO : PUBDEPTJA) {
JSONObject PUBDEPTJO = JSONObject.parseObject(String.valueOf(PUBDEPTO));
dempId = PUBDEPTJO.getString("id");
if (deptString.contains(dempId)) {
// 默认添加所在部门的所有文件
fileHandleRowMaps.add(rowMap);
if ("process.epc".equals(methodId)
|| "process.flowchart".equals(methodId)) {
// 支持文件
getArrt("support_files", model, dempId, PLLEVEL, reFileRowMap,
fileHandleRowMaps);
// 相关文件
getArrt("R_relevant_flies", model, dempId, PLLEVEL, reFileRowMap,
fileHandleRowMaps);
} else if ("control.policy".equals(methodId)) {
// 支持文件
getArrt("support_files", model, dempId, PLLEVEL, reFileRowMap,
fileHandleRowMaps);
// 相关文件
getArrt("related_files", model, dempId, PLLEVEL, reFileRowMap,
fileHandleRowMaps);
}
}
}
}
}
}
} catch (Exception e) {
System.err.println("==有问题的模型===>" + model.getName());
// TODO: handle exception
}
sqlParm = sbu.toString();
} else {
sqlParm = "'" + deptString.replace("[", "").replace("]", "") + "'";
}
}
System.err.println("=========sqlParm=========" + sqlParm);
try {
String sqltt = "SELECT ID AS FILEID,PLNAME,PLPARENTID,PLMETHODID,PLLEVEL,PLVERSIONID,PLORDERINDEX,EXT3 as POLICYTYPE FROM APP_ACT_COE_PAL_REPOSITORY WHERE ISPUBLISH = 1 AND ISSTOP =0 AND EXT5 = '1' AND EXT6 IN (" + sqlParm + ") AND (PLMETHODID='process.epc' OR PLMETHODID='control.policy' OR PLMETHODID='process.flowchart')";
List<RowMap> maps = DBSql.getMaps(sqltt);
System.err.println("=========maps=======" + maps.size());
for (RowMap rowMap : maps) {
String id = rowMap.getString("FILEID");
PALRepositoryModel model = PALRepositoryCache.getCache().get(id);
if (model != null) {
try {
Integer PLLEVEL = model.getLevel();
String methodId = model.getMethodId();
// 默认添加所在部门的所有文件
fileHandleRowMaps.add(rowMap);
if ("process.epc".equals(methodId) || "process.flowchart".equals(methodId)) {
// 支持文件
getArrt("support_files", model, dempId, PLLEVEL, reFileRowMap, fileHandleRowMaps);
// 相关文件
getArrt("R_relevant_flies", model, dempId, PLLEVEL, reFileRowMap,
fileHandleRowMaps);
} else if ("control.policy".equals(methodId)) {
// 支持文件
getArrt("support_files", model, dempId, PLLEVEL, reFileRowMap, fileHandleRowMaps);
// 相关文件
getArrt("related_files", model, dempId, PLLEVEL, reFileRowMap, fileHandleRowMaps);
}
} catch (Exception e) {
System.err.println("==有问题的模型===>" + model.getName());
// TODO: handle exception
}
}
}
} catch (Exception e) {
// TODO: handle exception
}
System.err.println("查询部门视图===>" + fileListMap.size());
fileRowMaps = fileHandleRowMaps;
long endTime = System.currentTimeMillis();
// System.err.println("------测试1---------" + fileHandleRowMaps);
// System.err.println("------测试2---------" + fileRowMaps);
// System.out.println("代码段执行时间:" + (endTime - startTime) + "ms");
// System.err.println("=========fileRowMaps1========>"+fileRowMaps);
// System.err.println("=========fileType========>"+fileType);
if (null != fileRowMaps && fileRowMaps.size() > 0) {
if (null != fileType && !fileType.equals("")) {
fileHandleRowMaps = new ArrayList<>();
// System.err.println("=====fileRowMaps2========"+fileRowMaps);
if (null != fileRowMaps && !fileRowMaps.isEmpty()) {
for (RowMap fileRowMap : fileRowMaps) {
if (fileType.equals("processFile")) {