L4根据流程定义ID判断

This commit is contained in:
zhal 2023-07-02 19:13:05 +08:00
parent 3513333aad
commit 7ac4e04d9c
7 changed files with 255 additions and 129 deletions

View File

@ -758,7 +758,7 @@ public class PublisherController {
@Mapping("com.actionsoft.apps.coe.pal.publisher_getPublishNameByJs")
public String getPublishNameByJs(UserContext me,String processInstId,String wsId,String type,String datas){
ProcessPublishWeb publishWeb = new ProcessPublishWeb(me);
return publishWeb.getLevelByData(me,wsId,type,datas);
return publishWeb.getLevelByData(me,wsId,type,datas,processInstId);
}

View File

@ -16,6 +16,7 @@ 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;
@ -100,8 +101,6 @@ public class ProcesNumberUtil {
}else if(nowNum >=10&&nowNum < 100){
return "0" + nowNum;
}
}
@ -117,7 +116,6 @@ public class ProcesNumberUtil {
*/
public String getNumber(String bindId) {
System.out.println("生成编号并写入数据库===============");
// 查询出所有的发布流程
List<BO> dataList = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N").addQuery("BINDID=", bindId).orderByCreated().asc().list();
@ -169,41 +167,78 @@ public class ProcesNumberUtil {
}else {
// 查询出主表数据
BO mainData = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", bindId);
// 根据主表数据查询出权限的编码
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
String 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");
String regionCode = authData.getString("ADAPT_REGION_CODE");
String 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";
}
String levelnum = levelOne + "." + levelTwo + "." + levelThree +"."+levelFour;
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";
}
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;
}
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='"
@ -250,43 +285,81 @@ public class ProcesNumberUtil {
if (dataList.size() != 0) {
// 查询出主表数据
BO mainData = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", bindId);
// 根据主表数据查询出权限的编码
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
String 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");
String regionCode = authData.getString("ADAPT_REGION_CODE");
String 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")){
// 根据主表数据查询出权限的编码
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 +"."+levelFour;
}
if (UtilString.isNotEmpty(levelFour)) {
levelFour = levelFour.substring(levelFour.lastIndexOf(".") + 1, levelFour.length());
} else {
levelFour = "00";
}
String levelnum = levelOne + "." + levelTwo + "." + levelThree +"."+levelFour;
String updateSql = "update BO_ACT_COE_PUBLISH_N set PUBLISH_NUMBER='%s' where ID = '%s'";
for (BO nowData : dataList) {

View File

@ -4339,7 +4339,7 @@ public class ProcessPublishWeb extends ActionWeb {
* @param datas
* @return
*/
public String getLevelByData(UserContext me, String wsId, String type, String datas) {
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,27 +4366,53 @@ public class ProcessPublishWeb extends ActionWeb {
String methodId = paljb.getString("methodId");
PALRepositoryModel model = PALRepositoryCache.getCache().get(id);
//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) {
String key = tmp.getString("PROPERTYID");
String value = tmp.getString("PROPERTYVALUE");
//如果有记录但是当前记录架构为空
if (UtilString.isNotEmpty(result.getString(key)) && UtilString.isEmpty(value)) {
iswrong = true;
//如果记录架构为空但是当前记录不为空
} else if (result.containsKey(key) && UtilString.isEmpty(result.getString(key)) && UtilString.isNotEmpty(value)) {
iswrong = true;
//如果已有记录不为空当前不为空进行比较
} else if (result.containsKey(key)) {
String v = result.getString(key);
if (!value.equals(v)) {
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(processInstId);
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
//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");
String value = tmp.getString("PROPERTYVALUE");
//如果有记录但是当前记录架构为空
if (UtilString.isNotEmpty(result.getString(key)) && UtilString.isEmpty(value)) {
iswrong = true;
}
//如果记录架构为空但是当前记录不为空
} else if (result.containsKey(key) && UtilString.isEmpty(result.getString(key)) && UtilString.isNotEmpty(value)) {
iswrong = true;
//如果已有记录不为空当前不为空进行比较
} else if (result.containsKey(key)) {
String v = result.getString(key);
if (!value.equals(v)) {
iswrong = true;
}
}
result.put(key, value);
}
}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) {
String key = tmp.getString("PROPERTYID");
String value = tmp.getString("PROPERTYVALUE");
//如果有记录但是当前记录架构为空
if (UtilString.isNotEmpty(result.getString(key)) && UtilString.isEmpty(value)) {
iswrong = true;
//如果记录架构为空但是当前记录不为空
} else if (result.containsKey(key) && UtilString.isEmpty(result.getString(key)) && UtilString.isNotEmpty(value)) {
iswrong = true;
//如果已有记录不为空当前不为空进行比较
} else if (result.containsKey(key)) {
String v = result.getString(key);
if (!value.equals(v)) {
iswrong = true;
}
}
result.put(key, value);
}
result.put(key, value);
}
}
@ -4410,13 +4436,27 @@ public class ProcessPublishWeb extends ActionWeb {
* @return
*/
public String getApproveInfos(UserContext me, String level1, String level2, String level3,String level4, String company, String region, String product, String bindid) {
//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, 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));
ResponseObject ro = ResponseObject.newOkResponse();
ro.put("data", result == null ? "" : result);
return ro.toString();
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(bindid);
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
//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, level4,company, region, product));
ResponseObject ro = ResponseObject.newOkResponse();
ro.put("data", result == null ? "" : result);
return ro.toString();
}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, 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));
ResponseObject ro = ResponseObject.newOkResponse();
ro.put("data", result == null ? "" : result);
return ro.toString();
}
}
/**
@ -4746,16 +4786,29 @@ public class ProcessPublishWeb extends ActionWeb {
}
ResponseObject ro = ResponseObject.newOkResponse();
try {
//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) {
String key = tmp.getString("PROPERTYID");
String value = tmp.getString("PROPERTYVALUE");
result.put(key, value);
ProcessInstance processInstance=SDK.getProcessAPI().getInstanceById(processInstId);
if(processInstance.getProcessDefId().equals("obj_fb1c7a54b98b412187388c8bab407362")){
//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) {
String key = tmp.getString("PROPERTYID");
String value = tmp.getString("PROPERTYVALUE");
result.put(key, value);
}
ro.put("data", result);
ro.put("info", iswrong);
}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) {
String key = tmp.getString("PROPERTYID");
String value = tmp.getString("PROPERTYVALUE");
result.put(key, value);
}
ro.put("data", result);
ro.put("info", iswrong);
}
ro.put("data", result);
ro.put("info", iswrong);
} catch (AWSDataAccessException e) {
e.printStackTrace();
}

View File

@ -10,6 +10,7 @@ import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext;
import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListener;
import com.actionsoft.bpms.bpmn.engine.listener.ListenerConst;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.TaskInstance;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.util.DBSql;
@ -17,6 +18,7 @@ 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;
public class SubFormAfterSave extends ExecuteListener {
@ -135,17 +137,28 @@ public class SubFormAfterSave extends ExecuteListener {
System.out.println(formData.getString("ADAPT_REGION_NAME"));
System.out.println(formData.getString("APPLICABLE_PRODUCT"));
/*
根据L1L2L3L4查询权限矩阵所属分部数据
/*
根据L1L2L3L4查询权限矩阵所属分部数据
*/
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") });
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") });
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();

