更新部门视图刷新

This commit is contained in:
Mr-wang 2023-07-28 19:12:39 +08:00
parent eaba833a02
commit ead9ca459d
4 changed files with 85 additions and 68 deletions

View File

@ -0,0 +1,61 @@
package com.actionsoft.apps.coe.pal.publisher;
import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.dw.design.event.DataWindowBeforeLoadEventInterface;
import com.actionsoft.bpms.dw.exec.component.DataView;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.sdk.local.SDK;
import java.util.List;
public class DataWindowBeforeLoadEvent implements DataWindowBeforeLoadEventInterface {
/**
* 视图加载前的触发器
*
* @param me 用户上下文
* @param view dw视图对象
* @return 格式化好的sql语句
* 说明:1.必须实现类 com.actionsoft.bpms.dw.design.event.DataWindowBeforeLoadEventInterface
* 2.示例说明:admin用户不能查看此视图
*/
@Override
public boolean excute(UserContext userContext, DataView dataView) {
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 EXT5 = '1' AND PLMETHODID in ('process.epc','control.policy','process.flowchart')";
List<RowMap> fileListMap = DBSql.getMaps(sql);
for (RowMap rowMap:
fileListMap) {
String plname = rowMap.getString("PLNAME");
String fileid = rowMap.getString("FILEID");
String plversionid = rowMap.getString("PLVERSIONID");
List<BO> bo_act_publish_perm_scope = SDK.getBOAPI().query("BO_ACT_PUBLISH_PERM_SCOPE", true).addQuery("PALNAME=", plname).addQuery("PALVERSIONID=", plversionid).orderByCreated().desc().list();
if (bo_act_publish_perm_scope.size()>=1){
BO bo = bo_act_publish_perm_scope.get(0);
String orgperm = bo.getString("ORGPERM");
String permtype = bo.getString("PERMTYPE");
if (permtype.equals("0")){
int update = DBSql.update("update APP_ACT_COE_PAL_REPOSITORY set EXT6 = '" + orgperm + "' where ID = '" + fileid + "'");
if (update==1){
SDK.getLogAPI().consoleInfo("更新成功>>>>>>>>>>>模型名称为"+plname+"版本ID是>>>>>>>>>"+plversionid);
}else {
SDK.getLogAPI().consoleInfo("更新失败");
}
}else {
int update = DBSql.update("update APP_ACT_COE_PAL_REPOSITORY set EXT6 = 'all' where ID = '" + fileid + "'");
if (update==1){
SDK.getLogAPI().consoleInfo("更新成功>>>>>>>>>>>模型名称为"+plname+"版本ID是>>>>>>>>>"+plversionid);
}else {
SDK.getLogAPI().consoleInfo("更新失败");
}
}
}
}
return true;
}
}

View File

@ -1,14 +1,10 @@
package com.awspaas.user.apps.app.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 java.util.*;
import com.actionsoft.apps.coe.pal.pal.repository.dao.CoeProcessLevelDaoFacotory;
import org.apache.commons.collections.IteratorUtils;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -50,43 +46,11 @@ public class SyncData_job implements IJob {
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<PALRepositoryModel> palRepositoryModels = CoeProcessLevelDaoFacotory.createCoeProcessLevel().getAllCoeProcessLevelByWsId(wsId);
long startTime = System.currentTimeMillis();
List<String> nodeIdList = DBSql.getList("SELECT NODEID FROM BO_EU_PAL_FILENODE6", String.class);
for (PALRepositoryModel fileModel : palTotalList) {
List<String> nodeIdList_PLID = DBSql.getList("SELECT PLID FROM BO_EU_PAL_FILENODE6", String.class);
for (PALRepositoryModel fileModel : palRepositoryModels) {
List<Map<String, Object>> nodeElements = new ArrayList<>();
String PLMETHODID = fileModel.getMethodId();
String FILEID = fileModel.getId();
@ -227,7 +191,7 @@ public class SyncData_job implements IJob {
fromNodeDataIDMaps.add(NODEID);
if (nodeIdList.contains(NODEID)) {
if (nodeIdList.contains(NODEID)&&nodeIdList_PLID.contains(FILEID)) {
dataMap = new HashMap<>();
Date nowDateJ = new Date(System.currentTimeMillis());
Timestamp nowDateTime = new Timestamp(nowDateJ.getTime());
@ -316,23 +280,6 @@ public class SyncData_job implements IJob {
}
}
}
/*
* 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());

View File

@ -3,6 +3,7 @@ package com.awspaas.user.apps.yili.reportform.job;
import java.util.List;
import java.util.Map;
import com.actionsoft.sdk.local.SDK;
import com.sun.xml.internal.bind.v2.model.core.ID;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -40,6 +41,7 @@ public class SynFileStateJob implements IJob {
JSONObject Issuing_department = queryRepositoryAttributeById.get("Issuing_department");
if (null != Issuing_department && !Issuing_department.equals("")) {
JSONArray PUBDEPTJA = Issuing_department.getJSONArray("value");
SDK.getLogAPI().consoleInfo(Issuing_department.toString());
if (null != PUBDEPTJA && !PUBDEPTJA.isEmpty()) {
for (Object PUBDEPTO : PUBDEPTJA) {
JSONObject PUBDEPTJO = JSONObject.parseObject(String.valueOf(PUBDEPTO));

View File

@ -256,7 +256,7 @@ public class DataViewService extends ActionWeb {
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 + "%' OR POST LIKE '%内蒙古伊利实业集团股份有限公司%'");
+ positionName + "%' ");
System.out.println("=========nodeRowMaps========>"+nodeRowMaps);
for (RowMap nodeRowMap : nodeRowMaps) {
String plId = nodeRowMap.getString("PLID");
@ -633,7 +633,7 @@ public class DataViewService extends ActionWeb {
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 + "%' OR POST LIKE '%内蒙古伊利实业集团股份有限公司%'");
+ POSITION_NAME + "%' ");
for (RowMap nodeRowMap : nodeRowMaps) {
String PLID = nodeRowMap.getString("PLID");
RowMap fileRowMap = DBSql.getMap(
@ -1660,12 +1660,19 @@ public class DataViewService extends ActionWeb {
}
}
String[] departList = sqlParm.split(",");
String dept = "";
for (String depart:
departList) {
dept = dept.concat("REGEXP_LIKE(EXT6, "+depart+")").concat(" OR ");
}
dept = dept.concat("EXT6 = 'all' ");
String departSql =dept;
SDK.getLogAPI().consoleInfo("部门sql输出的是什么>>>>>>>>>>"+departSql);
try {
List<RowMap> maps = null;
if (json.size() < 450) {
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 EXT5 = '1' AND EXT6 IN ("
+sqlParm+ ") AND PLMETHODID in ('process.epc','control.policy','process.flowchart')";
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 EXT5 = '1' AND "+departSql+" AND PLMETHODID in ('process.epc','control.policy','process.flowchart')";
maps = DBSql.getMaps(sqltt);
} else {
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 IS NOT NULL AND PLMETHODID in ('process.epc','control.policy','process.flowchart')";