From 1f51ebb7ba1ab438dbd5c51b8bc4ce18930e1ea4 Mon Sep 17 00:00:00 2001 From: "446052889@qq.com" <446052889@qq.com> Date: Thu, 8 Sep 2022 14:04:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=89=8B=E5=86=8C=E6=A8=AA?= =?UTF-8?q?=E8=A1=A8=E7=94=B1=E5=9B=BE=E7=89=87=E5=88=86=E9=A1=B5=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=8D=95=E9=A1=B5=E6=98=BE=E7=A4=BA=E6=95=B4=E4=B8=AA?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com.actionsoft.apps.coe.pal.output.pr.jar | Bin 72878 -> 73660 bytes .../pal/output/pr/report1/Report1Gener.java | 2 +- .../pal/output/pr/util/PrReportComment.java | 142 ++++++++++++++++++ .../步骤横表-流程手册3.xml | 9 +- 4 files changed, 147 insertions(+), 6 deletions(-) diff --git a/com.actionsoft.apps.coe.pal.output.pr/lib/com.actionsoft.apps.coe.pal.output.pr.jar b/com.actionsoft.apps.coe.pal.output.pr/lib/com.actionsoft.apps.coe.pal.output.pr.jar index 32757db2f622b791b5f7f94662261206b8d92186..b403c2121069c1bc554be0753b7e0046f537d1da 100644 GIT binary patch delta 14834 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 delta 13944 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 Gb4~$f9|_GO6K;a)lM<7Lh3yPlj{?tr4>Qlg zYcL1!4#DN@c6o^o(qsN(=%=s*vTB?-h>F<~q~ zGlhR3q}Rigjk~QBT%0nX#JA^!!ADZ~8@&+N-FFzeh0{cc;;smPu0064MO}@C>iGFd zFKB#cxPwrnOWQretv!hLP9O<8Cr&CSJX}d)yXt3w5#LxJ@}JzKlBzhJs&KhkWjHiv zlJOjUivl5w9B(a&2@|IFK$k0o@%&z`^OQ)mDEPaCTw>cO1;Qv@Oh>^;{DI4N0_Y~d z_-#BJ*S6r$ZSzombjm$<0;GXXd%wK*Op#(zfNl*-x&|2^JsPGy(6ovkKz*CNm^>?X zehb-Bs6mzlqHRg-`k7LXme!%(nX)35x!YwLU5{nWpCoUsN&5$GB6XX-e$>2pgjcb_8abIY)7+iAn!a9WQ}&WPU1zWjIsbh+7< zCcV~7pV(I4M{ys!XP1tUhL*+}xORyG>o0;X`*cY!S{*PrqihLV9ay4ay?H5aFVb@y zPw;i^)T7LV%)6LBkd|UVpgN!kgycZ(n1+GFJ{EoC{qiP?YFm_ENbwmsd>iC@jkVg= z^iDuHr^Sw}E#*DI`0^8wCWH`ZR_(oDen`xBOFn>;((9UGcX3(mB9Gsxa{qC-Hg7Cu zA~$j|f?iuEbl#XEv*+7AyH4MyYdX2u%6!#dZWIN>(Xmm_Khx;WX$dm-+Gp~m$#SPA z*u(R^(cvdpzo*ZhLuHy;v^mGTgziJs-Sc@43*9pvXs1OE;JqSq!cJs>#sdq=jQ#m1 zA851fstUe|ZS~&Aejr;ZPos<&0LV%r}GMNaWE;Yg<)Y&koM#??1)It z=0*R~bqirv8(@gKb%@z$A+6+l2|MS=lbMUMzOVDfyH{!7c6^F)A)+mJao)xYmXbXt zBWfFVhMz`|#uhPICA7>1Qb$p6aB3j)ac^_^94Ey^p^@IEDSbG#FY8j&`X1{X@s&+_ zhs_;=pc(AOdJS8q3E_YjG0fQ{IRDyq-4>7)1Mk{-78`_Tk#!&|<$88uh>! z?}gyRLx7;5APN&MWW2T^8e|_^j#|U;c5a$js1L0$!hMdEN7N@k<2L_B+^66X^duPy z6FNFCJp^pUi7U#GKO*4G_cyYkON`wK(G$TAA-HX}IY1OrsjyG?&^`D^<+t}V+#m1s z*FzQ&CI(_))d24F(eYQecM>-b_GFcJa7Ly>YY?-QZ!#Daj^_K5LT#kEYrvh1N2`7m zm}C75RsnMJ@6*1<0)r&;WO<88aRR)k&#|frl1E}eoH=1T|3-#{Z zJE*_=#@ZO7K)8R4$65mNYQUQ_^7#tpZ5284S*;ddt_AijI-~gT?#-Fhs)v5tSgx%L zVQ{egpK5=%mqN+h#L&34w7Rxuk_7H+c(cjj4R z^*n~IBYKpkT~KS-lJ!2{B�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 diff --git a/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/report1/Report1Gener.java b/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/report1/Report1Gener.java index f50c7580..30d5dc6b 100644 --- a/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/report1/Report1Gener.java +++ b/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/report1/Report1Gener.java @@ -252,7 +252,7 @@ public class Report1Gener { if (repositoryModel == null) { return null; } - prReportComment.getCommentContent(dataMap, repositoryModel);//获取一些公共的数据(手册首页的手册岗位名称、部门、时间等) + prReportComment.getCommentContent2(dataMap, repositoryModel);//获取一些公共的数据(手册首页的手册岗位名称、部门、时间等) JSONArray repositoryShapeTable = new JSONArray();//流程步骤Table diff --git a/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/util/PrReportComment.java b/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/util/PrReportComment.java index 881313ad..3cb4eb2f 100644 --- a/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/util/PrReportComment.java +++ b/com.actionsoft.apps.coe.pal.output.pr/src/com/actionsoft/apps/coe/pal/output/pr/util/PrReportComment.java @@ -215,6 +215,148 @@ public class PrReportComment { dataMap.put("diagramArr", imageArr); } + /** + * 获取报告公共数据,用于横表生成单张图片 + * com.alibaba.fastjson + * @param dataMap + * @param repositoryModel + */ + public void getCommentContent2(com.alibaba.fastjson.JSONObject dataMap, PALRepositoryModel repositoryModel) { + dataMap.put(OutputWordUtil.REPOSITORY_NAME, OutputWordUtil.specialCharTransfer(repositoryModel.getName().replace("\n", ""))); // 流程名称 + // TODO 所属部门/公司 + dataMap.put(OutputWordUtil.DEPARTMENT, "部门"); // 所属部门 + dataMap.put(OutputWordUtil.COMPANY, "公司"); // 所属公司 + // 创建日期 + Timestamp nowTime = new Timestamp(System.currentTimeMillis()); + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + dataMap.put(OutputWordUtil.GENERATEDATE, sdf.format(nowTime)); + String createUser = repositoryModel.getCreateUser() == null ? "" : OutputWordUtil.specialCharTransfer(repositoryModel.getCreateUser()); + if (UserCache.getModel(createUser) != null) { + createUser = OutputWordUtil.specialCharTransfer(UserCache.getModel(createUser).getUserName()); + } + dataMap.put(OutputWordUtil.PL_CREATE_USER, createUser); // 编制人 + dataMap.put(OutputWordUtil.PL_VERSION, repositoryModel.getVersion()); // 版本 + + String date = ""; + if (repositoryModel.isPublish()) { // 发布版本 + PublishListHistory history = new PublishListHistory(); + String lastPublishDate = history.getLastPublishDateByModelId(repositoryModel.getId()); + if (lastPublishDate != null && !"".equals(lastPublishDate)) { + lastPublishDate = lastPublishDate.substring(0, 10); + Timestamp timestamp = UtilDate.parseTsFromDate(lastPublishDate); + StringBuilder sb = new StringBuilder("(发布日期"); + sb.append(UtilDate.yearFormat(timestamp)).append("年") + .append(UtilDate.monthFormat(timestamp)).append("月") + .append(UtilDate.dayFormat(timestamp)).append("日)"); + date = sb.toString(); + } + } else { // 未发布版本 + Timestamp createDate = repositoryModel.getCreateDate(); + if (createDate != null) { + StringBuilder sb = new StringBuilder("(创建日期"); + sb.append(UtilDate.yearFormat(repositoryModel.getCreateDate())).append("年") + .append(UtilDate.monthFormat(repositoryModel.getCreateDate())).append("月") + .append(UtilDate.dayFormat(repositoryModel.getCreateDate())).append("日)"); + date = sb.toString(); + } + } + dataMap.put(OutputWordUtil.PL_VERSION, "V" + repositoryModel.getVersion()+ ".0 " + date); // 版本 + + OutputWordUtil.setRepositoryDefaultValue2(TARGET_METHOD_SCOPE, dataMap);// 设置属性默认值(空字符串) + //System.out.println("表单数据内容获取=================="); + JSONArray propertyArr = CoeProcessLevelUtil.getProcessLevelPropertyArr(repositoryModel.getId()); + for (int i = 0; i < propertyArr.size(); i++) { + JSONObject propertyObj = propertyArr.getJSONObject(i); + if (propertyObj.getString("key").equals("goal")) { + if (propertyObj.getString("value").equals("")) { + dataMap.put("pl_" + propertyObj.getString("key"), "无"); + }else{ + dataMap.put("pl_" + propertyObj.getString("key"), OutputWordUtil.specialCharTransfer(propertyObj.getString("value"))); + } + } + if(propertyObj.getString("key").equals("T_supplementary_articles")) { + if (propertyObj.getString("value").equals("")) { + dataMap.put("pl_" + propertyObj.getString("key"), "无"); + }else{ + dataMap.put("pl_" + propertyObj.getString("key"), OutputWordUtil.specialCharTransfer(propertyObj.getString("value"))); + } + }else{ + dataMap.put("pl_" + propertyObj.getString("key"), OutputWordUtil.specialCharTransfer(propertyObj.getString("value"))); + } + + } + // 责任人、责任部门单独处理,兼容流程手册中直接使用pl_key进行定义 + boolean dutyRelationType = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal.output.pr", "DUTY_DEPARTMENT_PERSON_RELATION_TYPE", false); + String relationPersion = ""; + String relationDept = ""; + if (dutyRelationType) {// 关联bpm组织架构部门和人员 + if (dataMap.containsKey("pl_" + "bpm_department")) { + relationDept = dataMap.get("pl_" + "bpm_department").toString(); + } + if (dataMap.containsKey("pl_" + "bpm_person")) { + relationPersion = dataMap.get("pl_" + "bpm_person").toString(); + } + } else {// 关联pal组织 + if (dataMap.containsKey("pl_" + "department")) { + relationDept = dataMap.get("pl_" + "department").toString(); + } + if (dataMap.containsKey("pl_" + "bpm_person")) { + relationPersion = dataMap.get("pl_" + "person").toString(); + } + } + dataMap.put(OutputWordUtil.PL_RESPONSIBLE_PERSON, relationPersion); // 责任人 + dataMap.put(OutputWordUtil.PL_RESPONSIBLE_DEPARTMENT, relationDept); // 责任部门 + + // 流程图 + + String diagram = ""; + // 流程图 + int newWidth = 0; + int newHeight = 0; + String photo = "../apps/"+ CoEConstant.APP_ID +"/img/method/default.png"; + String imageFilePath = PALRepositoryQueryAPIManager.getInstance().getProcessImgPath(repositoryModel.getId()); + if (UtilString.isEmpty(imageFilePath)) { + imageFilePath = photo; + } + int maxHeight = OutputWordUtil.PL_DIAGRAM_MAX_HEIGHT - 30; + UtilFile utilFile = new UtilFile(imageFilePath); + if (utilFile != null && utilFile.exists()) { + byte[] base64Bytes = Base64.encode(utilFile.readBytes()); + diagram = new String(base64Bytes); + try { + BufferedImage sourceImg = ImageIO.read(new FileInputStream(utilFile)); + int width = sourceImg.getWidth(); + int height = sourceImg.getHeight(); + // 如果宽高比大于最大值的宽高比,说明图形较宽,需判断宽度是否大于最大值 + if (width / height > OutputWordUtil.PL_DIAGRAM_MAX_WIDTH / maxHeight) { + if (width > OutputWordUtil.PL_DIAGRAM_MAX_WIDTH) { + newWidth = OutputWordUtil.PL_DIAGRAM_MAX_WIDTH; + newHeight = height * OutputWordUtil.PL_DIAGRAM_MAX_WIDTH / width; + } else { + newWidth = width; + newHeight = height; + } + } else {// 如果宽高比小于最大值的宽高比,说明图形较高,需判断高度是否大于最大值 + if (height > maxHeight) { + newWidth = width * maxHeight / height; + newHeight = maxHeight; + } else { + newWidth = width; + newHeight = height; + } + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + dataMap.put(OutputWordUtil.PL_DIAGRAM, diagram); + dataMap.put(OutputWordUtil.PL_DIAGRAM_WIDTH, String.valueOf(newWidth)); + dataMap.put(OutputWordUtil.PL_DIAGRAM_HEIGHT, String.valueOf(newHeight)); + } + private String getNoStr(int no) { return no <= 0 ? (no + "") : no < 10 ? ("0" + no) : (no + ""); } diff --git a/com.actionsoft.apps.coe.pal.output.pr/步骤横表-流程手册3.xml b/com.actionsoft.apps.coe.pal.output.pr/步骤横表-流程手册3.xml index 69eb7bb7..5249ae2a 100644 --- a/com.actionsoft.apps.coe.pal.output.pr/步骤横表-流程手册3.xml +++ b/com.actionsoft.apps.coe.pal.output.pr/步骤横表-流程手册3.xml @@ -4855,7 +4855,7 @@ y7fdOgAAAABJRU5ErkJggk== - <#list diagramArr as table9> + @@ -4885,15 +4885,14 @@ y7fdOgAAAABJRU5ErkJggk== - ${table9.diagram} - - + ${pl_diagram} + + -