权限阅览数据沉淀逻辑修改为每个版本一条数据|发布流程结束后事件代码增加GPT代码

This commit is contained in:
zhaol 2025-01-20 15:58:29 +08:00
parent 1de4be853b
commit abb778d2fa
4 changed files with 66 additions and 82 deletions

View File

@ -648,8 +648,8 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
SDK.getLogAPI().consoleErr("[发布范围权限信息保存至范围权限表]更新失败,模型[" + palId + "]");
continue;
}
addVerMap.put(model.getVersionId(), model.getName());
removeVerIds.add(model.getVersionId());
addVerMap.put(model.getId(), model.getName());
//removeVerIds.add(model.getVersionId());
}
}
if (bolistC != null) {
@ -660,8 +660,8 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
SDK.getLogAPI().consoleErr("[发布范围权限信息保存至范围权限表]更新失败,模型[" + palId + "]");
continue;
}
addVerMap.put(model.getVersionId(), model.getName());
removeVerIds.add(model.getVersionId());
addVerMap.put(model.getId(), model.getName());
//removeVerIds.add(model.getVersionId());
}
}
if (bolistS != null) {
@ -672,11 +672,15 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
SDK.getLogAPI().consoleErr("[发布范围权限信息保存至范围权限表]更新失败,模型[" + palId + "]");
continue;
}
removeVerIds.add(model.getVersionId());
BO publishPermScope=SDK.getBOAPI().query("BO_ACT_PUBLISH_PERM_SCOPE").addQuery("PALVERSIONID=",palId).detail();
if(publishPermScope!=null){
SDK.getBOAPI().remove("BO_ACT_PUBLISH_PERM_SCOPE",publishPermScope.getId());
}
//removeVerIds.add(model.getVersionId());
}
}
String newBoName = "BO_ACT_PUBLISH_PERM_SCOPE";
/*
// 先删除相应原有权限数据再进行数据更新
Set<String> removeIds = new HashSet<>();
for (String removeVerId : removeVerIds) {
@ -689,8 +693,8 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
}
for (String removeId : removeIds) {
SDK.getBOAPI().remove(newBoName, removeId);
}
}*/
String newBoName = "BO_ACT_PUBLISH_PERM_SCOPE";
// 重新添加权限
//List<BO> list = new ArrayList<>();
for (Map.Entry<String, String> entry : addVerMap.entrySet()) {
@ -708,87 +712,76 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
//存储发布流程的流程实例ID与权限阅览数据视图做关联
bo.set("PUBLISHPROCESSID" , bindId);
RowMap rowMap = DBSql.getMap("SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLNAME=?", name);
if(rowMap!=null){
String plid=rowMap.getString("ID");
RowMap PROCESS_ARCHITECTURE_L1= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L1'");
RowMap PROCESS_ARCHITECTURE_L2= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L2'");
RowMap rowMap = DBSql.getMap("SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=?", verId);
if(rowMap!=null){
String plid=rowMap.getString("ID");
RowMap PROCESS_ARCHITECTURE_L1= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID='"+plid+"' and PROPERTYID='Process_Architecture_L1'");
RowMap PROCESS_ARCHITECTURE_L3= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L3'");
RowMap PROCESS_ARCHITECTURE_L2= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID='"+plid+"' and PROPERTYID='Process_Architecture_L2'");
RowMap PROCESS_ARCHITECTURE_L4= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='Process_Architecture_L4'");
RowMap PROCESS_ARCHITECTURE_L3= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID='"+plid+"' and PROPERTYID='Process_Architecture_L3'");
RowMap PROCESS_ARCHITECTURE_L4= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID='"+plid+"' and PROPERTYID='Process_Architecture_L4'");
RowMap versions= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='versions'");
RowMap versions= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+plid+"' and PROPERTYID='versions'");
List<RowMap> rlatRowMap= DBSql.getMaps("SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID='"+plid+"' and ATTRID='Issuing_department'");
List<RowMap> rlatRowMap= DBSql.getMaps("SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID = '"+plid+"' and ATTRID='Issuing_department'");
//事业部
BO publishBO = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH").detailByBindId(bindId);
String applydepid=publishBO.getString("APPLYDEPTID");
String applydeptname=publishBO.getString("APPLYDEPTNAME");
//事业部
BO publishBO = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH").detailByBindId(bindId);
String applydepid=publishBO.getString("APPLYDEPID");
String applydeptname=publishBO.getString("APPLYDEPTNAME");
// 发布部门
String dempId = "";
String dempname="";
for(RowMap oneRowMap:rlatRowMap){
String relationshapetext=oneRowMap.getString("RELATIONSHAPETEXT");
JSONObject js=JSONObject.parseObject(relationshapetext);
if(js!=null){
dempId += js.getString("id") + ",";
dempname += js.getString("name") + ",";
// 发布部门
String dempId = "";
String dempname="";
for(RowMap oneRowMap:rlatRowMap){
String relationshapetext=oneRowMap.getString("RELATIONSHAPETEXT");
JSONObject js=JSONObject.parseObject(relationshapetext);
if(js!=null){
dempId += js.getString("id") + ",";
dempname += js.getString("name") + ",";
}
}
if(dempId!=null){
dempId = dempId.substring(0, dempId.length() - 1);
bo.set("PUBLISHDEPTID",dempId);
}
if(dempname!=null){
dempname = dempname.substring(0, dempname.length() - 1);
bo.set("PUBLISHDEPT",dempname);
}
}
if(dempId!=null){
dempId = dempId.substring(0, dempId.length() - 1);
bo.set("PUBLISHDEPTID",dempId);
}
if(dempname!=null){
dempname = dempname.substring(0, dempname.length() - 1);
bo.set("PUBLISHDEPT",dempname);
}
PALRepositoryModel palRepositoryModel = PALRepositoryCache.getCache().get(plid);
String version=String.valueOf(palRepositoryModel.getVersion());
if(version!=null){
String plver=version.substring(0,version.indexOf(".")) + "." + version.substring(version.length() - 1, version.length());
bo.set("VERSION",plver);
}
bo.set("PROCESS_ARCHITECTURE_L1",PROCESS_ARCHITECTURE_L1.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L2",PROCESS_ARCHITECTURE_L2.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L3",PROCESS_ARCHITECTURE_L3.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L4",PROCESS_ARCHITECTURE_L4.getString("PROPERTYVALUE"));
PALRepositoryModel palRepositoryModel = PALRepositoryCache.getCache().get(plid);
String version=String.valueOf(palRepositoryModel.getVersion());
if(version!=null){
String plver=version.substring(0,version.indexOf(".")) + "." + version.substring(version.length() - 1, version.length());
bo.set("VERSION",plver);
}
bo.set("PROCESS_ARCHITECTURE_L1",PROCESS_ARCHITECTURE_L1.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L2",PROCESS_ARCHITECTURE_L2.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L3",PROCESS_ARCHITECTURE_L3.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L4",PROCESS_ARCHITECTURE_L4.getString("PROPERTYVALUE"));
DepartmentModel departmentModel=SDK.getORGAPI().getDepartmentById(applydepid);
if(departmentModel!=null){
boolean isclosed=departmentModel.isClosed();
if(isclosed==false){
String allpath = SDK.getORGAPI().getDepartmentById(applydepid).getPathNameOfCache();
if(allpath.contains("事业部")){
String depname=allpath.substring(allpath.indexOf("/")+2,allpath.indexOf("事业部")+3);
if(depname!=null){
bo.set("BUSINESS_DIVISION",depname);
DepartmentModel departmentModel=SDK.getORGAPI().getDepartmentById(applydepid);
if(departmentModel!=null){
boolean isclosed=departmentModel.isClosed();
if(isclosed==false){
String allpath = SDK.getORGAPI().getDepartmentById(applydepid).getPathNameOfCache();
if(allpath.contains("事业部")){
String depname=allpath.substring(allpath.indexOf("/")+2,allpath.indexOf("事业部")+3);
if(depname!=null){
bo.set("BUSINESS_DIVISION",depname);
}
} else if(allpath.contains("伊利集团总部")){
bo.set("BUSINESS_DIVISION","伊利集团总部");
}
} else if(allpath.contains("伊利")){
bo.set("BUSINESS_DIVISION","伊利集团总部");
}
}
}
}
ProcessInstance boProcessInstance = SDK.getProcessAPI()
.createBOProcessInstance("obj_e076b01bd0d04bc39e5af12e2c8c188c", applyUser, "权限阅览");

View File

@ -632,7 +632,6 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
DBSql.update(open,"UPDATE APP_ACT_COE_PAL_REPOSITORY SET EXT5 = '0' WHERE ID = '"+fileId+"'");
PALRepositoryModel plModel = CoeProcessLevelDaoFacotory.createCoeProcessLevel().getInstance(fileId);
DesignerShapeRelationCache.getCache().remove(plModel.getId(), false);
DesignerShapeRelationModel designerShapeRelationModel=new DesignerShapeRelationModel();
designerShapeRelationModel.setId(UUIDGener.getUUID());
@ -683,7 +682,6 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
if(departmentById!=null) {
String departemenId = departmentById.getId();
String pathIdOfCache=departmentById.getPathIdOfCache();
System.out.println("depId========"+depId);
if(departemenId.equals(depId)&&"".equals(issend)) {
sendEhqs = true;
} else {
@ -706,7 +704,6 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
try {
// 推送EHSQ
if(bo_act_coe_publish_n.size()>0) {
System.out.println("发送EHSQ====================");
sendEHSQ(processExecutionContext, bo_act_coe_publish_n);
}
// 更新EHSQ
@ -759,7 +756,6 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
//入库操作创建内容索引(多个)
ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params);
System.out.println("ro==================="+ro);
return ro.isOk();
}
@ -783,7 +779,6 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
@Override
public void run() {
System.out.println("最后一个数组是什么>>>>>>>"+Arrays.asList(resrt).size());
String userIds = "";
userIds = StringUtils.join(resrt, ",");
System.out.println("userIDs>>>>>>>>>>>>>>>"+userIds);
@ -806,12 +801,10 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
List<RowMap> List = DBSql.getMaps("SELECT NAME FROM BO_EU_READ_COUNT WHERE PROCESSID = '"
+ instanceById.getId() + "' AND RESULT = '待处理'");
if (List.size() != 0) {
System.err.println(instanceById.getTitle() + "批量推送失败后执行二次推送=======>" + List.size());
for (RowMap rowMap : List) {
try {
ArrayList<String> secondUserList = new ArrayList<String>();
secondUserList.add(rowMap.getString("NAME"));
System.err.println(instanceById.getTitle() + "二次推送账号=======>" + secondUserList);
BO executiveTaskBO=SDK.getBOAPI().query("BO_ACT_EXECUTIVE_TASK").addQuery("TASKID=",processExecutionContext.getProcessInstance().getId()).addQuery("TASKSTATUS=",2).detail();
if(executiveTaskBO!=null){
@ -933,7 +926,6 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
AppAPI appAPI = SDK.getAppAPI();
//创建文件
ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params);
System.out.println("流程手册的存入=================" + ro);
JSONArray coontest = new JSONArray(new LinkedList<>());
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
@ -969,7 +961,7 @@ public class ProcessEndAfterEvent_gc extends ExecuteListener implements ExecuteL
UpfileWeb upfileWeb = new UpfileWeb(userContext);
String sql_upfile = "select * from APP_ACT_COE_PAL_UPFILE where palrepositoryid in (select ID from APP_ACT_COE_PAL_REPOSITORY where PLMETHODID != 'process.framework' AND ID= '"
+ map.getString("ID") + "'" + ") ORDER BY FILENAME ASC";
+ map.getString("ID") + "'" + ") and FILETYPE='f' ORDER BY FILENAME ASC";
List<RowMap> maps = DBSql.getMaps(sql_upfile);
for (RowMap row : maps) {
if (!row.getString("FILENAME").contains(".xml")) {

View File

@ -699,7 +699,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
model.getWsId(), rowMap.getString("TASKID"), filename + "_" + lever + ".doc");
System.out.println("dcContext=========" + dcContext.getDownloadURL());
String filepath = dcContext.getFilePath();
String finalFilePath = filepath.replace("bin\\..\\", "");