调整属性参数
This commit is contained in:
parent
3816715876
commit
64dc240b18
@ -12,6 +12,7 @@ import com.actionsoft.apps.resource.plugin.profile.DCPluginProfile;
|
|||||||
import com.actionsoft.bpms.server.UserContext;
|
import com.actionsoft.bpms.server.UserContext;
|
||||||
import com.actionsoft.bpms.server.fs.DCContext;
|
import com.actionsoft.bpms.server.fs.DCContext;
|
||||||
import com.actionsoft.bpms.server.fs.dc.DCProfileManager;
|
import com.actionsoft.bpms.server.fs.dc.DCProfileManager;
|
||||||
|
import com.actionsoft.bpms.util.DBSql;
|
||||||
import com.actionsoft.bpms.util.UUIDGener;
|
import com.actionsoft.bpms.util.UUIDGener;
|
||||||
import com.actionsoft.sdk.local.SDK;
|
import com.actionsoft.sdk.local.SDK;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
@ -97,13 +98,14 @@ public class ReadTable {
|
|||||||
}
|
}
|
||||||
DCPluginProfile dcProfilepdfdoc = DCProfileManager.getDCProfile("com.actionsoft.apps.coe.pal.datamigration", "migration");
|
DCPluginProfile dcProfilepdfdoc = DCProfileManager.getDCProfile("com.actionsoft.apps.coe.pal.datamigration", "migration");
|
||||||
|
|
||||||
|
|
||||||
//进行文件解析 写基本信息
|
//进行文件解析 写基本信息
|
||||||
//DCPluginProfile dcProfilepdfdoc = DCProfileManager.getDCProfile("com.actionsoft.apps.coe.pal.datamigration", "migration");
|
|
||||||
DCContext dcContextpdfdoc = new DCContext(userContext, dcProfilepdfdoc, "com.actionsoft.apps.coe.pal.datamigration", groupValue, fileValue, docname);
|
DCContext dcContextpdfdoc = new DCContext(userContext, dcProfilepdfdoc, "com.actionsoft.apps.coe.pal.datamigration", groupValue, fileValue, docname);
|
||||||
InputStream docfile = SDK.getDCAPI().read(dcContextpdfdoc);
|
InputStream docfile = SDK.getDCAPI().read(dcContextpdfdoc);
|
||||||
|
|
||||||
//画一个图形 并返回图形ID
|
//画一个图形 并返回图形ID
|
||||||
String shapId = createOneMap(wsId, docname.replace(".doc", ""), userContext, docfile);
|
String shapId = createOneMap(wsId, docname.replace(".doc", ""), userContext, docfile);
|
||||||
if(shapId.isEmpty()){
|
if (shapId.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String title = fileFieldMap.get("标题").getData().toString();
|
String title = fileFieldMap.get("标题").getData().toString();
|
||||||
@ -113,11 +115,12 @@ public class ReadTable {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String id = palRepositoryModel.getId();
|
String id = palRepositoryModel.getId();
|
||||||
|
writeAttrbute(id);
|
||||||
//将文件挂载到附件里面
|
//将文件挂载到附件里面
|
||||||
DCContext dcContextorigin = new DCContext(userContext, dcProfilepdfdoc, "com.actionsoft.apps.coe.pal.datamigration", groupValue, fileValue, fileName);
|
DCContext dcContextorigin = new DCContext(userContext, dcProfilepdfdoc, "com.actionsoft.apps.coe.pal.datamigration", groupValue, fileValue, fileName);
|
||||||
InputStream originfile = SDK.getDCAPI().read(dcContextorigin);
|
InputStream originfile = SDK.getDCAPI().read(dcContextorigin);
|
||||||
try {
|
try {
|
||||||
new ReadWordUtil().writeFileTodisk(userContext, "", fileName, originfile, palRepositoryModel.getId(),"f");
|
new ReadWordUtil().writeFileTodisk(userContext, "", fileName, originfile, palRepositoryModel.getId(), "f");
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -143,31 +146,25 @@ public class ReadTable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public JSONObject writeAttrbute(UserContext userContext, InputStream file, String name, JSONObject shapeze) {
|
/**
|
||||||
boolean result = analysisWordTable(file);
|
* 给表单文件属性赋值
|
||||||
JSONArray attribute = shapeze.getJSONArray("dataAttributes").getJSONObject(0).getJSONArray("attributesJsonArray");
|
*
|
||||||
if (result) {
|
* @param file
|
||||||
|
* @param plid
|
||||||
|
*/
|
||||||
|
public void writeAttrbute(String plid) {
|
||||||
|
//boolean result = analysisWordTable(file);
|
||||||
//根据名称获取PAL制度模型
|
//根据名称获取PAL制度模型
|
||||||
nameToIdMap.forEach((key, value) -> {
|
String sql = "update APP_ACT_COE_PAL_PROP set PROPERTYVALUE='%s' where PROPERTYID='%s' AND PLID='%s'";
|
||||||
//根据key去更新
|
nameToIdMap.forEach((key, value) -> {
|
||||||
WordField tmpw = fileFieldMap.get(key);
|
//根据key去更新
|
||||||
/*if (tmpw != null) {
|
WordField tmp = fileFieldMap.get(key);
|
||||||
JSONObject tmp = new JSONObject();
|
if (tmp != null) {
|
||||||
tmp.put("ref", "");
|
String sql1 = String.format(sql, tmp.getData().toString(), value, plid);
|
||||||
tmp.put("icon", "../apps/com.actionsoft.apps.coe.pal/img/icon/shape_attribute.png");
|
System.out.println("执行的sql有:" + sql1);
|
||||||
tmp.put("readonly", false);
|
DBSql.update(sql1);
|
||||||
tmp.put("scope", "%,*");
|
}
|
||||||
tmp.put("name", key);
|
});
|
||||||
tmp.put("id", value);
|
|
||||||
tmp.put("type", "string");
|
|
||||||
tmp.put("value", tmpw.getData());
|
|
||||||
tmp.put("groupPath", "baseAttribute");
|
|
||||||
tmp.put("key", value);
|
|
||||||
attribute.add(tmp);
|
|
||||||
}*/
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return shapeze;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -179,12 +176,12 @@ public class ReadTable {
|
|||||||
*/
|
*/
|
||||||
public String createOneMap(String plId, String name, UserContext userContext, InputStream docfile) {
|
public String createOneMap(String plId, String name, UserContext userContext, InputStream docfile) {
|
||||||
boolean result = analysisWordTable(docfile);
|
boolean result = analysisWordTable(docfile);
|
||||||
if(fileFieldMap.get("标题") == null){
|
if (fileFieldMap.get("标题") == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
String title = fileFieldMap.get("标题").getData().toString();
|
String title = fileFieldMap.get("标题").getData().toString();
|
||||||
PALRepositoryModel palRepositoryModel = ReadWordUtil.getRepositoryByName(plId, title);
|
PALRepositoryModel palRepositoryModel = ReadWordUtil.getRepositoryByName(plId, title);
|
||||||
if(palRepositoryModel == null){
|
if (palRepositoryModel == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
BaseModel defineModel = CoeDesignerAPIManager.getInstance().getDefinition(palRepositoryModel.getId(), 0);
|
BaseModel defineModel = CoeDesignerAPIManager.getInstance().getDefinition(palRepositoryModel.getId(), 0);
|
||||||
@ -195,7 +192,6 @@ public class ReadTable {
|
|||||||
String define = defineModel.getDefinition();
|
String define = defineModel.getDefinition();
|
||||||
JSONObject definition = JSONObject.parseObject(define);
|
JSONObject definition = JSONObject.parseObject(define);
|
||||||
JSONObject elements = definition.getJSONObject("elements");
|
JSONObject elements = definition.getJSONObject("elements");
|
||||||
String shapeId = UUIDGener.getObjectId();
|
|
||||||
if (StringUtils.isNotEmpty(definition.getString("commonShapeConfig"))) {
|
if (StringUtils.isNotEmpty(definition.getString("commonShapeConfig"))) {
|
||||||
definition.remove("commonShapeConfig");
|
definition.remove("commonShapeConfig");
|
||||||
}
|
}
|
||||||
@ -229,6 +225,8 @@ public class ReadTable {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean analysisWordTable(InputStream file) {
|
public boolean analysisWordTable(InputStream file) {
|
||||||
|
fieldMap.clear();
|
||||||
|
fileFieldMap.clear();
|
||||||
boolean ischeck = false;
|
boolean ischeck = false;
|
||||||
try {
|
try {
|
||||||
HWPFDocument doc = new HWPFDocument(file);
|
HWPFDocument doc = new HWPFDocument(file);
|
||||||
@ -240,17 +238,17 @@ public class ReadTable {
|
|||||||
if (StringUtils.isEmpty(text)) {
|
if (StringUtils.isEmpty(text)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(nowPara.text().contains("文件编码")){
|
if (nowPara.text().contains("文件编码")) {
|
||||||
ischeck = true;
|
ischeck = true;
|
||||||
}
|
}
|
||||||
if(ischeck){
|
if (ischeck) {
|
||||||
boolean isTitle = isTitle(nowPara);
|
boolean isTitle = isTitle(nowPara);
|
||||||
if(isTitle){
|
if (isTitle) {
|
||||||
String title = "";
|
String title = "";
|
||||||
if(fieldMap.get("标题") != null){
|
if (fieldMap.get("标题") != null) {
|
||||||
title = fieldMap.get("标题").toString();
|
title = fieldMap.get("标题").toString();
|
||||||
}
|
}
|
||||||
title = title+nowPara.text().replace("\r","");
|
title = title + nowPara.text().replace("\r", "");
|
||||||
fieldMap.put("标题", title);
|
fieldMap.put("标题", title);
|
||||||
fileFieldMap.put("标题", new WordField<>(title));
|
fileFieldMap.put("标题", new WordField<>(title));
|
||||||
}
|
}
|
||||||
@ -307,7 +305,6 @@ public class ReadTable {
|
|||||||
Map<String, List<String>> result = new HashMap<>(16);
|
Map<String, List<String>> result = new HashMap<>(16);
|
||||||
//迭代行,默认从0开始,可以依据需要设置i的值,改变起始行数,也可设置读取到那行,只需修改循环的判断条件即可
|
//迭代行,默认从0开始,可以依据需要设置i的值,改变起始行数,也可设置读取到那行,只需修改循环的判断条件即可
|
||||||
for (int i = 0; i < tb.numRows(); i++) {
|
for (int i = 0; i < tb.numRows(); i++) {
|
||||||
List<String> list = new ArrayList<>(16);
|
|
||||||
int x = 0;
|
int x = 0;
|
||||||
TableRow tr = tb.getRow(i);
|
TableRow tr = tb.getRow(i);
|
||||||
String key = null;
|
String key = null;
|
||||||
@ -316,7 +313,6 @@ public class ReadTable {
|
|||||||
//取得单元格
|
//取得单元格
|
||||||
TableCell td = tr.getCell(j);
|
TableCell td = tr.getCell(j);
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
String text = td.text();
|
|
||||||
|
|
||||||
//取得单元格的内容
|
//取得单元格的内容
|
||||||
for (int k = 0; k < td.numParagraphs(); k++) {
|
for (int k = 0; k < td.numParagraphs(); k++) {
|
||||||
@ -328,15 +324,30 @@ public class ReadTable {
|
|||||||
}
|
}
|
||||||
sb.append(s);
|
sb.append(s);
|
||||||
}
|
}
|
||||||
if (x == 0) {
|
key = sb.toString().replaceAll(" ","");
|
||||||
key = sb.toString();
|
//看看是否是键值
|
||||||
} else {
|
if(nameToIdMap.containsKey(key) && result.get(key) == null && j < (tr.numCells()-1)){
|
||||||
String value = sb.toString();
|
//取得单元格
|
||||||
list.add(value == null || Objects.deepEquals(value, "") ? null : value.replace(",", ""));
|
j += 1;
|
||||||
|
TableCell tdtmp = tr.getCell(j);
|
||||||
|
StringBuffer sb1 = new StringBuffer();
|
||||||
|
List<String> list = new ArrayList<>(16);
|
||||||
|
//取得单元格的内容
|
||||||
|
for (int k = 0; k < tdtmp.numParagraphs(); k++) {
|
||||||
|
Paragraph paragraph = tdtmp.getParagraph(k);
|
||||||
|
String s = paragraph.text();
|
||||||
|
//去除后面的特殊符号
|
||||||
|
if (null != s && !"".equals(s)) {
|
||||||
|
s = s.substring(0, s.length() - 1);
|
||||||
|
}
|
||||||
|
sb1.append(s);
|
||||||
|
}
|
||||||
|
String tmpvalue = sb1.toString();
|
||||||
|
list.add(tmpvalue == null || Objects.deepEquals(tmpvalue, "") ? null : tmpvalue.replace(",", ""));
|
||||||
|
result.put(key, list);
|
||||||
}
|
}
|
||||||
x++;
|
|
||||||
}
|
}
|
||||||
result.put(key, list);
|
//result.put(key, list);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -385,12 +396,6 @@ public class ReadTable {
|
|||||||
for (String attrId : attrs.keySet()) {
|
for (String attrId : attrs.keySet()) {
|
||||||
if (!attrIds.contains(attrId)) {
|
if (!attrIds.contains(attrId)) {
|
||||||
JSONObject eleAttrObj = getDefaultAttrObj(attrs.getJSONObject(attrId));
|
JSONObject eleAttrObj = getDefaultAttrObj(attrs.getJSONObject(attrId));
|
||||||
String id = eleAttrObj.getString("id");
|
|
||||||
String name = idToNameMap.get(id);
|
|
||||||
WordField tmpw = fileFieldMap.get(name);
|
|
||||||
if (tmpw != null) {
|
|
||||||
eleAttrObj.put("value", tmpw.getData());
|
|
||||||
}
|
|
||||||
attributesJsonArray.add(eleAttrObj);
|
attributesJsonArray.add(eleAttrObj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -428,23 +433,25 @@ public class ReadTable {
|
|||||||
object2.put("value", "");
|
object2.put("value", "");
|
||||||
return object2;
|
return object2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断是否为文档标题
|
* 判断是否为文档标题
|
||||||
* 标志:黑体一号
|
* 标志:黑体一号
|
||||||
|
*
|
||||||
* @param paragraph
|
* @param paragraph
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean isTitle(Paragraph paragraph){
|
public boolean isTitle(Paragraph paragraph) {
|
||||||
int size = paragraph.numCharacterRuns();
|
int size = paragraph.numCharacterRuns();
|
||||||
String fontName = "";
|
String fontName = "";
|
||||||
int fontSize = 0;
|
int fontSize = 0;
|
||||||
boolean bold ;
|
boolean bold;
|
||||||
for (int j = 0; j < size; j++) {
|
for (int j = 0; j < size; j++) {
|
||||||
CharacterRun characterRun = paragraph.getCharacterRun(j);
|
CharacterRun characterRun = paragraph.getCharacterRun(j);
|
||||||
fontName = characterRun.getFontName();
|
fontName = characterRun.getFontName();
|
||||||
if (fontName.contains("黑体")){
|
if (fontName.contains("黑体")) {
|
||||||
//与文档fontsize标号2倍关系 ,黑体一号 等于 26号size
|
//与文档fontsize标号2倍关系 ,黑体一号 等于 26号size
|
||||||
return characterRun.getFontSize() == 44;
|
return characterRun.getFontSize() == 44;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -3,5 +3,13 @@ package com.actionsoft.apps.coe.pal.datamigration.util.readtable;
|
|||||||
public class TableConstant {
|
public class TableConstant {
|
||||||
public final static String WORDIMPORT = "[{\"title\":\"基本信息\",\"type\":\"DirectFeild\"}]";
|
public final static String WORDIMPORT = "[{\"title\":\"基本信息\",\"type\":\"DirectFeild\"}]";
|
||||||
//public final static String NAMETOID = "[{\"title\":\"目的\",\"type\":\"goal\"},{\"title\":\"拟制/修订人\",\"type\":\"reviser\"},{\"title\":\"拟制/修订日期\",\"type\":\"reviseddate\"},{\"title\":\"审核人\",\"type\":\"auditor\"},{\"title\":\"复核人\",\"type\":\"reviewer\"},{\"title\":\"审批人\",\"type\":\"approver\"},{\"title\":\"术语\",\"type\":\"term\"},{\"title\":\"术语定义\",\"type\":\"definition\"},{\"title\":\"组织/角色名称\",\"type\":\"Character\"},{\"title\":\"组织/角色职责\",\"type\":\"responsibilities\"},{\"title\":\"相关文件\",\"type\":\"relevant\"},{\"title\":\"支持文件\",\"type\":\"support\"},{\"title\":\"相关知识\",\"type\":\"related\"},{\"title\":\"附则\",\"type\":\"supplementary\"}]";
|
//public final static String NAMETOID = "[{\"title\":\"目的\",\"type\":\"goal\"},{\"title\":\"拟制/修订人\",\"type\":\"reviser\"},{\"title\":\"拟制/修订日期\",\"type\":\"reviseddate\"},{\"title\":\"审核人\",\"type\":\"auditor\"},{\"title\":\"复核人\",\"type\":\"reviewer\"},{\"title\":\"审批人\",\"type\":\"approver\"},{\"title\":\"术语\",\"type\":\"term\"},{\"title\":\"术语定义\",\"type\":\"definition\"},{\"title\":\"组织/角色名称\",\"type\":\"Character\"},{\"title\":\"组织/角色职责\",\"type\":\"responsibilities\"},{\"title\":\"相关文件\",\"type\":\"relevant\"},{\"title\":\"支持文件\",\"type\":\"support\"},{\"title\":\"相关知识\",\"type\":\"related\"},{\"title\":\"附则\",\"type\":\"supplementary\"}]";
|
||||||
public final static String NAMETOID = "[{\"title\":\"文件名称\",\"type\":\"Form_name\"},{\"title\":\"文件编码\",\"type\":\"form_number\"},{\"title\":\"版本\",\"type\":\"P_versions\"},{\"title\":\"生效日期\",\"type\":\"form_effective_date\"},{\"title\":\"适用范围\",\"type\":\"form_Scope_application\"}]";
|
public final static String NAMETOID = "[" +
|
||||||
|
"{\"title\":\"文件名称\",\"type\":\"Form_name\"}," +
|
||||||
|
"{\"title\":\"文件编码\",\"type\":\"form_number\"}," +
|
||||||
|
"{\"title\":\"版本\",\"type\":\"P_versions\"}," +
|
||||||
|
"{\"title\":\"生效日期\",\"type\":\"form_effective_date\"}," +
|
||||||
|
"{\"title\":\"适用范围\",\"type\":\"form_Scope_application\"}," +
|
||||||
|
"{\"title\":\"L1\",\"type\":\"Process_Architecture_L1\"}," +
|
||||||
|
"{\"title\":\"L2\",\"type\":\"Process_Architecture_L2\"}," +
|
||||||
|
"{\"title\":\"L3\",\"type\":\"Process_Architecture_L3\"}]";
|
||||||
}
|
}
|
||||||
@ -6,7 +6,28 @@ public class Constant {
|
|||||||
public final static String UPFILE = "migration";
|
public final static String UPFILE = "migration";
|
||||||
public final static String WORDIMPORT = "[{\"title\":\"基本信息\",\"type\":\"DirectFeild\"},{\"title\":\"文控信息\",\"type\":\"DirectFeild\"},{\"title\":\"修订记录\",\"type\":\"VerticalFeild\"},{\"title\":\"术语\",\"type\":\"Table\"},{\"title\":\"组织/角色与职责\",\"type\":\"Table\"},{\"title\":\"相关文件\",\"type\":\"File\"},{\"title\":\"支持文件\",\"type\":\"File\"}]";
|
public final static String WORDIMPORT = "[{\"title\":\"基本信息\",\"type\":\"DirectFeild\"},{\"title\":\"文控信息\",\"type\":\"DirectFeild\"},{\"title\":\"修订记录\",\"type\":\"VerticalFeild\"},{\"title\":\"术语\",\"type\":\"Table\"},{\"title\":\"组织/角色与职责\",\"type\":\"Table\"},{\"title\":\"相关文件\",\"type\":\"File\"},{\"title\":\"支持文件\",\"type\":\"File\"}]";
|
||||||
//public final static String NAMETOID = "[{\"title\":\"目的\",\"type\":\"goal\"},{\"title\":\"拟制/修订人\",\"type\":\"reviser\"},{\"title\":\"拟制/修订日期\",\"type\":\"reviseddate\"},{\"title\":\"审核人\",\"type\":\"auditor\"},{\"title\":\"复核人\",\"type\":\"reviewer\"},{\"title\":\"审批人\",\"type\":\"approver\"},{\"title\":\"术语\",\"type\":\"term\"},{\"title\":\"术语定义\",\"type\":\"definition\"},{\"title\":\"组织/角色名称\",\"type\":\"Character\"},{\"title\":\"组织/角色职责\",\"type\":\"responsibilities\"},{\"title\":\"相关文件\",\"type\":\"relevant\"},{\"title\":\"支持文件\",\"type\":\"support\"},{\"title\":\"相关知识\",\"type\":\"related\"},{\"title\":\"附则\",\"type\":\"supplementary\"}]";
|
//public final static String NAMETOID = "[{\"title\":\"目的\",\"type\":\"goal\"},{\"title\":\"拟制/修订人\",\"type\":\"reviser\"},{\"title\":\"拟制/修订日期\",\"type\":\"reviseddate\"},{\"title\":\"审核人\",\"type\":\"auditor\"},{\"title\":\"复核人\",\"type\":\"reviewer\"},{\"title\":\"审批人\",\"type\":\"approver\"},{\"title\":\"术语\",\"type\":\"term\"},{\"title\":\"术语定义\",\"type\":\"definition\"},{\"title\":\"组织/角色名称\",\"type\":\"Character\"},{\"title\":\"组织/角色职责\",\"type\":\"responsibilities\"},{\"title\":\"相关文件\",\"type\":\"relevant\"},{\"title\":\"支持文件\",\"type\":\"support\"},{\"title\":\"相关知识\",\"type\":\"related\"},{\"title\":\"附则\",\"type\":\"supplementary\"}]";
|
||||||
public final static String NAMETOID = "[{\"title\":\"目的\",\"type\":\"Purpose\"},{\"title\":\"拟制/修订人\",\"type\":\"Drafted_and_revised_by\"},{\"title\":\"拟制/修订日期\",\"type\":\"Drafted_and_revised_date\"},{\"title\":\"审核人\",\"type\":\"auditor\"},{\"title\":\"复核人\",\"type\":\"reviewer\"},{\"title\":\"审批人\",\"type\":\"approver\"},{\"title\":\"术语\",\"type\":\"term\"},{\"title\":\"组织/角色名称\",\"type\":\"Organization_role_name\"},{\"title\":\"组织/角色职责\",\"type\":\"Organization_and_role_responsibilities\"},{\"title\":\"相关文件\",\"type\":\"relevant_flies\"},{\"title\":\"支持文件\",\"type\":\"support_files\"},{\"title\":\"相关知识\",\"type\":\"relevant_flies\"},{\"title\":\"附则\",\"type\":\"T_supplementary_articles\"}]";
|
public final static String NAMETOID = "[{\"title\":\"目的\",\"type\":\"Purpose\"}," +
|
||||||
|
"{\"title\":\"拟制/修订人\",\"type\":\"Drafted_and_revised_by\"}," +
|
||||||
|
"{\"title\":\"拟制/修订日期\",\"type\":\"Drafted_and_revised_date\"}," +
|
||||||
|
"{\"title\":\"审核人\",\"type\":\"auditor\"}," +
|
||||||
|
"{\"title\":\"复核人\",\"type\":\"reviewer\"}," +
|
||||||
|
"{\"title\":\"审批人\",\"type\":\"approver\"}," +
|
||||||
|
"{\"title\":\"术语\",\"type\":\"term\"}," +
|
||||||
|
"{\"title\":\"组织/角色名称\",\"type\":\"Organizational_role\"}," +
|
||||||
|
"{\"title\":\"组织/角色职责\",\"type\":\"Organization_and_role_responsibilities\"}," +
|
||||||
|
"{\"title\":\"相关文件\",\"type\":\"relevant_flies\"}," +
|
||||||
|
"{\"title\":\"支持文件\",\"type\":\"support_files\"}," +
|
||||||
|
"{\"title\":\"相关知识\",\"type\":\"relevant_flies\"}," +
|
||||||
|
"{\"title\":\"附则\",\"type\":\"T_supplementary_articles\"}," +
|
||||||
|
"{\"title\":\"L1\",\"type\":\"Process_Architecture_L1\"}," +
|
||||||
|
"{\"title\":\"L2\",\"type\":\"Process_Architecture_L2\"}," +
|
||||||
|
"{\"title\":\"L3\",\"type\":\"Process_Architecture_L3\"}," +
|
||||||
|
"{\"title\":\"文件编码\",\"type\":\"file_number\"}," +
|
||||||
|
"{\"title\":\"适用范围\",\"type\":\"application\"}," +
|
||||||
|
"{\"title\":\"版本\",\"type\":\"versions\"}," +
|
||||||
|
"{\"title\":\"生效日期\",\"type\":\"effective_date\"}," +
|
||||||
|
"{\"title\":\"修订内容及理由\",\"type\":\"Contents_and_reasons_for_revision\"}" +
|
||||||
|
"]";
|
||||||
// 构造连线时的几个固定参数
|
// 构造连线时的几个固定参数
|
||||||
public final static double ANGLE_RIGHT = 0;
|
public final static double ANGLE_RIGHT = 0;
|
||||||
public final static double ANGLE_DOWN = 1.5707963267948968;
|
public final static double ANGLE_DOWN = 1.5707963267948968;
|
||||||
|
|||||||
@ -119,12 +119,35 @@ public class ReadWordUtil {
|
|||||||
});
|
});
|
||||||
jsonObject.put("table", jsonArray);
|
jsonObject.put("table", jsonArray);
|
||||||
new CoeProcessLevelWeb(userContext).moreAttrContentSave(id, "term", jsonObject.toJSONString());
|
new CoeProcessLevelWeb(userContext).moreAttrContentSave(id, "term", jsonObject.toJSONString());
|
||||||
|
}else if ("组织/角色与职责".equals(key)) {
|
||||||
|
List nowdata = (List) tmp.getData();
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("name", "组织角色");
|
||||||
|
JSONArray jsonArray = new JSONArray();
|
||||||
|
JSONObject jsonObject1 = new JSONObject();
|
||||||
|
jsonObject1.put("name", "组织");
|
||||||
|
jsonObject1.put("id", "table_head");
|
||||||
|
jsonObject1.put("desc", "职责");
|
||||||
|
jsonArray.add(jsonObject1);
|
||||||
|
//存表格 将名称过滤掉
|
||||||
|
nowdata.stream().filter(datatmp -> {
|
||||||
|
return !"组织/角色名称".equals(((List) datatmp).get(0));
|
||||||
|
}).forEach(datatmp -> {
|
||||||
|
JSONObject tmpjb = new JSONObject();
|
||||||
|
tmpjb.put("name", ((List) datatmp).get(0));
|
||||||
|
tmpjb.put("id", UUIDGener.getUUID());
|
||||||
|
tmpjb.put("desc", ((List) datatmp).get(1));
|
||||||
|
//{"name":"术语","table":[{"name":"名称","id":"table_head","desc":"定义"},{"name":"流程责任人","id":"c0723266-bff1-410c-b49e-4332e58cc633","desc":"流程责任人是指对流程全生命周期管理负责的人,流程责任人拥有流程全生命周期管理的权力,同时承担相应的职责,是流程绩效的第一负责人。"},{"name":"业务归属","id":"2e3bbc32-1d3d-4f19-8b2e-75302bf2aed4","desc":"是指流程制度文件所属的流程架构位置以及文件适用范围。"}]}
|
||||||
|
jsonArray.add(tmpjb);
|
||||||
|
});
|
||||||
|
jsonObject.put("table", jsonArray);
|
||||||
|
new CoeProcessLevelWeb(userContext).moreAttrContentSave(id, "Organizational_role", jsonObject.toJSONString());
|
||||||
} else if ("支持文件".equals(key) || "相关文件".equals(key)) {
|
} else if ("支持文件".equals(key) || "相关文件".equals(key)) {
|
||||||
//拼文件
|
//拼文件
|
||||||
List nowdata = (List) tmp.getData();
|
List nowdata = (List) tmp.getData();
|
||||||
String alldata = nowdata.stream().collect(Collectors.joining(",")).toString();
|
String alldata = nowdata.stream().collect(Collectors.joining(",")).toString();
|
||||||
String sql1 = String.format(sql, alldata, value, id);
|
String sql1 = String.format(sql, alldata, value, id);
|
||||||
System.out.println("执行的sql有:" + sql1);
|
//System.out.println("执行的sql有:" + sql1);
|
||||||
DBSql.update(sql1);
|
DBSql.update(sql1);
|
||||||
} else {
|
} else {
|
||||||
String sql1 = String.format(sql, tmp.getData().toString(), value, id);
|
String sql1 = String.format(sql, tmp.getData().toString(), value, id);
|
||||||
@ -272,7 +295,7 @@ public class ReadWordUtil {
|
|||||||
//标题后续直接为table
|
//标题后续直接为table
|
||||||
if (paragraph.isInTable()) {
|
if (paragraph.isInTable()) {
|
||||||
Table table = range.getTable(paragraph);
|
Table table = range.getTable(paragraph);
|
||||||
Map<String, List<String>> tabelDocText = this.getHorizontalTableMapText(table);
|
Map<String, List<String>> tabelDocText = this.getHorizontalTableMapTextTwo(table);
|
||||||
|
|
||||||
//在基本信息中特殊获取文件名称和版本号
|
//在基本信息中特殊获取文件名称和版本号
|
||||||
if (text.trim().equals("文控信息") || text.trim().equals("基本信息")) {
|
if (text.trim().equals("文控信息") || text.trim().equals("基本信息")) {
|
||||||
@ -411,6 +434,62 @@ public class ReadWordUtil {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将所有的属性解析出来
|
||||||
|
* @param tb
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Map<String, List<String>> getHorizontalTableMapTextTwo(Table tb) {
|
||||||
|
Map<String, List<String>> result = new HashMap<>(16);
|
||||||
|
//迭代行,默认从0开始,可以依据需要设置i的值,改变起始行数,也可设置读取到那行,只需修改循环的判断条件即可
|
||||||
|
for (int i = 0; i < tb.numRows(); i++) {
|
||||||
|
int x = 0;
|
||||||
|
TableRow tr = tb.getRow(i);
|
||||||
|
String key = null;
|
||||||
|
//迭代列,默认从0开始
|
||||||
|
for (int j = 0; j < tr.numCells(); j++) {
|
||||||
|
//取得单元格
|
||||||
|
TableCell td = tr.getCell(j);
|
||||||
|
StringBuffer sb = new StringBuffer();
|
||||||
|
|
||||||
|
//取得单元格的内容
|
||||||
|
for (int k = 0; k < td.numParagraphs(); k++) {
|
||||||
|
Paragraph paragraph = td.getParagraph(k);
|
||||||
|
String s = paragraph.text();
|
||||||
|
//去除后面的特殊符号
|
||||||
|
if (null != s && !"".equals(s)) {
|
||||||
|
s = s.substring(0, s.length() - 1);
|
||||||
|
}
|
||||||
|
sb.append(s);
|
||||||
|
}
|
||||||
|
key = sb.toString().replaceAll(" ","");
|
||||||
|
//看看是否是键值
|
||||||
|
if(nameToIdMap.containsKey(key) && result.get(key) == null && j < (tr.numCells()-1)){
|
||||||
|
//取得单元格
|
||||||
|
j += 1;
|
||||||
|
TableCell tdtmp = tr.getCell(j);
|
||||||
|
StringBuffer sb1 = new StringBuffer();
|
||||||
|
List<String> list = new ArrayList<>(16);
|
||||||
|
//取得单元格的内容
|
||||||
|
for (int k = 0; k < tdtmp.numParagraphs(); k++) {
|
||||||
|
Paragraph paragraph = tdtmp.getParagraph(k);
|
||||||
|
String s = paragraph.text();
|
||||||
|
//去除后面的特殊符号
|
||||||
|
if (null != s && !"".equals(s)) {
|
||||||
|
s = s.substring(0, s.length() - 1);
|
||||||
|
}
|
||||||
|
sb1.append(s);
|
||||||
|
}
|
||||||
|
String tmpvalue = sb1.toString();
|
||||||
|
list.add(tmpvalue == null || Objects.deepEquals(tmpvalue, "") ? null : tmpvalue.replace(",", ""));
|
||||||
|
result.put(key, list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//result.put(key, list);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
private List<List<String>> getHorizontalTableText(Table table) {
|
private List<List<String>> getHorizontalTableText(Table table) {
|
||||||
List<List<String>> list = new ArrayList<>();
|
List<List<String>> list = new ArrayList<>();
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user