From b831b5c3a15d5bd1c6e1a7209b661f35f742e71c Mon Sep 17 00:00:00 2001 From: lihongyu <504404568@qq.com> Date: Tue, 13 Sep 2022 20:04:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=97=B6=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=89=8B=E5=86=8C=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=EF=BC=8C=E7=94=9F=E6=88=90=E7=BC=96=E5=8F=B7=E8=A7=84?= =?UTF-8?q?=E5=88=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/util/ProcesNumberUtil.java | 272 +++++++++--------- .../client/web/ProcessPublishWeb.java | 13 +- 2 files changed, 142 insertions(+), 143 deletions(-) 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 e72b4bf5..26c00bac 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,81 +16,81 @@ import com.sun.org.apache.xalan.internal.xsltc.compiler.sym; * @date 2022/7/12 23:00 */ public class ProcesNumberUtil { - /** - * 根据流程等级和区域编码 获取编号 - * - * @param levelCode - * @param regionCode - * @return - */ - 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'"; - RowMap result = DBSql.getMap(String.format(querySql, levelCode, regionCode)); - //如果没有就新增 - if (result == null) { - String sql = "insert into BO_ACT_PROCESSNUMBER (ID,LEVELNUM,REGIONCODE,PROCESS_NUMBERS,SYSTEM_NUMBERS,FORM_NUMBERS) values ('%s', '%s', '%s', %s, %s, %s)"; - String id = UUIDGener.getUUID(); - int update = DBSql.update(String.format(sql, id, levelCode, regionCode, nowNum + 1, 1, 1)); - return "01"; - } - nowNum = result.getInt("PROCESS_NUMBERS"); - String updateSql = "update BO_ACT_PROCESSNUMBER set PROCESS_NUMBERS=%s where ID='%s'"; - DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID"))); - if (nowNum < 10) { - return "0" + nowNum; - } - + /** + * 根据流程等级和区域编码 获取编号 + * + * @param levelCode + * @param regionCode + * @return + */ + 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'"; + RowMap result = DBSql.getMap(String.format(querySql, levelCode, regionCode)); + //如果没有就新增 + if (result == null) { + String sql = "insert into BO_ACT_PROCESSNUMBER (ID,LEVELNUM,REGIONCODE,PROCESS_NUMBERS,SYSTEM_NUMBERS,FORM_NUMBERS) values ('%s', '%s', '%s', %s, %s, %s)"; + String id = UUIDGener.getUUID(); + int update = DBSql.update(String.format(sql, id, levelCode, regionCode, nowNum + 1, 1, 1)); + return "01"; + } + nowNum = result.getInt("PROCESS_NUMBERS"); + String updateSql = "update BO_ACT_PROCESSNUMBER set PROCESS_NUMBERS=%s where ID='%s'"; + DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID"))); + if (nowNum < 10) { + return "0" + nowNum; + } + } 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) { - String sql = "insert into BO_ACT_PROCESSNUMBER (ID,LEVELNUM,REGIONCODE,PROCESS_NUMBERS,SYSTEM_NUMBERS,FORM_NUMBERS) values ('%s', '%s', '%s', %s, %s, %s)"; - String id = UUIDGener.getUUID(); - DBSql.update(String.format(sql, id, levelCode, regionCode, 1, 1, 1)); - return "01"; - } - nowNum = result.getInt("SYSTEM_NUMBERS"); - String updateSql = "update BO_ACT_PROCESSNUMBER set SYSTEM_NUMBERS=%s where ID='%s'"; - DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID"))); - if (nowNum < 10) { - return "0" + nowNum; - } - + RowMap result = DBSql.getMap(String.format(querySql, levelCode, regionCode)); + //如果没有就新增 + if (result == null) { + String sql = "insert into BO_ACT_PROCESSNUMBER (ID,LEVELNUM,REGIONCODE,PROCESS_NUMBERS,SYSTEM_NUMBERS,FORM_NUMBERS) values ('%s', '%s', '%s', %s, %s, %s)"; + String id = UUIDGener.getUUID(); + DBSql.update(String.format(sql, id, levelCode, regionCode, 1, 1, 1)); + return "01"; + } + nowNum = result.getInt("SYSTEM_NUMBERS"); + String updateSql = "update BO_ACT_PROCESSNUMBER set SYSTEM_NUMBERS=%s where ID='%s'"; + DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID"))); + if (nowNum < 10) { + return "0" + nowNum; + } + } 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) { - String sql = "insert into BO_ACT_PROCESSNUMBER (ID,LEVELNUM,REGIONCODE,PROCESS_NUMBERS,SYSTEM_NUMBERS,FORM_NUMBERS) values ('%s', '%s', '%s', %s, %s, %s)"; - String id = UUIDGener.getUUID(); - DBSql.update(String.format(sql, id, levelCode, regionCode, 1, 1, 1)); - return "01"; - } - nowNum = result.getInt("FORM_NUMBERS"); - String updateSql = "update BO_ACT_PROCESSNUMBER set FORM_NUMBERS=%s where ID='%s'"; - DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID"))); - if (nowNum < 10) { - return "0" + nowNum; - } - - + RowMap result = DBSql.getMap(String.format(querySql, levelCode, regionCode)); + //如果没有就新增 + if (result == null) { + String sql = "insert into BO_ACT_PROCESSNUMBER (ID,LEVELNUM,REGIONCODE,PROCESS_NUMBERS,SYSTEM_NUMBERS,FORM_NUMBERS) values ('%s', '%s', '%s', %s, %s, %s)"; + String id = UUIDGener.getUUID(); + DBSql.update(String.format(sql, id, levelCode, regionCode, 1, 1, 1)); + return "01"; + } + nowNum = result.getInt("FORM_NUMBERS"); + String updateSql = "update BO_ACT_PROCESSNUMBER set FORM_NUMBERS=%s where ID='%s'"; + DBSql.update(String.format(updateSql, nowNum + 1, result.getString("ID"))); + if (nowNum < 10) { + return "0" + nowNum; + } + + } - - - - return nowNum + ""; - } + + + + return nowNum + ""; + } /** * 生成编号并写入数据库 - * + * * @param bindId * @return */ @@ -113,7 +113,7 @@ public class ProcesNumberUtil { + rowMap.getString("PLRID") + "' AND" + " PLVER = 1 "); String publish_number = DBSql.getString( "SELECT PUBLISH_NUMBER FROM BO_ACT_COE_PUBLISH_N WHERE PUBLISHFILEID ='" + Vsion1Id + "'"); - + if (UtilString.isNotEmpty(publish_number)) { // 设置模型ID String plver = "2.0"; @@ -126,7 +126,7 @@ public class ProcesNumberUtil { 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'"; //更新子表文件编码属性 @@ -138,81 +138,81 @@ public class ProcesNumberUtil { 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 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 - 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 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"; - } - String levelnum = levelOne + "." + levelTwo + "." + levelThree; - - 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 = "18R18"; - 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); - System.err.println("=======number======="+number); - number = "19"; - if (plcategory.contains("process")) { - name = number + "/P" + number; - } else if (plcategory.contains("control")) { - name = "00" + "/R" + number; - } else if (plcategory.contains("form")) { - fileName = "form_number"; - name = number + "/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); + }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 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 + 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 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"; + } + String levelnum = levelOne + "." + levelTwo + "." + levelThree; + 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 = "18R18"; + 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); + System.err.println("=======number======="+number); + number = "19"; + if (plcategory.contains("process")) { + name = number + "/P" + number; + } else if (plcategory.contains("control")) { + name = "00" + "/R" + number; + } else if (plcategory.contains("form")) { + fileName = "form_number"; + name = number + "/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); + } + } } } @@ -279,7 +279,7 @@ public class ProcesNumberUtil { } } } - + String processNum = levelnum + "." + name + "V" + plver +"-"+orgCode + regionCode + productCode; String s = nowData.getId(); int update = DBSql.update(String.format(updateSql, processNum, s.toLowerCase())); 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 e8e79438..ce824df5 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 @@ -3534,10 +3534,9 @@ public class ProcessPublishWeb extends ActionWeb { } String newTaskId = createOutputReport(model, model.getWsId(), _uc.getUID(), "", model.getId()); - - JSONObject object = JSONObject.parseObject(newTaskId); - if ("ok".equals(object.getString("result"))) { - newTaskId = object.getJSONObject("data").getString("taskId"); + //JSONObject object = JSONObject.parseObject(newTaskId); + if (UtilString.isNotEmpty(newTaskId)) { + //newTaskId = object.getJSONObject("data").getString("taskId"); SDK.getLogAPI().consoleInfo("流程发布表单[发布]提交时创建流程手册成功,processInstId=" + processInstId + ",publishFileId=" + publishFileId); int count = DBSql.update("UPDATE BO_ACT_COE_PUBLISH_N SET TASKID='" + newTaskId + "' WHERE ID ='" + bn.getId() + "'"); SDK.getLogAPI().consoleInfo("流程发布表单[发布]提交时创建流程手册保存数据库成功,processInstId" + processInstId + ",publishFileId=" + publishFileId + ",执行SQL条数[" + count + "]"); @@ -3575,9 +3574,9 @@ public class ProcessPublishWeb extends ActionWeb { } String newTaskId = createOutputReport(model, model.getWsId(), _uc.getUID(), "", model.getId()); - JSONObject object = JSONObject.parseObject(newTaskId); - if ("ok".equals(object.getString("result"))) { - newTaskId = object.getJSONObject("data").getString("taskId"); + // JSONObject object = JSONObject.parseObject(newTaskId); + if (UtilString.isNotEmpty(newTaskId)) { + // newTaskId = object.getJSONObject("data").getString("taskId"); SDK.getLogAPI().consoleInfo("流程发布表单[变更]提交时创建流程手册成功,processInstId=" + processInstId + ",changedFileIdNew=" + changedFileIdNew); int count = DBSql.update("UPDATE BO_ACT_COE_PUBLISH_C SET TASKID='" + newTaskId + "' WHERE ID ='" + bc.getId() + "'"); SDK.getLogAPI().consoleInfo("流程发布表单[变更]提交时创建流程手册保存数据库成功,processInstId=" + processInstId + ",changedFileIdNew=" + changedFileIdNew + ",执行SQL条数[" + count + "]");