diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/DataWindowBeforeLoadEvent.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/DataWindowBeforeLoadEvent.java new file mode 100644 index 00000000..5e85fd15 --- /dev/null +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/DataWindowBeforeLoadEvent.java @@ -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 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_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; + } +} diff --git a/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/reportform/job/SyncData_job.java b/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/reportform/job/SyncData_job.java index 7f280892..8e20c7da 100644 --- a/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/reportform/job/SyncData_job.java +++ b/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/reportform/job/SyncData_job.java @@ -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> 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 palProcessList = new ArrayList<>(); - Set palProcessIds = new HashSet<>(); - List palOrgList = new ArrayList<>(); - Set palOrgIds = new HashSet<>(); - List palDataList = new ArrayList<>(); - Set palDataIds = new HashSet<>(); - List palItsystemList = new ArrayList<>(); - Set palItsystemIds = new HashSet<>(); - List palControlList = new ArrayList<>(); - Set 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 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 palRepositoryModels = CoeProcessLevelDaoFacotory.createCoeProcessLevel().getAllCoeProcessLevelByWsId(wsId); + long startTime = System.currentTimeMillis(); List nodeIdList = DBSql.getList("SELECT NODEID FROM BO_EU_PAL_FILENODE6", String.class); - for (PALRepositoryModel fileModel : palTotalList) { + List nodeIdList_PLID = DBSql.getList("SELECT PLID FROM BO_EU_PAL_FILENODE6", String.class); + for (PALRepositoryModel fileModel : palRepositoryModels) { List> 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()); diff --git a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SynFileStateJob.java b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SynFileStateJob.java index 578d3a0e..eaad47c7 100644 --- a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SynFileStateJob.java +++ b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/job/SynFileStateJob.java @@ -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)); @@ -75,8 +77,8 @@ public class SynFileStateJob implements IJob { } } - - + + //刷新状态 if(palRepositoryModel.isStop()) { count += DBSql.update("UPDATE APP_ACT_COE_PAL_REPOSITORY SET EXT5 = '0' WHERE ID = '"+id+"'"); diff --git a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java index 588df768..60867b66 100644 --- a/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java +++ b/com.awspaas.user.apps.yili.reportform/src/com/awspaas/user/apps/yili/reportform/service/DataViewService.java @@ -256,7 +256,7 @@ public class DataViewService extends ActionWeb { List 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 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 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')";