发布流程判断
This commit is contained in:
parent
9942e92ace
commit
19df749406
Binary file not shown.
@ -1,30 +1,14 @@
|
||||
package com.actionsoft.apps.coe.pal.publisher.client.util;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.pal.manage.publish.dao.PublishHistory;
|
||||
import com.actionsoft.apps.coe.pal.pal.manage.publish.model.PublishHistoryModel;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.dao.OutputTask;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.model.OutputTaskModel;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.PALRepositoryQueryAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.dao.PALRepositoryPropertyDao;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryPropertyModel;
|
||||
import com.actionsoft.apps.coe.pal.publisher.constant.PublisherConstant;
|
||||
import com.actionsoft.bpms.bo.engine.BO;
|
||||
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
|
||||
import com.actionsoft.bpms.commons.database.RowMap;
|
||||
import com.actionsoft.bpms.util.DBSql;
|
||||
import com.actionsoft.bpms.util.UUIDGener;
|
||||
import com.actionsoft.bpms.util.UtilDate;
|
||||
import com.actionsoft.bpms.util.UtilString;
|
||||
import com.actionsoft.sdk.local.SDK;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.sun.org.apache.xalan.internal.xsltc.compiler.sym;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author baizp
|
||||
@ -39,12 +23,12 @@ public class ProcesNumberUtil {
|
||||
* @param regionCode
|
||||
* @return
|
||||
*/
|
||||
public String getProcessNum(String levelCode, String regionCode,String plcategory) {
|
||||
public String getProcessNum(String levelCode, String regionCode, String plcategory) {
|
||||
|
||||
int nowNum = 1;
|
||||
//流程编号
|
||||
if (plcategory.contains("process")) {
|
||||
String querySql = "select ID,PROCESS_NUMBERS from BO_ACT_PROCESSNUMBER where LEVELNUM = '%s' and REGIONCODE='%s'";
|
||||
int nowNum = 1;
|
||||
//流程编号
|
||||
if (plcategory.contains("process")) {
|
||||
String querySql = "select ID,PROCESS_NUMBERS from BO_ACT_PROCESSNUMBER where LEVELNUM = '%s' and REGIONCODE='%s'";
|
||||
RowMap result = DBSql.getMap(String.format(querySql, levelCode, regionCode));
|
||||
//如果没有就新增
|
||||
if (result == null) {
|
||||
@ -58,13 +42,13 @@ public class ProcesNumberUtil {
|
||||
DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID")));
|
||||
if (nowNum < 10) {
|
||||
return "00" + nowNum;
|
||||
}else if(nowNum >=10&&nowNum < 100){
|
||||
return "0" + nowNum;
|
||||
} else if (nowNum >= 10 && nowNum < 100) {
|
||||
return "0" + nowNum;
|
||||
}
|
||||
|
||||
} else if (plcategory.contains("control")) {
|
||||
//制度编号
|
||||
String querySql = "select ID,SYSTEM_NUMBERS from BO_ACT_PROCESSNUMBER where LEVELNUM = '%s' and REGIONCODE='%s'";
|
||||
} else if (plcategory.contains("control")) {
|
||||
//制度编号
|
||||
String querySql = "select ID,SYSTEM_NUMBERS from BO_ACT_PROCESSNUMBER where LEVELNUM = '%s' and REGIONCODE='%s'";
|
||||
RowMap result = DBSql.getMap(String.format(querySql, levelCode, regionCode));
|
||||
//如果没有就新增
|
||||
if (result == null) {
|
||||
@ -78,13 +62,13 @@ public class ProcesNumberUtil {
|
||||
DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID")));
|
||||
if (nowNum < 10) {
|
||||
return "00" + nowNum;
|
||||
}else if(nowNum >=10&&nowNum < 100){
|
||||
return "0" + nowNum;
|
||||
} else if (nowNum >= 10 && nowNum < 100) {
|
||||
return "0" + nowNum;
|
||||
}
|
||||
|
||||
} else if (plcategory.contains("form")) {
|
||||
//表单编号
|
||||
String querySql = "select ID,FORM_NUMBERS from BO_ACT_PROCESSNUMBER where LEVELNUM = '%s' and REGIONCODE='%s'";
|
||||
} else if (plcategory.contains("form")) {
|
||||
//表单编号
|
||||
String querySql = "select ID,FORM_NUMBERS from BO_ACT_PROCESSNUMBER where LEVELNUM = '%s' and REGIONCODE='%s'";
|
||||
RowMap result = DBSql.getMap(String.format(querySql, levelCode, regionCode));
|
||||
//如果没有就新增
|
||||
if (result == null) {
|
||||
@ -98,314 +82,313 @@ public class ProcesNumberUtil {
|
||||
DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID")));
|
||||
if (nowNum < 10) {
|
||||
return "00" + nowNum;
|
||||
}else if(nowNum >=10&&nowNum < 100){
|
||||
return "0" + nowNum;
|
||||
} else if (nowNum >= 10 && nowNum < 100) {
|
||||
return "0" + nowNum;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return nowNum + "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成编号并写入数据库
|
||||
*
|
||||
* @param bindId
|
||||
* @return
|
||||
*/
|
||||
public String getNumber(String bindId) {
|
||||
/**
|
||||
* 生成编号并写入数据库
|
||||
*
|
||||
* @param bindId
|
||||
* @return
|
||||
*/
|
||||
public String getNumber(String bindId) {
|
||||
|
||||
|
||||
// 查询出所有的发布流程
|
||||
List<BO> dataList = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N").addQuery("BINDID=", bindId).orderByCreated().asc().list();
|
||||
// 查询出所有的变更流程
|
||||
List<BO> changList = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_C").addQuery("BINDID=", bindId).orderByCreated().asc().list();
|
||||
if (changList.size() != 0) {
|
||||
for (BO changData : changList) {
|
||||
String change_numner = changData.getString("CHANGE_NUMBER");
|
||||
String changFileId = changData.getString("CHANGEFILEID");
|
||||
String changAfterFileId = changData.getString("CHANGEDFILEIDNEW");
|
||||
if(UtilString.isEmpty(change_numner)) {
|
||||
RowMap rowMap = DBSql.getMap("SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID='" + changAfterFileId + "'");
|
||||
String Vsion1Id = DBSql.getString("SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLRID='"
|
||||
+ rowMap.getString("PLRID") + "' AND" + " PLVER = 1 ");
|
||||
String publish_number = DBSql.getString(
|
||||
"SELECT PUBLISH_NUMBER FROM BO_ACT_COE_PUBLISH_N WHERE PUBLISHFILEID ='" + Vsion1Id + "'");
|
||||
// 查询出所有的发布流程
|
||||
List<BO> dataList = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N").addQuery("BINDID=", bindId).orderByCreated().asc().list();
|
||||
// 查询出所有的变更流程
|
||||
List<BO> changList = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_C").addQuery("BINDID=", bindId).orderByCreated().asc().list();
|
||||
if (changList.size() != 0) {
|
||||
for (BO changData : changList) {
|
||||
String change_numner = changData.getString("CHANGE_NUMBER");
|
||||
String changFileId = changData.getString("CHANGEFILEID");
|
||||
String changAfterFileId = changData.getString("CHANGEDFILEIDNEW");
|
||||
if (UtilString.isEmpty(change_numner)) {
|
||||
RowMap rowMap = DBSql.getMap("SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID='" + changAfterFileId + "'");
|
||||
String Vsion1Id = DBSql.getString("SELECT ID FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLRID='"
|
||||
+ rowMap.getString("PLRID") + "' AND" + " PLVER = 1 ");
|
||||
String publish_number = DBSql.getString(
|
||||
"SELECT PUBLISH_NUMBER FROM BO_ACT_COE_PUBLISH_N WHERE PUBLISHFILEID ='" + Vsion1Id + "'");
|
||||
|
||||
System.out.println("获取编号为======================="+publish_number);
|
||||
if (UtilString.isNotEmpty(publish_number)) {
|
||||
// 设置模型ID
|
||||
String plver = "2.0";
|
||||
String plvers = rowMap.getString("PLVER");
|
||||
if (!"".equals(plvers)) {
|
||||
if (plvers.length() > 1) {
|
||||
plver = plvers.substring(0, 1) + "."
|
||||
+ plvers.substring(plvers.length() - 1, plvers.length());
|
||||
} else {
|
||||
plver = plvers.substring(0, 1) + ".0";
|
||||
}
|
||||
}
|
||||
System.out.println("获取编号为=======================" + publish_number);
|
||||
if (UtilString.isNotEmpty(publish_number)) {
|
||||
// 设置模型ID
|
||||
String plver = "2.0";
|
||||
String plvers = rowMap.getString("PLVER");
|
||||
if (!"".equals(plvers)) {
|
||||
if (plvers.length() > 1) {
|
||||
plver = plvers.substring(0, 1) + "."
|
||||
+ plvers.substring(plvers.length() - 1, plvers.length());
|
||||
} else {
|
||||
plver = plvers.substring(0, 1) + ".0";
|
||||
}
|
||||
}
|
||||
|
||||
String new_number = publish_number.replaceAll("V1.0", "V"+plver);
|
||||
String updateSql = "update BO_ACT_COE_PUBLISH_C set CHANGE_NUMBER = '%s' where CHANGEDFILEIDNEW = '%s'";
|
||||
//更新子表文件编码属性
|
||||
int update = DBSql.update(String.format(updateSql, new_number, changAfterFileId));
|
||||
System.out.println("更新子表文件编号:" + update + "--->" + new_number);
|
||||
String fileName = "file_number";
|
||||
if (rowMap != null) {
|
||||
String plcategory = rowMap.getString("PLMETHODID");
|
||||
if (plcategory.contains("form")) {
|
||||
fileName = "form_number";
|
||||
}
|
||||
String new_number = publish_number.replaceAll("V1.0", "V" + plver);
|
||||
String updateSql = "update BO_ACT_COE_PUBLISH_C set CHANGE_NUMBER = '%s' where CHANGEDFILEIDNEW = '%s'";
|
||||
//更新子表文件编码属性
|
||||
int update = DBSql.update(String.format(updateSql, new_number, changAfterFileId));
|
||||
System.out.println("更新子表文件编号:" + update + "--->" + new_number);
|
||||
String fileName = "file_number";
|
||||
if (rowMap != null) {
|
||||
String plcategory = rowMap.getString("PLMETHODID");
|
||||
if (plcategory.contains("form")) {
|
||||
fileName = "form_number";
|
||||
}
|
||||
|
||||
}
|
||||
//更新模型文件编码属性
|
||||
String updateAttrsql = "update APP_ACT_COE_PAL_PROP set PROPERTYVALUE='%s' where PROPERTYID='%s' AND PLID='%s'";
|
||||
int update2 = DBSql.update(String.format(updateAttrsql, new_number, fileName, changAfterFileId));
|
||||
System.out.println("更新模型文件编号:" + update2 + "--->" + new_number);
|
||||
}else {
|
||||
// 查询出主表数据
|
||||
BO mainData = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", bindId);
|
||||
}
|
||||
//更新模型文件编码属性
|
||||
String updateAttrsql = "update APP_ACT_COE_PAL_PROP set PROPERTYVALUE='%s' where PROPERTYID='%s' AND PLID='%s'";
|
||||
int update2 = DBSql.update(String.format(updateAttrsql, new_number, fileName, changAfterFileId));
|
||||
System.out.println("更新模型文件编号:" + update2 + "--->" + new_number);
|
||||
} else {
|
||||
// 查询出主表数据
|
||||
BO mainData = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", bindId);
|
||||
|
||||
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(bindId);
|
||||
String levelnum=null;
|
||||
String orgCode=null;
|
||||
String regionCode=null;
|
||||
String productCode=null;
|
||||
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().getInstanceById(bindId);
|
||||
String levelnum = null;
|
||||
String orgCode = null;
|
||||
String regionCode = null;
|
||||
String productCode = null;
|
||||
if (processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362") || processInstance.getProcessDefId().equals("obj_5609e1d265dc4e7094c617f20be353dd") || processInstance.getProcessDefId().equals("obj_114e76f691c14beb902e9904f4be26f8")) {
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree;
|
||||
}else{
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' and LEVEL_4_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_4_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
String levelFour = authData.getString("LEVEL_4_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelFour)) {
|
||||
levelFour = levelFour.substring(levelFour.lastIndexOf(".") + 1, levelFour.length());
|
||||
} else {
|
||||
levelFour = "00";
|
||||
}
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree;
|
||||
} else {
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' and LEVEL_4_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_4_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
String levelFour = authData.getString("LEVEL_4_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelFour)) {
|
||||
levelFour = levelFour.substring(levelFour.lastIndexOf(".") + 1, levelFour.length());
|
||||
} else {
|
||||
levelFour = "00";
|
||||
}
|
||||
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree +"."+levelFour;
|
||||
}
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree + "." + levelFour;
|
||||
}
|
||||
|
||||
String updateSql = "update BO_ACT_COE_PUBLISH_C set CHANGE_NUMBER = '%s' where ID = '%s'";
|
||||
rowMap = DBSql.getMap("SELECT PLVER,PLMETHODID FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID='"
|
||||
+ changAfterFileId + "' AND" + " ISUSE = 1 ");
|
||||
String name = "";
|
||||
String fileName = "file_number";
|
||||
String plver = "2.0";
|
||||
if (rowMap != null) {
|
||||
String plcategory = rowMap.getString("PLMETHODID");
|
||||
String plvers = rowMap.getString("PLVER");
|
||||
String number = getProcessNum(levelnum, orgCode,plcategory);
|
||||
if (plcategory.contains("process")) {
|
||||
String updateSql = "update BO_ACT_COE_PUBLISH_C set CHANGE_NUMBER = '%s' where ID = '%s'";
|
||||
rowMap = DBSql.getMap("SELECT PLVER,PLMETHODID FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID='"
|
||||
+ changAfterFileId + "' AND" + " ISUSE = 1 ");
|
||||
String name = "";
|
||||
String fileName = "file_number";
|
||||
String plver = "2.0";
|
||||
if (rowMap != null) {
|
||||
String plcategory = rowMap.getString("PLMETHODID");
|
||||
String plvers = rowMap.getString("PLVER");
|
||||
String number = getProcessNum(levelnum, orgCode, plcategory);
|
||||
if (plcategory.contains("process")) {
|
||||
|
||||
name = "/P" + number;
|
||||
} else if (plcategory.contains("control")) {
|
||||
name = "/R" + number;
|
||||
} else if (plcategory.contains("form")) {
|
||||
fileName = "form_number";
|
||||
name = "/T" + number;
|
||||
}
|
||||
if (!"".equals(plvers)) {
|
||||
if (plvers.length() > 1) {
|
||||
plver = plvers.substring(0, 1) + "."
|
||||
+ plvers.substring(plvers.length() - 1, plvers.length());
|
||||
} else {
|
||||
plver = plvers.substring(0, 1) + ".0";
|
||||
}
|
||||
}
|
||||
}
|
||||
name = "/P" + number;
|
||||
} else if (plcategory.contains("control")) {
|
||||
name = "/R" + number;
|
||||
} else if (plcategory.contains("form")) {
|
||||
fileName = "form_number";
|
||||
name = "/T" + number;
|
||||
}
|
||||
if (!"".equals(plvers)) {
|
||||
if (plvers.length() > 1) {
|
||||
plver = plvers.substring(0, 1) + "."
|
||||
+ plvers.substring(plvers.length() - 1, plvers.length());
|
||||
} else {
|
||||
plver = plvers.substring(0, 1) + ".0";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String processNum = levelnum + name + "V" + plver +"-"+ orgCode + regionCode + productCode;
|
||||
String s = changData.getId();
|
||||
int update = DBSql.update(String.format(updateSql, processNum, s.toLowerCase()));
|
||||
System.out.println("更新表单文件编号回填:" + update + "--->" + processNum+" 文件id"+s);
|
||||
String updateAttrsql = "update APP_ACT_COE_PAL_PROP set PROPERTYVALUE='%s' where PROPERTYID='%s' AND PLID='%s'";
|
||||
int update2 = DBSql.update(String.format(updateAttrsql, processNum, fileName, changAfterFileId));
|
||||
System.out.println("更新模型文件编号回填:" + update2 + "--->" + processNum +" 文件id"+changAfterFileId);
|
||||
}
|
||||
String processNum = levelnum + name + "V" + plver + "-" + orgCode + regionCode + productCode;
|
||||
String s = changData.getId();
|
||||
int update = DBSql.update(String.format(updateSql, processNum, s.toLowerCase()));
|
||||
System.out.println("更新表单文件编号回填:" + update + "--->" + processNum + " 文件id" + s);
|
||||
String updateAttrsql = "update APP_ACT_COE_PAL_PROP set PROPERTYVALUE='%s' where PROPERTYID='%s' AND PLID='%s'";
|
||||
int update2 = DBSql.update(String.format(updateAttrsql, processNum, fileName, changAfterFileId));
|
||||
System.out.println("更新模型文件编号回填:" + update2 + "--->" + processNum + " 文件id" + changAfterFileId);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dataList.size() != 0) {
|
||||
// 查询出主表数据
|
||||
BO mainData = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", bindId);
|
||||
if (dataList.size() != 0) {
|
||||
// 查询出主表数据
|
||||
BO mainData = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", bindId);
|
||||
|
||||
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(bindId);
|
||||
String levelnum=null;
|
||||
String orgCode=null;
|
||||
String regionCode=null;
|
||||
String productCode=null;
|
||||
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().getInstanceById(bindId);
|
||||
String levelnum = null;
|
||||
String orgCode = null;
|
||||
String regionCode = null;
|
||||
String productCode = null;
|
||||
if (processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362") || processInstance.getProcessDefId().equals("obj_5609e1d265dc4e7094c617f20be353dd") || processInstance.getProcessDefId().equals("obj_114e76f691c14beb902e9904f4be26f8")) {
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree ;
|
||||
}else{
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' and LEVEL_4_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_4_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
String levelFour = authData.getString("LEVEL_4_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree;
|
||||
} else {
|
||||
// 根据主表数据查询出权限的编码
|
||||
String qxSql = "select * from BO_ACT_AUTH_INFO where ORGNAME='%s' and LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' and LEVEL_4_PROCESS_NAME='%s' "
|
||||
+ " and ADAPT_REGION_NAME = '%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap authData = DBSql.getMap(String.format(qxSql, mainData.getString("ADAPT_NAME_THE_COMPANY"),
|
||||
mainData.getString("LEVEL_1_PROCESS_NAME"), mainData.getString("LEVEL_2_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_3_PROCESS_NAME"),
|
||||
mainData.getString("LEVEL_4_PROCESS_NAME"),
|
||||
mainData.getString("ADAPT_REGION_NAME"),
|
||||
mainData.getString("APPLICABLE_PRODUCT")));
|
||||
// 获取所有的流程编码 如果为空则为00
|
||||
orgCode = authData.getString("ORGCODE");
|
||||
String levelOne = authData.getString("LEVEL_1_PROCESS_ID");
|
||||
String levelTwo = authData.getString("LEVEL_2_PROCESS_ID");
|
||||
String levelThree = authData.getString("LEVEL_3_PROCESS_ID");
|
||||
String levelFour = authData.getString("LEVEL_4_PROCESS_ID");
|
||||
regionCode = authData.getString("ADAPT_REGION_CODE");
|
||||
productCode = authData.getString("APPLICABLE_PRODUCT_CODE");
|
||||
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
// 依次生成编号~并回填 修改
|
||||
if (UtilString.isNotEmpty(levelTwo)) {
|
||||
levelTwo = levelTwo.substring(levelTwo.indexOf(".") + 1, levelTwo.length());
|
||||
} else {
|
||||
levelTwo = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelThree)) {
|
||||
levelThree = levelThree.substring(levelThree.lastIndexOf(".") + 1, levelThree.length());
|
||||
} else {
|
||||
levelThree = "00";
|
||||
}
|
||||
|
||||
if (UtilString.isNotEmpty(levelFour)) {
|
||||
levelFour = levelFour.substring(levelFour.lastIndexOf(".") + 1, levelFour.length());
|
||||
} else {
|
||||
levelFour = "00";
|
||||
}
|
||||
if (UtilString.isNotEmpty(levelFour)) {
|
||||
levelFour = levelFour.substring(levelFour.lastIndexOf(".") + 1, levelFour.length());
|
||||
} else {
|
||||
levelFour = "00";
|
||||
}
|
||||
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree +"."+levelFour;
|
||||
}
|
||||
levelnum = levelOne + "." + levelTwo + "." + levelThree + "." + levelFour;
|
||||
}
|
||||
|
||||
|
||||
String updateSql = "update BO_ACT_COE_PUBLISH_N set PUBLISH_NUMBER='%s' where ID = '%s'";
|
||||
for (BO nowData : dataList) {
|
||||
String publish_numner = nowData.getString("PUBLISH_NUMBER");
|
||||
if(UtilString.isEmpty(publish_numner)) {
|
||||
String publishfileid = nowData.getString("PUBLISHFILEID");
|
||||
RowMap rowMap = DBSql.getMap("SELECT PLVER,PLMETHODID FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID='"
|
||||
+ publishfileid + "' AND" + " ISUSE = 1 ");
|
||||
String name = "00R00";
|
||||
String fileName = "file_number";
|
||||
String plver = "1.0";
|
||||
if (rowMap != null) {
|
||||
String plcategory = rowMap.getString("PLMETHODID");
|
||||
String plvers = rowMap.getString("PLVER");
|
||||
String number = getProcessNum(levelnum, orgCode,plcategory);
|
||||
String updateSql = "update BO_ACT_COE_PUBLISH_N set PUBLISH_NUMBER='%s' where ID = '%s'";
|
||||
for (BO nowData : dataList) {
|
||||
String publish_numner = nowData.getString("PUBLISH_NUMBER");
|
||||
if (UtilString.isEmpty(publish_numner)) {
|
||||
String publishfileid = nowData.getString("PUBLISHFILEID");
|
||||
RowMap rowMap = DBSql.getMap("SELECT PLVER,PLMETHODID FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID='"
|
||||
+ publishfileid + "' AND" + " ISUSE = 1 ");
|
||||
String name = "00R00";
|
||||
String fileName = "file_number";
|
||||
String plver = "1.0";
|
||||
if (rowMap != null) {
|
||||
String plcategory = rowMap.getString("PLMETHODID");
|
||||
String plvers = rowMap.getString("PLVER");
|
||||
String number = getProcessNum(levelnum, orgCode, plcategory);
|
||||
|
||||
if (plcategory.contains("process")) {
|
||||
name = "/P" + number;
|
||||
} else if (plcategory.contains("control")) {
|
||||
name = "/R" + number;
|
||||
} else if (plcategory.contains("form")) {
|
||||
fileName = "form_number";
|
||||
name = "/T" + number;
|
||||
}
|
||||
if (!"".equals(plvers)) {
|
||||
if (plvers.length() > 1) {
|
||||
plver = plvers.substring(0, 1) + "."
|
||||
+ plvers.substring(plvers.length() - 1, plvers.length());
|
||||
} else {
|
||||
plver = plvers.substring(0, 1) + ".0";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (plcategory.contains("process")) {
|
||||
name = "/P" + number;
|
||||
} else if (plcategory.contains("control")) {
|
||||
name = "/R" + number;
|
||||
} else if (plcategory.contains("form")) {
|
||||
fileName = "form_number";
|
||||
name = "/T" + number;
|
||||
}
|
||||
if (!"".equals(plvers)) {
|
||||
if (plvers.length() > 1) {
|
||||
plver = plvers.substring(0, 1) + "."
|
||||
+ plvers.substring(plvers.length() - 1, plvers.length());
|
||||
} else {
|
||||
plver = plvers.substring(0, 1) + ".0";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String processNum = levelnum + name + "V" + plver +"-"+orgCode + regionCode + productCode;
|
||||
String s = nowData.getId();
|
||||
int update = DBSql.update(String.format(updateSql, processNum, s.toLowerCase()));
|
||||
System.out.println("表单文件编号回填:" + update + "--->" + processNum);
|
||||
String publishFileId = nowData.getString("PUBLISHFILEID");
|
||||
String updateAttrsql = "update APP_ACT_COE_PAL_PROP set PROPERTYVALUE='%s' where PROPERTYID='%s' AND PLID='%s'";
|
||||
int update2 = DBSql.update(String.format(updateAttrsql, processNum, fileName, publishFileId));
|
||||
System.out.println("模型文件编号回填:" + update2 + "--->" + processNum);
|
||||
// 更新流程绩效的编号----规则没看懂
|
||||
}
|
||||
}
|
||||
}
|
||||
return "OK";
|
||||
}
|
||||
String processNum = levelnum + name + "V" + plver + "-" + orgCode + regionCode + productCode;
|
||||
String s = nowData.getId();
|
||||
int update = DBSql.update(String.format(updateSql, processNum, s.toLowerCase()));
|
||||
System.out.println("表单文件编号回填:" + update + "--->" + processNum);
|
||||
String publishFileId = nowData.getString("PUBLISHFILEID");
|
||||
String updateAttrsql = "update APP_ACT_COE_PAL_PROP set PROPERTYVALUE='%s' where PROPERTYID='%s' AND PLID='%s'";
|
||||
int update2 = DBSql.update(String.format(updateAttrsql, processNum, fileName, publishFileId));
|
||||
System.out.println("模型文件编号回填:" + update2 + "--->" + processNum);
|
||||
// 更新流程绩效的编号----规则没看懂
|
||||
}
|
||||
}
|
||||
}
|
||||
return "OK";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,31 +1,5 @@
|
||||
package com.actionsoft.apps.coe.pal.publisher.client.web;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
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.concurrent.ExecutorService;
|
||||
import java.util.concurrent.LinkedBlockingDeque;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.designer.manage.CoeDesignerAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.designer.model.BaseModel;
|
||||
import com.actionsoft.exception.AWSDataAccessException;
|
||||
import com.actionsoft.sdk.local.api.BOQueryAPI;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.constant.CoEConstant;
|
||||
import com.actionsoft.apps.coe.pal.cooperation.CoeCooperationAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.cooperation.cache.CooperationCache;
|
||||
@ -47,6 +21,8 @@ import com.actionsoft.apps.coe.pal.pal.repository.PALRepositoryQueryAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.dao.PALRepository;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.dao.PALRepositoryPropertyDao;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.designer.manage.CoeDesignerAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.designer.model.BaseModel;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.model.CoeProcessLevelAutoBean;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
|
||||
@ -86,16 +62,14 @@ import com.actionsoft.bpms.server.fs.DCContext;
|
||||
import com.actionsoft.bpms.server.fs.dc.DCProfileManager;
|
||||
import com.actionsoft.bpms.server.fs.dc.DCUtil;
|
||||
import com.actionsoft.bpms.util.Base64;
|
||||
import com.actionsoft.bpms.util.DBSql;
|
||||
import com.actionsoft.bpms.util.UUIDGener;
|
||||
import com.actionsoft.bpms.util.UtilDate;
|
||||
import com.actionsoft.bpms.util.UtilFile;
|
||||
import com.actionsoft.bpms.util.UtilString;
|
||||
import com.actionsoft.bpms.util.*;
|
||||
import com.actionsoft.exception.AWSDataAccessException;
|
||||
import com.actionsoft.exception.AWSException;
|
||||
import com.actionsoft.exception.AWSQuotaException;
|
||||
import com.actionsoft.i18n.I18nRes;
|
||||
import com.actionsoft.sdk.local.SDK;
|
||||
import com.actionsoft.sdk.local.api.AppAPI;
|
||||
import com.actionsoft.sdk.local.api.BOQueryAPI;
|
||||
import com.actionsoft.sdk.local.api.ProcessExecuteQuery;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
@ -104,6 +78,15 @@ import com.google.common.base.Joiner;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 流程发布App
|
||||
@ -1914,7 +1897,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
if (stopBo != null) {
|
||||
|
||||
|
||||
String stopId=stopBo.getString("STOPFILEID");
|
||||
String stopId = stopBo.getString("STOPFILEID");
|
||||
/******************** 附件 **********************/
|
||||
// 文件或节点自身附件
|
||||
JSONArray js = new JSONArray();
|
||||
@ -3409,9 +3392,9 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
PALRepositoryModel stopmodel = PALRepositoryCache.getCache().get(stopBo.getString("STOPFILEID"));
|
||||
|
||||
|
||||
String stopId=stopBo.getString("STOPFILEID");
|
||||
String stopId = stopBo.getString("STOPFILEID");
|
||||
|
||||
String methodId=stopmodel.getMethodId();
|
||||
String methodId = stopmodel.getMethodId();
|
||||
|
||||
/******************** 附件 ************************/
|
||||
// 文件或节点自身附件
|
||||
@ -3524,7 +3507,6 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
obj.put("upfileId", js);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4339,7 +4321,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
* @param datas
|
||||
* @return
|
||||
*/
|
||||
public String getLevelByData(UserContext me, String wsId, String type, String datas,String processInstId) {
|
||||
public String getLevelByData(UserContext me, String wsId, String type, String datas, String processInstId) {
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
JSONArray palarr = JSON.parseArray(datas);
|
||||
JSONObject result = new JSONObject();
|
||||
@ -4366,9 +4348,9 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
String methodId = paljb.getString("methodId");
|
||||
PALRepositoryModel model = PALRepositoryCache.getCache().get(id);
|
||||
|
||||
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(processInstId);
|
||||
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
|
||||
//ID获取L1 L2 L3 的值
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().getInstanceById(processInstId);
|
||||
if (processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362") || processInstance.getProcessDefId().equals("obj_5609e1d265dc4e7094c617f20be353dd") || processInstance.getProcessDefId().equals("obj_114e76f691c14beb902e9904f4be26f8")) {
|
||||
//ID获取L1 L2 L3 的值
|
||||
List<RowMap> resulttmp = DBSql.getMaps(String.format("select PROPERTYID,PROPERTYVALUE from APP_ACT_COE_PAL_PROP where PROPERTYID in ('Process_Architecture_L1','Process_Architecture_L2','Process_Architecture_L3') AND PLID='%s'", id));
|
||||
for (RowMap tmp : resulttmp) {
|
||||
String key = tmp.getString("PROPERTYID");
|
||||
@ -4389,7 +4371,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
result.put(key, value);
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
//ID获取L1 L2 L3 L4 的值
|
||||
List<RowMap> resulttmp = DBSql.getMaps(String.format("select PROPERTYID,PROPERTYVALUE from APP_ACT_COE_PAL_PROP where PROPERTYID in ('Process_Architecture_L1','Process_Architecture_L2','Process_Architecture_L3','Process_Architecture_L4') AND PLID='%s'", id));
|
||||
for (RowMap tmp : resulttmp) {
|
||||
@ -4435,22 +4417,22 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
* @param product
|
||||
* @return
|
||||
*/
|
||||
public String getApproveInfos(UserContext me, String level1, String level2, String level3,String level4, String company, String region, String product, String bindid) {
|
||||
public String getApproveInfos(UserContext me, String level1, String level2, String level3, String level4, String company, String region, String product, String bindid) {
|
||||
|
||||
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(bindid);
|
||||
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().getInstanceById(bindid);
|
||||
if (processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362") || processInstance.getProcessDefId().equals("obj_5609e1d265dc4e7094c617f20be353dd") || processInstance.getProcessDefId().equals("obj_114e76f691c14beb902e9904f4be26f8")) {
|
||||
//l1 l2 l3 l4 保存到表里
|
||||
DBSql.update(String.format("update BO_ACT_COE_PUBLISH set LEVEL_1_PROCESS_NAME='%s',LEVEL_2_PROCESS_NAME='%s',LEVEL_3_PROCESS_NAME='%s' where BINDID='%s'", level1, level2, level3, bindid));
|
||||
String sql = "select AUDITOR1,AUDITOR_NO_1,L1_SP,AUDITOR2,AUDITOR_NO_2,L2_SP,AUDITOR3,AUDITOR_NO_3,L3_SP from BO_ACT_AUTH_INFO where LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' and ORGNAME='%s' and ADAPT_REGION_NAME='%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap result = DBSql.getMap(String.format(sql, level1, level2, level3,company, region, product));
|
||||
RowMap result = DBSql.getMap(String.format(sql, level1, level2, level3, company, region, product));
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
ro.put("data", result == null ? "" : result);
|
||||
return ro.toString();
|
||||
}else{
|
||||
} else {
|
||||
//l1 l2 l3 l4 保存到表里
|
||||
DBSql.update(String.format("update BO_ACT_COE_PUBLISH set LEVEL_1_PROCESS_NAME='%s',LEVEL_2_PROCESS_NAME='%s',LEVEL_3_PROCESS_NAME='%s',LEVEL_4_PROCESS_NAME='%s' where BINDID='%s'", level1, level2, level3,level4, bindid));
|
||||
String sql = "select AUDITOR1,AUDITOR_NO_1,L1_SP,AUDITOR2,AUDITOR_NO_2,L2_SP,AUDITOR3,AUDITOR_NO_3,L3_SP from BO_ACT_AUTH_INFO where LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' and LEVEL_4_PROCESS_NAME='%s' and ORGNAME='%s' and ADAPT_REGION_NAME='%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap result = DBSql.getMap(String.format(sql, level1, level2, level3, level4,company, region, product));
|
||||
DBSql.update(String.format("update BO_ACT_COE_PUBLISH set LEVEL_1_PROCESS_NAME='%s',LEVEL_2_PROCESS_NAME='%s',LEVEL_3_PROCESS_NAME='%s',LEVEL_4_PROCESS_NAME='%s' where BINDID='%s'", level1, level2, level3, level4, bindid));
|
||||
String sql = "select AUDITOR1,AUDITOR_NO_1,L1_SP,AUDITOR2,AUDITOR_NO_2,L2_SP,AUDITOR3,AUDITOR_NO_3,L3_SP,AUDITOR4,AUDITOR_NO_4,L4_SP from BO_ACT_AUTH_INFO where LEVEL_1_PROCESS_NAME='%s' and LEVEL_2_PROCESS_NAME='%s' and LEVEL_3_PROCESS_NAME='%s' and LEVEL_4_PROCESS_NAME='%s' and ORGNAME='%s' and ADAPT_REGION_NAME='%s' and APPLICABLE_PRODUCT='%s'";
|
||||
RowMap result = DBSql.getMap(String.format(sql, level1, level2, level3, level4, company, region, product));
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
ro.put("data", result == null ? "" : result);
|
||||
return ro.toString();
|
||||
@ -4570,8 +4552,8 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
*/
|
||||
public String getProcessManifest(String publishFileId, String fileName) {
|
||||
BaseModel defineModel = CoeDesignerAPIManager.getInstance().getDefinition(publishFileId, 0);
|
||||
if(defineModel==null){
|
||||
return ResponseObject.newErrResponse("当前模型名称:【"+fileName+"】当前不存在活动节点<br/>请配置活动节点后再进行查看活动清单操作!").toString();
|
||||
if (defineModel == null) {
|
||||
return ResponseObject.newErrResponse("当前模型名称:【" + fileName + "】当前不存在活动节点<br/>请配置活动节点后再进行查看活动清单操作!").toString();
|
||||
}
|
||||
String definition = defineModel.getDefinition();
|
||||
JSONObject definitionJo = JSONObject.parseObject(definition);
|
||||
@ -4605,7 +4587,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
* @param shape 形状
|
||||
* @param fileName 文件名称
|
||||
*/
|
||||
private void setShapeAttr(ArrayList<BO> bos, String publishFileId, JSONObject shape, String fileName , List<RowMap> processLevel) {
|
||||
private void setShapeAttr(ArrayList<BO> bos, String publishFileId, JSONObject shape, String fileName, List<RowMap> processLevel) {
|
||||
//只需要活动节点
|
||||
if (shape.containsKey("category") && !shape.getString("title").equals("开始/结束")) {
|
||||
BO bo = new BO();
|
||||
@ -4666,7 +4648,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
if (publishNBO.size() > 0) {
|
||||
for (BO onePublishN : publishNBO) {
|
||||
|
||||
if(onePublishN.getString("TASKID").equals("submit_create")){
|
||||
if (onePublishN.getString("TASKID").equals("submit_create")) {
|
||||
return ResponseObject.newWarnResponse("请先创建手册!!").toString();
|
||||
}
|
||||
String plId = onePublishN.getString("PUBLISHFILEID");
|
||||
@ -4694,7 +4676,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
|
||||
}
|
||||
} else if(type.equals("2")) {
|
||||
} else if (type.equals("2")) {
|
||||
//发布变更文件
|
||||
List<BO> publishCBO = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_C").bindId(processInstId).list();
|
||||
|
||||
@ -4702,7 +4684,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
|
||||
for (BO onePublishC : publishCBO) {
|
||||
|
||||
if(onePublishC.getString("TASKID")=="submit_create"){
|
||||
if (onePublishC.getString("TASKID") == "submit_create") {
|
||||
return ResponseObject.newWarnResponse("请先创建手册!!").toString();
|
||||
}
|
||||
|
||||
@ -4731,7 +4713,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
|
||||
}
|
||||
}else if(type.equals("3")) {
|
||||
} else if (type.equals("3")) {
|
||||
//发布变更文件
|
||||
List<BO> publishSBO = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_S").bindId(processInstId).list();
|
||||
|
||||
@ -4769,7 +4751,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
}
|
||||
} catch (AWSDataAccessException e) {
|
||||
ro.put("result","创建手册失败!!!");
|
||||
ro.put("result", "创建手册失败!!!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
return ro.toString();
|
||||
@ -4789,8 +4771,8 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
try {
|
||||
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(processInstId);
|
||||
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().getInstanceById(processInstId);
|
||||
if (processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362") || processInstance.getProcessDefId().equals("obj_5609e1d265dc4e7094c617f20be353dd") || processInstance.getProcessDefId().equals("obj_114e76f691c14beb902e9904f4be26f8")) {
|
||||
//ID获取L1 L2 L3 的值
|
||||
List<RowMap> resulttmp = DBSql.getMaps(String.format("select PROPERTYID,PROPERTYVALUE from APP_ACT_COE_PAL_PROP where PROPERTYID in ('Process_Architecture_L1','Process_Architecture_L2','Process_Architecture_L3') AND PLID='%s'", uuid));
|
||||
for (RowMap tmp : resulttmp) {
|
||||
@ -4800,7 +4782,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
ro.put("data", result);
|
||||
ro.put("info", iswrong);
|
||||
}else{
|
||||
} else {
|
||||
//ID获取L1 L2 L3 L4 的值
|
||||
List<RowMap> resulttmp = DBSql.getMaps(String.format("select PROPERTYID,PROPERTYVALUE from APP_ACT_COE_PAL_PROP where PROPERTYID in ('Process_Architecture_L1','Process_Architecture_L2','Process_Architecture_L3','Process_Architecture_L4') AND PLID='%s'", uuid));
|
||||
for (RowMap tmp : resulttmp) {
|
||||
@ -4821,6 +4803,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
|
||||
/**
|
||||
* 中断任务操作
|
||||
*
|
||||
* @param uuid
|
||||
* @param processInstId
|
||||
* @return
|
||||
@ -4831,10 +4814,10 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
return ResponseObject.newErrResponse("流程实例未找到").toString();
|
||||
}
|
||||
int count = DBSql.update("UPDATE BO_ACT_EXECUTIVE_TASK SET TASKSTATUS='2' WHERE TASKID ='" + taskId + "'");
|
||||
if(count>0){
|
||||
ro.put("result","ok");
|
||||
}else{
|
||||
ro.put("result","error");
|
||||
if (count > 0) {
|
||||
ro.put("result", "ok");
|
||||
} else {
|
||||
ro.put("result", "error");
|
||||
}
|
||||
return ro.toString();
|
||||
}
|
||||
|
||||
@ -22,7 +22,6 @@ import com.actionsoft.bpms.bo.engine.BO;
|
||||
import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext;
|
||||
import com.actionsoft.bpms.bpmn.engine.listener.InterruptListener;
|
||||
import com.actionsoft.bpms.bpmn.engine.listener.InterruptListenerInterface;
|
||||
import com.actionsoft.bpms.bpmn.engine.listener.ListenerConst;
|
||||
import com.actionsoft.bpms.commons.database.RowMap;
|
||||
import com.actionsoft.bpms.commons.mvc.view.ResponseObject;
|
||||
import com.actionsoft.bpms.util.DBSql;
|
||||
@ -51,7 +50,6 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
* @throws Exception
|
||||
@ -60,36 +58,34 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
public boolean execute(ProcessExecutionContext param) throws Exception {
|
||||
|
||||
|
||||
|
||||
List<BO> gridNData=SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_N).bindId(param.getProcessInstance().getId()).list();
|
||||
String bindid=param.getProcessInstance().getId();
|
||||
StringBuffer sb=new StringBuffer();
|
||||
StringBuffer sb1=new StringBuffer();
|
||||
List<BO> gridNData = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_N).bindId(param.getProcessInstance().getId()).list();
|
||||
String bindid = param.getProcessInstance().getId();
|
||||
StringBuffer sb = new StringBuffer();
|
||||
StringBuffer sb1 = new StringBuffer();
|
||||
if (gridNData.size() > 0) {
|
||||
for (BO rowData : gridNData) {
|
||||
//下面一行示例代码,可以获取Ajax子表的每行记录的新建状态
|
||||
String publishfileid = String.valueOf(rowData.getString("PUBLISHFILEID"));//注意:isCreate并不是BO的一个字段,该字段是有接口上层赋值的
|
||||
verifyPublish(publishfileid,rowData,bindid,sb,sb1,"1");
|
||||
verifyPublish(publishfileid, rowData, bindid, sb, sb1, "1");
|
||||
}
|
||||
}
|
||||
|
||||
//发布变更
|
||||
List<BO> gridCData=SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_C).bindId(param.getProcessInstance().getId()).list();
|
||||
List<BO> gridCData = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_C).bindId(param.getProcessInstance().getId()).list();
|
||||
if (gridCData.size() > 0) {
|
||||
for (BO rowData : gridCData) {
|
||||
//下面一行示例代码,可以获取Ajax子表的每行记录的新建状态
|
||||
String publishfileid = String.valueOf(rowData.getString("CHANGEDFILEIDNEW"));//注意:isCreate并不是BO的一个字段,该字段是有接口上层赋值的
|
||||
verifyPublish(publishfileid,rowData,bindid,sb,sb1,"2");
|
||||
}
|
||||
verifyPublish(publishfileid, rowData, bindid, sb, sb1, "2");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void verifyPublish(String publishfileid,BO rowData,String bindid,StringBuffer sb,StringBuffer sb1,String type){
|
||||
public void verifyPublish(String publishfileid, BO rowData, String bindid, StringBuffer sb, StringBuffer sb1, String type) {
|
||||
defineQualityCheck(publishfileid);
|
||||
// 校验
|
||||
PALRepositoryModel model = PALRepositoryCache.getCache().get(publishfileid);
|
||||
@ -102,135 +98,132 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
for (PALRepositoryPropertyModel propertyModel : oldPropertyList) {
|
||||
|
||||
//获取文件属性中支持文件
|
||||
if(propertyModel.getPropertyId().equals("support_files")){
|
||||
if (propertyModel.getPropertyId().equals("support_files")) {
|
||||
//获取关联模型id
|
||||
String relationFileId= null;
|
||||
String relationFileId = null;
|
||||
try {
|
||||
String propertyValue = propertyModel.getPropertyValue();
|
||||
System.err.println("propertyValue========>"+propertyValue);
|
||||
if(UtilString.isNotEmpty(propertyValue)&&propertyValue.contains("{")) {
|
||||
relationFileId = JSONObject.parseObject(propertyModel.getPropertyValue()).getString("relationFileId");
|
||||
}
|
||||
String propertyValue = propertyModel.getPropertyValue();
|
||||
System.err.println("propertyValue========>" + propertyValue);
|
||||
if (UtilString.isNotEmpty(propertyValue) && propertyValue.contains("{")) {
|
||||
relationFileId = JSONObject.parseObject(propertyModel.getPropertyValue()).getString("relationFileId");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// e.printStackTrace();
|
||||
throw new BPMNError("0313", sb.append("模型名称:").append(model.getName()).append("关联支持文件异常,请联系管理员!!!").append("</br>").toString());
|
||||
}
|
||||
|
||||
//获取关联表单模型id
|
||||
List<Map<String, Object>> fileElements ;
|
||||
if(UtilString.isNotEmpty(relationFileId)){
|
||||
List<Map<String, Object>> fileElements;
|
||||
if (UtilString.isNotEmpty(relationFileId)) {
|
||||
|
||||
int len=relationFileId.split(",").length;
|
||||
int len = relationFileId.split(",").length;
|
||||
|
||||
String[] splitRelationFileId=relationFileId.split(",");
|
||||
String[] splitRelationFileId = relationFileId.split(",");
|
||||
|
||||
//如果当前使用中并且已发布给与通过
|
||||
if(splitRelationFileId.length>0){
|
||||
//如果当前使用中并且已发布给与通过
|
||||
if (splitRelationFileId.length > 0) {
|
||||
|
||||
for(int i=0;i<splitRelationFileId.length;i++) {
|
||||
for (int i = 0; i < splitRelationFileId.length; i++) {
|
||||
|
||||
PALRepositoryModel onemodel = PALRepositoryCache.getCache().get(splitRelationFileId[i]);
|
||||
PALRepositoryModel onemodel = PALRepositoryCache.getCache().get(splitRelationFileId[i]);
|
||||
|
||||
if(onemodel!=null) {
|
||||
boolean isUse = onemodel.isUse();
|
||||
boolean publish = onemodel.isPublish();
|
||||
//如果状态是未发布
|
||||
if (isUse == true && publish == false) {
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(onemodel.getId());
|
||||
RowMap publishNrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_N T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.PUBLISHFILEID=T2.ID WHERE T1.BINDID=? AND T1.PUBLISHFILEID=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[i]);
|
||||
if (onemodel != null) {
|
||||
boolean isUse = onemodel.isUse();
|
||||
boolean publish = onemodel.isPublish();
|
||||
//如果状态是未发布
|
||||
if (isUse == true && publish == false) {
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(onemodel.getId());
|
||||
RowMap publishNrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_N T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.PUBLISHFILEID=T2.ID WHERE T1.BINDID=? AND T1.PUBLISHFILEID=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[i]);
|
||||
|
||||
|
||||
RowMap publishCrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_C T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.CHANGEDFILEIDNEW=T2.ID WHERE T1.BINDID=? AND T1.CHANGEDFILEIDNEW=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[i]);
|
||||
RowMap publishCrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_C T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.CHANGEDFILEIDNEW=T2.ID WHERE T1.BINDID=? AND T1.CHANGEDFILEIDNEW=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[i]);
|
||||
|
||||
|
||||
if (publishNrowMap == null && publishCrowMap == null) {
|
||||
sb.append("模型名称:").append(model.getName()).append("关联文件模型名称:").append(onemodel.getName()).append("需进行选择发布!").append("</br>");
|
||||
}
|
||||
//如果当前不是使用中查找使用中版本
|
||||
}else if(isUse==false && publish==true){
|
||||
|
||||
List<PALRepositoryModel> versions = PALRepositoryCache.getByVersionId(model.getVersionId());
|
||||
if(versions.size()>0) {
|
||||
for(int k=0;k<versions.size();k++) {
|
||||
|
||||
boolean isUseV=versions.get(k).isUse();
|
||||
boolean isPublishV=versions.get(k).isPublish();
|
||||
|
||||
if(isUseV==true && isPublishV==false) {
|
||||
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(onemodel.getId());
|
||||
|
||||
RowMap publishCrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_C T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.CHANGEDFILEIDNEW=T2.ID WHERE T1.BINDID=? AND T1.CHANGEDFILEIDNEW=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
|
||||
RowMap publishNrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_N T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.PUBLISHFILEID=T2.ID WHERE T1.BINDID=? AND T1.PUBLISHFILEID=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
if (publishNrowMap == null && publishCrowMap == null) {
|
||||
sb.append("模型名称:").append(model.getName()).append("关联文件模型名称:").append(onemodel.getName()).append("需进行选择发布!").append("</br>");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(isUse==false && publish==false) {
|
||||
|
||||
List<PALRepositoryModel> versions = PALRepositoryCache.getByVersionId(model.getVersionId());
|
||||
if(versions.size()>0) {
|
||||
for(int k=0;k<versions.size();k++) {
|
||||
|
||||
boolean isUseV=versions.get(k).isUse();
|
||||
boolean isPublishV=versions.get(k).isPublish();
|
||||
|
||||
if(isUseV==true && isPublishV==false) {
|
||||
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(onemodel.getId());
|
||||
RowMap publishCrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_C T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.CHANGEDFILEIDNEW=T2.ID WHERE T1.BINDID=? AND T1.CHANGEDFILEIDNEW=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
|
||||
RowMap publishNrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_N T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.PUBLISHFILEID=T2.ID WHERE T1.BINDID=? AND T1.PUBLISHFILEID=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
if (publishNrowMap == null && publishCrowMap == null) {
|
||||
sb.append("模型名称:").append(model.getName()).append("关联文件模型名称:").append(onemodel.getName()).append("需进行选择发布!").append("</br>");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (publishNrowMap == null && publishCrowMap == null) {
|
||||
sb.append("模型名称:").append(model.getName()).append("关联文件模型名称:").append(onemodel.getName()).append("需进行选择发布!").append("</br>");
|
||||
}
|
||||
if(onemodel.getMethodId().equals("data.form")){
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(splitRelationFileId[i]);
|
||||
//如果当前不是使用中查找使用中版本
|
||||
} else if (isUse == false && publish == true) {
|
||||
|
||||
for (Map<String, Object> shape : fileElements) {
|
||||
String tempShapeId = shape.get("id").toString();
|
||||
List<PALRepositoryModel> versions = PALRepositoryCache.getByVersionId(model.getVersionId());
|
||||
if (versions.size() > 0) {
|
||||
for (int k = 0; k < versions.size(); k++) {
|
||||
|
||||
UpFileDao dao = new UpFileDao();
|
||||
// 文件:根据relationFileId 和 文件类型 查询
|
||||
List<UpfileModel> list2;
|
||||
boolean isUseV = versions.get(k).isUse();
|
||||
boolean isPublishV = versions.get(k).isPublish();
|
||||
|
||||
list2= dao.search(splitRelationFileId[i], tempShapeId, "s");
|
||||
if (isUseV == true && isPublishV == false) {
|
||||
|
||||
if(list2.size()==0){
|
||||
String name="";
|
||||
if (type == "1") {
|
||||
name=rowData.getString("PUBLISHFILENAME");
|
||||
} else {
|
||||
name=rowData.getString("CHANGEFILENAME");
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(onemodel.getId());
|
||||
|
||||
RowMap publishCrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_C T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.CHANGEDFILEIDNEW=T2.ID WHERE T1.BINDID=? AND T1.CHANGEDFILEIDNEW=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
|
||||
RowMap publishNrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_N T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.PUBLISHFILEID=T2.ID WHERE T1.BINDID=? AND T1.PUBLISHFILEID=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
if (publishNrowMap == null && publishCrowMap == null) {
|
||||
sb.append("模型名称:").append(model.getName()).append("关联文件模型名称:").append(onemodel.getName()).append("需进行选择发布!").append("</br>");
|
||||
}
|
||||
sb.append(name).append("关联模型名称:").append("</br>").append("【").append(shape.get("plName")).append("】").append("节点名称:").append("【"+shape.get("name")+"】").append("未上传附件,请检查!!!").append("</br>").append(",");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else if (isUse == false && publish == false) {
|
||||
|
||||
List<PALRepositoryModel> versions = PALRepositoryCache.getByVersionId(model.getVersionId());
|
||||
if (versions.size() > 0) {
|
||||
for (int k = 0; k < versions.size(); k++) {
|
||||
|
||||
boolean isUseV = versions.get(k).isUse();
|
||||
boolean isPublishV = versions.get(k).isPublish();
|
||||
|
||||
if (isUseV == true && isPublishV == false) {
|
||||
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(onemodel.getId());
|
||||
RowMap publishCrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_C T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.CHANGEDFILEIDNEW=T2.ID WHERE T1.BINDID=? AND T1.CHANGEDFILEIDNEW=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
|
||||
RowMap publishNrowMap = DBSql.getMap("SELECT T1.* FROM BO_ACT_COE_PUBLISH_N T1 LEFT JOIN APP_ACT_COE_PAL_REPOSITORY T2 on T1.PUBLISHFILEID=T2.ID WHERE T1.BINDID=? AND T1.PUBLISHFILEID=? AND T2.ISPUBLISH=0", bindid, splitRelationFileId[0]);
|
||||
|
||||
|
||||
if (publishNrowMap == null && publishCrowMap == null) {
|
||||
sb.append("模型名称:").append(model.getName()).append("关联文件模型名称:").append(onemodel.getName()).append("需进行选择发布!").append("</br>");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (onemodel.getMethodId().equals("data.form")) {
|
||||
fileElements = CoeDesignerUtil.getShapeMessageJson4(splitRelationFileId[i]);
|
||||
|
||||
for (Map<String, Object> shape : fileElements) {
|
||||
String tempShapeId = shape.get("id").toString();
|
||||
|
||||
UpFileDao dao = new UpFileDao();
|
||||
// 文件:根据relationFileId 和 文件类型 查询
|
||||
List<UpfileModel> list2;
|
||||
|
||||
list2 = dao.search(splitRelationFileId[i], tempShapeId, "s");
|
||||
|
||||
if (list2.size() == 0) {
|
||||
String name = "";
|
||||
if (type == "1") {
|
||||
name = rowData.getString("PUBLISHFILENAME");
|
||||
} else {
|
||||
name = rowData.getString("CHANGEFILENAME");
|
||||
}
|
||||
sb.append(name).append("关联模型名称:").append("</br>").append("【").append(shape.get("plName")).append("】").append("节点名称:").append("【" + shape.get("name") + "】").append("未上传附件,请检查!!!").append("</br>").append(",");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -244,18 +237,18 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 判断文件属性、数据属性校验
|
||||
*
|
||||
* @param uuid
|
||||
* @return
|
||||
*/
|
||||
public void defineQualityCheck(String uuid){
|
||||
public void defineQualityCheck(String uuid) {
|
||||
|
||||
PALRepositoryModel model = PALRepositoryCache.getCache().get(uuid);
|
||||
String vison = getVison(uuid);
|
||||
String vison = getVison(uuid);
|
||||
List<JSONObject> elements_fei = getShapeJsonToJsonObject2(vison);
|
||||
StringBuffer sb6= new StringBuffer();
|
||||
StringBuffer sb6 = new StringBuffer();
|
||||
StringBuilder sbs = new StringBuilder();
|
||||
List<String> list_linker = new LinkedList<>();
|
||||
//连线数据增加
|
||||
@ -267,7 +260,7 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
String title = o.getString("title");
|
||||
if (!shapeName.equals("linker")) {
|
||||
list_linker.add(shapeId);
|
||||
json.put(shapeId,title);
|
||||
json.put(shapeId, title);
|
||||
}
|
||||
}
|
||||
|
||||
@ -283,23 +276,23 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
String to_id = to.getString("id");
|
||||
if (UtilString.isNotEmpty(from_id)) {
|
||||
list_linker.remove(from_id);
|
||||
}else {
|
||||
} else {
|
||||
JSONObject definition = JSONObject.parseObject(vison);
|
||||
JSONObject elements = definition.getJSONObject("elements");
|
||||
JSONObject string = elements.getJSONObject(to_id);
|
||||
String title = string.getString("title");
|
||||
sb6.append("\""+title+"\"").append("连线没有入线");
|
||||
list_linker.add("\""+title+"\""+"连线没有入线");
|
||||
sb6.append("\"" + title + "\"").append("连线没有入线");
|
||||
list_linker.add("\"" + title + "\"" + "连线没有入线");
|
||||
}
|
||||
if (UtilString.isNotEmpty(to_id)) {
|
||||
list_linker.remove(to_id);
|
||||
}else {
|
||||
} else {
|
||||
JSONObject definition = JSONObject.parseObject(vison);
|
||||
JSONObject elements = definition.getJSONObject("elements");
|
||||
JSONObject string = elements.getJSONObject(from_id);
|
||||
String title = string.getString("title");
|
||||
sb6.append("\""+title+"\"").append("连线没有出线");
|
||||
list_linker.add("\""+title+"\""+"连线没有出线");
|
||||
sb6.append("\"" + title + "\"").append("连线没有出线");
|
||||
list_linker.add("\"" + title + "\"" + "连线没有出线");
|
||||
}
|
||||
}
|
||||
//System.out.println("m的值>>>>>>>>>>>" + ms);
|
||||
@ -316,9 +309,9 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
sb6.append("校验未通过,请检查模型是否都已连线!");
|
||||
sbs.append(sb6);
|
||||
}
|
||||
if (sbs.length()>0){
|
||||
/*if (sbs.length()>0){
|
||||
throw new BPMNError("0313", sbs.toString());
|
||||
}
|
||||
}*/
|
||||
|
||||
/************************************文件属性校验************************************/
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
@ -338,13 +331,14 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
List<PALRepositoryPropertyModel> propertys = dao.getPropertysByPlid(uuid, null);
|
||||
|
||||
|
||||
Boolean flag1=true;
|
||||
Boolean flag2=true;
|
||||
Boolean flag1 = true;
|
||||
Boolean flag2 = true;
|
||||
StringBuffer sb = new StringBuffer();
|
||||
StringBuffer sb1=new StringBuffer();
|
||||
StringBuffer sb2=new StringBuffer();
|
||||
StringBuffer sb3=new StringBuffer();
|
||||
StringBuffer sb4 = new StringBuffer();;
|
||||
StringBuffer sb1 = new StringBuffer();
|
||||
StringBuffer sb2 = new StringBuffer();
|
||||
StringBuffer sb3 = new StringBuffer();
|
||||
StringBuffer sb4 = new StringBuffer();
|
||||
;
|
||||
sb.append("<span style='font-weight:bold'>质量校验<span><br/>");
|
||||
|
||||
|
||||
@ -370,16 +364,16 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
flag1 = UtilString.isNotEmpty(property.getPropertyValue());
|
||||
}
|
||||
if (!flag1) {// 校验不通过
|
||||
sb1.append("''"+attributeModel.getTitle()+"''").append(",");
|
||||
sb1.append("''" + attributeModel.getTitle() + "''").append(",");
|
||||
flag1 = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(sb1.length()>0){
|
||||
sb.append("<span style='font-weight:bold'>模型名称:【"+model.getName()+"】<span><br/>");
|
||||
if (sb1.length() > 0) {
|
||||
sb.append("<span style='font-weight:bold'>模型名称:【" + model.getName() + "】<span><br/>");
|
||||
sb.append("<span>文件属性:<span><br/>");
|
||||
sb.append(sb1.substring(0, sb1.length()-1));
|
||||
sb.append(sb1.substring(0, sb1.length() - 1));
|
||||
sb.append("未填写,请检查!").append("</br>");
|
||||
}
|
||||
|
||||
@ -430,27 +424,26 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
flag2 = UtilString.isNotEmpty(value);
|
||||
}
|
||||
if (!flag2) {
|
||||
sb2.append("<span>节点名称:<span>"+"【"+text+"】").append("''"+attrModel.getNewTitle()+"''").append("</br>");
|
||||
sb2.append("<span>节点名称:<span>" + "【" + text + "】").append("''" + attrModel.getNewTitle() + "''").append("</br>");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(sb2.length()>0){
|
||||
if (sb2.length() > 0) {
|
||||
sb.append("<span>数据属性:<span><br/>");
|
||||
sb.append(sb2.substring(0, sb2.length()-1));
|
||||
sb.append(sb2.substring(0, sb2.length() - 1));
|
||||
sb.append("未填写,请检查!");
|
||||
}
|
||||
|
||||
int index=sb.indexOf("未填写");
|
||||
if(index!=-1){
|
||||
ro.put("result","error");
|
||||
int index = sb.indexOf("未填写");
|
||||
if (index != -1) {
|
||||
ro.put("result", "error");
|
||||
sb1 = sb.deleteCharAt(sb.length() - 1);
|
||||
throw new BPMNError("0313", sb1.toString());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static List<JSONObject> getShapeJsonToJsonObject2(String messageJson) {
|
||||
@ -462,7 +455,7 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
String key = ite.next();
|
||||
JSONObject shape = elements.getJSONObject(key);
|
||||
String name = shape.getString("name");
|
||||
if ("linker".equals(name)){
|
||||
if ("linker".equals(name)) {
|
||||
JSONObject jsonObj = new JSONObject();
|
||||
jsonObj.put("id", key);
|
||||
jsonObj.put("name", shape.getString("name"));
|
||||
@ -529,10 +522,11 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
|
||||
/**
|
||||
* 根据uuid寻找对应的json文件即图形文件
|
||||
*
|
||||
* @param uuid 文件id
|
||||
* @return json文件
|
||||
*/
|
||||
public String getVison(String uuid) {
|
||||
public String getVison(String uuid) {
|
||||
List<Map<String, Object>> fileElements = CoeDesignerUtil.getShapeMessageJson4(uuid);
|
||||
JSONObject definition = new JSONObject(new LinkedHashMap<>());
|
||||
if (fileElements.size() > 0) {
|
||||
@ -541,7 +535,7 @@ public class PublishFormBeforeSaveEvent extends InterruptListener implements Int
|
||||
BaseModel defineModel = CoeDesignerAPIManager.getInstance().getDefinition(uuid, 0);
|
||||
|
||||
String define = defineModel.getDefinition();
|
||||
definition = JSONObject.parseObject(define);
|
||||
definition = JSONObject.parseObject(define);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
package com.actionsoft.apps.coe.pal.publisher.event;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
|
||||
import com.actionsoft.apps.coe.pal.publisher.constant.PublisherConstant;
|
||||
@ -18,11 +15,13 @@ import com.actionsoft.bpms.util.UUIDGener;
|
||||
import com.actionsoft.sdk.local.SDK;
|
||||
import com.actionsoft.sdk.local.api.BOQueryAPI;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.docx4j.wml.P;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SubFormAfterSave extends ExecuteListener {
|
||||
|
||||
public String getDescription() {
|
||||
public String getDescription() {
|
||||
return "子表单保存后,拆分成多条数据保存到数据库中";
|
||||
}
|
||||
|
||||
@ -35,7 +34,7 @@ public class SubFormAfterSave extends ExecuteListener {
|
||||
}
|
||||
|
||||
public void execute(ProcessExecutionContext param) throws Exception {
|
||||
String processInstId = param.getProcessInstance().getId();
|
||||
String processInstId = param.getProcessInstance().getId();
|
||||
//记录ID
|
||||
String boId = param.getParameterOfString(ListenerConst.FORM_EVENT_PARAM_BOID);
|
||||
//表单ID
|
||||
@ -47,7 +46,7 @@ public class SubFormAfterSave extends ExecuteListener {
|
||||
String bindId = formData.getBindId();
|
||||
String uid = formData.getCreateUser();
|
||||
if (boName.equals("BO_ACT_COE_PUBLISH_N")) {
|
||||
// 保存前的表单数据,注意:该参数针对不同场景获取内容会有所不同
|
||||
// 保存前的表单数据,注意:该参数针对不同场景获取内容会有所不同
|
||||
// 主表场景获取主表数据;子表场景获取子表数据;获取不同的数据请使用BOQueryAPI获取
|
||||
String publishFileId = formData.getString("PUBLISHFILEID");
|
||||
String publishDesc = formData.getString("PUBLISHDESC");
|
||||
@ -57,73 +56,73 @@ public class SubFormAfterSave extends ExecuteListener {
|
||||
List<BO> list = boQueryAPI.list();
|
||||
StringBuilder boFileIds = new StringBuilder();
|
||||
for (BO bo : list) {
|
||||
if (!bo.getId().equals(formData.getId())) {
|
||||
boFileIds.append(bo.get("PUBLISHFILEID"));
|
||||
}
|
||||
if (!bo.getId().equals(formData.getId())) {
|
||||
boFileIds.append(bo.get("PUBLISHFILEID"));
|
||||
}
|
||||
}
|
||||
String existedBoFileIds = boFileIds.toString();
|
||||
if (publishFileId != null && publishFileId.length() > 0) {
|
||||
String[] publishFileIds = publishFileId.split(",");
|
||||
List<BO> boList = new ArrayList<BO>();
|
||||
for (String fileId : publishFileIds) {
|
||||
if (!existedBoFileIds.contains(fileId)) {
|
||||
PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(fileId);
|
||||
if (repositoryModel != null) {
|
||||
BO newBO = new BO();
|
||||
newBO.setId(UUIDGener.getUUID());
|
||||
newBO.set("PUBLISTHTYPE", "N");
|
||||
newBO.set("PUBLISHFILEID", fileId);
|
||||
newBO.set("PUBLISHFILENAME", repositoryModel.getName());
|
||||
newBO.set("PUBLISHDESC", publishDesc);
|
||||
boList.add(newBO);
|
||||
}
|
||||
}
|
||||
}
|
||||
SDK.getBOAPI().create(boName, boList, bindId, uid);
|
||||
// 该记录是否新建的状态,由于机制调整,BO对象中的ID是不为空的,不能通过ID判断记录是否处于新建状态还是修改状态
|
||||
String[] publishFileIds = publishFileId.split(",");
|
||||
List<BO> boList = new ArrayList<BO>();
|
||||
for (String fileId : publishFileIds) {
|
||||
if (!existedBoFileIds.contains(fileId)) {
|
||||
PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(fileId);
|
||||
if (repositoryModel != null) {
|
||||
BO newBO = new BO();
|
||||
newBO.setId(UUIDGener.getUUID());
|
||||
newBO.set("PUBLISTHTYPE", "N");
|
||||
newBO.set("PUBLISHFILEID", fileId);
|
||||
newBO.set("PUBLISHFILENAME", repositoryModel.getName());
|
||||
newBO.set("PUBLISHDESC", publishDesc);
|
||||
boList.add(newBO);
|
||||
}
|
||||
}
|
||||
}
|
||||
SDK.getBOAPI().create(boName, boList, bindId, uid);
|
||||
// 该记录是否新建的状态,由于机制调整,BO对象中的ID是不为空的,不能通过ID判断记录是否处于新建状态还是修改状态
|
||||
boolean isCreate = param.getParameterOfBoolean(ListenerConst.FORM_EVENT_PARAM_ISCREATE);
|
||||
if (isCreate) {
|
||||
SDK.getBOAPI().remove(boName, boId);
|
||||
SDK.getBOAPI().remove(boName, boId);
|
||||
}
|
||||
}
|
||||
} else if (boName.equals("BO_ACT_COE_PUBLISH_S")) {
|
||||
BOQueryAPI boQueryAPI = SDK.getBOAPI().query(boName);
|
||||
BOQueryAPI boQueryAPI = SDK.getBOAPI().query(boName);
|
||||
boQueryAPI = boQueryAPI.bindId(bindId);
|
||||
List<BO> list = boQueryAPI.list();
|
||||
StringBuilder boFileIds = new StringBuilder();
|
||||
for (BO bo : list) {
|
||||
if (!bo.getId().equals(formData.getId())) {
|
||||
boFileIds.append(bo.get("STOPFILEID"));
|
||||
}
|
||||
if (!bo.getId().equals(formData.getId())) {
|
||||
boFileIds.append(bo.get("STOPFILEID"));
|
||||
}
|
||||
}
|
||||
String existedBoFileIds = boFileIds.toString();
|
||||
|
||||
String stopFileId = formData.getString("STOPFILEID");
|
||||
String stopDesc = formData.getString("STOPDESC");
|
||||
if (stopFileId != null && stopFileId.length() > 0) {
|
||||
String[] publishFileIds = stopFileId.split(",");
|
||||
List<BO> boList = new ArrayList<BO>();
|
||||
for (String fileId : publishFileIds) {
|
||||
if (!existedBoFileIds.contains(fileId)) {
|
||||
PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(fileId);
|
||||
if (repositoryModel != null) {
|
||||
BO newBO = new BO();
|
||||
newBO.setId(UUIDGener.getUUID());
|
||||
newBO.set("STOPTYPE", "S");
|
||||
newBO.set("STOPFILEID", fileId);
|
||||
newBO.set("STOPFILENAME", repositoryModel.getName());
|
||||
newBO.set("STOPDESC", stopDesc);
|
||||
boList.add(newBO);
|
||||
}
|
||||
}
|
||||
}
|
||||
String[] publishFileIds = stopFileId.split(",");
|
||||
List<BO> boList = new ArrayList<BO>();
|
||||
for (String fileId : publishFileIds) {
|
||||
if (!existedBoFileIds.contains(fileId)) {
|
||||
PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(fileId);
|
||||
if (repositoryModel != null) {
|
||||
BO newBO = new BO();
|
||||
newBO.setId(UUIDGener.getUUID());
|
||||
newBO.set("STOPTYPE", "S");
|
||||
newBO.set("STOPFILEID", fileId);
|
||||
newBO.set("STOPFILENAME", repositoryModel.getName());
|
||||
newBO.set("STOPDESC", stopDesc);
|
||||
boList.add(newBO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SDK.getBOAPI().create(boName, boList, bindId, uid);
|
||||
// 该记录是否新建的状态,由于机制调整,BO对象中的ID是不为空的,不能通过ID判断记录是否处于新建状态还是修改状态
|
||||
SDK.getBOAPI().create(boName, boList, bindId, uid);
|
||||
// 该记录是否新建的状态,由于机制调整,BO对象中的ID是不为空的,不能通过ID判断记录是否处于新建状态还是修改状态
|
||||
boolean isCreate = param.getParameterOfBoolean(ListenerConst.FORM_EVENT_PARAM_ISCREATE);
|
||||
if (isCreate) {
|
||||
SDK.getBOAPI().remove(boName, boId);
|
||||
SDK.getBOAPI().remove(boName, boId);
|
||||
}
|
||||
|
||||
//保存文件类型到主表
|
||||
@ -133,101 +132,102 @@ public class SubFormAfterSave extends ExecuteListener {
|
||||
//保存文件类型到主表
|
||||
saveFileType(processInstId);
|
||||
|
||||
System.out.println(formData.getString("ADAPT_NAME_THE_COMPANY"));
|
||||
System.out.println(formData.getString("ADAPT_REGION_NAME"));
|
||||
System.out.println(formData.getString("APPLICABLE_PRODUCT"));
|
||||
System.out.println(formData.getString("ADAPT_NAME_THE_COMPANY"));
|
||||
System.out.println(formData.getString("ADAPT_REGION_NAME"));
|
||||
System.out.println(formData.getString("APPLICABLE_PRODUCT"));
|
||||
|
||||
/*
|
||||
根据L1、L2、L3、L4查询权限矩阵所属分部数据
|
||||
*/
|
||||
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(processInstId);
|
||||
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
|
||||
String sql = "SELECT SSFB FROM BO_ACT_AUTH_INFO WHERE LEVEL_1_PROCESS_NAME=? AND LEVEL_2_PROCESS_NAME=? AND LEVEL_3_PROCESS_NAME=? AND ORGNAME=? AND ADAPT_REGION_NAME=? AND APPLICABLE_PRODUCT=?";
|
||||
String ssfb = DBSql.getString(sql, new Object[] { formData.getString("LEVEL_1_PROCESS_NAME"),formData.getString("LEVEL_2_PROCESS_NAME"),formData.getString("LEVEL_3_PROCESS_NAME"),formData.getString("LEVEL_4_PROCESS_NAME"),formData.getString("ADAPT_NAME_THE_COMPANY"),formData.getString("ADAPT_REGION_NAME"),formData.getString("APPLICABLE_PRODUCT") });
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().getInstanceById(processInstId);
|
||||
if (processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362") || processInstance.getProcessDefId().equals("obj_5609e1d265dc4e7094c617f20be353dd") || processInstance.getProcessDefId().equals("obj_114e76f691c14beb902e9904f4be26f8")) {
|
||||
String sql = "SELECT SSFB FROM BO_ACT_AUTH_INFO WHERE LEVEL_1_PROCESS_NAME=? AND LEVEL_2_PROCESS_NAME=? AND LEVEL_3_PROCESS_NAME=? AND ORGNAME=? AND ADAPT_REGION_NAME=? AND APPLICABLE_PRODUCT=?";
|
||||
String ssfb = DBSql.getString(sql, new Object[]{formData.getString("LEVEL_1_PROCESS_NAME"), formData.getString("LEVEL_2_PROCESS_NAME"), formData.getString("LEVEL_3_PROCESS_NAME"), formData.getString("ADAPT_NAME_THE_COMPANY"), formData.getString("ADAPT_REGION_NAME"), formData.getString("APPLICABLE_PRODUCT")});
|
||||
|
||||
if(StringUtils.isNotEmpty(ssfb)){
|
||||
int r1 = DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET SSFB='" + ssfb + "'WHERE BINDID ='" + processInstId + "'");
|
||||
}
|
||||
}else{
|
||||
String sql = "SELECT SSFB FROM BO_ACT_AUTH_INFO WHERE LEVEL_1_PROCESS_NAME=? AND LEVEL_2_PROCESS_NAME=? AND LEVEL_3_PROCESS_NAME=? AND LEVEL_4_PROCESS_NAME=? AND ORGNAME=? AND ADAPT_REGION_NAME=? AND APPLICABLE_PRODUCT=?";
|
||||
String ssfb = DBSql.getString(sql, new Object[] { formData.getString("LEVEL_1_PROCESS_NAME"),formData.getString("LEVEL_2_PROCESS_NAME"),formData.getString("LEVEL_3_PROCESS_NAME"),formData.getString("LEVEL_4_PROCESS_NAME"),formData.getString("ADAPT_NAME_THE_COMPANY"),formData.getString("ADAPT_REGION_NAME"),formData.getString("APPLICABLE_PRODUCT") });
|
||||
|
||||
if(StringUtils.isNotEmpty(ssfb)){
|
||||
int r1 = DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET SSFB='" + ssfb + "'WHERE BINDID ='" + processInstId + "'");
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(ssfb)) {
|
||||
int r1 = DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET SSFB='" + ssfb + "'WHERE BINDID ='" + processInstId + "'");
|
||||
}
|
||||
} else {
|
||||
String sql = "SELECT SSFB FROM BO_ACT_AUTH_INFO WHERE LEVEL_1_PROCESS_NAME=? AND LEVEL_2_PROCESS_NAME=? AND LEVEL_3_PROCESS_NAME=? AND LEVEL_4_PROCESS_NAME=? AND ORGNAME=? AND ADAPT_REGION_NAME=? AND APPLICABLE_PRODUCT=?";
|
||||
String ssfb = DBSql.getString(sql, new Object[]{formData.getString("LEVEL_1_PROCESS_NAME"), formData.getString("LEVEL_2_PROCESS_NAME"), formData.getString("LEVEL_3_PROCESS_NAME"), formData.getString("LEVEL_4_PROCESS_NAME"), formData.getString("ADAPT_NAME_THE_COMPANY"), formData.getString("ADAPT_REGION_NAME"), formData.getString("APPLICABLE_PRODUCT")});
|
||||
|
||||
if (StringUtils.isNotEmpty(ssfb)) {
|
||||
int r1 = DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET SSFB='" + ssfb + "'WHERE BINDID ='" + processInstId + "'");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public String saveFileType(String processInstId) {
|
||||
List<BO> bolistN = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_N).bindId(processInstId).list();
|
||||
ArrayList<String> arr = new ArrayList<String>();
|
||||
if(bolistN.size()>0) {
|
||||
for (BO bo : bolistN) {
|
||||
try {
|
||||
typeList(arr, bo.getString("PUBLISHFILEID"));
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
}
|
||||
List<BO> bolistC = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_C).bindId(processInstId).list();
|
||||
if(bolistC.size()>0) {
|
||||
for (BO bo : bolistC) {
|
||||
try {
|
||||
typeList(arr, bo.getString("CHANGEDFILEIDNEW"));
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
List<BO> bolistN = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_N).bindId(processInstId).list();
|
||||
ArrayList<String> arr = new ArrayList<String>();
|
||||
if (bolistN.size() > 0) {
|
||||
for (BO bo : bolistN) {
|
||||
try {
|
||||
typeList(arr, bo.getString("PUBLISHFILEID"));
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
}
|
||||
List<BO> bolistC = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_C).bindId(processInstId).list();
|
||||
if (bolistC.size() > 0) {
|
||||
for (BO bo : bolistC) {
|
||||
try {
|
||||
typeList(arr, bo.getString("CHANGEDFILEIDNEW"));
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
List<BO> bolistS = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_S).bindId(processInstId).list();
|
||||
if(bolistS.size()>0) {
|
||||
for (BO bo : bolistS) {
|
||||
try {
|
||||
typeList(arr, bo.getString("STOPFILEID"));
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
}
|
||||
//保存发布文件的类型到主表
|
||||
if((arr.contains("表单模板")||arr.contains("操作指导"))&&!arr.contains("制度模型")&&!arr.contains("EPC模型")&&!arr.contains("泳道图")) {
|
||||
DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET RELEASE_THE_TITLE = '操作指导/表单模板',SECONDARY_AUDIT_REQUIRED = 'N',LEVEL_1_AUDIT_REQUIRED = 'N' WHERE BINDID = '"+processInstId+"'");
|
||||
//SDK.getBOAPI().updateByBindId("BO_ACT_COE_PUBLISH", processInstId, "RELEASE_THE_TITLE", "操作指导/表单模板");
|
||||
}else {
|
||||
DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET RELEASE_THE_TITLE = '制度模型/EPC模型/泳道图' WHERE BINDID = '"+processInstId+"'");
|
||||
//SDK.getBOAPI().updateByBindId("BO_ACT_COE_PUBLISH", processInstId, "RELEASE_THE_TITLE", "制度模型/EPC模型/泳道图");
|
||||
}
|
||||
return processInstId;
|
||||
List<BO> bolistS = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_S).bindId(processInstId).list();
|
||||
if (bolistS.size() > 0) {
|
||||
for (BO bo : bolistS) {
|
||||
try {
|
||||
typeList(arr, bo.getString("STOPFILEID"));
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
}
|
||||
//保存发布文件的类型到主表
|
||||
if ((arr.contains("表单模板") || arr.contains("操作指导")) && !arr.contains("制度模型") && !arr.contains("EPC模型") && !arr.contains("泳道图")) {
|
||||
DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET RELEASE_THE_TITLE = '操作指导/表单模板',SECONDARY_AUDIT_REQUIRED = 'N',LEVEL_1_AUDIT_REQUIRED = 'N' WHERE BINDID = '" + processInstId + "'");
|
||||
//SDK.getBOAPI().updateByBindId("BO_ACT_COE_PUBLISH", processInstId, "RELEASE_THE_TITLE", "操作指导/表单模板");
|
||||
} else {
|
||||
DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET RELEASE_THE_TITLE = '制度模型/EPC模型/泳道图' WHERE BINDID = '" + processInstId + "'");
|
||||
//SDK.getBOAPI().updateByBindId("BO_ACT_COE_PUBLISH", processInstId, "RELEASE_THE_TITLE", "制度模型/EPC模型/泳道图");
|
||||
}
|
||||
return processInstId;
|
||||
}
|
||||
public ArrayList<String> typeList(ArrayList<String> arr,String plId){
|
||||
String sql = "SELECT PLMETHODID,EXT3 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID = '"+plId+"'";
|
||||
RowMap map = DBSql.getMap(sql);
|
||||
if(map!=null) {
|
||||
String methodId = map.getString("PLMETHODID");
|
||||
if("control.policy".equals(methodId)) {
|
||||
String fileType = map.getString("EXT3");
|
||||
if("I/O_L4".equals(fileType)) {
|
||||
arr.add("操作指导");
|
||||
}else {
|
||||
arr.add("制度模型");
|
||||
}
|
||||
}else if("data.form".equals(methodId)) {
|
||||
arr.add("表单模板");
|
||||
}else if("process.epc".equals(methodId)) {
|
||||
arr.add("EPC模型");
|
||||
}else if("process.flowchart".equals(methodId)) {
|
||||
arr.add("泳道图");
|
||||
}
|
||||
|
||||
public ArrayList<String> typeList(ArrayList<String> arr, String plId) {
|
||||
String sql = "SELECT PLMETHODID,EXT3 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID = '" + plId + "'";
|
||||
RowMap map = DBSql.getMap(sql);
|
||||
if (map != null) {
|
||||
String methodId = map.getString("PLMETHODID");
|
||||
if ("control.policy".equals(methodId)) {
|
||||
String fileType = map.getString("EXT3");
|
||||
if ("I/O_L4".equals(fileType)) {
|
||||
arr.add("操作指导");
|
||||
} else {
|
||||
arr.add("制度模型");
|
||||
}
|
||||
} else if ("data.form".equals(methodId)) {
|
||||
arr.add("表单模板");
|
||||
} else if ("process.epc".equals(methodId)) {
|
||||
arr.add("EPC模型");
|
||||
} else if ("process.flowchart".equals(methodId)) {
|
||||
arr.add("泳道图");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user