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 678ceb1a..c0325c11 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 @@ -817,12 +817,25 @@ public class PublisherController { return publishWeb.getProcessManifest(publishFileId , fileName); } + /** + * 获得发布指导dw数据id + * + * @param me me + * @param areaType 区域类型 + * @return {@link String} + */ @Mapping("com.actionsoft.apps.coe.pal.publisher_guide") public String getPublishGuideDwDataId(UserContext me, String areaType) { ProcessPublishWeb publishWeb = new ProcessPublishWeb(me); return publishWeb.getPublishGuideDwDataId(areaType); } + /** + * 获得发布指导台账各个显示区域的配置状态 + * + * @param me me + * @return {@link String} + */ @Mapping("com.actionsoft.apps.coe.pal.publisher_guide_status") public String getPublishGuideStatus(UserContext me) { ProcessPublishWeb publishWeb = new ProcessPublishWeb(me); 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 9ba6dbb3..190a4fe7 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 @@ -4187,7 +4187,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) { ResponseObject ro = ResponseObject.newOkResponse(); JSONArray palarr = JSON.parseArray(datas); JSONObject result = new JSONObject(); @@ -4196,9 +4196,9 @@ public class ProcessPublishWeb extends ActionWeb { for (int i = 0; i < palarr.size(); i++) { JSONObject paljb = palarr.getJSONObject(i); String id; - if(type.equals("change")){ + if (type.equals("change")) { id = paljb.getString("changedFileIdNew"); - }else{ + } else { id = paljb.getString("id"); //获取最新要更新版本的id List temp = PALRepositoryCache.getByVersionId(wsId, id); @@ -4345,11 +4345,11 @@ public class ProcessPublishWeb extends ActionWeb { * @param areaType 区域类型 * @return {@link String} */ - public String getPublishGuideDwDataId(String areaType){ + public String getPublishGuideDwDataId(String areaType) { ResponseObject ro = ResponseObject.newOkResponse(); BO bo = SDK.getBOAPI().query("BO_ACT_PUBLISH_GUIDE").addQuery("AREAID = ", areaType).detail(); - if(bo != null){ - ro.put("dwId" , bo.getId()); + if (bo != null) { + ro.put("dwId", bo.getId()); } return ro.toString(); } @@ -4359,12 +4359,12 @@ public class ProcessPublishWeb extends ActionWeb { * * @return {@link String} */ - public String getPublishGuideStatus(){ + public String getPublishGuideStatus() { ResponseObject ro = ResponseObject.newOkResponse(); //List publishGuideList = SDK.getBOAPI().query("BO_ACT_PUBLISH_GUIDE").list(); - String sql ="SELECT AREAID,STATUS FROM BO_ACT_PUBLISH_GUIDE WHERE 1=?"; + String sql = "SELECT AREAID,STATUS FROM BO_ACT_PUBLISH_GUIDE WHERE 1=?"; List publishGuideStatus = DBSql.getMaps(sql, 1); - ro.put("status",publishGuideStatus); + ro.put("status", publishGuideStatus); return ro.toString(); } @@ -4383,12 +4383,10 @@ public class ProcessPublishWeb extends ActionWeb { ArrayList bos = new ArrayList<>(); ResponseObject ro = ResponseObject.newOkResponse(); elements.forEach((k, v) -> { - if (((JSONObject) v).containsKey("attributesJsonArray")) { - setShapeAttr(bos, publishFileId, (JSONObject) v, fileName); - } + setShapeAttr(bos, publishFileId, (JSONObject) v, fileName); }); - if(bos.size() == 0){ - return ResponseObject.newErrResponse("模型的数据属性不存在").toString(); + if (bos.size() == 0) { + return ResponseObject.newErrResponse("模型不存在活动节点").toString(); } ProcessInstance processInst = SDK.getProcessAPI().createBOProcessInstance("obj_f188537a313e4c6a9bb44eb65f2a0ecd", _uc.getUID(), "流程清单"); BO oldBo = (BO) ((BOQueryAPI) SDK.getBOAPI().query("BO_ACT_PAL_PROCESS_MANIFEST").addQuery("MODELID = ", publishFileId)).detail(); @@ -4410,151 +4408,155 @@ public class ProcessPublishWeb extends ActionWeb { * @param fileName 文件名称 */ private void setShapeAttr(ArrayList bos, String publishFileId, JSONObject shape, String fileName) { - BO bo = new BO(); - bo.set("MODELNAME", fileName); - bo.set("MODELID", publishFileId); - if (shape.containsKey("category")) { + //只需要活动节点 + if (shape.containsKey("category") && !shape.getString("title").equals("开始/结束")) { + BO bo = new BO(); + bo.set("MODELNAME", fileName); + bo.set("MODELID", publishFileId); bo.set("MODELTYPE", shape.getString("category")); - } - if (shape.containsKey("title")) { bo.set("SHAPETYPE", shape.getString("title")); - } - if (shape.containsKey("text")) { bo.set("SHAPENAME", shape.getString("text")); + if (shape.containsKey("dataAttributes")) { + JSONArray dataAttributes = shape.getJSONArray("dataAttributes"); + if (dataAttributes.size() > 0) { + JSONObject attributesJson = dataAttributes.getJSONObject(dataAttributes.size() - 1); + if (attributesJson.containsKey("attributesJsonArray")) { + //形状的属性 + JSONArray attributesJsonArray = attributesJson.getJSONArray("attributesJsonArray"); + attributesJsonArray.stream() + .filter(a -> a != null && !"null".equals(a.toString()) && ((JSONObject) a).size() > 0) + .forEach(a -> { + JSONObject shapeAttr = (JSONObject) a; + if (shapeAttr.get("key").equals("activity_number")) { + bo.set("SHAPENUMBER", shapeAttr.getString("value")); + } + if (shapeAttr.get("key").equals("output")) { + bo.set("EXTOUTPUT", shapeAttr.getString("value")); + } + if (shapeAttr.get("key").equals("input")) { + bo.set("EXTINPUT", shapeAttr.getString("value")); + } + if (shapeAttr.get("key").equals("activity_description")) { + bo.set("EXTDESC", shapeAttr.getString("value")); + } + }); + } + } + } + bos.add(bo); } - JSONArray attributesJsonArray = shape.getJSONArray("attributesJsonArray"); - attributesJsonArray.stream() - .filter(a -> { - return a != null && !"null".equals(a.toString()) && ((JSONObject) a).size() > 0; - }) - .forEach(a -> { - JSONObject shapeAttr = (JSONObject) a; - if (shapeAttr.get("key").equals("activity_number")) { - bo.set("SHAPENUMBER", shapeAttr.getString("value")); - } - if (shapeAttr.get("key").equals("output")) { - bo.set("EXTOUTPUT", shapeAttr.getString("value")); - } - if (shapeAttr.get("key").equals("input")) { - bo.set("EXTINPUT", shapeAttr.getString("value")); - } - if (shapeAttr.get("key").equals("activity_description")) { - bo.set("EXTDESC", shapeAttr.getString("value")); - } - }); - bos.add(bo); } /** * 重新生成手册 + * * @param plId * @return */ - public String RefreshManual(String processInstId,String type){ - ResponseObject ro = ResponseObject.newOkResponse(); + public String RefreshManual(String processInstId, String type) { + ResponseObject ro = ResponseObject.newOkResponse(); - if(type.equals("1")){ - //发布新文件 - List publishNBO=SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N").bindId(processInstId).list(); + if (type.equals("1")) { + //发布新文件 + List publishNBO = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N").bindId(processInstId).list(); - if(publishNBO.size()>0){ - for(BO onePublishN:publishNBO){ - String plId=onePublishN.getString("PUBLISHFILEID"); - int count = 0; - // 重新生成手册 - PALRepositoryModel model = PALRepositoryCache.getCache().get(plId); - String wsIdro = queryMaPublishGetWsId(); - JSONObject wsIdJson=JSONObject.parseObject(wsIdro); - String taskId = createOutputReport(model, wsIdJson.getJSONObject("data").get("wsId").toString(), "admin", "", plId); - // 刷新预览加载的表 - String sqlr = "UPDATE BO_EU_PAL_OUTPUTREPORT SET TASKID = '" + taskId + "' WHERE PLID = '" + plId + "'"; - DBSql.update(sqlr); - String sql1 = "SELECT ID FROM BO_ACT_COE_PUBLISH_N WHERE PUBLISHFILEID = '" + plId + "'"; - String sql2 = "SELECT ID FROM BO_ACT_COE_PUBLISH_C WHERE CHANGEDFILEIDNEW = '" + plId + "'"; - if (UtilString.isNotEmpty(DBSql.getString(sql1))) { - count = DBSql.update( - "UPDATE BO_ACT_COE_PUBLISH_N SET TASKID='" + taskId + "'WHERE PUBLISHFILEID ='" + plId + "'"); - } - if (UtilString.isNotEmpty(DBSql.getString(sql2))) { - count = DBSql.update( - "UPDATE BO_ACT_COE_PUBLISH_C SET TASKID='" + taskId + "'WHERE CHANGEDFILEIDNEW ='" + plId + "'"); - } - if (count != 0) { - DBSql.update("UPDATE APP_ACT_COE_PAL_PUBLISH_LIST SET TASKID='" + taskId + "'WHERE PALREPOSITORYID='" - + plId + "'"); - } + if (publishNBO.size() > 0) { + for (BO onePublishN : publishNBO) { + String plId = onePublishN.getString("PUBLISHFILEID"); + int count = 0; + // 重新生成手册 + PALRepositoryModel model = PALRepositoryCache.getCache().get(plId); + String wsIdro = queryMaPublishGetWsId(); + JSONObject wsIdJson = JSONObject.parseObject(wsIdro); + String taskId = createOutputReport(model, wsIdJson.getJSONObject("data").get("wsId").toString(), "admin", "", plId); + // 刷新预览加载的表 + String sqlr = "UPDATE BO_EU_PAL_OUTPUTREPORT SET TASKID = '" + taskId + "' WHERE PLID = '" + plId + "'"; + DBSql.update(sqlr); + String sql1 = "SELECT ID FROM BO_ACT_COE_PUBLISH_N WHERE PUBLISHFILEID = '" + plId + "'"; + String sql2 = "SELECT ID FROM BO_ACT_COE_PUBLISH_C WHERE CHANGEDFILEIDNEW = '" + plId + "'"; + if (UtilString.isNotEmpty(DBSql.getString(sql1))) { + count = DBSql.update( + "UPDATE BO_ACT_COE_PUBLISH_N SET TASKID='" + taskId + "'WHERE PUBLISHFILEID ='" + plId + "'"); + } + if (UtilString.isNotEmpty(DBSql.getString(sql2))) { + count = DBSql.update( + "UPDATE BO_ACT_COE_PUBLISH_C SET TASKID='" + taskId + "'WHERE CHANGEDFILEIDNEW ='" + plId + "'"); + } + if (count != 0) { + DBSql.update("UPDATE APP_ACT_COE_PAL_PUBLISH_LIST SET TASKID='" + taskId + "'WHERE PALREPOSITORYID='" + + plId + "'"); + } + } - } + } + } else { + //发布变更文件 + List publishCBO = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_C").bindId(processInstId).list(); - } - }else{ - //发布变更文件 - List publishCBO=SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_C").bindId(processInstId).list(); + if (publishCBO.size() > 0) { - if(publishCBO.size()>0){ + for (BO onePublishC : publishCBO) { + String plId = onePublishC.getString("CHANGEDFILEIDNEW"); + int count = 0; + // 重新生成手册 + PALRepositoryModel model = PALRepositoryCache.getCache().get(plId); + String wsIdro = queryMaPublishGetWsId(); + JSONObject wsIdJson = JSONObject.parseObject(wsIdro); + String taskId = createOutputReport(model, wsIdJson.getJSONObject("data").get("wsId").toString(), "admin", "", plId); + // 刷新预览加载的表 + String sqlr = "UPDATE BO_EU_PAL_OUTPUTREPORT SET TASKID = '" + taskId + "' WHERE PLID = '" + plId + "'"; + DBSql.update(sqlr); + String sql2 = "SELECT ID FROM BO_ACT_COE_PUBLISH_C WHERE CHANGEDFILEIDNEW = '" + plId + "'"; - for(BO onePublishC:publishCBO){ - String plId=onePublishC.getString("CHANGEDFILEIDNEW"); - int count = 0; - // 重新生成手册 - PALRepositoryModel model = PALRepositoryCache.getCache().get(plId); - String wsIdro = queryMaPublishGetWsId(); - JSONObject wsIdJson=JSONObject.parseObject(wsIdro); - String taskId = createOutputReport(model, wsIdJson.getJSONObject("data").get("wsId").toString(), "admin", "", plId); - // 刷新预览加载的表 - String sqlr = "UPDATE BO_EU_PAL_OUTPUTREPORT SET TASKID = '" + taskId + "' WHERE PLID = '" + plId + "'"; - DBSql.update(sqlr); - String sql2 = "SELECT ID FROM BO_ACT_COE_PUBLISH_C WHERE CHANGEDFILEIDNEW = '" + plId + "'"; - - if (UtilString.isNotEmpty(DBSql.getString(sql2))) { - count = DBSql.update( - "UPDATE BO_ACT_COE_PUBLISH_C SET TASKID='" + taskId + "'WHERE CHANGEDFILEIDNEW ='" + plId + "'"); - } - if (count != 0) { - DBSql.update("UPDATE APP_ACT_COE_PAL_PUBLISH_LIST SET TASKID='" + taskId + "'WHERE PALREPOSITORYID='" - + plId + "'"); - } + if (UtilString.isNotEmpty(DBSql.getString(sql2))) { + count = DBSql.update( + "UPDATE BO_ACT_COE_PUBLISH_C SET TASKID='" + taskId + "'WHERE CHANGEDFILEIDNEW ='" + plId + "'"); + } + if (count != 0) { + DBSql.update("UPDATE APP_ACT_COE_PAL_PUBLISH_LIST SET TASKID='" + taskId + "'WHERE PALREPOSITORYID='" + + plId + "'"); + } + } - } + } + } - } - } - - return ro.toString(); - } + return ro.toString(); + } /** * 发布变更版本流程-根据下拉选择获取最新架构数据赋值到发布表单中 + * * @return */ - public String updateFramework(String uuid,String processInstId){ - boolean iswrong = false; - JSONObject result = new JSONObject(); - if(processInstId==null){ - return ResponseObject.newErrResponse("流程实例未找到").toString(); - } - ResponseObject ro = ResponseObject.newOkResponse(); - try { + public String updateFramework(String uuid, String processInstId) { + boolean iswrong = false; + JSONObject result = new JSONObject(); + if (processInstId == null) { + return ResponseObject.newErrResponse("流程实例未找到").toString(); + } + ResponseObject ro = ResponseObject.newOkResponse(); + try { - //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','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); - } catch (AWSDataAccessException e) { - e.printStackTrace(); - } - return ro.toString(); - } + //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','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); + } catch (AWSDataAccessException e) { + e.printStackTrace(); + } + return ro.toString(); + } } \ No newline at end of file