View File

@ -1175,7 +1175,10 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
bo_Read_log.set("SENDNUM", arr.size());
String sqly = "SELECT ID FROM BO_ACT_DATAID WHERE PROCESSID = '" + processInstId + "' AND SENDTYPE = '1'";
List<RowMap> mapsy = DBSql.getMaps(sqly);
bo_Read_log.set("SENDNUMSJ", mapsy.size());
String alsqly = "SELECT ID FROM BO_ACT_ALREADY_DATAID WHERE PROCESSID = '" + processInstId + "' AND SENDTYPE = '1'";
List<RowMap> almapsy = DBSql.getMaps(alsqly);
bo_Read_log.set("SENDNUMSJ", mapsy.size()+almapsy.size());
BO bo_act_coe_publishs = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH", true).addQuery("BINDID=", processInstId)
.addQuery("OPTIONTYPE IS NOT NULL", null).detail();
String send_scop = bo_act_coe_publishs.getString("SEND_SCOP");

View File

@ -427,22 +427,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
System.out.println("OA待阅推送exception======"+e);
if(idList.size()>0){
List<BO> recordFailLists = new ArrayList<BO>();
for (String userId : idList) {
BO bo= new BO();
bo.set("TITLE", processExecutionContext.getProcessInstance().getTitle());
bo.set("NAME", userId);
bo.set("TYPE", "批量推送");
bo.set("RESULT", "待处理");
bo.set("PROCESSID", processExecutionContext.getProcessInstance().getId());
bo.set("DEPNAME", SDK.getORGAPI().getUser(userId).getDepartmentId());
//SDK.getBOAPI().create("BO_EU_READ_COUNT", bo, processInstance.getId(), processInstance.getCreateUser());
recordFailLists.add(bo);
}
System.out.println("OA待阅推送exception===============recordFailLists========="+recordFailLists.size());
SDK.getBOAPI().create("BO_EU_READ_COUNT", recordFailLists, processExecutionContext.getProcessInstance().getId(), processExecutionContext.getProcessInstance().getCreateUser());
}
// TODO: handle exception
}