伊利集成,数据看板代码上传

This commit is contained in:
lihongyu 2022-12-30 17:28:01 +08:00
parent 27b8b76cea
commit c35629be39
12 changed files with 7244 additions and 305 deletions

View File

@ -525,7 +525,7 @@ public class GetmeritsController {
String[] plid = dleass.split(",");
for (String ikds:plid
) {
String sqls3 = "select * from APP_ACT_COE_PAL_REPOSITORY where CREATEUSER = 'admin' AND PLPARENTID = "+ikds+" AND PLCATEGORY = 'process'and PLMETHODID ='process.framework' and PLNAME not in ('流程架构图','测试用','GMY-截图用','sx批量测试' ,'8.2培训使用','用户练习使用','YX测试分部','yx测试人员','yx测试部','流程架构测试') and PLPARENTID not in ('63ff93c6-2f27-4851-a396-6830c428db2e', 'c84f497a-4de3-4404-86e8-cd5af71c3b47','94dabf55-b032-4316-a4c3-00b83763da09', '36ac7cdd-a361-4bd3-9511-c03c1b3627a4','84e534b4-e51a-4874-9ff1-8a0206d9e0c5', '98bd5917-7563-4b29-b775-815e91d9864c','f07da63c-3423-4c1e-ae75-b323c6a69093', '79cb4c35-d2f7-4c43-a7db-44038b557eac','7ad79a73-a497-417a-a5ec-d4c9fd45061c', '42c09260-c1d3-44b7-ac3d-f8280e04c294') order by PLORDERINDEX asc";
String sqls3 = "select * from APP_ACT_COE_PAL_REPOSITORY where CREATEUSER = 'admin' AND PLPARENTID = "+ikds+" AND PLCATEGORY = 'process'and PLMETHODID ='process.framework' and PLNAME not in ('流程架构图','测试用','GMY-截图用','sx批量测试','8.2培训使用','用户练习使用','YX测试分部','yx测试人员','yx测试部','流程架构测试') and PLPARENTID not in ('63ff93c6-2f27-4851-a396-6830c428db2e', 'c84f497a-4de3-4404-86e8-cd5af71c3b47','94dabf55-b032-4316-a4c3-00b83763da09', '36ac7cdd-a361-4bd3-9511-c03c1b3627a4','84e534b4-e51a-4874-9ff1-8a0206d9e0c5', '98bd5917-7563-4b29-b775-815e91d9864c','f07da63c-3423-4c1e-ae75-b323c6a69093', '79cb4c35-d2f7-4c43-a7db-44038b557eac','7ad79a73-a497-417a-a5ec-d4c9fd45061c', '42c09260-c1d3-44b7-ac3d-f8280e04c294') order by PLORDERINDEX asc";
List<RowMap> mapss = DBSql.getMaps(sqls3);
for (RowMap rowmaps : mapss) {

View File

@ -332,9 +332,6 @@ public class TaskController {
// jsonObject1.put("size","12k");
jsonArray.add(jsonObject1);
}
num++;
}
@ -440,11 +437,11 @@ public class TaskController {
jsonObject.put("taskId", id);
jsonArray.add(jsonObject);
String sql_upfile ="select * from APP_ACT_COE_PAL_UPFILE where palrepositoryid in (select ID from APP_ACT_COE_PAL_REPOSITORY where ID= '"+bo.getString("PUBLISHFILEID")+"'" + ") ORDER BY CREATETIME ASC";
String sql_upfile ="select * from APP_ACT_COE_PAL_UPFILE where palrepositoryid in (select ID from APP_ACT_COE_PAL_REPOSITORY where ID= '"+bo.get("CHANGEDFILEIDNEW")+"'" + ") ORDER BY CREATETIME ASC";
String methodId = DBSql.getString("select PLMETHODID from APP_ACT_COE_PAL_REPOSITORY where ID= '"+bo.getString("PUBLISHFILEID")+"'");
if(UtilString.isNotEmpty(methodId)) {
if(methodId.equals("control.policy")) {
sql_upfile = "select * from APP_ACT_COE_PAL_UPFILE where palrepositoryid in (select ID from APP_ACT_COE_PAL_REPOSITORY where ID= '"+bo.getString("PUBLISHFILEID")+"') AND FILETYPE = 'f' ORDER BY CREATETIME ASC";
sql_upfile = "select * from APP_ACT_COE_PAL_UPFILE where palrepositoryid in (select ID from APP_ACT_COE_PAL_REPOSITORY where ID= '"+bo.get("CHANGEDFILEIDNEW")+"') AND FILETYPE = 'f' ORDER BY CREATETIME ASC";
}
}
//String sql_upfile = "select * from APP_ACT_COE_PAL_UPFILE where palrepositoryid in (select ID from APP_ACT_COE_PAL_REPOSITORY where ID= '"+bo.getString("PUBLISHFILEID")+"') AND FILETYPE = 'f'";

View File

@ -18,13 +18,11 @@ import org.quartz.JobExecutionException;
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil;
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
import com.actionsoft.bpms.api.Utils;
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.actionsoft.sdk.local.SDK;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.awspaas.user.apps.yili.reportform.util.CheckUtil;
@ -41,7 +39,6 @@ public class SyncData implements IJob {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
SDK.getLogAPI().consoleInfo("全量定时同步文件信息开始执行");
long startTime = System.currentTimeMillis();
Date nowDateJ = new Date(System.currentTimeMillis());
@ -98,12 +95,7 @@ public class SyncData implements IJob {
ArrayList<Map<String, ?>> newFileDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> delFileDataMaps = new ArrayList<>();
ArrayList<String> fromFileDataIDMaps = new ArrayList<>();
ArrayList<Map<String, ?>> oldNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> newNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> delNodeDataMaps = new ArrayList<>();
ArrayList<String> fromNodeDataIDMaps = new ArrayList<>();
HashMap<String, Object> dataMap = new HashMap<>();
Object[] sqlParams = new Object[]{};
//获取底表数据
List<String> frameIdList = DBSql.getList("SELECT FRAMEID FROM BO_EU_PAL_FRAME", String.class);
SDK.getLogAPI().consoleInfo("架构底表长度:" + frameIdList.size());
@ -426,161 +418,6 @@ public class SyncData implements IJob {
dataMap.put("POLICYTYPE", POLICYTYPE);
newFileDataMaps.add(dataMap);
}
//更新/新增节点
nodeElements = new ArrayList<>();
if(PLMETHODID.equals("process.epc")) {
try {
nodeElements = CoeDesignerUtil.getShapeMessageJson4(FILEID);
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取节点属性过程中,"+"文件ID"+FILEID+"获取节点形状属性异常");
}
}
//同步角色岗位
if (null != nodeElements && !nodeElements.isEmpty()) {
for (Map<String, Object> nodeElement : nodeElements) {
String NODETYPE = String.valueOf(nodeElement.get("type"));
if (NODETYPE.equals("method_approval_node") || NODETYPE.equals("method_service_node") || NODETYPE.equals("method_approval_node3") || NODETYPE.equals("method_service_node4")) {
//节点信息
String NODEID = String.valueOf(nodeElement.get("id"));
String NODENAME = String.valueOf(nodeElement.get("name"));
//形状属性数组
JSONArray attributesArray = JSON.parseArray(String.valueOf(nodeElement.get("attributes")));
//形状属性信息系统活动序号活动描述角色岗位
String ITSYSVAL = "";
String ACTIVITYNUMBER = "";
String ACTIVITYDESC = "";
String ROLE = "";
String ROLENAME = "";
String POST = "";
String POSTNAME = "";
if (null != attributesArray && !attributesArray.isEmpty()) {
for (Object attribute : attributesArray) {
JSONObject attributeJO = JSON.parseObject(String.valueOf(attribute));
String SHAPEATTRKEY = attributeJO.getString("key");
if (SHAPEATTRKEY.equals("information_systems")) {
ITSYSVAL = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("activity_number")) {
ACTIVITYNUMBER = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("activity_description")) {
ACTIVITYDESC = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("role")) {
String nodeRoleText = attributeJO.getString("value");
ROLE = nodeRoleText;
if (null!=ROLE && !ROLE.equals("")) {
sqlParams = new Object[]{FILEID};
List<RowMap> roleFileRowMaps = new ArrayList<>();
try {
roleFileRowMaps = DBSql.getMaps("SELECT RELATIONFILEID FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE FILEID=? AND ATTRID='role'", sqlParams);
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取流程节点角色属性关联文件时"+"文件ID"+FILEID+"节点ID"+NODEID+"异常");
}
if (null!=roleFileRowMaps && !roleFileRowMaps.isEmpty()) {
for (RowMap roleFileRowMap : roleFileRowMaps) {
String RELATIONFILEID = roleFileRowMap.getString("RELATIONFILEID");
//角色文件属性
List<Map<String, Object>> roleShapes = new ArrayList<>();
try {
roleShapes = CoeDesignerUtil.getShapeMessageJson4(RELATIONFILEID);
} catch (Exception e) {
//SDK.getLogAPI().consoleInfo("获取关联角色文件属性"+"文件ID"+RELATIONFILEID+"异常");
}
if (null != roleShapes && !roleShapes.isEmpty()) {
for (Map<String, Object> roleShape : roleShapes) {
String roleFileNodeName = String.valueOf(roleShape.get("name"));
if (nodeRoleText.contains(roleFileNodeName)) {
//角色节点形状属性
JSONArray roleShapeJA = null;
try {
roleShapeJA = JSONArray.parseArray(String.valueOf(roleShape.get("attributes")));
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取角色节点形状属性jsonArray"+"文件ID"+RELATIONFILEID+"异常");
}
if (null != roleShapeJA && !roleShapeJA.isEmpty()) {
for (Object roleShapeO : roleShapeJA) {
JSONObject roleShapeJO = JSON.parseObject(String.valueOf(roleShapeO));
String roleShapeKey = roleShapeJO.getString("key");
if (roleShapeKey.equals("post")) {
//SDK.getLogAPI().consoleInfo("角色岗位"+roleShapeJO.getString("value"));
POST = roleShapeJO.getString("value");
}
if (roleShapeKey.equals("post_text")) {
//SDK.getLogAPI().consoleInfo("角色岗位文本"+roleShapeJO);
ROLENAME = roleShapeJO.getString("value");
POSTNAME = roleShapeJO.getString("value");
}
}
}
}
}
}
}
}
} else {
for (Object attribute1 : attributesArray) {
JSONObject attributeJO1 = JSON.parseObject(String.valueOf(attribute1));
String SHAPEATTRKEY1 = attributeJO1.getString("key");
if (SHAPEATTRKEY1.equals("post")) {
POST = attributeJO1.getString("value");
}
if (SHAPEATTRKEY1.equals("post_text")) {
POSTNAME = attributeJO1.getString("value");
}
}
}
}
}
}
fromNodeDataIDMaps.add(NODEID);
if (nodeIdList.contains(NODEID)) {
dataMap = new HashMap<>();
nowDateJ = new Date(System.currentTimeMillis());
Timestamp nowDateTime = new Timestamp(nowDateJ.getTime());
dataMap.put("UPDATEDATE", nowDateTime);
dataMap.put("NODENAME", NODENAME);
dataMap.put("NODETYPE", NODETYPE);
dataMap.put("PLNAME", PLNAME);
dataMap.put("NODECATEGORY", PLMETHODID);
dataMap.put("ITSYSVAL", ITSYSVAL);
dataMap.put("ACTIVITYNUMBER", ACTIVITYNUMBER);
dataMap.put("ACTIVITYDESC", ACTIVITYDESC);
dataMap.put("ROLE", ROLE);
dataMap.put("ROLENAME", ROLENAME);
dataMap.put("POST", POST);
dataMap.put("POSTNAME", POSTNAME);
dataMap.put("PLID", FILEID);
dataMap.put("NODEID", NODEID);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
oldNodeDataMaps.add(dataMap);
} else {
dataMap = new HashMap<>();
uuId = SDK.getRuleAPI().executeAtScript("@uuid()");
dataMap.put("uuId", uuId);
dataMap.put("NODEID", NODEID);
dataMap.put("NODENAME", NODENAME);
dataMap.put("NODETYPE", NODETYPE);
dataMap.put("PLID", FILEID);
dataMap.put("PLNAME", PLNAME);
dataMap.put("NODECATEGORY", PLMETHODID);
dataMap.put("ITSYSVAL", ITSYSVAL);
dataMap.put("ACTIVITYNUMBER", ACTIVITYNUMBER);
dataMap.put("ACTIVITYDESC", ACTIVITYDESC);
dataMap.put("ROLE", ROLE);
dataMap.put("POST", POST);
dataMap.put("ROLENAME", ROLENAME);
dataMap.put("POSTNAME", POSTNAME);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
newNodeDataMaps.add(dataMap);
}
}
}
}
}
}
@ -642,34 +479,6 @@ public class SyncData implements IJob {
SDK.getLogAPI().consoleInfo("新增文件" + newFileDataMaps.size());
SDK.getLogAPI().consoleInfo("修改文件" + oldFileDataMaps.size());
SDK.getLogAPI().consoleInfo("删除文件" + delFileDataMaps.size());
if (null != nodeIdList && !nodeIdList.isEmpty()) {
for (String nodeIdOfList : nodeIdList) {
if (!fromNodeDataIDMaps.contains(nodeIdOfList)) {
dataMap = new HashMap<>();
dataMap.put("NODEID", nodeIdOfList);
delNodeDataMaps.add(dataMap);
}
}
}
if (null != oldNodeDataMaps && !oldNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("UPDATE BO_EU_PAL_FILENODE5 SET"
+ " NODENAME=:NODENAME, NODETYPE=:NODETYPE, PLNAME=:PLNAME, NODECATEGORY=:NODECATEGORY, ITSYSVAL=:ITSYSVAL, "
+ " ACTIVITYNUMBER=:ACTIVITYNUMBER, ACTIVITYDESC=:ACTIVITYDESC, ROLE=:ROLE, POST=:POST, ROLENAME=:ROLENAME, POSTNAME=:POSTNAME, MODIFYDATETIME=:MODIFYDATETIME, UPDATEDATE=:UPDATEDATE "
+ " WHERE PLID=:PLID AND NODEID=:NODEID", oldNodeDataMaps);
}
if (null != newNodeDataMaps && !newNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("INSERT INTO BO_EU_PAL_FILENODE5"
+ " (ID, NODEID, NODENAME, NODETYPE, PLID, PLNAME, NODECATEGORY, ITSYSVAL, ACTIVITYNUMBER, ACTIVITYDESC, ROLE, POST, ROLENAME, POSTNAME, MODIFYDATETIME) "
+ " VALUES(:uuId, :NODEID, :NODENAME, :NODETYPE, :PLID, :PLNAME, :NODECATEGORY, :ITSYSVAL, :ACTIVITYNUMBER, :ACTIVITYDESC, :ROLE, :POST, :ROLENAME, :POSTNAME, :MODIFYDATETIME)", newNodeDataMaps);
}
if (null != delNodeDataMaps && !delNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("DELETE FROM BO_EU_PAL_FILENODE5 WHERE NODEID=:NODEID", delNodeDataMaps);
}
SDK.getLogAPI().consoleInfo("新增节点" + newNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("修改节点" + oldNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("删除节点" + delNodeDataMaps.size());
long endTime = System.currentTimeMillis();
SDK.getLogAPI().consoleInfo("结束时间" + endTime);
SDK.getLogAPI().consoleInfo("运行时间" + (endTime - startTime));

View File

@ -4,17 +4,22 @@ import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil;
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.schedule.IJob;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.sdk.local.SDK;
import com.alibaba.fastjson.JSON;
@ -34,22 +39,62 @@ public class SyncData_job implements IJob {
syncNodeData();
}
//同步节点数据到 BO_EU_PAL_FILENODE6
//同步节点数据到 BO_EU_PAL_FILENODE5
public void syncNodeData() {
DBSql.update("DELETE FROM BO_EU_NODESYN_EXCEPTION");
DBSql.update("DELETE FROM BO_EU_PAL_FILENODE5");
HashMap<String, Object> dataMap = new HashMap<>();
ArrayList<String> fromNodeDataIDMaps = new ArrayList<>();
List<PALRepositoryModel> palTotalList = new ArrayList<>();
ArrayList<Map<String, ?>> oldNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> newNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> delNodeDataMaps = new ArrayList<>();
String wsId = "7d3ca852-a0bd-42e6-80b1-3dcea6f55083";
//总文件集合
String process = "process";
String org = "org";
String data = "data";
String itsystem = "itsystem";
String control = "control";
List<PALRepositoryModel> palProcessList = new ArrayList<>();
Set<String> palProcessIds = new HashSet<>();
List<PALRepositoryModel> palOrgList = new ArrayList<>();
Set<String> palOrgIds = new HashSet<>();
List<PALRepositoryModel> palDataList = new ArrayList<>();
Set<String> palDataIds = new HashSet<>();
List<PALRepositoryModel> palItsystemList = new ArrayList<>();
Set<String> palItsystemIds = new HashSet<>();
List<PALRepositoryModel> palControlList = new ArrayList<>();
Set<String> palControlIds = new HashSet<>();
PALRepositoryCache.getAllChildrenModelsByPid(wsId, process, palProcessList, palProcessIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, org, palOrgList, palOrgIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, data, palDataList, palDataIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, itsystem, palItsystemList, palItsystemIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, control, palControlList, palControlIds);
//合并为文件总量list
List<PALRepositoryModel> palTotalList = new ArrayList<>();
palTotalList.addAll(palProcessList);
palTotalList.addAll(palOrgList);
palTotalList.addAll(palDataList);
palTotalList.addAll(palItsystemList);
palTotalList.addAll(palControlList);
SDK.getLogAPI().consoleInfo("process下文件数量" + palProcessList.size());
SDK.getLogAPI().consoleInfo("org下文件数量" + palOrgList.size());
SDK.getLogAPI().consoleInfo("data下文件数量" + palDataList.size());
SDK.getLogAPI().consoleInfo("itsystem下文件数量" + palItsystemList.size());
SDK.getLogAPI().consoleInfo("control下文件数量" + palControlList.size());
SDK.getLogAPI().consoleInfo("文件总数量:" + palTotalList.size());
long startTime = System.currentTimeMillis();
List<String> nodeIdList = DBSql.getList("SELECT NODEID FROM BO_EU_PAL_FILENODE6", String.class);
List<String> nodeIdList = DBSql.getList("SELECT NODEID FROM BO_EU_PAL_FILENODE5", String.class);
for (PALRepositoryModel fileModel : palTotalList) {
List<Map<String, Object>> nodeElements = new ArrayList<>();
String PLMETHODID = fileModel.getMethodId();
String FILEID = fileModel.getId();
String PLNAME = fileModel.getName();
String plRid = fileModel.getPlRid();
//String plRid = fileModel.getPlRid();
/*
* if(!fileModel.isPublish()) { continue; }
*/
/*
* String sql =
* "SELECT ID FROM (SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLRID = '"
@ -61,6 +106,24 @@ public class SyncData_job implements IJob {
* DBSql.update(dsql); continue; } }
*/
Timestamp MODIFYDATETIME = fileModel.getModifyDate();
//更新/新增节点
nodeElements = new ArrayList<>();
if(PLMETHODID.equals("process.epc")||PLMETHODID.equals("process.flowchart")) {
try {
nodeElements = CoeDesignerUtil.getShapeMessageJson4(FILEID);
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取节点属性过程中,"+"文件ID"+PLNAME+"=======>获取节点形状属性异常");
}
//System.err.println(PLNAME+"======nodeElements1=======>"+nodeElements);
}
//制度类型
/*
* nodeElements = new ArrayList<>(); if (PLMETHODID.equals("control.policy")) {
* try { nodeElements = CoeDesignerUtil.getShapeMessageJson4(FILEID); } catch
* (Exception e) { SDK.getLogAPI().consoleInfo("获取制度类型过程中," + "文件ID" + FILEID +
* "获取节点形状属性异常"); }
* //System.err.println(PLNAME+"======nodeElements2=======>"+nodeElements); }
*/
//同步角色岗位
if (null != nodeElements && !nodeElements.isEmpty()) {
for (Map<String, Object> nodeElement : nodeElements) {
@ -96,13 +159,13 @@ public class SyncData_job implements IJob {
String nodeRoleText = attributeJO.getString("value");
ROLE = nodeRoleText;
if (null!=ROLE && !ROLE.equals("")) {
Object sqlParams = new Object[]{FILEID};
List<RowMap> roleFileRowMaps = new ArrayList<>();
try {
roleFileRowMaps = DBSql.getMaps("SELECT RELATIONFILEID FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE FILEID=? AND ATTRID='role'", sqlParams);
roleFileRowMaps = DBSql.getMaps("SELECT RELATIONFILEID FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE FILEID='"+FILEID+"' AND ATTRID='role'");
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取流程节点角色属性关联文件时"+"文件ID"+FILEID+"节点ID"+NODEID+"异常");
SDK.getLogAPI().consoleInfo("获取流程节点角色属性关联文件时"+"文件名称:"+PLNAME+"___文件ID"+FILEID+"___节点ID"+NODEID+"异常");
}
if (null!=roleFileRowMaps && !roleFileRowMaps.isEmpty()) {
for (RowMap roleFileRowMap : roleFileRowMaps) {
String RELATIONFILEID = roleFileRowMap.getString("RELATIONFILEID");
@ -137,6 +200,7 @@ public class SyncData_job implements IJob {
//SDK.getLogAPI().consoleInfo("角色岗位文本"+roleShapeJO);
ROLENAME = roleShapeJO.getString("value");
POSTNAME = roleShapeJO.getString("value");
}
}
}
@ -182,8 +246,22 @@ public class SyncData_job implements IJob {
dataMap.put("PLID", FILEID);
dataMap.put("NODEID", NODEID);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
System.err.println("更新节点信息===========>"+dataMap);
oldNodeDataMaps.add(dataMap);
//System.err.println("更新节点信息===========>"+dataMap);
try {
DBSql.update("UPDATE BO_EU_PAL_FILENODE5 SET"
+ " NODENAME=:NODENAME, NODETYPE=:NODETYPE, PLNAME=:PLNAME, NODECATEGORY=:NODECATEGORY, ITSYSVAL=:ITSYSVAL, "
+ " ACTIVITYNUMBER=:ACTIVITYNUMBER, ACTIVITYDESC=:ACTIVITYDESC, ROLE=:ROLE, POST=:POST, ROLENAME=:ROLENAME, POSTNAME=:POSTNAME, MODIFYDATETIME=:MODIFYDATETIME, UPDATEDATE=:UPDATEDATE "
+ " WHERE PLID=:PLID AND NODEID=:NODEID", dataMap);
} catch (Exception e) {
BO bo = new BO();
bo.set("PLID", FILEID);
bo.set("PLNAME", PLNAME);
bo.set("NODEID", NODEID);
bo.set("NODENAME", NODENAME);
bo.set("INFORMATION", e.getMessage());
SDK.getBOAPI().createDataBO("BO_EU_NODESYN_EXCEPTION", bo, UserContext.fromUID("admin"));
System.err.println("数据保存异常==========>"+e.getMessage()+"__活动描述"+ACTIVITYDESC);
}
} else {
dataMap = new HashMap<>();
String uuId = SDK.getRuleAPI().executeAtScript("@uuid()");
@ -202,38 +280,59 @@ public class SyncData_job implements IJob {
dataMap.put("ROLENAME", ROLENAME);
dataMap.put("POSTNAME", POSTNAME);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
System.err.println("同步节点信息===========>"+dataMap);
newNodeDataMaps.add(dataMap);
//System.err.println("同步节点信息===========>"+dataMap);
try {
DBSql.update("INSERT INTO BO_EU_PAL_FILENODE5"
+ " (ID, NODEID, NODENAME, NODETYPE, PLID, PLNAME, NODECATEGORY, ITSYSVAL, ACTIVITYNUMBER, ACTIVITYDESC, ROLE, POST, ROLENAME, POSTNAME, MODIFYDATETIME) "
+ " VALUES(:uuId, :NODEID, :NODENAME, :NODETYPE, :PLID, :PLNAME, :NODECATEGORY, :ITSYSVAL, :ACTIVITYNUMBER, :ACTIVITYDESC, :ROLE, :POST, :ROLENAME, :POSTNAME, :MODIFYDATETIME)", dataMap);
} catch (Exception e) {
BO bo = new BO();
bo.set("PLID", FILEID);
bo.set("PLNAME", PLNAME);
bo.set("NODEID", NODEID);
bo.set("NODENAME", NODENAME);
bo.set("INFORMATION", e.getMessage());
SDK.getBOAPI().createDataBO("BO_EU_NODESYN_EXCEPTION", bo, UserContext.fromUID("admin"));
System.err.println("数据保存异常==========>"+e.getMessage()+"__活动描述"+ACTIVITYDESC);
}
//newNodeDataMaps.add(dataMap);
}
}
}
}
}
}
//删除节点信息
if (null != nodeIdList && !nodeIdList.isEmpty()) {
for (String nodeIdOfList : nodeIdList) {
if (!fromNodeDataIDMaps.contains(nodeIdOfList)) {
dataMap = new HashMap<>();
dataMap.put("NODEID", nodeIdOfList);
DBSql.update("DELETE FROM BO_EU_PAL_FILENODE5 WHERE NODEID=:NODEID", dataMap);
delNodeDataMaps.add(dataMap);
}
}
}
if (null != oldNodeDataMaps && !oldNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("UPDATE BO_EU_PAL_FILENODE6 SET"
+ " NODENAME=:NODENAME, NODETYPE=:NODETYPE, PLNAME=:PLNAME, NODECATEGORY=:NODECATEGORY, ITSYSVAL=:ITSYSVAL, "
+ " ACTIVITYNUMBER=:ACTIVITYNUMBER, ACTIVITYDESC=:ACTIVITYDESC, ROLE=:ROLE, POST=:POST, ROLENAME=:ROLENAME, POSTNAME=:POSTNAME, MODIFYDATETIME=:MODIFYDATETIME, UPDATEDATE=:UPDATEDATE "
+ " WHERE PLID=:PLID AND NODEID=:NODEID", oldNodeDataMaps);
}
if (null != newNodeDataMaps && !newNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("INSERT INTO BO_EU_PAL_FILENODE6"
+ " (ID, NODEID, NODENAME, NODETYPE, PLID, PLNAME, NODECATEGORY, ITSYSVAL, ACTIVITYNUMBER, ACTIVITYDESC, ROLE, POST, ROLENAME, POSTNAME, MODIFYDATETIME) "
+ " VALUES(:uuId, :NODEID, :NODENAME, :NODETYPE, :PLID, :PLNAME, :NODECATEGORY, :ITSYSVAL, :ACTIVITYNUMBER, :ACTIVITYDESC, :ROLE, :POST, :ROLENAME, :POSTNAME, :MODIFYDATETIME)", newNodeDataMaps);
}
if (null != delNodeDataMaps && !delNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("DELETE FROM BO_EU_PAL_FILENODE6 WHERE NODEID=:NODEID", delNodeDataMaps);
}
/*
* if (null != oldNodeDataMaps && !oldNodeDataMaps.isEmpty()) {
* DBSql.batchUpdate("UPDATE BO_EU_PAL_FILENODE5 SET" +
* " NODENAME=:NODENAME, NODETYPE=:NODETYPE, PLNAME=:PLNAME, NODECATEGORY=:NODECATEGORY, ITSYSVAL=:ITSYSVAL, "
* +
* " ACTIVITYNUMBER=:ACTIVITYNUMBER, ACTIVITYDESC=:ACTIVITYDESC, ROLE=:ROLE, POST=:POST, ROLENAME=:ROLENAME, POSTNAME=:POSTNAME, MODIFYDATETIME=:MODIFYDATETIME, UPDATEDATE=:UPDATEDATE "
* + " WHERE PLID=:PLID AND NODEID=:NODEID", oldNodeDataMaps); } if (null !=
* newNodeDataMaps && !newNodeDataMaps.isEmpty()) {
* DBSql.batchUpdate("INSERT INTO BO_EU_PAL_FILENODE5" +
* " (ID, NODEID, NODENAME, NODETYPE, PLID, PLNAME, NODECATEGORY, ITSYSVAL, ACTIVITYNUMBER, ACTIVITYDESC, ROLE, POST, ROLENAME, POSTNAME, MODIFYDATETIME) "
* +
* " VALUES(:uuId, :NODEID, :NODENAME, :NODETYPE, :PLID, :PLNAME, :NODECATEGORY, :ITSYSVAL, :ACTIVITYNUMBER, :ACTIVITYDESC, :ROLE, :POST, :ROLENAME, :POSTNAME, :MODIFYDATETIME)"
* , newNodeDataMaps); } if (null != delNodeDataMaps &&
* !delNodeDataMaps.isEmpty()) {
* DBSql.batchUpdate("DELETE FROM BO_EU_PAL_FILENODE5 WHERE NODEID=:NODEID",
* delNodeDataMaps); }
*/
SDK.getLogAPI().consoleInfo("新增节点" + newNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("修改节点" + oldNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("删除节点" + delNodeDataMaps.size());

View File

@ -0,0 +1,246 @@
package com.awspaas.user.apps.yili.reportform.job;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil;
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.sdk.local.SDK;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* @author:lihongyu
* @create: 2022-11-03 11:32
* @Description: 同步节点信息表
*/
@DisallowConcurrentExecution
public class SyncData_job3 implements IJob {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
syncNodeData();
}
//同步节点数据到 BO_EU_PAL_FILENODE6
public void syncNodeData() {
HashMap<String, Object> dataMap = new HashMap<>();
ArrayList<String> fromNodeDataIDMaps = new ArrayList<>();
List<PALRepositoryModel> palTotalList = new ArrayList<>();
ArrayList<Map<String, ?>> oldNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> newNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> delNodeDataMaps = new ArrayList<>();
long startTime = System.currentTimeMillis();
List<String> nodeIdList = DBSql.getList("SELECT NODEID FROM BO_EU_PAL_FILENODE6", String.class);
for (PALRepositoryModel fileModel : palTotalList) {
List<Map<String, Object>> nodeElements = new ArrayList<>();
String PLMETHODID = fileModel.getMethodId();
String FILEID = fileModel.getId();
String PLNAME = fileModel.getName();
String plRid = fileModel.getPlRid();
/*
* String sql =
* "SELECT ID FROM (SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLRID = '"
* +plRid+"' AND ISPUBLISH ='1' ORDER BY PLVER DESC ) WHERE ROWNUM<2"; String
* palId = DBSql.getString(sql); if(UtilString.isNotEmpty(palId)) {
* if(!FILEID.equals(palId)) {
* SDK.getLogAPI().consoleInfo("同步数据发现旧版本文件名称:"+PLNAME+"——文件id"+FILEID); String
* dsql = "DELETE FROM BO_EU_PAL_FILE1 WHERE FILEID = '"+FILEID+"'";
* DBSql.update(dsql); continue; } }
*/
Timestamp MODIFYDATETIME = fileModel.getModifyDate();
//同步角色岗位
if (null != nodeElements && !nodeElements.isEmpty()) {
for (Map<String, Object> nodeElement : nodeElements) {
String NODETYPE = String.valueOf(nodeElement.get("type"));
if (NODETYPE.equals("method_approval_node") || NODETYPE.equals("method_service_node") || NODETYPE.equals("method_approval_node3") || NODETYPE.equals("method_service_node4")) {
//节点信息
String NODEID = String.valueOf(nodeElement.get("id"));
String NODENAME = String.valueOf(nodeElement.get("name"));
//形状属性数组
JSONArray attributesArray = JSON.parseArray(String.valueOf(nodeElement.get("attributes")));
//形状属性信息系统活动序号活动描述角色岗位
String ITSYSVAL = "";
String ACTIVITYNUMBER = "";
String ACTIVITYDESC = "";
String ROLE = "";
String ROLENAME = "";
String POST = "";
String POSTNAME = "";
if (null != attributesArray && !attributesArray.isEmpty()) {
for (Object attribute : attributesArray) {
JSONObject attributeJO = JSON.parseObject(String.valueOf(attribute));
String SHAPEATTRKEY = attributeJO.getString("key");
if (SHAPEATTRKEY.equals("information_systems")) {
ITSYSVAL = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("activity_number")) {
ACTIVITYNUMBER = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("activity_description")) {
ACTIVITYDESC = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("role")) {
String nodeRoleText = attributeJO.getString("value");
ROLE = nodeRoleText;
if (null!=ROLE && !ROLE.equals("")) {
Object sqlParams = new Object[]{FILEID};
List<RowMap> roleFileRowMaps = new ArrayList<>();
try {
roleFileRowMaps = DBSql.getMaps("SELECT RELATIONFILEID FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE FILEID=? AND ATTRID='role'", sqlParams);
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取流程节点角色属性关联文件时"+"文件ID"+FILEID+"节点ID"+NODEID+"异常");
}
if (null!=roleFileRowMaps && !roleFileRowMaps.isEmpty()) {
for (RowMap roleFileRowMap : roleFileRowMaps) {
String RELATIONFILEID = roleFileRowMap.getString("RELATIONFILEID");
//角色文件属性
List<Map<String, Object>> roleShapes = new ArrayList<>();
try {
roleShapes = CoeDesignerUtil.getShapeMessageJson4(RELATIONFILEID);
} catch (Exception e) {
//SDK.getLogAPI().consoleInfo("获取关联角色文件属性"+"文件ID"+RELATIONFILEID+"异常");
}
if (null != roleShapes && !roleShapes.isEmpty()) {
for (Map<String, Object> roleShape : roleShapes) {
String roleFileNodeName = String.valueOf(roleShape.get("name"));
if (nodeRoleText.contains(roleFileNodeName)) {
//角色节点形状属性
JSONArray roleShapeJA = null;
try {
roleShapeJA = JSONArray.parseArray(String.valueOf(roleShape.get("attributes")));
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取角色节点形状属性jsonArray"+"文件ID"+RELATIONFILEID+"异常");
}
if (null != roleShapeJA && !roleShapeJA.isEmpty()) {
for (Object roleShapeO : roleShapeJA) {
JSONObject roleShapeJO = JSON.parseObject(String.valueOf(roleShapeO));
String roleShapeKey = roleShapeJO.getString("key");
if (roleShapeKey.equals("post")) {
//SDK.getLogAPI().consoleInfo("角色岗位"+roleShapeJO.getString("value"));
POST = roleShapeJO.getString("value");
}
if (roleShapeKey.equals("post_text")) {
//SDK.getLogAPI().consoleInfo("角色岗位文本"+roleShapeJO);
ROLENAME = roleShapeJO.getString("value");
POSTNAME = roleShapeJO.getString("value");
}
}
}
}
}
}
}
}
} else {
for (Object attribute1 : attributesArray) {
JSONObject attributeJO1 = JSON.parseObject(String.valueOf(attribute1));
String SHAPEATTRKEY1 = attributeJO1.getString("key");
if (SHAPEATTRKEY1.equals("post")) {
POST = attributeJO1.getString("value");
}
if (SHAPEATTRKEY1.equals("post_text")) {
POSTNAME = attributeJO1.getString("value");
}
}
}
}
}
}
fromNodeDataIDMaps.add(NODEID);
if (nodeIdList.contains(NODEID)) {
dataMap = new HashMap<>();
Date nowDateJ = new Date(System.currentTimeMillis());
Timestamp nowDateTime = new Timestamp(nowDateJ.getTime());
dataMap.put("UPDATEDATE", nowDateTime);
dataMap.put("NODENAME", NODENAME);
dataMap.put("NODETYPE", NODETYPE);
dataMap.put("PLNAME", PLNAME);
dataMap.put("NODECATEGORY", PLMETHODID);
dataMap.put("ITSYSVAL", ITSYSVAL);
dataMap.put("ACTIVITYNUMBER", ACTIVITYNUMBER);
dataMap.put("ACTIVITYDESC", ACTIVITYDESC);
dataMap.put("ROLE", ROLE);
dataMap.put("ROLENAME", ROLENAME);
dataMap.put("POST", POST);
dataMap.put("POSTNAME", POSTNAME);
dataMap.put("PLID", FILEID);
dataMap.put("NODEID", NODEID);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
//System.err.println("更新节点信息===========>"+dataMap);
oldNodeDataMaps.add(dataMap);
} else {
dataMap = new HashMap<>();
String uuId = SDK.getRuleAPI().executeAtScript("@uuid()");
dataMap.put("uuId", uuId);
dataMap.put("NODEID", NODEID);
dataMap.put("NODENAME", NODENAME);
dataMap.put("NODETYPE", NODETYPE);
dataMap.put("PLID", FILEID);
dataMap.put("PLNAME", PLNAME);
dataMap.put("NODECATEGORY", PLMETHODID);
dataMap.put("ITSYSVAL", ITSYSVAL);
dataMap.put("ACTIVITYNUMBER", ACTIVITYNUMBER);
dataMap.put("ACTIVITYDESC", ACTIVITYDESC);
dataMap.put("ROLE", ROLE);
dataMap.put("POST", POST);
dataMap.put("ROLENAME", ROLENAME);
dataMap.put("POSTNAME", POSTNAME);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
System.err.println("同步节点信息===========>"+dataMap);
newNodeDataMaps.add(dataMap);
}
}
}
}
}
if (null != nodeIdList && !nodeIdList.isEmpty()) {
for (String nodeIdOfList : nodeIdList) {
if (!fromNodeDataIDMaps.contains(nodeIdOfList)) {
dataMap = new HashMap<>();
dataMap.put("NODEID", nodeIdOfList);
delNodeDataMaps.add(dataMap);
}
}
}
if (null != oldNodeDataMaps && !oldNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("UPDATE BO_EU_PAL_FILENODE6 SET"
+ " NODENAME=:NODENAME, NODETYPE=:NODETYPE, PLNAME=:PLNAME, NODECATEGORY=:NODECATEGORY, ITSYSVAL=:ITSYSVAL, "
+ " ACTIVITYNUMBER=:ACTIVITYNUMBER, ACTIVITYDESC=:ACTIVITYDESC, ROLE=:ROLE, POST=:POST, ROLENAME=:ROLENAME, POSTNAME=:POSTNAME, MODIFYDATETIME=:MODIFYDATETIME, UPDATEDATE=:UPDATEDATE "
+ " WHERE PLID=:PLID AND NODEID=:NODEID", oldNodeDataMaps);
}
if (null != newNodeDataMaps && !newNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("INSERT INTO BO_EU_PAL_FILENODE6"
+ " (ID, NODEID, NODENAME, NODETYPE, PLID, PLNAME, NODECATEGORY, ITSYSVAL, ACTIVITYNUMBER, ACTIVITYDESC, ROLE, POST, ROLENAME, POSTNAME, MODIFYDATETIME) "
+ " VALUES(:uuId, :NODEID, :NODENAME, :NODETYPE, :PLID, :PLNAME, :NODECATEGORY, :ITSYSVAL, :ACTIVITYNUMBER, :ACTIVITYDESC, :ROLE, :POST, :ROLENAME, :POSTNAME, :MODIFYDATETIME)", newNodeDataMaps);
}
if (null != delNodeDataMaps && !delNodeDataMaps.isEmpty()) {
DBSql.batchUpdate("DELETE FROM BO_EU_PAL_FILENODE6 WHERE NODEID=:NODEID", delNodeDataMaps);
}
SDK.getLogAPI().consoleInfo("新增节点" + newNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("修改节点" + oldNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("删除节点" + delNodeDataMaps.size());
long endTime = System.currentTimeMillis();
SDK.getLogAPI().consoleInfo("结束时间" + endTime);
SDK.getLogAPI().consoleInfo("运行时间" + (endTime - startTime));
}
}

View File

@ -0,0 +1,344 @@
package com.awspaas.user.apps.yili.reportform.job;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil;
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.schedule.IJob;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.sdk.local.SDK;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* @author:lihongyu
* @create: 2022-11-03 11:32
* @Description: 全量同步文件
*/
@DisallowConcurrentExecution
public class SyncData_job4 implements IJob {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
syncNodeData();
}
//同步节点数据到 BO_EU_PAL_FILENODE6
public void syncNodeData() {
DBSql.update("DELETE FROM BO_EU_NODESYN_EXCEPTION");
HashMap<String, Object> dataMap = new HashMap<>();
ArrayList<String> fromNodeDataIDMaps = new ArrayList<>();
ArrayList<Map<String, ?>> oldNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> newNodeDataMaps = new ArrayList<>();
ArrayList<Map<String, ?>> delNodeDataMaps = new ArrayList<>();
String wsId = "7d3ca852-a0bd-42e6-80b1-3dcea6f55083";
//总文件集合
String process = "process";
String org = "org";
String data = "data";
String itsystem = "itsystem";
String control = "control";
List<PALRepositoryModel> palProcessList = new ArrayList<>();
Set<String> palProcessIds = new HashSet<>();
List<PALRepositoryModel> palOrgList = new ArrayList<>();
Set<String> palOrgIds = new HashSet<>();
List<PALRepositoryModel> palDataList = new ArrayList<>();
Set<String> palDataIds = new HashSet<>();
List<PALRepositoryModel> palItsystemList = new ArrayList<>();
Set<String> palItsystemIds = new HashSet<>();
List<PALRepositoryModel> palControlList = new ArrayList<>();
Set<String> palControlIds = new HashSet<>();
PALRepositoryCache.getAllChildrenModelsByPid(wsId, process, palProcessList, palProcessIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, org, palOrgList, palOrgIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, data, palDataList, palDataIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, itsystem, palItsystemList, palItsystemIds);
PALRepositoryCache.getAllChildrenModelsByPid(wsId, control, palControlList, palControlIds);
//合并为文件总量list
List<PALRepositoryModel> palTotalList = new ArrayList<>();
palTotalList.addAll(palProcessList);
palTotalList.addAll(palOrgList);
palTotalList.addAll(palDataList);
palTotalList.addAll(palItsystemList);
palTotalList.addAll(palControlList);
SDK.getLogAPI().consoleInfo("process下文件数量" + palProcessList.size());
SDK.getLogAPI().consoleInfo("org下文件数量" + palOrgList.size());
SDK.getLogAPI().consoleInfo("data下文件数量" + palDataList.size());
SDK.getLogAPI().consoleInfo("itsystem下文件数量" + palItsystemList.size());
SDK.getLogAPI().consoleInfo("control下文件数量" + palControlList.size());
SDK.getLogAPI().consoleInfo("文件总数量:" + palTotalList.size());
long startTime = System.currentTimeMillis();
List<String> nodeIdList = DBSql.getList("SELECT NODEID FROM BO_EU_PAL_FILENODE6", String.class);
for (PALRepositoryModel fileModel : palTotalList) {
List<Map<String, Object>> nodeElements = new ArrayList<>();
String PLMETHODID = fileModel.getMethodId();
String FILEID = fileModel.getId();
String PLNAME = fileModel.getName();
//String plRid = fileModel.getPlRid();
/*
* if(!fileModel.isPublish()) { continue; }
*/
/*
* String sql =
* "SELECT ID FROM (SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLRID = '"
* +plRid+"' AND ISPUBLISH ='1' ORDER BY PLVER DESC ) WHERE ROWNUM<2"; String
* palId = DBSql.getString(sql); if(UtilString.isNotEmpty(palId)) {
* if(!FILEID.equals(palId)) {
* SDK.getLogAPI().consoleInfo("同步数据发现旧版本文件名称:"+PLNAME+"——文件id"+FILEID); String
* dsql = "DELETE FROM BO_EU_PAL_FILE1 WHERE FILEID = '"+FILEID+"'";
* DBSql.update(dsql); continue; } }
*/
Timestamp MODIFYDATETIME = fileModel.getModifyDate();
//更新/新增节点
nodeElements = new ArrayList<>();
if(PLMETHODID.equals("process.epc")||PLMETHODID.equals("process.flowchart")) {
try {
nodeElements = CoeDesignerUtil.getShapeMessageJson4(FILEID);
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取节点属性过程中,"+"文件ID"+PLNAME+"=======>获取节点形状属性异常");
}
//System.err.println(PLNAME+"======nodeElements1=======>"+nodeElements);
}
//制度类型
/*
* nodeElements = new ArrayList<>(); if (PLMETHODID.equals("control.policy")) {
* try { nodeElements = CoeDesignerUtil.getShapeMessageJson4(FILEID); } catch
* (Exception e) { SDK.getLogAPI().consoleInfo("获取制度类型过程中," + "文件ID" + FILEID +
* "获取节点形状属性异常"); }
* //System.err.println(PLNAME+"======nodeElements2=======>"+nodeElements); }
*/
//同步角色岗位
if (null != nodeElements && !nodeElements.isEmpty()) {
for (Map<String, Object> nodeElement : nodeElements) {
String NODETYPE = String.valueOf(nodeElement.get("type"));
if (NODETYPE.equals("method_approval_node") || NODETYPE.equals("method_service_node") || NODETYPE.equals("method_approval_node3") || NODETYPE.equals("method_service_node4")) {
//节点信息
String NODEID = String.valueOf(nodeElement.get("id"));
String NODENAME = String.valueOf(nodeElement.get("name"));
//形状属性数组
JSONArray attributesArray = JSON.parseArray(String.valueOf(nodeElement.get("attributes")));
//形状属性信息系统活动序号活动描述角色岗位
String ITSYSVAL = "";
String ACTIVITYNUMBER = "";
String ACTIVITYDESC = "";
String ROLE = "";
String ROLENAME = "";
String POST = "";
String POSTNAME = "";
if (null != attributesArray && !attributesArray.isEmpty()) {
for (Object attribute : attributesArray) {
JSONObject attributeJO = JSON.parseObject(String.valueOf(attribute));
String SHAPEATTRKEY = attributeJO.getString("key");
if (SHAPEATTRKEY.equals("information_systems")) {
ITSYSVAL = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("activity_number")) {
ACTIVITYNUMBER = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("activity_description")) {
ACTIVITYDESC = attributeJO.getString("value");
}
if (SHAPEATTRKEY.equals("role")) {
String nodeRoleText = attributeJO.getString("value");
ROLE = nodeRoleText;
if (null!=ROLE && !ROLE.equals("")) {
List<RowMap> roleFileRowMaps = new ArrayList<>();
try {
roleFileRowMaps = DBSql.getMaps("SELECT RELATIONFILEID FROM APP_ACT_COE_PAL_SHAPE_RLAT WHERE FILEID='"+FILEID+"' AND ATTRID='role'");
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取流程节点角色属性关联文件时"+"文件名称:"+PLNAME+"___文件ID"+FILEID+"___节点ID"+NODEID+"异常");
}
if (null!=roleFileRowMaps && !roleFileRowMaps.isEmpty()) {
for (RowMap roleFileRowMap : roleFileRowMaps) {
String RELATIONFILEID = roleFileRowMap.getString("RELATIONFILEID");
//角色文件属性
List<Map<String, Object>> roleShapes = new ArrayList<>();
try {
roleShapes = CoeDesignerUtil.getShapeMessageJson4(RELATIONFILEID);
} catch (Exception e) {
//SDK.getLogAPI().consoleInfo("获取关联角色文件属性"+"文件ID"+RELATIONFILEID+"异常");
}
if (null != roleShapes && !roleShapes.isEmpty()) {
for (Map<String, Object> roleShape : roleShapes) {
String roleFileNodeName = String.valueOf(roleShape.get("name"));
if (nodeRoleText.contains(roleFileNodeName)) {
//角色节点形状属性
JSONArray roleShapeJA = null;
try {
roleShapeJA = JSONArray.parseArray(String.valueOf(roleShape.get("attributes")));
} catch (Exception e) {
SDK.getLogAPI().consoleInfo("获取角色节点形状属性jsonArray"+"文件ID"+RELATIONFILEID+"异常");
}
if (null != roleShapeJA && !roleShapeJA.isEmpty()) {
for (Object roleShapeO : roleShapeJA) {
JSONObject roleShapeJO = JSON.parseObject(String.valueOf(roleShapeO));
String roleShapeKey = roleShapeJO.getString("key");
if (roleShapeKey.equals("post")) {
//SDK.getLogAPI().consoleInfo("角色岗位"+roleShapeJO.getString("value"));
POST = roleShapeJO.getString("value");
}
if (roleShapeKey.equals("post_text")) {
//SDK.getLogAPI().consoleInfo("角色岗位文本"+roleShapeJO);
ROLENAME = roleShapeJO.getString("value");
POSTNAME = roleShapeJO.getString("value");
}
}
}
}
}
}
}
}
} else {
for (Object attribute1 : attributesArray) {
JSONObject attributeJO1 = JSON.parseObject(String.valueOf(attribute1));
String SHAPEATTRKEY1 = attributeJO1.getString("key");
if (SHAPEATTRKEY1.equals("post")) {
POST = attributeJO1.getString("value");
}
if (SHAPEATTRKEY1.equals("post_text")) {
POSTNAME = attributeJO1.getString("value");
}
}
}
}
}
}
fromNodeDataIDMaps.add(NODEID);
if (nodeIdList.contains(NODEID)) {
dataMap = new HashMap<>();
Date nowDateJ = new Date(System.currentTimeMillis());
Timestamp nowDateTime = new Timestamp(nowDateJ.getTime());
dataMap.put("UPDATEDATE", nowDateTime);
dataMap.put("NODENAME", NODENAME);
dataMap.put("NODETYPE", NODETYPE);
dataMap.put("PLNAME", PLNAME);
dataMap.put("NODECATEGORY", PLMETHODID);
dataMap.put("ITSYSVAL", ITSYSVAL);
dataMap.put("ACTIVITYNUMBER", ACTIVITYNUMBER);
dataMap.put("ACTIVITYDESC", ACTIVITYDESC);
dataMap.put("ROLE", ROLE);
dataMap.put("ROLENAME", ROLENAME);
dataMap.put("POST", POST);
dataMap.put("POSTNAME", POSTNAME);
dataMap.put("PLID", FILEID);
dataMap.put("NODEID", NODEID);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
//System.err.println("更新节点信息===========>"+dataMap);
try {
DBSql.update("UPDATE BO_EU_PAL_FILENODE6 SET"
+ " NODENAME=:NODENAME, NODETYPE=:NODETYPE, PLNAME=:PLNAME, NODECATEGORY=:NODECATEGORY, ITSYSVAL=:ITSYSVAL, "
+ " ACTIVITYNUMBER=:ACTIVITYNUMBER, ACTIVITYDESC=:ACTIVITYDESC, ROLE=:ROLE, POST=:POST, ROLENAME=:ROLENAME, POSTNAME=:POSTNAME, MODIFYDATETIME=:MODIFYDATETIME, UPDATEDATE=:UPDATEDATE "
+ " WHERE PLID=:PLID AND NODEID=:NODEID", dataMap);
} catch (Exception e) {
BO bo = new BO();
bo.set("PLID", FILEID);
bo.set("PLNAME", PLNAME);
bo.set("NODEID", NODEID);
bo.set("NODENAME", NODENAME);
bo.set("INFORMATION", e.getMessage());
SDK.getBOAPI().createDataBO("BO_EU_NODESYN_EXCEPTION", bo, UserContext.fromUID("admin"));
System.err.println("数据保存异常==========>"+e.getMessage()+"__活动描述"+ACTIVITYDESC);
}
} else {
dataMap = new HashMap<>();
String uuId = SDK.getRuleAPI().executeAtScript("@uuid()");
dataMap.put("uuId", uuId);
dataMap.put("NODEID", NODEID);
dataMap.put("NODENAME", NODENAME);
dataMap.put("NODETYPE", NODETYPE);
dataMap.put("PLID", FILEID);
dataMap.put("PLNAME", PLNAME);
dataMap.put("NODECATEGORY", PLMETHODID);
dataMap.put("ITSYSVAL", ITSYSVAL);
dataMap.put("ACTIVITYNUMBER", ACTIVITYNUMBER);
dataMap.put("ACTIVITYDESC", ACTIVITYDESC);
dataMap.put("ROLE", ROLE);
dataMap.put("POST", POST);
dataMap.put("ROLENAME", ROLENAME);
dataMap.put("POSTNAME", POSTNAME);
dataMap.put("MODIFYDATETIME", MODIFYDATETIME);
//System.err.println("同步节点信息===========>"+dataMap);
try {
DBSql.update("INSERT INTO BO_EU_PAL_FILENODE6"
+ " (ID, NODEID, NODENAME, NODETYPE, PLID, PLNAME, NODECATEGORY, ITSYSVAL, ACTIVITYNUMBER, ACTIVITYDESC, ROLE, POST, ROLENAME, POSTNAME, MODIFYDATETIME) "
+ " VALUES(:uuId, :NODEID, :NODENAME, :NODETYPE, :PLID, :PLNAME, :NODECATEGORY, :ITSYSVAL, :ACTIVITYNUMBER, :ACTIVITYDESC, :ROLE, :POST, :ROLENAME, :POSTNAME, :MODIFYDATETIME)", dataMap);
} catch (Exception e) {
BO bo = new BO();
bo.set("PLID", FILEID);
bo.set("PLNAME", PLNAME);
bo.set("NODEID", NODEID);
bo.set("NODENAME", NODENAME);
bo.set("INFORMATION", e.getMessage());
SDK.getBOAPI().createDataBO("BO_EU_NODESYN_EXCEPTION", bo, UserContext.fromUID("admin"));
System.err.println("数据保存异常==========>"+e.getMessage()+"__活动描述"+ACTIVITYDESC);
}
//newNodeDataMaps.add(dataMap);
}
}
}
}
}
//删除节点信息
if (null != nodeIdList && !nodeIdList.isEmpty()) {
for (String nodeIdOfList : nodeIdList) {
if (!fromNodeDataIDMaps.contains(nodeIdOfList)) {
dataMap = new HashMap<>();
dataMap.put("NODEID", nodeIdOfList);
DBSql.update("DELETE FROM BO_EU_PAL_FILENODE6 WHERE NODEID=:NODEID", dataMap);
delNodeDataMaps.add(dataMap);
}
}
}
/*
* if (null != oldNodeDataMaps && !oldNodeDataMaps.isEmpty()) {
* DBSql.batchUpdate("UPDATE BO_EU_PAL_FILENODE6 SET" +
* " NODENAME=:NODENAME, NODETYPE=:NODETYPE, PLNAME=:PLNAME, NODECATEGORY=:NODECATEGORY, ITSYSVAL=:ITSYSVAL, "
* +
* " ACTIVITYNUMBER=:ACTIVITYNUMBER, ACTIVITYDESC=:ACTIVITYDESC, ROLE=:ROLE, POST=:POST, ROLENAME=:ROLENAME, POSTNAME=:POSTNAME, MODIFYDATETIME=:MODIFYDATETIME, UPDATEDATE=:UPDATEDATE "
* + " WHERE PLID=:PLID AND NODEID=:NODEID", oldNodeDataMaps); } if (null !=
* newNodeDataMaps && !newNodeDataMaps.isEmpty()) {
* DBSql.batchUpdate("INSERT INTO BO_EU_PAL_FILENODE6" +
* " (ID, NODEID, NODENAME, NODETYPE, PLID, PLNAME, NODECATEGORY, ITSYSVAL, ACTIVITYNUMBER, ACTIVITYDESC, ROLE, POST, ROLENAME, POSTNAME, MODIFYDATETIME) "
* +
* " VALUES(:uuId, :NODEID, :NODENAME, :NODETYPE, :PLID, :PLNAME, :NODECATEGORY, :ITSYSVAL, :ACTIVITYNUMBER, :ACTIVITYDESC, :ROLE, :POST, :ROLENAME, :POSTNAME, :MODIFYDATETIME)"
* , newNodeDataMaps); } if (null != delNodeDataMaps &&
* !delNodeDataMaps.isEmpty()) {
* DBSql.batchUpdate("DELETE FROM BO_EU_PAL_FILENODE6 WHERE NODEID=:NODEID",
* delNodeDataMaps); }
*/
SDK.getLogAPI().consoleInfo("新增节点" + newNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("修改节点" + oldNodeDataMaps.size());
SDK.getLogAPI().consoleInfo("删除节点" + delNodeDataMaps.size());
long endTime = System.currentTimeMillis();
SDK.getLogAPI().consoleInfo("结束时间" + endTime);
SDK.getLogAPI().consoleInfo("运行时间" + (endTime - startTime));
}
}

View File

@ -219,72 +219,64 @@ public class DataViewService extends ActionWeb {
long start = System.currentTimeMillis();
ArrayList<String> positionNameList = new ArrayList<>();
for (String positionID : positionIDs) {
sqlParams = new Object[] { positionID };
RowMap POSITIONMap = DBSql.getMap("SELECT POSITION_NAME FROM ORGUSER WHERE POSITION_NO=?", sqlParams);
String POSITION_NAME = null;
RowMap POSITIONMap = DBSql.getMap("SELECT POSITION_NAME FROM ORGUSER WHERE POSITION_NO= '"+positionID+"'");
if (null != POSITIONMap && !POSITIONMap.isEmpty()) {
POSITION_NAME = POSITIONMap.getString("POSITION_NAME");
positionNameList.add(POSITION_NAME);
}
}
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());
String positionName = POSITIONMap.getString("POSITION_NAME");
// 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;
}
}
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);
nodeMap = new HashMap<String, Object>();
taskId = getLastPublishTaskIdByModelId(plId);
/*
* model = PALRepositoryCache.getCache().get(plId); if (null != model) { if
* (model.isPublish() || model.isStop()) {// 停用或已发布状态查询最新流程手册 } }
*/
path = "./w" + "?" + "cmd=com.actionsoft.apps.coe.pal.publisher_publish_file_open" + "&"
+ "uuid=" + 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());
}
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);
}
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);
}
}
}
@ -1061,6 +1053,8 @@ public class DataViewService extends ActionWeb {
List<RowMap> fileRowMaps = null;
String sid = _uc.getSessionId();
String deptString = params.get("dept");
System.err.println("======deptString===="+deptString);
String fileType = params.get("fileType");
ArrayList<String> deptIDList = new ArrayList<>();
ArrayList<String> deptIDList2 = new ArrayList<>();
@ -1072,6 +1066,7 @@ public class DataViewService extends ActionWeb {
List<RowMap> fileListMap = DBSql.getMaps(sql);
String dempId = "";
String sqlParm = "";
if (null == deptString || "".equals(deptString)) {
String ucDeptID = _uc.getUserModel().getDepartmentId();
String pathIdOfCache = _uc.getDepartmentModel().getPathIdOfCache();
@ -1086,36 +1081,62 @@ public class DataViewService extends ActionWeb {
deptIDList2 = deptIDList;
deptString = deptIDList.toString();
}
}
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) {
if (UtilString.isNotEmpty(deptString)) {
if (deptString.contains(",")) {
StringBuffer sbu = new StringBuffer();
String replace = deptString.replace("[", "").replace("]", "");
String[] arr = replace.split(",");
for (int i = 0; i < arr.length; i++) {
if (arr.length == 1) {
sbu.append("'").append(arr[i]).append("'");
} else {
if (i == arr.length - 1) {
sbu.append("'").append(arr[i]).append("'");
} else {
sbu.append("'").append(arr[i]).append("'").append(",");
}
}
}
sqlParm = sbu.toString();
} else {
sqlParm = "'" + deptString.replace("[", "").replace("]", "") + "'";
}
}
}else {
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 {
sbu.append("'").append(jsonArry.getString(i)).append("'").append(",");
if (i == jsonArry.size() - 1) {
sbu.append("'").append(jsonArry.getString(i)).append("'");
} else {
sbu.append("'").append(jsonArry.getString(i)).append("'").append(",");
}
}
}
sqlParm = sbu.toString();
} else {
sqlParm = "'" + deptString.replace("[", "").replace("]", "") + "'";
}
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);

View File

@ -1578,7 +1578,7 @@ public class ProcessPubService extends ActionWeb {
ArrayList<Map> BDApprovalOLNodeRateMaps = new ArrayList<>();
ArrayList<Map> FDApprovalOLNodeRateMaps = new ArrayList<>();
//事业部和职能部门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<>();
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'");