增加附则编号/处理表格换行显示/修改根据横纵方向合并文档
This commit is contained in:
parent
32ccca18a3
commit
e2ceae2f81
Binary file not shown.
@ -34,7 +34,6 @@ import com.alibaba.fastjson.JSONArray;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.awspaas.apps.coe.pal.output.zd.util.PrReportComment;
|
import com.awspaas.apps.coe.pal.output.zd.util.PrReportComment;
|
||||||
import com.awspaas.apps.coe.pal.output.zd.util.ReportRepositoryCompare;
|
import com.awspaas.apps.coe.pal.output.zd.util.ReportRepositoryCompare;
|
||||||
import com.awspaas.apps.coe.pal.output.zd.util.XMLUtil;
|
|
||||||
import com.sini.com.spire.doc.*;
|
import com.sini.com.spire.doc.*;
|
||||||
import com.sini.com.spire.doc.collections.SectionCollection;
|
import com.sini.com.spire.doc.collections.SectionCollection;
|
||||||
import com.sini.com.spire.doc.documents.*;
|
import com.sini.com.spire.doc.documents.*;
|
||||||
@ -44,12 +43,9 @@ import com.sini.com.spire.doc.formatting.ParagraphFormat;
|
|||||||
import freemarker.template.Configuration;
|
import freemarker.template.Configuration;
|
||||||
import freemarker.template.Template;
|
import freemarker.template.Template;
|
||||||
import org.apache.commons.compress.utils.IOUtils;
|
import org.apache.commons.compress.utils.IOUtils;
|
||||||
import org.dom4j.Document;
|
|
||||||
import org.dom4j.DocumentException;
|
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@ -525,8 +521,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
|
|
||||||
|
|
||||||
PALRepositoryPropertyModel term = PALRepositoryPropertyCache.getPropertyByPropertyId(repositoryModel.getId(), "term");
|
PALRepositoryPropertyModel term = PALRepositoryPropertyCache.getPropertyByPropertyId(repositoryModel.getId(), "term");
|
||||||
|
|
||||||
|
|
||||||
JSONArray termTable = new JSONArray(); //术语定义Table
|
JSONArray termTable = new JSONArray(); //术语定义Table
|
||||||
// 属性特征 属性代码KEY
|
// 属性特征 属性代码KEY
|
||||||
String termVal = term.getPropertyValue();
|
String termVal = term.getPropertyValue();
|
||||||
@ -551,13 +545,12 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
|
|
||||||
//定义表格数据
|
//定义表格数据
|
||||||
String[] header = {"术语", "定义"};
|
String[] header = {"术语", "定义"};
|
||||||
|
|
||||||
if (termTable != null && !termTable.isEmpty()) {
|
if (termTable != null && !termTable.isEmpty()) {
|
||||||
|
|
||||||
String[][] strArray2 = new String[termTable.size()][];
|
String[][] strArray2 = new String[termTable.size()][];
|
||||||
|
|
||||||
List<String[]> list = new LinkedList<>();
|
List<String[]> list = new LinkedList<>();
|
||||||
for (int i = 0; i < termTable.size(); i++) {
|
for (int i = 0; i < termTable.size(); i++) {
|
||||||
JSONObject obj2 = termObj.getJSONArray("table").getJSONObject(i);
|
JSONObject obj2 = (JSONObject) termTable.get(i);
|
||||||
String[] strArray = new String[2];
|
String[] strArray = new String[2];
|
||||||
strArray[0] = obj2.getString("name");
|
strArray[0] = obj2.getString("name");
|
||||||
strArray[1] = obj2.getString("desc");
|
strArray[1] = obj2.getString("desc");
|
||||||
@ -573,29 +566,37 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
TableRow row = table.getRows().get(0);
|
TableRow row = table.getRows().get(0);
|
||||||
row.isHeader(true);
|
row.isHeader(true);
|
||||||
row.setHeight(20);
|
row.setHeight(20);
|
||||||
row.setHeightType(TableRowHeightType.Exactly);
|
row.setHeightType(TableRowHeightType.Auto);
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < header.length; i++) {
|
for (int i = 0; i < header.length; i++) {
|
||||||
row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
||||||
Paragraph p = row.getCells().get(i).addParagraph();
|
Paragraph p = row.getCells().get(i).addParagraph();
|
||||||
p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
|
p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
|
||||||
TextRange txtRange = p.appendText(header[i]);
|
TextRange txtRange = p.appendText(header[i]);
|
||||||
|
|
||||||
txtRange.getCharacterFormat().setBold(true);
|
txtRange.getCharacterFormat().setBold(true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//将数据添加到其余行
|
//将数据添加到其余行
|
||||||
for (int r = 0; r < data.length; r++) {
|
for (int r = 0; r < data.length; r++) {
|
||||||
TableRow dataRow = table.getRows().get(r + 1);
|
TableRow dataRow = table.getRows().get(r + 1);
|
||||||
dataRow.setHeight(25);
|
dataRow.setHeight(25);
|
||||||
dataRow.setHeightType(TableRowHeightType.Exactly);
|
dataRow.setHeightType(TableRowHeightType.Auto);
|
||||||
dataRow.getRowFormat().setBackColor(Color.white);
|
dataRow.getRowFormat().setBackColor(Color.white);
|
||||||
for (int c = 0; c < data[r].length; c++) {
|
for (int c = 0; c < data[r].length; c++) {
|
||||||
dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
||||||
dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);
|
dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Paragraph termparagraph = section.addParagraph();
|
Paragraph orgparagraph = section.addParagraph();
|
||||||
termparagraph.appendText("无").applyCharacterFormat(format);
|
orgparagraph.appendText("无").applyCharacterFormat(format);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -639,7 +640,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
|
|
||||||
//定义表格数据
|
//定义表格数据
|
||||||
String[] orgheader = {"组织", "职责"};
|
String[] orgheader = {"组织", "职责"};
|
||||||
|
|
||||||
if (organizationTable != null && !organizationTable.isEmpty()) {
|
if (organizationTable != null && !organizationTable.isEmpty()) {
|
||||||
String[][] strArray2 = new String[organizationTable.size()][];
|
String[][] strArray2 = new String[organizationTable.size()][];
|
||||||
|
|
||||||
@ -657,17 +657,22 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
|
|
||||||
//添加表格
|
//添加表格
|
||||||
Table table = section.addTable(true);
|
Table table = section.addTable(true);
|
||||||
table.resetCells(data.length + 1, header.length);
|
|
||||||
|
table.resetCells(data.length + 1, orgheader.length);
|
||||||
|
|
||||||
|
|
||||||
|
table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Contents);
|
||||||
|
|
||||||
|
|
||||||
TableRow row = table.getRows().get(0);
|
TableRow row = table.getRows().get(0);
|
||||||
row.isHeader(true);
|
row.isHeader(true);
|
||||||
row.setHeight(20);
|
row.setHeight(20);
|
||||||
row.setHeightType(TableRowHeightType.Exactly);
|
row.setHeightType(TableRowHeightType.Exactly);
|
||||||
for (int i = 0; i < header.length; i++) {
|
for (int i = 0; i < orgheader.length; i++) {
|
||||||
row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
||||||
Paragraph p = row.getCells().get(i).addParagraph();
|
Paragraph p = row.getCells().get(i).addParagraph();
|
||||||
p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
|
p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
|
||||||
TextRange txtRange = p.appendText(header[i]);
|
TextRange txtRange = p.appendText(orgheader[i]);
|
||||||
txtRange.getCharacterFormat().setBold(true);
|
txtRange.getCharacterFormat().setBold(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -675,7 +680,7 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
for (int r = 0; r < data.length; r++) {
|
for (int r = 0; r < data.length; r++) {
|
||||||
TableRow dataRow = table.getRows().get(r + 1);
|
TableRow dataRow = table.getRows().get(r + 1);
|
||||||
dataRow.setHeight(25);
|
dataRow.setHeight(25);
|
||||||
dataRow.setHeightType(TableRowHeightType.Exactly);
|
dataRow.setHeightType(TableRowHeightType.Auto);
|
||||||
dataRow.getRowFormat().setBackColor(Color.white);
|
dataRow.getRowFormat().setBackColor(Color.white);
|
||||||
for (int c = 0; c < data[r].length; c++) {
|
for (int c = 0; c < data[r].length; c++) {
|
||||||
dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
|
||||||
@ -720,7 +725,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
String substring = fileName.substring(0, fileName.lastIndexOf(".xml"));
|
String substring = fileName.substring(0, fileName.lastIndexOf(".xml"));
|
||||||
appendUrl = docPath + substring + ".docx";
|
appendUrl = docPath + substring + ".docx";
|
||||||
} else {
|
} else {
|
||||||
document.insertTextFromFile(path + fileName, FileFormat.Docx_2013);
|
|
||||||
appendUrl = path + fileName;
|
appendUrl = path + fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -769,7 +773,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
System.out.println("文档存在纵向页面方向");
|
System.out.println("文档存在纵向页面方向");
|
||||||
|
|
||||||
//在第二个文档中循环获取所有节
|
//在第二个文档中循环获取所有节
|
||||||
for (Object sectionObj : (Iterable) document2.getSections()) {
|
for (Object sectionObj : (Iterable) document2.getSections()) {
|
||||||
Section sec = (Section) sectionObj;
|
Section sec = (Section) sectionObj;
|
||||||
@ -788,7 +791,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
//保存结果文档
|
//保存结果文档
|
||||||
document.saveToFile(outFile.getPath(), FileFormat.Docx_2013);
|
document.saveToFile(outFile.getPath(), FileFormat.Docx_2013);
|
||||||
|
|
||||||
|
|
||||||
BO bo = new BO();
|
BO bo = new BO();
|
||||||
bo.set("FILENAME", fileName);
|
bo.set("FILENAME", fileName);
|
||||||
bo.set("PALID", repositoryId);
|
bo.set("PALID", repositoryId);
|
||||||
@ -820,7 +822,7 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
ParagraphFormat paragraphFormat3 = paragraph3.getFormat();
|
ParagraphFormat paragraphFormat3 = paragraph3.getFormat();
|
||||||
paragraphFormat3.setHorizontalAlignment(HorizontalAlignment.Left);
|
paragraphFormat3.setHorizontalAlignment(HorizontalAlignment.Left);
|
||||||
|
|
||||||
TextRange tr3 = paragraph3.appendText("附则");
|
TextRange tr3 = paragraph3.appendText("5.附则");
|
||||||
|
|
||||||
|
|
||||||
tr3.getCharacterFormat().setBold(true);
|
tr3.getCharacterFormat().setBold(true);
|
||||||
@ -924,57 +926,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static String getFileContent(File file) {
|
|
||||||
StringBuilder builder = new StringBuilder();
|
|
||||||
|
|
||||||
InputStreamReader reader = null;
|
|
||||||
BufferedReader br = null;
|
|
||||||
try {
|
|
||||||
reader = new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8);
|
|
||||||
br = new BufferedReader(reader);
|
|
||||||
String s;
|
|
||||||
while ((s = br.readLine()) != null) {
|
|
||||||
builder.append(s);
|
|
||||||
}
|
|
||||||
} catch (FileNotFoundException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} finally {
|
|
||||||
try {
|
|
||||||
if (reader != null) {
|
|
||||||
reader.close();
|
|
||||||
}
|
|
||||||
if (br != null) {
|
|
||||||
br.close();
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return builder.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 解析xml文档
|
|
||||||
*
|
|
||||||
* @param path
|
|
||||||
* @param b
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private Document analysisXMLFile(String path, boolean b) {
|
|
||||||
Document d = null;
|
|
||||||
try {
|
|
||||||
d = XMLUtil.readXML(path, true);
|
|
||||||
} catch (DocumentException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (FileNotFoundException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return d;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取文档数据
|
* 获取文档数据
|
||||||
*
|
*
|
||||||
@ -1032,12 +983,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
throw new AWSQuotaException("附件格式请以:《附件1:XXXXXX》格式命名");
|
throw new AWSQuotaException("附件格式请以:《附件1:XXXXXX》格式命名");
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
dataMap.put("file_table", fileTable);
|
|
||||||
dataMap.put("file_table_count", fileTable.size());
|
|
||||||
//dataMap.put("file_table_count", 0);// 暂时置空
|
|
||||||
dataMap.put(OutputWordUtil.TABLE_DANGER, dangerTable);
|
|
||||||
dataMap.put(OutputWordUtil.TABLE_REGULATE, regulateTable);
|
|
||||||
dataMap.put(OutputWordUtil.TABLE_KPI, KPITable);
|
|
||||||
ReportRepositoryCompare compare = new ReportRepositoryCompare();
|
ReportRepositoryCompare compare = new ReportRepositoryCompare();
|
||||||
JSONArray historyVersionModify = compare.getModifyVersionHistory(repositoryId);
|
JSONArray historyVersionModify = compare.getModifyVersionHistory(repositoryId);
|
||||||
dataMap.put("history_table", historyVersionModify);
|
dataMap.put("history_table", historyVersionModify);
|
||||||
@ -1046,14 +991,5 @@ public class InstitutionalTextWeb extends ActionWeb {
|
|||||||
return dataMap;
|
return dataMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isNumeric(String str) {
|
|
||||||
for (int i = str.length(); --i >= 0; ) {
|
|
||||||
int chr = str.charAt(i);
|
|
||||||
if (chr < 48 || chr > 57)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user