diff --git a/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar b/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar index efffeb3c..007b1748 100644 Binary files a/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar and b/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar differ diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/PublisherController.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/PublisherController.java index a2abc3ac..b31f61a6 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/PublisherController.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/PublisherController.java @@ -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); } diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/util/ProcesNumberUtil.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/util/ProcesNumberUtil.java index 3b7f142d..30146862 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/util/ProcesNumberUtil.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/util/ProcesNumberUtil.java @@ -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 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) { diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java index 2d92f0f0..7c85bf1f 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java @@ -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 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 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 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 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 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 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(); } diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/SubFormAfterSave.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/SubFormAfterSave.java index 2e194d2c..809ad534 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/SubFormAfterSave.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/SubFormAfterSave.java @@ -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")); - /* - 根据L1、L2、L3、L4查询权限矩阵所属分部数据 + /* + 根据L1、L2、L3、L4查询权限矩阵所属分部数据 */ - 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 bolistN = SDK.getBOAPI().query(PublisherConstant.BOSUBTABLE_N).bindId(processInstId).list(); diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent.java index 0d8aea82..56fc26ae 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent.java @@ -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 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 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"); diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java index f980310e..4c217326 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java @@ -427,22 +427,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute System.out.println("OA待阅推送exception======"+e); - if(idList.size()>0){ - List recordFailLists = new ArrayList(); - 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 }