From 46a2436778fbde103150a7bd9ca4c18868831efe Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期四, 01 八月 2024 16:09:37 +0800
Subject: [PATCH] commit

---
 src/main/java/com/product/print/util/DynamicTableRenderPolicy.java |   60 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 39 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/product/print/util/DynamicTableRenderPolicy.java b/src/main/java/com/product/print/util/DynamicTableRenderPolicy.java
index daa0044..1dd73db 100644
--- a/src/main/java/com/product/print/util/DynamicTableRenderPolicy.java
+++ b/src/main/java/com/product/print/util/DynamicTableRenderPolicy.java
@@ -32,13 +32,12 @@
 
 	private final String indexKey = "~index~";
 
-	public 	DynamicTableRenderPolicy(String replaceKey) {
+	public DynamicTableRenderPolicy(String replaceKey) {
 		this.replaceKey = replaceKey;
 
 	}
 
 	private List<MetaTemplate> metaTemplateList;
-
 
 
 	@Override
@@ -134,8 +133,9 @@
 				if (i == 0) {
 					row = fieldRow;
 				} else {
+					int fieldRowIndex = xwpfTable.getRows().indexOf(fieldRow);
 					//鍒涘缓涓�琛屽湪fieldRowIndex涓嬮潰
-					row = xwpfTable.insertNewTableRow(xwpfTable.getRows().size());
+					row = xwpfTable.insertNewTableRow(fieldRowIndex + i);
 					PrintPoiUtil.copyTableRow(row, fieldRow);
 				}
 				//閬嶅巻瀛楁姣忎釜瀛楁鍒涘缓涓�涓崟鍏冩牸
@@ -146,6 +146,8 @@
 					XWPFParagraph xwpfParagraph = cell.addParagraph();
 					int index = cell.getParagraphs().indexOf(xwpfParagraph);
 					PrintPoiUtil.copyParagraph(xwpfParagraph, cell.getParagraphs().get(0));
+					//璁剧疆娈佃惤鏂囧瓧瀵归綈鏂瑰紡
+					xwpfParagraph.setAlignment(cell.getParagraphs().get(0).getAlignment());
 					//鍒犻櫎鎵�鏈夌殑run
 					for (int k = xwpfParagraph.getRuns().size() - 1; k >= 0; k--) {
 						xwpfParagraph.removeRun(k);
@@ -167,26 +169,42 @@
 					if (value == null) {
 						value = "";
 					}
+//					if ("lx_flow_opinion".equals(this.replaceKey) && "opinion".equals(fieldNames[j])) {
+//						//灏嗘祦绋嬭妭鐐瑰鐞嗕汉鍔犲埌鎰忚鏍忎腑
+//						value = "[" + map.get("actual_person") + "] " + value;
+//					}
 					xwpfRun.setText(value.toString(), 0);
-					if ("lx_flow_opinion".equals(this.replaceKey) && "opinion".equals(fieldNames[j]) && !StringUtils.isEmpty(map.get("sign_attachment_uuid"))) {
-						//鎰忚妗� 鎻掑叆绛惧悕鍥剧墖鍒板崟鍏冩牸鍙充笅瑙掍綅缃�
-						xwpfParagraph = cell.addParagraph();
-						xwpfParagraph.setAlignment(ParagraphAlignment.RIGHT);
-						XWPFRun run = xwpfParagraph.createRun();
-						String signAttachmentBase64 = map.get("sign_attachment_uuid").toString();
-						//灏哹ase64杞崲瀛楄妭娴�
-						byte[] bytes = Base64.getDecoder().decode(signAttachmentBase64.split(",")[1]);
-						//灏嗗瓧鑺傛祦杞崲涓鸿緭鍏ユ祦
-						InputStream inputStream = new ByteArrayInputStream(bytes);
-						try {
-							//鎹㈣鎻掑叆鍥剧墖
-							run.addPicture(inputStream, XWPFDocument.PICTURE_TYPE_PNG, "sign.png", Units.toEMU(50), Units.toEMU(20));
-							inputStream.close();
-						} catch (InvalidFormatException e) {
-							e.printStackTrace();
-						} catch (IOException e) {
-							e.printStackTrace();
+					if ("lx_flow_opinion".equals(this.replaceKey) && "opinion".equals(fieldNames[j])) {
+						if (!StringUtils.isEmpty(map.get("sign_attachment_uuid"))) {
+							//鎰忚妗� 鎻掑叆绛惧悕鍥剧墖鍒板崟鍏冩牸鍙充笅瑙掍綅缃�
+							xwpfParagraph = cell.addParagraph();
+							xwpfParagraph.setAlignment(ParagraphAlignment.RIGHT);
+							XWPFRun run = xwpfParagraph.createRun();
+							String signAttachmentBase64 = map.get("sign_attachment_uuid").toString();
+							//灏哹ase64杞崲瀛楄妭娴�
+							byte[] bytes = Base64.getDecoder().decode(signAttachmentBase64.split(",")[1]);
+							//灏嗗瓧鑺傛祦杞崲涓鸿緭鍏ユ祦
+							InputStream inputStream = new ByteArrayInputStream(bytes);
+							try {
+								//鎹㈣鎻掑叆鍥剧墖
+								run.addPicture(inputStream, XWPFDocument.PICTURE_TYPE_PNG, "sign.png", Units.toEMU(50), Units.toEMU(20));
+								run.addBreak();
+								run.setText("" + map.get("deal_time").toString().substring(0, 16));
+								inputStream.close();
+							} catch (InvalidFormatException e) {
+								e.printStackTrace();
+							} catch (IOException e) {
+								e.printStackTrace();
+							}
+						} else {
+							xwpfParagraph = cell.addParagraph();
+							xwpfParagraph.setAlignment(ParagraphAlignment.RIGHT);
+							XWPFRun run = xwpfParagraph.createRun();
+							run.setText((String) map.get("actual_person"));
+							run.addBreak();
+							run.setText(map.get("deal_time").toString().substring(0, 16));
 						}
+
 					}
 
 				}

--
Gitblit v1.9.2