From af4be96ab435db7d3fc6d55e288970b440630193 Mon Sep 17 00:00:00 2001 From: wangchengjun <616865598@qq.com> Date: Sun, 10 Apr 2022 14:29:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=A4=9A=E4=BD=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../split/service/impl/FileSpiltService.java | 355 ++++- .../impl/SarFileSplitInfoServiceImpl.java | 4 +- jero-boot/jreo-boot-split/pom.xml | 63 - .../modules/entity/SarFileSplitItemsEO.java | 522 ------- .../com/jero/modules/service/FileSpilt.java | 1266 ----------------- .../com/jero/modules/utils/FileSpilt.java | 1174 --------------- .../com/jero/modules/utils/ReadWordTable.java | 234 --- jero-boot/pom.xml | 1 - 8 files changed, 357 insertions(+), 3262 deletions(-) delete mode 100644 jero-boot/jreo-boot-split/pom.xml delete mode 100644 jero-boot/jreo-boot-split/src/main/java/com/jero/modules/entity/SarFileSplitItemsEO.java delete mode 100644 jero-boot/jreo-boot-split/src/main/java/com/jero/modules/service/FileSpilt.java delete mode 100644 jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/FileSpilt.java delete mode 100644 jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/ReadWordTable.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java index 712569c2b..ad3204f2a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java @@ -351,7 +351,7 @@ public class FileSpiltService { * @param sarFileSplitInfoEO * @return */ - public int fileEU(SarFileSplitInfoEO sarFileSplitInfoEO) { + public int fileGSO(SarFileSplitInfoEO sarFileSplitInfoEO) { // 拆分文件主表中插入数据 if (sarFileSplitInfoEO.getStopNumber()<=0){ sarFileSplitInfoEO.setStopNumber(200); @@ -699,6 +699,357 @@ public class FileSpiltService { return treeList.size(); } + + /** + *欧洲标准 + * @param sarFileSplitInfoEO + * @return + */ + public int fileEU(SarFileSplitInfoEO sarFileSplitInfoEO) { + if (sarFileSplitInfoEO.getStopNumber()<=0){ + sarFileSplitInfoEO.setStopNumber(200); + } + if (sarFileSplitInfoEO.getStartNumber()<=0){ + sarFileSplitInfoEO.setStartNumber(1); + } + + // 拆分文件条款表中最终插入数据 + List messageList = new ArrayList<>(); + int messageNumber = 0; + // 拆分文件目录表中最终插入数据 + List treeList = new ArrayList<>(); + // 拆分文件条款详情表中最终插入数据 + List itemValList = new ArrayList<>(); + Long treeListDisplay = 1L; + + String generalCatalogueId = UUIDUtils.randomUUID20(); + SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(); +// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); + documentTreeEO.setId(generalCatalogueId); + documentTreeEO.setName("General catalogue"); + documentTreeEO.setInfoId(sarFileSplitInfoEO.getId()); + documentTreeEO.setDisplaySeq(1L); + documentTreeEO.setDisplaySeq(treeListDisplay++); + documentTreeEO.setValidFlag(0); + treeList.add(documentTreeEO); + + List nowStart = new ArrayList<>(); + nowStart.add("1."); +// if (sarFileSplitInfoEO.getStartNumber()<4){ +// } else { +// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); +// } + try { + //获取文件地址 + String connectId = sarFileSplitInfoEO.getConnectId(); + if(StringUtils.isEmpty(connectId)){ + throw new JeroBootException("当前文件未找到,请重新选择!"); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(OSSFile::getConnectId,connectId); + OSSFile ossFile = iossFileService.getOne(queryWrapper); + String readFilePath = ossFile.getUrl(); + if(StringUtils.isEmpty(readFilePath)){ + throw new JeroBootException("当前文件未找到,请重新选择!"); + } + + InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 + XWPFDocument doc = new XWPFDocument(is); + + Pattern ptest = Pattern.compile("^[\\d.]*$"); + Matcher matcher; + + // 记录拆分后的每一段文字 + List elements = doc.getBodyElements(); + // 记录word自动生成的编号数据 + Map numberMap = new HashMap(); + boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 + for (IBodyElement element : elements) { + // 段落 + if (element instanceof XWPFParagraph) { + XWPFParagraph p = (XWPFParagraph)element; + + // 处理段落生成编号不识别问题 + String paragraphString = p.getText(); + if (StringUtils.isNotBlank(paragraphString)) { + paragraphString = paragraphString.replace((char) 12288, ' '); + paragraphString = paragraphString.trim(); + } + if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { + String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); + if (numberMap.containsKey(numberParent)){ + Integer numbernow =(Integer)numberMap.get(numberParent)+1; + if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ + numberMap.put(numberParent,numbernow+1); + paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); + } else { + numberMap.put(numberParent,numbernow); + paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); + } + } else { + numberMap.put(numberParent,1); + paragraphString = numberParent+".1"+ p.getText(); + } + } +//^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$ + ptest = Pattern.compile("^[\\d.]*$"); + boolean hasGoIf = false; + for (int i=0;inowStart.get(i).length() + && !ptest.matcher(paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+1)).matches()){ + // 判断名称,如果大于10位,取十位, + String itemName = paragraphString.substring(nowStart.get(i).length()).length()>10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); + List clauseContent = new ArrayList<>(); + clauseContent.add(paragraphString); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + + String[] numberStr = nowStart.get(i).split("\\."); + String numberStrTemp = numberStr[0].replace("S", ""); + + if (Integer.valueOf(numberStrTemp) > sarFileSplitInfoEO.getStopNumber()){ + menuCanAdd = false; + } else { + // 增加一条数据,需要在数结构中加一条数据 + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); + treeList.add(sarFileSplitMenuEO) ; + message.setMenuId(sarFileSplitMenuEO.getId()); + addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + messageList.add(message); + nowStart = getNewNowStartUS(nowStart.get(i)); + menuCanAdd = true; + } + hasGoIf = true; + break; + }else { + // 判断名称,如果大于10位,取十位, + String itemName = paragraphString.substring(nowStart.get(i).length()).length()>10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); + List clauseContent = new ArrayList<>(); + clauseContent.add(paragraphString); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + + String[] numberStr = nowStart.get(i).split("\\."); + String numberStrTemp = numberStr[0].replace("S", ""); + + if (Integer.valueOf(numberStrTemp) > sarFileSplitInfoEO.getStopNumber()){ + menuCanAdd = false; + } else { + // 增加一条数据,需要在数结构中加一条数据 + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); + treeList.add(sarFileSplitMenuEO) ; + message.setMenuId(sarFileSplitMenuEO.getId()); + addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + messageList.add(message); + nowStart = getNewNowStartUS(nowStart.get(i)); + menuCanAdd = true; + } + hasGoIf = true; + break; + } + + } + } + + // 判断是否直接跳出所有循环 + if (!menuCanAdd && messageList.size()>0) { + break; + } + + } else if (element instanceof XWPFTable){ + if(messageList != null && !messageList.isEmpty()){ + addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } + } + } + + } catch (Exception e) { + e.printStackTrace(); + return -1; + } + if(treeList.size()>0 && messageList.size() > 0){ + sarFileSplitMenuEOMapper.insertForeach(treeList); + iSarFileSplitItemsEOService.insertForeach(messageList); + iSarFileSplitItemsValEOService.insertForeach(itemValList); + } else { + return -1; + } + return treeList.size(); + } + + /** + * 日本标准 + * @param sarFileSplitInfoEO + */ + public int fileJapan(SarFileSplitInfoEO sarFileSplitInfoEO) { + if (sarFileSplitInfoEO.getStopNumber()<=0){ + sarFileSplitInfoEO.setStopNumber(200); + } + if (sarFileSplitInfoEO.getStartNumber()<=0){ + sarFileSplitInfoEO.setStartNumber(1); + } + + // 拆分文件条款表中最终插入数据 + List messageList = new ArrayList<>(); + int messageNumber = 0; + // 拆分文件目录表中最终插入数据 + List treeList = new ArrayList<>(); + // 拆分文件条款详情表中最终插入数据 + List itemValList = new ArrayList<>(); + Long treeListDisplay = 1L; + + String generalCatalogueId = UUIDUtils.randomUUID20(); + SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(); +// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); + documentTreeEO.setId(generalCatalogueId); + documentTreeEO.setName("General catalogue"); + documentTreeEO.setInfoId(sarFileSplitInfoEO.getId()); + documentTreeEO.setDisplaySeq(1L); + documentTreeEO.setDisplaySeq(treeListDisplay++); + documentTreeEO.setValidFlag(0); + treeList.add(documentTreeEO); + + List nowStart = new ArrayList<>(); + nowStart.add("S1"); +// if (sarFileSplitInfoEO.getStartNumber()<4){ +// } else { +// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); +// } + try { + //获取文件地址 + String connectId = sarFileSplitInfoEO.getConnectId(); + if(StringUtils.isEmpty(connectId)){ + throw new JeroBootException("当前文件未找到,请重新选择!"); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(OSSFile::getConnectId,connectId); + OSSFile ossFile = iossFileService.getOne(queryWrapper); + String readFilePath = ossFile.getUrl(); + if(StringUtils.isEmpty(readFilePath)){ + throw new JeroBootException("当前文件未找到,请重新选择!"); + } + + InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 + XWPFDocument doc = new XWPFDocument(is); + + Pattern ptest = Pattern.compile("S^[\\d.]*$"); + Matcher matcher; + + // 记录拆分后的每一段文字 + List elements = doc.getBodyElements(); + // 记录word自动生成的编号数据 + Map numberMap = new HashMap(); + boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 + for (IBodyElement element : elements) { + // 段落 + if (element instanceof XWPFParagraph) { + XWPFParagraph p = (XWPFParagraph)element; + + // 处理段落生成编号不识别问题 + String paragraphString = p.getText(); + if (StringUtils.isNotBlank(paragraphString)) { + paragraphString = paragraphString.replace((char) 12288, ' '); + paragraphString = paragraphString.trim(); + } + if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { + String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); + if (numberMap.containsKey(numberParent)){ + Integer numbernow =(Integer)numberMap.get(numberParent)+1; + if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ + numberMap.put(numberParent,numbernow+1); + paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); + } else { + numberMap.put(numberParent,numbernow); + paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); + } + } else { + numberMap.put(numberParent,1); + paragraphString = numberParent+".1"+ p.getText(); + } + } +//^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$ + ptest = Pattern.compile("S^[\\d.]*$"); + boolean hasGoIf = false; + for (int i=0;inowStart.get(i).length() + && !ptest.matcher(paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+1)).matches()){ + // 判断名称,如果大于10位,取十位, + String itemName = paragraphString.substring(nowStart.get(i).length()).length()>10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); + List clauseContent = new ArrayList<>(); + clauseContent.add(paragraphString); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + + String[] numberStr = nowStart.get(i).split("\\."); + String numberStrTemp = numberStr[0].replace("S", ""); + + if (Integer.valueOf(numberStrTemp) > sarFileSplitInfoEO.getStopNumber()){ + menuCanAdd = false; + } else { + // 增加一条数据,需要在数结构中加一条数据 + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); + treeList.add(sarFileSplitMenuEO) ; + message.setMenuId(sarFileSplitMenuEO.getId()); + addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + messageList.add(message); + nowStart = getNewNowStartUS(nowStart.get(i)); + menuCanAdd = true; + } + hasGoIf = true; + break; + }else { + // 判断名称,如果大于10位,取十位, + String itemName = paragraphString.substring(nowStart.get(i).length()).length()>10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); + List clauseContent = new ArrayList<>(); + clauseContent.add(paragraphString); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + + String[] numberStr = nowStart.get(i).split("\\."); + String numberStrTemp = numberStr[0].replace("S", ""); + + if (Integer.valueOf(numberStrTemp) > sarFileSplitInfoEO.getStopNumber()){ + menuCanAdd = false; + } else { + // 增加一条数据,需要在数结构中加一条数据 + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); + treeList.add(sarFileSplitMenuEO) ; + message.setMenuId(sarFileSplitMenuEO.getId()); + addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + messageList.add(message); + nowStart = getNewNowStartUS(nowStart.get(i)); + menuCanAdd = true; + } + hasGoIf = true; + break; + } + + } + } + + // 判断是否直接跳出所有循环 + if (!menuCanAdd && messageList.size()>0) { + break; + } + + } else if (element instanceof XWPFTable){ + if(messageList != null && !messageList.isEmpty()){ + addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } + } + } + + } catch (Exception e) { + e.printStackTrace(); + return -1; + } + if(treeList.size()>0 && messageList.size() > 0){ + sarFileSplitMenuEOMapper.insertForeach(treeList); + iSarFileSplitItemsEOService.insertForeach(messageList); + iSarFileSplitItemsValEOService.insertForeach(itemValList); + } else { + return -1; + } + return treeList.size(); + } /** * 通过传递过来的编号,得出下次可能出现的编号 * @param nowStart @@ -1065,6 +1416,8 @@ public class FileSpiltService { return sarFileSplitItemsValEO; } + + // public String addToStandItems(SarFileSplitInfoEO sarFileSplitInfoEO,SarStandardsInfoEO sarStandardsInfoEO ) throws Exception { // //查询拆分中所有条款信息 // SarFileSplitItemsEOPage splitItemsEOPage = new SarFileSplitItemsEOPage(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java index 3ab2cadca..bcd371e29 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java @@ -80,14 +80,16 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl - - - jero-boot - com.jero.boot - 2.4.2 - - 4.0.0 - - jreo-boot-split - - 4.1.2 - 2.4.2 - - - - - - org.apache.poi - poi - ${poi.version} - - - org.apache.poi - poi-ooxml - ${poi.version} - - - org.apache.poi - poi-ooxml-schemas - ${poi.version} - - - xerces - xercesImpl - - - - - com.jero.boot - jero-boot-module-system - ${jero.version} - - - com.jero.boot - jero-boot-module-demo - ${jero.version} - - - com.jero.boot - jero-boot-base-generater - ${jero.version} - - - com.jero.boot - jero-boot-modules - ${jero.version} - - - - \ No newline at end of file diff --git a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/entity/SarFileSplitItemsEO.java b/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/entity/SarFileSplitItemsEO.java deleted file mode 100644 index 2ac2d7d0b..000000000 --- a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/entity/SarFileSplitItemsEO.java +++ /dev/null @@ -1,522 +0,0 @@ -//package com.jero.modules.entity; -// -//import com.fasterxml.jackson.annotation.JsonFormat; -// -//import java.util.Date; -//import java.util.List; -// -///** -// * 功能:SAR_FILE_SPLIT_ITEMS SarFileSplitItemsEOEntity
-// * 作者:code generator
-// * 日期: 2020-01-03
-// * 版权所有:版权归北京卡达克数据技术中心所有。
-// */ -//public class SarFileSplitItemsEO { -// -// private String id; -// private String infoId; -// private String itemsNum; -// private String itemsName; -// private String itermsConditions; -// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") -// private Date newcarPutTime; -// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") -// private Date productPutTime; -// private String menuId; -// private String svpps; -// private String applyArctic; -// private String referenceStand; -// private String specialRequest; -// private String relevanceFile; -// private String remarks; -// private Integer validFlag; -// private String creationUser; -// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") -// private Date creationTime; -// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") -// private Date modifyTime; -// private String modifyUser; -// private String[] infoIdList; -// private String[] idList; -//// private List itemValEOList; -// // 前台删除的VAL表条目内容ID -// private String delItemIds; -// private String sMenuId; -// //特殊参数要求 -//// private List paramsList; -// private String relevanceFileAttid; -// -// //新加字段 SVPPS在前边已经存在 -// private String fo;//FO -// private String dutyEngineer;//责任工程师 -// private String claimType;//要求类型 -// private String busStandCover;//企标覆盖关系 -// private String fileType;//文件类型 -// -// //新加字段带show -// private String foShow;//FO -// private String dutyEngineerShow;//责任工程师 -// private String svppsShow;//SVPPS -// private String claimTypeShow;//要求类型 -// private String busStandCoverShow;//企标覆盖关系 -// private String fileTypeShow;//文件类型 -// -// private String responsibleUnit;//责任部门 -// private String responsibleUnitShow; -// /** -// * java字段名转换为原始数据库列名。如果不存在则返回null
-// *

字段列表:

-// *
  • id -> id
  • -// *
  • infoId -> info_id
  • -// *
  • itemsNum -> items_num
  • -// *
  • itemsName -> items_name
  • -// *
  • itermsConditions -> iterms_conditions
  • -// *
  • newcarPutTime -> newcar_put_time
  • -// *
  • productPutTime -> product_put_time
  • -// *
  • menuId -> menu_id
  • -// *
  • svpps -> svpps
  • -// *
  • applyArctic -> apply_arctic
  • -// *
  • referenceStand -> reference_stand
  • -// *
  • specialRequest -> special_request
  • -// *
  • relevanceFile -> relevance_file
  • -// *
  • remarks -> remarks
  • -// *
  • validFlag -> valid_flag
  • -// *
  • creationUser -> creation_user
  • -// *
  • creationTime -> creation_time
  • -// *
  • modifyTime -> modify_time
  • -// *
  • modifyUser -> modify_user
  • -// */ -// public static String fieldToColumn(String fieldName) { -// if (fieldName == null) return null; -// switch (fieldName) { -// case "id": return "id"; -// case "infoId": return "info_id"; -// case "itemsNum": return "items_num"; -// case "itemsName": return "items_name"; -// case "itermsConditions": return "iterms_conditions"; -// case "newcarPutTime": return "newcar_put_time"; -// case "productPutTime": return "product_put_time"; -// case "menuId": return "menu_id"; -// case "svpps": return "svpps"; -// case "applyArctic": return "apply_arctic"; -// case "referenceStand": return "reference_stand"; -// case "specialRequest": return "special_request"; -// case "relevanceFile": return "relevance_file"; -// case "remarks": return "remarks"; -// case "validFlag": return "valid_flag"; -// case "creationUser": return "creation_user"; -// case "creationTime": return "creation_time"; -// case "modifyTime": return "modify_time"; -// case "modifyUser": return "modify_user"; -// default: return null; -// } -// } -// -// /** -// * 原始数据库列名转换为java字段名。如果不存在则返回null
    -// *

    字段列表:

    -// *
  • id -> id
  • -// *
  • info_id -> infoId
  • -// *
  • items_num -> itemsNum
  • -// *
  • items_name -> itemsName
  • -// *
  • iterms_conditions -> itermsConditions
  • -// *
  • newcar_put_time -> newcarPutTime
  • -// *
  • product_put_time -> productPutTime
  • -// *
  • menu_id -> menuId
  • -// *
  • svpps -> svpps
  • -// *
  • apply_arctic -> applyArctic
  • -// *
  • reference_stand -> referenceStand
  • -// *
  • special_request -> specialRequest
  • -// *
  • relevance_file -> relevanceFile
  • -// *
  • remarks -> remarks
  • -// *
  • valid_flag -> validFlag
  • -// *
  • creation_user -> creationUser
  • -// *
  • creation_time -> creationTime
  • -// *
  • modify_time -> modifyTime
  • -// *
  • modify_user -> modifyUser
  • -// */ -// public static String columnToField(String columnName) { -// if (columnName == null) return null; -// switch (columnName) { -// case "id": return "id"; -// case "info_id": return "infoId"; -// case "items_num": return "itemsNum"; -// case "items_name": return "itemsName"; -// case "iterms_conditions": return "itermsConditions"; -// case "newcar_put_time": return "newcarPutTime"; -// case "product_put_time": return "productPutTime"; -// case "menu_id": return "menuId"; -// case "svpps": return "svpps"; -// case "apply_arctic": return "applyArctic"; -// case "reference_stand": return "referenceStand"; -// case "special_request": return "specialRequest"; -// case "relevance_file": return "relevanceFile"; -// case "remarks": return "remarks"; -// case "valid_flag": return "validFlag"; -// case "creation_user": return "creationUser"; -// case "creation_time": return "creationTime"; -// case "modify_time": return "modifyTime"; -// case "modify_user": return "modifyUser"; -// default: return null; -// } -// } -// -// /** **/ -// public String getId() { -// return this.id; -// } -// -// /** **/ -// public void setId(String id) { -// this.id = id; -// } -// -// /** **/ -// public String getInfoId() { -// return this.infoId; -// } -// -// /** **/ -// public void setInfoId(String infoId) { -// this.infoId = infoId; -// } -// -// /** **/ -// public String getItemsNum() { -// return this.itemsNum; -// } -// -// /** **/ -// public void setItemsNum(String itemsNum) { -// this.itemsNum = itemsNum; -// } -// -// /** **/ -// public String getItemsName() { -// return this.itemsName; -// } -// -// /** **/ -// public void setItemsName(String itemsName) { -// this.itemsName = itemsName; -// } -// -// public String getItermsConditions() { -// return itermsConditions; -// } -// -// public void setItermsConditions(String itermsConditions) { -// this.itermsConditions = itermsConditions; -// } -// -// /** **/ -// public Date getNewcarPutTime() { -// return this.newcarPutTime; -// } -// -// /** **/ -// public void setNewcarPutTime(Date newcarPutTime) { -// this.newcarPutTime = newcarPutTime; -// } -// -// /** **/ -// public Date getProductPutTime() { -// return this.productPutTime; -// } -// -// /** **/ -// public void setProductPutTime(Date productPutTime) { -// this.productPutTime = productPutTime; -// } -// -// /** **/ -// public String getMenuId() { -// return this.menuId; -// } -// -// /** **/ -// public void setMenuId(String menuId) { -// this.menuId = menuId; -// } -// -// /** **/ -// public String getSvpps() { -// return this.svpps; -// } -// -// /** **/ -// public void setSvpps(String svpps) { -// this.svpps = svpps; -// } -// -// /** **/ -// public String getApplyArctic() { -// return this.applyArctic; -// } -// -// /** **/ -// public void setApplyArctic(String applyArctic) { -// this.applyArctic = applyArctic; -// } -// -// /** **/ -// public String getReferenceStand() { -// return this.referenceStand; -// } -// -// /** **/ -// public void setReferenceStand(String referenceStand) { -// this.referenceStand = referenceStand; -// } -// -// /** **/ -// public String getSpecialRequest() { -// return this.specialRequest; -// } -// -// /** **/ -// public void setSpecialRequest(String specialRequest) { -// this.specialRequest = specialRequest; -// } -// -// /** **/ -// public String getRelevanceFile() { -// return this.relevanceFile; -// } -// -// /** **/ -// public void setRelevanceFile(String relevanceFile) { -// this.relevanceFile = relevanceFile; -// } -// -// /** **/ -// public String getRemarks() { -// return this.remarks; -// } -// -// /** **/ -// public void setRemarks(String remarks) { -// this.remarks = remarks; -// } -// -// /** **/ -// public Integer getValidFlag() { -// return this.validFlag; -// } -// -// /** **/ -// public void setValidFlag(Integer validFlag) { -// this.validFlag = validFlag; -// } -// -// /** **/ -// public String getCreationUser() { -// return this.creationUser; -// } -// -// /** **/ -// public void setCreationUser(String creationUser) { -// this.creationUser = creationUser; -// } -// -// /** **/ -// public Date getCreationTime() { -// return this.creationTime; -// } -// -// /** **/ -// public void setCreationTime(Date creationTime) { -// this.creationTime = creationTime; -// } -// -// /** **/ -// public Date getModifyTime() { -// return this.modifyTime; -// } -// -// /** **/ -// public void setModifyTime(Date modifyTime) { -// this.modifyTime = modifyTime; -// } -// -// /** **/ -// public String getModifyUser() { -// return this.modifyUser; -// } -// -// /** **/ -// public void setModifyUser(String modifyUser) { -// this.modifyUser = modifyUser; -// } -// -// -// List itemsCondi; -// -// public List getItemsCondi() { -// return itemsCondi; -// } -// -// public void setItemsCondi(List itemsCondi) { -// this.itemsCondi = itemsCondi; -// } -// -// public String[] getInfoIdList() { -// return infoIdList; -// } -// -// public void setInfoIdList(String[] infoIdList) { -// this.infoIdList = infoIdList; -// } -// -// public String[] getIdList() { -// return idList; -// } -// -// public void setIdList(String[] idList) { -// this.idList = idList; -// } -// -//// public List getItemValEOList() { -//// return itemValEOList; -//// } -//// -//// public void setItemValEOList(List itemValEOList) { -//// this.itemValEOList = itemValEOList; -//// } -// -// public String getDelItemIds() { -// return delItemIds; -// } -// -// public void setDelItemIds(String delItemIds) { -// this.delItemIds = delItemIds; -// } -// -// public String getsMenuId() { -// return sMenuId; -// } -// -// public void setsMenuId(String sMenuId) { -// this.sMenuId = sMenuId; -// } -// -//// public List getParamsList() { -//// return paramsList; -//// } -//// -//// public void setParamsList(List paramsList) { -//// this.paramsList = paramsList; -//// } -// -// public String getRelevanceFileAttid() { -// return relevanceFileAttid; -// } -// -// public void setRelevanceFileAttid(String relevanceFileAttid) { -// this.relevanceFileAttid = relevanceFileAttid; -// } -// -// public String getFo() { -// return fo; -// } -// -// public void setFo(String fo) { -// this.fo = fo; -// } -// -// public String getDutyEngineer() { -// return dutyEngineer; -// } -// -// public void setDutyEngineer(String dutyEngineer) { -// this.dutyEngineer = dutyEngineer; -// } -// -// public String getClaimType() { -// return claimType; -// } -// -// public void setClaimType(String claimType) { -// this.claimType = claimType; -// } -// -// public String getBusStandCover() { -// return busStandCover; -// } -// -// public void setBusStandCover(String busStandCover) { -// this.busStandCover = busStandCover; -// } -// -// public String getFileType() { -// return fileType; -// } -// -// public void setFileType(String fileType) { -// this.fileType = fileType; -// } -// -// public String getFoShow() { -// return foShow; -// } -// -// public void setFoShow(String foShow) { -// this.foShow = foShow; -// } -// -// public String getDutyEngineerShow() { -// return dutyEngineerShow; -// } -// -// public void setDutyEngineerShow(String dutyEngineerShow) { -// this.dutyEngineerShow = dutyEngineerShow; -// } -// -// public String getSvppsShow() { -// return svppsShow; -// } -// -// public void setSvppsShow(String svppsShow) { -// this.svppsShow = svppsShow; -// } -// -// public String getClaimTypeShow() { -// return claimTypeShow; -// } -// -// public void setClaimTypeShow(String claimTypeShow) { -// this.claimTypeShow = claimTypeShow; -// } -// -// public String getBusStandCoverShow() { -// return busStandCoverShow; -// } -// -// public void setBusStandCoverShow(String busStandCoverShow) { -// this.busStandCoverShow = busStandCoverShow; -// } -// -// public String getFileTypeShow() { -// return fileTypeShow; -// } -// -// public void setFileTypeShow(String fileTypeShow) { -// this.fileTypeShow = fileTypeShow; -// } -// -// public String getResponsibleUnit() { -// return responsibleUnit; -// } -// -// public void setResponsibleUnit(String responsibleUnit) { -// this.responsibleUnit = responsibleUnit; -// } -// -// public String getResponsibleUnitShow() { -// return responsibleUnitShow; -// } -// -// public void setResponsibleUnitShow(String responsibleUnitShow) { -// this.responsibleUnitShow = responsibleUnitShow; -// } -//} diff --git a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/service/FileSpilt.java b/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/service/FileSpilt.java deleted file mode 100644 index c1dfbfa82..000000000 --- a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/service/FileSpilt.java +++ /dev/null @@ -1,1266 +0,0 @@ -//package com.jero.modules.service; -// -//import com.jero.modules.ocr.util.UUIDUtils; -//import com.jero.modules.split.entity.SarFileSplitItemsTableEO; -//import com.jero.modules.split.entity.SarFileSplitItemsValEO; -//import com.jero.modules.split.entity.SarFileSplitMenuEO; -//import com.jero.modules.split.enums.ValueStateEnum; -//import com.jero.modules.split.page.SarFileSplitInfoEOPage; -//import com.jero.modules.split.page.SarFileSplitItemsEOPage; -//import com.jero.modules.system.util.UserUtils; -//import org.apache.commons.collections4.CollectionUtils; -//import org.apache.commons.lang.StringUtils; -//import org.apache.commons.lang3.ObjectUtils; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlCursor; -//import org.apache.xmlbeans.XmlObject; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.*; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.beans.factory.annotation.Value; -//import org.springframework.stereotype.Service; -//import org.springframework.transaction.annotation.Propagation; -//import org.springframework.transaction.annotation.Transactional; -// -//import java.io.*; -//import java.util.*; -//import java.util.regex.Matcher; -//import java.util.regex.Pattern; -// -// -///** -// * -// *
    -// * 功能:SAR_FILE_SPLIT_INFO SarFileSplitInfoEOService
    -// * 作者:code generator
    -// * 日期: 2020-01-03
    -// * 版权所有:版权归北京卡达克数据技术中心所有。
    -// */ -//@Service("sarFileSplitInfoEOService") -//@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) -//public class FileSpilt extends BaseService { -// -// private static final Logger logger = LoggerFactory.getLogger(SarFileSplitInfoEOService.class); -// -// @Autowired -// private SarFileSplitInfoEODao dao; -// -// @Autowired -// private SarFileSplitMenuEODao sarFileSplitMenuEODao; -// -// @Autowired -// private SarFileSplitItemsEODao sarFileSplitItemsEODao; -// -// @Autowired -// private SarFileSplitItemsValEODao sarFileSplitItemsValEODao; -// -// @Autowired -// private SarFileSplitItemsTableEODao sarFileSplitItemsTableEODao; -// -// @Autowired -// private SarFileSplitItemsParamsEODao sarFileSplitItemsParamsEODao; -// -// @Autowired -// private SarStandItemsEODao sarStandItemsEODao; -// -// @Autowired -// private SarStandItemValEODao sarStandItemValEODao; -// -// @Autowired -// private SarStandAttrDetailsEODao sarStandAttrDetailsEODao; -// -// @Autowired -// private AttFileEOService attFileEOService; -// -// @Autowired -// private PersonCollectEODao personCollectEODao; -// -// @Autowired -// private PersonShareEODao personShareEODao; -// -// @Autowired -// private PersonCollectEOService personCollectEOService; -// -//// @Autowired -//// private SarLawsInfoEOService sarLawsInfoEOService; -// -// @Autowired -// private PersonMsgEOService personMsgEOService; -// -// @Autowired -// private UserEOService userEOService; -// -// @Autowired -// private SarStandardsInfoEOService sarStandardsInfoEOService; -// -// @Autowired -// private SarStandAttrInfoEOService SarStandAttrInfoEOService; -// -// @Autowired -// private CreateStandMQService createStandMQService; -// -// @Autowired -// private EmailUtils mailUtil; -// -// @Value("${file.path}") -// private String filePath; -// -// public SarFileSplitInfoEODao getDao() { -// return dao; -// } -////中国 -// public int fileCHN(SarFileSplitInfoEO sarFileSplitInfoEO) { -// // 拆分文件主表中插入数据 -// sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); -// sarFileSplitInfoEO.setValidFlag(0); -// sarFileSplitInfoEO.setCreationTime(new Date()); -// sarFileSplitInfoEO.setCreationUser(LoginUserUtil.getUserId()); -// sarFileSplitInfoEO.setModifyTime(new Date()); -// sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); -// dao.insertSelective(sarFileSplitInfoEO); -// -// // 拆分文件条款表中最终插入数据 -// List messageList = new ArrayList<>(); -// int messageNumber = 0; -// // 拆分文件目录表中最终插入数据 -// List treeList = new ArrayList<>(); -// // 拆分文件条款详情表中最终插入数据 -// List itemValList = new ArrayList<>(); -// Long treeListDisplay = 1L; -// -// String generalCatalogueId = UUIDUtils.randomUUID20(); -// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"总目录","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); -// treeList.add(documentTreeEO); -// -// List nowStart = new ArrayList<>(); -// if (sarFileSplitInfoEO.getStartNumber()<4){ -// nowStart.add("4"); -// } else { -// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); -// } -// try { -// AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); -// String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); -// -// InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 -// XWPFDocument doc = new XWPFDocument(is); -// -// Pattern ptest = Pattern.compile("^1范围"); -// Matcher matcher; -// -// // 记录拆分后的每一段文字 -// List elements = doc.getBodyElements(); -// // 记录word自动生成的编号数据 -// Map numberMap = new HashMap(); -// boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 -// for (IBodyElement element : elements) { -// // 段落 -// if (element instanceof XWPFParagraph) { -// XWPFParagraph p = (XWPFParagraph)element; -// -// // 处理段落生成编号不识别问题 -// String paragraphString = p.getText(); -// if (StringUtils.isNotBlank(paragraphString)) { -// paragraphString = paragraphString.replace((char) 12288, ' '); -// paragraphString = paragraphString.trim(); -// } -// if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { -// String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); -// if (numberMap.containsKey(numberParent)){ -// Integer numbernow =(Integer)numberMap.get(numberParent)+1; -// if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ -// numberMap.put(numberParent,numbernow+1); -// paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); -// } else { -// numberMap.put(numberParent,numbernow); -// paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); -// } -// } else { -// numberMap.put(numberParent,1); -// paragraphString = numberParent+".1"+ p.getText(); -// } -// } -// if (messageNumber == 0) { -// ptest= Pattern.compile("^1\\s{0,3}范围"); -// matcher=ptest.matcher(paragraphString); -// while(matcher.find()){ -// List clauseContent = new ArrayList<>(); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"1","范围",clauseContent); -// SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"范围"); -// message.setMenuId(documentTreeEO1.getId()); -// if(sarFileSplitInfoEO.getStartNumber()<=1 && sarFileSplitInfoEO.getStopNumber()>=1){ -// messageList.add(message); -// treeList.add(documentTreeEO1); -// menuCanAdd = true; -// } else { -// menuCanAdd = false; -// } -// messageNumber++; -// } -// } else if (messageNumber == 1){ -// ptest= Pattern.compile("^2\\s{0,3}规范性引用文件"); -// matcher=ptest.matcher(paragraphString); -// if(matcher.find()){ -// List clauseContent = new ArrayList<>(); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"2","规范性引用文件",clauseContent); -// SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"规范性引用文件"); -// message.setMenuId(documentTreeEO1.getId()); -// if(sarFileSplitInfoEO.getStartNumber()<=2 && sarFileSplitInfoEO.getStopNumber()>=2){ -// messageList.add(message); -// treeList.add(documentTreeEO1); -// menuCanAdd = true; -// } else { -// menuCanAdd = false; -// } -// messageNumber++; -// } else if(menuCanAdd){ -// List imageBundleList = readImageInParagraph((XWPFParagraph)p); -// if(CollectionUtils.isNotEmpty(imageBundleList)) { -// addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); -// } else { -// addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); -// } -// } -// } else if (messageNumber == 2){ -// ptest= Pattern.compile("^3\\s{0,3}术语(和|与)定义"); -// matcher=ptest.matcher(paragraphString); -// if(matcher.find()){ -// List clauseContent = new ArrayList<>(); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"3","术语与定义",clauseContent); -// SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"术语与定义"); -// message.setMenuId(documentTreeEO1.getId()); -// if(sarFileSplitInfoEO.getStartNumber()<=3 && sarFileSplitInfoEO.getStopNumber()>=3){ -// messageList.add(message); -// treeList.add(documentTreeEO1); -// menuCanAdd = true; -// } else { -// menuCanAdd = false; -// } -// messageNumber++; -// } else if(menuCanAdd){ -// List imageBundleList = readImageInParagraph((XWPFParagraph)p); -// if(CollectionUtils.isNotEmpty(imageBundleList)) { -// addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); -// } else { -// addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); -// } -// } -// } else if (messageNumber>=3){ -// ptest = Pattern.compile("^[\\d.]*$"); -// boolean hasGoIf = false; -// for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); -// -// String[] numberStr = nowStart.get(i).split("\\."); -// if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ -// menuCanAdd = false; -// } else { -// // 增加一条数据,需要在数结构中加一条数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); -// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId(sarFileSplitMenuEO.getId()); -// addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); -// messageList.add(message); -// nowStart = getNewNowStart(nowStart.get(i)); -// menuCanAdd = true; -// } -// hasGoIf = true; -// break; -// } -// } -// if(!hasGoIf && menuCanAdd) { -// // 判断是否是附录 -// ptest= Pattern.compile("^附录\\s{0,3}[A-Z]{1}"); -// matcher=ptest.matcher(paragraphString); -// // 获取当前最后一项num -// String appendixNum = messageList.get(messageList.size()-1).getItemsNum().split("\\.")[0]; -// if(matcher.find() && !messageList.get(messageList.size()-1).getItemsNum().equals("附录") ){ -// if ( Integer.valueOf(appendixNum)+1 <= sarFileSplitInfoEO.getStopNumber()) { -// String itemName = "附录"; -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"附录",itemName,clauseContent); -// // 增加一条数据,需要在数结构中加一条数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录",treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,""); -// addItermsConditionsText(message,itemValList,paragraphString); -// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId(sarFileSplitMenuEO.getId()); -// messageList.add(message); -// nowStart = new ArrayList<>(); -// } else { -// break; -// } -// } else { -// if (!p.getText().equals("") ){ -// addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); -// } -// List imageBundleList = readImageInParagraph((XWPFParagraph)p); -// if(CollectionUtils.isNotEmpty(imageBundleList)) { -// addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); -// } -// } -// } -// // 判断是否直接跳出所有循环 -// if (!menuCanAdd && messageList.size()>0) { -// break; -// } -// } -// } else if (element instanceof XWPFTable){ -// if(messageList != null && !messageList.isEmpty()){ -// addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); -// } -// } -// } -// -// } catch (Exception e) { -// e.printStackTrace(); -// return -1; -// } -// if(treeList.size()>0 && messageList.size() > 0){ -// sarFileSplitMenuEODao.insertForeach(treeList); -// sarFileSplitItemsEODao.insertForeach(messageList); -// sarFileSplitItemsValEODao.insertForeach(itemValList); -// } else { -// return -1; -// } -// return treeList.size(); -// -// } -// -// public static void main(String[] args) { -// fileEU(new SarFileSplitInfoEO()); -// } -////GSO 欧洲 -// public static int fileEU(SarFileSplitInfoEO sarFileSplitInfoEO) { -// // 拆分文件主表中插入数据 -// sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); -// sarFileSplitInfoEO.setValidFlag(0); -// sarFileSplitInfoEO.setCreationTime(new Date()); -// sarFileSplitInfoEO.setCreationUser(LoginUserUtil.getUserId()); -// sarFileSplitInfoEO.setModifyTime(new Date()); -// sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); -//// dao.insertSelective(sarFileSplitInfoEO); -// -// // 拆分文件条款表中最终插入数据 -// List messageList = new ArrayList<>(); -// int messageNumber = 0; -// // 拆分文件目录表中最终插入数据 -// List treeList = new ArrayList<>(); -// // 拆分文件条款详情表中最终插入数据 -// List itemValList = new ArrayList<>(); -// Long treeListDisplay = 1L; -// -// String generalCatalogueId = UUIDUtils.randomUUID20(); -// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); -// treeList.add(documentTreeEO); -// -// List nowStart = new ArrayList<>(); -//// if (sarFileSplitInfoEO.getStartNumber()<4){ -//// nowStart.add("4"); -//// } else { -//// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); -//// } -// try { -//// AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); -//// String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); -// -// InputStream is = new FileInputStream("E:/a.docx"); //需要将文件路更改为word文档所在路径。 -// XWPFDocument doc = new XWPFDocument(is); -// -// Pattern ptest ; -// Matcher matcher; -// -// // 记录拆分后的每一段文字 -// List elements = doc.getBodyElements(); -// // 记录word自动生成的编号数据 -// Map numberMap = new HashMap(); -// boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 -// for (IBodyElement element : elements) { -// // 段落 -// if (element instanceof XWPFParagraph) { -// XWPFParagraph p = (XWPFParagraph)element; -// -// // 处理段落生成编号不识别问题 -// String paragraphString = p.getText(); -// if (StringUtils.isNotBlank(paragraphString)) { -// paragraphString = paragraphString.replace((char) 12288, ' '); -// paragraphString = paragraphString.trim(); -// } -// if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { -// String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); -// if (numberMap.containsKey(numberParent)){ -// Integer numbernow =(Integer)numberMap.get(numberParent)+1; -// if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ -// numberMap.put(numberParent,numbernow+1); -// paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); -// } else { -// numberMap.put(numberParent,numbernow); -// paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); -// } -// } else { -// numberMap.put(numberParent,1); -// paragraphString = numberParent+".1"+ p.getText(); -// } -// } -// -// ptest = Pattern.compile("^[\\d.]*$"); -// boolean hasGoIf = false; -// for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); -// -// String[] numberStr = nowStart.get(i).split("\\."); -// if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ -// menuCanAdd = false; -// } else { -// // 增加一条数据,需要在数结构中加一条数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); -// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId(sarFileSplitMenuEO.getId()); -// addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); -// messageList.add(message); -// nowStart = getNewNowStart(nowStart.get(i)); -// menuCanAdd = true; -// } -// hasGoIf = true; -// break; -// } -// } -// -// // 判断是否直接跳出所有循环 -// if (!menuCanAdd && messageList.size()>0) { -// break; -// } -// -// } else if (element instanceof XWPFTable){ -// if(messageList != null && !messageList.isEmpty()){ -// addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); -// } -// } -// } -// -// } catch (Exception e) { -// e.printStackTrace(); -// return -1; -// } -// if(treeList.size()>0 && messageList.size() > 0){ -//// sarFileSplitMenuEODao.insertForeach(treeList); -//// sarFileSplitItemsEODao.insertForeach(messageList); -//// sarFileSplitItemsValEODao.insertForeach(itemValList); -// } else { -// return -1; -// } -// return treeList.size(); -// -// } -// //美国 -// public int fileUSA(SarFileSplitInfoEO sarFileSplitInfoEO) { -// // 拆分文件主表中插入数据 -// sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); -// sarFileSplitInfoEO.setValidFlag(0); -// sarFileSplitInfoEO.setCreationTime(new Date()); -// sarFileSplitInfoEO.setCreationUser(LoginUserUtil.getUserId()); -// sarFileSplitInfoEO.setModifyTime(new Date()); -// sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); -// dao.insertSelective(sarFileSplitInfoEO); -// -// // 拆分文件条款表中最终插入数据 -// List messageList = new ArrayList<>(); -// int messageNumber = 0; -// // 拆分文件目录表中最终插入数据 -// List treeList = new ArrayList<>(); -// // 拆分文件条款详情表中最终插入数据 -// List itemValList = new ArrayList<>(); -// Long treeListDisplay = 1L; -// -// String generalCatalogueId = UUIDUtils.randomUUID20(); -// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); -// treeList.add(documentTreeEO); -// -// List nowStart = new ArrayList<>(); -// if (sarFileSplitInfoEO.getStartNumber()<4){ -// nowStart.add("4"); -// } else { -// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); -// } -// try { -// AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); -// String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); -// -// InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 -// XWPFDocument doc = new XWPFDocument(is); -// -// Pattern ptest = Pattern.compile("S^[\\d.]*$"); -// Matcher matcher; -// -// // 记录拆分后的每一段文字 -// List elements = doc.getBodyElements(); -// // 记录word自动生成的编号数据 -// Map numberMap = new HashMap(); -// boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 -// for (IBodyElement element : elements) { -// // 段落 -// if (element instanceof XWPFParagraph) { -// XWPFParagraph p = (XWPFParagraph)element; -// -// // 处理段落生成编号不识别问题 -// String paragraphString = p.getText(); -// if (StringUtils.isNotBlank(paragraphString)) { -// paragraphString = paragraphString.replace((char) 12288, ' '); -// paragraphString = paragraphString.trim(); -// } -// if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { -// String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); -// if (numberMap.containsKey(numberParent)){ -// Integer numbernow =(Integer)numberMap.get(numberParent)+1; -// if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ -// numberMap.put(numberParent,numbernow+1); -// paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); -// } else { -// numberMap.put(numberParent,numbernow); -// paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); -// } -// } else { -// numberMap.put(numberParent,1); -// paragraphString = numberParent+".1"+ p.getText(); -// } -// } -////^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$ -// ptest = Pattern.compile("S^[\\d.]*$"); -// boolean hasGoIf = false; -// for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); -// -// String[] numberStr = nowStart.get(i).split("\\."); -// -// if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ -// menuCanAdd = false; -// } else { -// // 增加一条数据,需要在数结构中加一条数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); -// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId(sarFileSplitMenuEO.getId()); -// addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); -// messageList.add(message); -// nowStart = getNewNowStart(nowStart.get(i)); -// menuCanAdd = true; -// } -// hasGoIf = true; -// break; -// } -// } -// -// // 判断是否直接跳出所有循环 -// if (!menuCanAdd && messageList.size()>0) { -// break; -// } -// -// } else if (element instanceof XWPFTable){ -// if(messageList != null && !messageList.isEmpty()){ -// addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); -// } -// } -// } -// -// } catch (Exception e) { -// e.printStackTrace(); -// return -1; -// } -// if(treeList.size()>0 && messageList.size() > 0){ -// sarFileSplitMenuEODao.insertForeach(treeList); -// sarFileSplitItemsEODao.insertForeach(messageList); -// sarFileSplitItemsValEODao.insertForeach(itemValList); -// } else { -// return -1; -// } -// return treeList.size(); -// -// } -// /** -// * 通过传递过来的编号,得出下次可能出现的编号 -// * @param nowStart -// * @return -// */ -// private static List getNewNowStart(String nowStart){ -// List nowStartList = new ArrayList<>(); -// List nowResultStartList = new ArrayList<>(); -// String[] numberStr = nowStart.split("\\."); -// String startnumber = ""; -// for(int i=0;i treeList,String generalCatalogueId,SarFileSplitInfoEO sarFileSplitInfoEO ,Long treeListDisplay,String itemName){ -// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),name,sarFileSplitInfoEO.getId(),treeListDisplay,itemName); -// // 用现在得name 和之前得name 做比较,确定,parentId -// if (name.indexOf(".")>=0) { -// for (SarFileSplitMenuEO forDocumentTree : treeList) { -// if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) { -// documentTreeEO.setPId(forDocumentTree.getId()); -// break; -// } -// } -// }else { -// documentTreeEO.setPId(generalCatalogueId); -// } -// return documentTreeEO; -// } -// -// private static SarFileSplitItemsEO getSarFileSplitItemsEO(String infoId,String itemsNum,String itemsName,List itemsCondi) { -// SarFileSplitItemsEO sarFileSplitItemsEO = new SarFileSplitItemsEO(); -// sarFileSplitItemsEO.setInfoId(infoId); -// sarFileSplitItemsEO.setItemsNum(itemsNum); -// sarFileSplitItemsEO.setItemsName(itemsName); -// sarFileSplitItemsEO.setItemsCondi(itemsCondi); -// sarFileSplitItemsEO.setItermsConditions(""); -// sarFileSplitItemsEO.setId(UUIDUtils.randomUUID20()); -// sarFileSplitItemsEO.setValidFlag(0); -// sarFileSplitItemsEO.setCreationTime(new Date()); -// sarFileSplitItemsEO.setCreationUser(LoginUserUtil.getUserId()); -// sarFileSplitItemsEO.setModifyTime(new Date()); -// sarFileSplitItemsEO.setModifyUser(LoginUserUtil.getUserId()); -// return sarFileSplitItemsEO; -// } -// -// public List queryByPageOwn(SarFileSplitInfoEOPage page) throws Exception { -// int rowCount = dao.queryByCountOwn(page); -// page.getPager().setRowCount(rowCount); -// List rows = dao.queryByPageOwn(page); -// if (rows != null && !rows.isEmpty()) { -// for (SarFileSplitInfoEO infoEO : rows) { -// //处理标准号和标准名称 -// if(StringUtils.isNotBlank(infoEO.getStandardNumber())){ -// infoEO.setShowNumber(infoEO.getStandardType()+" "+ infoEO.getStandardNumber()+"-"+infoEO.getYear()); -// infoEO.setStandName(infoEO.getStandardName()); -// } -// if(StringUtils.isNotBlank(infoEO.getOfficialNumber())){ -// infoEO.setShowNumber(infoEO.getOfficialNumber()); -// infoEO.setStandName(infoEO.getFileNameLaws()); -// } -// AttFileEO fileInfo = attFileEOService.getFileInfo(infoEO.getAttId()); -// if(ObjectUtils.allNotNull(fileInfo)){ -// infoEO.setFileName(fileInfo.getOldFileName()); -// } -// String collectId = personCollectEOService.queryCollectByUserAndId(infoEO.getId()); -// infoEO.setCollectId(collectId); -// if (StringUtils.isNotBlank(infoEO.getFileType())) { -// List getList = -// sarStandAttrDetailsEODao.selectFileFieldForSel1(infoEO.getFileType()); -// if (getList != null && !getList.isEmpty()) { -// infoEO.setFileTypeShow(getList.get(0).getLabel()); -// } else { -// infoEO.setFileTypeShow(null); -// } -// } -// } -// } -// return rows; -// } -// -// /** -// * 标准拆分审核回调 -// * 0.审核开始:拆分结果:审核中(1) -// * 1.审核通过:拆分结果成功:成功(1) 拆分状态:已关联(1) -// * 2.审核失败:拆分状态:编辑中(0) -// * @param changeSarFileSplitInfoStatusDTO -// * @return -// */ -// public boolean changeSarFileSplitInfoStatusCallBack(ChangeSarFileSplitInfoStatusDTO changeSarFileSplitInfoStatusDTO)throws Exception{ -// SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); -// sarFileSplitInfoEO.setId(changeSarFileSplitInfoStatusDTO.getSplitId()); -// Integer approveFlag = changeSarFileSplitInfoStatusDTO.getApproveResult(); -// if(0 == approveFlag){ -// sarFileSplitInfoEO.setSplitStatus("1"); -// }else if(1 == approveFlag){ -// sarFileSplitInfoEO.setSplitStatus("1"); -// sarFileSplitInfoEO.setResult("1"); -// }else{ -// sarFileSplitInfoEO.setSplitStatus("0"); -// } -// int i = updateByPrimaryKey(sarFileSplitInfoEO); -// if(i > 0){ -// return true; -// } -// return false; -// } -// -// public int deleteByIds(String ids){ -// String[] infoIds = ids.split(","); -// // 删除info表数据 -// SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); -// sarFileSplitInfoEO.setIdList(infoIds); -// int result = dao.deleteByIds(sarFileSplitInfoEO); -// -// //删除menu表数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO(); -// sarFileSplitMenuEO.setInfoIdList(infoIds); -// sarFileSplitMenuEODao.deleteByIds(sarFileSplitMenuEO); -// // 删除val表数据 -// List idList = Arrays.asList(infoIds); -// sarFileSplitItemsValEODao.deleteValByInfoIds(idList); -// // 删除table表数据 -// sarFileSplitItemsTableEODao.deleteTableByMenuIds(idList); -// //删除items表数据 -// SarFileSplitItemsEO sarFileSplitItemsEO = new SarFileSplitItemsEO(); -// sarFileSplitItemsEO.setInfoIdList(infoIds); -// sarFileSplitItemsEODao.deleteByIds(sarFileSplitItemsEO); -// //删除params表数据 -// sarFileSplitItemsParamsEODao.deleteByInfoIds(idList); -// //删除收藏表中数据 -// personCollectEODao.deleteByResIdList(idList); -//// // 删除分享表中数据 -//// personShareEODao.deleteByResIdList(idList); -// return result; -// } -// -// //获取某一个段落中的所有图片索引 -// private List readImageInParagraph(XWPFParagraph paragraph) { -// //图片索引List -// List imageBundleList = new ArrayList(); -// -// //段落中所有XWPFRun -// List runList = paragraph.getRuns(); -// for (XWPFRun run : runList) { -// //XWPFRun是POI对xml元素解析后生成的自己的属性,无法通过xml解析,需要先转化成CTR -// CTR ctr = run.getCTR(); -// //对子元素进行遍历 -// XmlCursor c = ctr.newCursor(); -// //这个就是拿到所有的子元素: -// c.selectPath("./*"); -// while (c.toNextSelection()) { -// XmlObject o = c.getObject(); -// //如果子元素是这样的形式,使用CTDrawing保存图片 -// if (o instanceof CTDrawing) { -// CTDrawing drawing = (CTDrawing) o; -// CTInline[] ctInlines = drawing.getInlineArray(); -// CTAnchor[] ctAnchors = drawing.getAnchorArray(); -// for (CTInline ctInline : ctInlines) { -// CTGraphicalObject graphic = ctInline.getGraphic(); -// // -// XmlCursor cursor = graphic.getGraphicData().newCursor(); -// cursor.selectPath("./*"); -// while (cursor.toNextSelection()) { -// XmlObject xmlObject = cursor.getObject(); -// // 如果子元素是这样的形式 -// if (xmlObject instanceof CTPicture) { -// CTPicture picture = (CTPicture) xmlObject; -// //拿到元素的属性 -// imageBundleList.add(picture.getBlipFill().getBlip().getEmbed()); -// } -// } -// } -// for (CTAnchor ctAnchor : ctAnchors) { -// CTGraphicalObject graphic = ctAnchor.getGraphic(); -// XmlCursor cursor = graphic.getGraphicData().newCursor(); -// cursor.selectPath("./*"); -// while (cursor.toNextSelection()) { -// XmlObject xmlObject = cursor.getObject(); -// // 如果子元素是这样的形式 -// if (xmlObject instanceof CTPicture) { -// CTPicture picture = (CTPicture) xmlObject; -// //拿到元素的属性 -// imageBundleList.add(picture.getBlipFill().getBlip().getEmbed()); -// } -// } -// } -// } else if (o instanceof CTLevelText){ -// System.out.println(((CTLevelText) o).getVal()); -// } -// } -// } -// return imageBundleList; -// } -// -// // 像每个条款中依次插入每一段的内容 -// public static void addItermsConditionsText(SarFileSplitItemsEO message,List itemsValList,String p) { -// message.getItemsCondi().add(p); -// message.setItermsConditions(message.getItermsConditions() + "

    "+p+ "

    "); -// // 判断message中是否引用到其他标准 -//// String testString = p; -//// Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*"); -//// Pattern ptest2 = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*-[0-9]{1,4}"); -//// Matcher matcher = ptest2.matcher(testString); -//// while (matcher.find()){ -//// String standNumber = matcher.group(); -//// if (StringUtils.isNotEmpty(message.getReferenceStand()) && message.getReferenceStand()!=""){ -//// message.setReferenceStand(message.getReferenceStand() + ","+standNumber); -//// } else { -//// message.setReferenceStand(standNumber); -//// } -//// testString = testString.replaceAll(standNumber," "); -//// } -//// matcher = ptest.matcher(testString); -//// while (matcher.find()){ -//// if (StringUtils.isNotEmpty(message.getReferenceStand()) && message.getReferenceStand()!=""){ -//// message.setReferenceStand(message.getReferenceStand() + ","+matcher.group()); -//// } else { -//// message.setReferenceStand(matcher.group()); -//// } -//// } -// itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TEXT.getValue(),p,message.getItemsCondi().size(),null)); -// } -// -// public static void addItermsConditionsOfTable(SarFileSplitItemsEO message,List itemsValList,XWPFTable table) throws IOException { -// StringBuilder tabaleStringNew = new StringBuilder(""); -// //将表格转为html字符串 -// ReadWordTable readWordTable = new ReadWordTable(); -// String tableStr = readWordTable.readTable(table); -// tabaleStringNew.append(tableStr); -// /*List rows = table.getRows(); -// List tableList = new ArrayList<>(); -// int rowNum = 1; -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// int colNum = 1; -// for (XWPFTableCell cell : cells) { -// CTTcPr tcpr = cell.getCTTc().getTcPr(); -// CTVMerge vMerge = tcpr.getVMerge(); -// CTDecimalNumber gridSpan = tcpr.getGridSpan(); -// if (gridSpan != null) { -// String aa = gridSpan.getVal().toString(); -// } -// // 简单获取内容(简单方式是不能获取字体对齐方式的) -// SarFileSplitItemsTableEO sarFileSplitItemsTableEO = new SarFileSplitItemsTableEO(); -// sarFileSplitItemsTableEO.setRowNum(rowNum); -// sarFileSplitItemsTableEO.setColNum(colNum); -// sarFileSplitItemsTableEO.setContent(cell.getText()); -// tableList.add(sarFileSplitItemsTableEO); -// // 一个单元格可以理解为一个word文档,单元格里也可以加段落与表格 -// *//* List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// getParagraphText(paragraph); -// }*//* -// colNum++; -// } -// rowNum++; -// }*/ -// message.getItemsCondi().add(table.getText()); -// message.setItermsConditions(message.getItermsConditions() + tabaleStringNew); -// itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TABLE.getValue(),tabaleStringNew.toString(),message.getItemsCondi().size(),null)); -// -// } -// -// // 像每个条款中依次插入每一段的内容 -// private void addItermsConditionsImage(SarFileSplitItemsEO message,List itemsValList,XWPFParagraph p,List imageBundleList) { -// for (String pictureId : imageBundleList) { -// XWPFPictureData pictureData = p.getDocument().getPictureDataByID(pictureId); -// String imageName = UUIDUtils.randomUUID10() + pictureData.getFileName(); -// byte[] bytev = pictureData.getData(); -// String outPath = filePath + "/img/"; -// File file1 = new File(outPath); -// if(!file1.exists()){ -// file1.mkdirs(); -// } -// String filepathandname = filePath + "/img/" + imageName; -// try { -// FileOutputStream fos = new FileOutputStream(filepathandname); -// fos.write(bytev); -// String path = "uploadPath/img/" + imageName; -// String imgCon = ""; -// message.getItemsCondi().add(imgCon); -// message.setItermsConditions(message.getItermsConditions() + imgCon); -// itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.IMG.getValue(),imgCon,message.getItemsCondi().size(),null)); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -// } -// -// private static SarFileSplitItemsValEO getSplitItemsValObject (String itemId,String type,String itemContent,int disPlaySql,List tableList) { -// SarFileSplitItemsValEO sarFileSplitItemsValEO = new SarFileSplitItemsValEO(); -// sarFileSplitItemsValEO.setId(UUIDUtils.randomUUID20()); -// sarFileSplitItemsValEO.setValidFlag(0); -// sarFileSplitItemsValEO.setCreationTime(new Date()); -// sarFileSplitItemsValEO.setCreationUser(LoginUserUtil.getUserId()); -// sarFileSplitItemsValEO.setModifyTime(new Date()); -// sarFileSplitItemsValEO.setModifyUser(LoginUserUtil.getUserId()); -// sarFileSplitItemsValEO.setItemId(itemId); -// sarFileSplitItemsValEO.setType(type); -// sarFileSplitItemsValEO.setDisplaySeq(disPlaySql); -// sarFileSplitItemsValEO.setItemContent(itemContent); -// /*if (tableList != null && tableList.size() > 0) { -// for (SarFileSplitItemsTableEO tableEO : tableList) { -// tableEO.setId(UUIDUtils.randomUUID20()); -// tableEO.setItemsValId(sarFileSplitItemsValEO.getId()); -// tableEO.setItemsId(itemId); -// tableEO.setValidFlag(0); -// tableEO.setCreationTime(new Date()); -// tableEO.setModifyTime(new Date()); -// tableEO.setModifyUser("yxn"); -// } -// }*/ -//// sarFileSplitItemsValEO.setTableList(tableList); -// return sarFileSplitItemsValEO; -// } -// -// public String addToStandItems(SarFileSplitInfoEO sarFileSplitInfoEO,SarStandardsInfoEO sarStandardsInfoEO ) throws Exception { -// //查询拆分中所有条款信息 -// SarFileSplitItemsEOPage splitItemsEOPage = new SarFileSplitItemsEOPage(); -// splitItemsEOPage.setInfoId(sarFileSplitInfoEO.getId()); -// // -// String fileType=sarFileSplitInfoEO.getFileType(); -// List getSplitItemsList = sarFileSplitItemsEODao.queryByList(splitItemsEOPage); -// if (getSplitItemsList != null && !getSplitItemsList.isEmpty()) { -// List addList = new ArrayList<>(); -// List updateList = new ArrayList<>(); -// //查询在标准条目表中数据 -// SarStandItemsEOPage itemPage = new SarStandItemsEOPage(); -// String standId = sarStandardsInfoEO.getId(); -// itemPage.setStandId(standId); -// itemPage.setValidFlag("0"); -// List getItemsIds = sarStandItemsEODao.queryIdsByList(itemPage); -// List idList = new ArrayList<>(); -// List itemValEOS = new ArrayList<>(); -// List delValItemIds = new ArrayList<>(); -// if (getItemsIds != null && !getItemsIds.isEmpty()) { -// for (SarStandItemsEO standItemsEO : getItemsIds) { -// idList.add(standItemsEO.getId()); -// } -// } -// List zrbmList= new ArrayList<>(); -// List svppsList= new ArrayList<>(); -// List foList= new ArrayList<>(); -// List xmpgjsList= new ArrayList<>(); -// String zrbm = SarStandAttrInfoEOService.selectFieldValByStandId("ZRBM", standId); -// if(StringUtils.isNotBlank(zrbm)){ -// zrbmList = Arrays.asList(zrbm.split(",")); -// } -// -// String svpps = SarStandAttrInfoEOService.selectFieldValByStandId("SVPPS", standId); -// if(StringUtils.isNotBlank(svpps)){ -// svppsList = Arrays.asList(svpps.split(",")); -// } -// String fo = SarStandAttrInfoEOService.selectFieldValByStandId("FO", standId); -// if(StringUtils.isNotBlank(fo)){ -// foList = Arrays.asList(fo.split(",")); -// } -// String xmpgjs = SarStandAttrInfoEOService.selectFieldValByStandId("XMPGJS", standId); -// if(StringUtils.isNotBlank(xmpgjs)){ -// xmpgjsList = Arrays.asList(xmpgjs.split(",")); -// } -// List zrbmListNew = new ArrayList(zrbmList); -// List svppsListNew = new ArrayList(svppsList); -// List foListNew = new ArrayList(foList); -// List xmpgjsListNew = new ArrayList(xmpgjsList); -// for(SarFileSplitItemsEO splitItems : getSplitItemsList){ -// SarStandItemsEO newStandItem = new SarStandItemsEO(); -// newStandItem.setId(splitItems.getId()); -// newStandItem.setItemsNum(splitItems.getItemsNum()); -// newStandItem.setItemsName(splitItems.getItemsName()); -// newStandItem.setApplyArctic(splitItems.getApplyArctic()); -// newStandItem.setStandId(standId); -// newStandItem.setTermsConditions(splitItems.getItermsConditions()); -// newStandItem.setParts(splitItems.getSvpps()); -// newStandItem.setCreationUser(UserUtils.getUserId()); -// newStandItem.setValidFlag(0); -// if(null!=fileType){ -// newStandItem.setFileType(fileType); -// } -// newStandItem.setRemarks(splitItems.getRemarks()); -// newStandItem.setModifyTime(new Date()); -// -// newStandItem.setResponsibleUnit(splitItems.getResponsibleUnit()); -// newStandItem.setFo(splitItems.getFo()); -// newStandItem.setDutyEngineer(splitItems.getDutyEngineer()); -// newStandItem.setSvpps(splitItems.getSvpps()); -// newStandItem.setClaimType(splitItems.getClaimType()); -// newStandItem.setBusStandCover(splitItems.getBusStandCover()); -// -// String splitItemsId = splitItems.getId(); -// if (idList != null && !idList.isEmpty()) { -// if (idList.contains(splitItemsId)) { -// updateList.add(newStandItem); -// } else { -// newStandItem.setCreationTime(new Date()); -// addList.add(newStandItem); -// } -// } else { -// newStandItem.setCreationTime(new Date()); -// addList.add(newStandItem); -// } -// //apply数据 -// if(StringUtils.isNotEmpty(splitItems.getApplyArctic())){ -// delValItemIds.add(splitItems.getId()); -// String[] applyarr = splitItems.getApplyArctic().trim().split(","); -// for(String applya:applyarr){ -// SarStandItemValEO sarStandItemValEO = new SarStandItemValEO(); -// sarStandItemValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); -// sarStandItemValEO.setCreationTime(new Date()); -// sarStandItemValEO.setModifyTime(new Date()); -// sarStandItemValEO.setItemId(splitItems.getId()); -// sarStandItemValEO.setId(UUIDUtils.randomUUID20()); -// sarStandItemValEO.setPropertyType(PropertyTypeEnum.APPLY_ARCTIC.getValue()); -// sarStandItemValEO.setPropertyVal(applya); -// itemValEOS.add(sarStandItemValEO); -// } -// -// } -// //更新自定义属性表属性 -// if(splitItems.getResponsibleUnit()!=null){ -// zrbmListNew.add(splitItems.getResponsibleUnit()); -// } -// if(splitItems.getSvpps()!=null){ -// svppsListNew.add(splitItems.getSvpps()); -// } -// if(splitItems.getFo()!=null){ -// foListNew.add(splitItems.getFo()); -// } -// if(splitItems.getDutyEngineer()!=null){ -// xmpgjsListNew.add(splitItems.getDutyEngineer()); -// } -// } -// //逻辑处理去重拼接 -// Set zrbmSet = new HashSet(zrbmListNew); -// Set svppsSet = new HashSet(svppsListNew); -// Set foSet = new HashSet(foListNew); -// Set xmpgjsSet = new HashSet(xmpgjsListNew); -// -// String zrbmStr = String.join(", ", zrbmSet); -// String svppsStr = String.join(", ", svppsSet); -// String foStr = String.join(", ", foSet); -// String xmpgjsStr = String.join(", ", xmpgjsSet); -// //更新自定义属性表 -// SarStandAttrInfoEOService.updateFiledVal("ZRBM",zrbmStr,standId); -// SarStandAttrInfoEOService.updateFiledVal("SVPPS",svppsStr,standId); -// SarStandAttrInfoEOService.updateFiledVal("FO",foStr,standId); -// SarStandAttrInfoEOService.updateFiledVal("XMPGJS",xmpgjsStr,standId); -// -// //执行批量新增操作 -// if(addList != null && !addList.isEmpty()){ -// for (SarStandItemsEO item:addList) { -// sarStandItemsEODao.insertSelective(item); -// } -// } -// //执行批量修改操作 -// if(updateList != null && !updateList.isEmpty()){ -// for (SarStandItemsEO item:updateList) { -// sarStandItemsEODao.updateByPrimaryKeySelective(item); -// } -// } -// //执行适用车型批量操作 -// if(itemValEOS != null && !itemValEOS.isEmpty()){ -// sarStandItemValEODao.deleteByItemsIds(delValItemIds); -// for (SarStandItemValEO sarStandItemValEO:itemValEOS) { -// sarStandItemValEODao.insertSelective(sarStandItemValEO); -// } -// } -// SarStandardsInfoEO sarStandardsInfoEO1 = sarStandardsInfoEOService.selectByPrimaryKey(standId); -// createStandMQService.sendStandMQ(sarStandardsInfoEO1, "update"); -// } else { -// return "关联失败,该条数据下没有拆分条款"; -// } -// return "关联成功"; -// } -// -//// public String addToStandItems1(SarFileSplitInfoEO sarFileSplitInfoEO,SarLawsInfoEO sarLawsInfoEO ){ -//// //查询拆分中所有条款信息 -//// SarFileSplitItemsEOPage splitItemsEOPage = new SarFileSplitItemsEOPage(); -//// splitItemsEOPage.setInfoId(sarFileSplitInfoEO.getId()); -//// // -//// String fileType=sarFileSplitInfoEO.getFileType(); -//// List getSplitItemsList = sarFileSplitItemsEODao.queryByList(splitItemsEOPage); -//// if (getSplitItemsList != null && !getSplitItemsList.isEmpty()) { -//// List addList = new ArrayList<>(); -//// List updateList = new ArrayList<>(); -//// //查询在标准条目表中数据 -//// SarStandItemsEOPage itemPage = new SarStandItemsEOPage(); -//// String standId = sarLawsInfoEO.getId(); -//// itemPage.setStandId(standId); -//// itemPage.setValidFlag("0"); -//// List getItemsIds = sarStandItemsEODao.queryIdsByList(itemPage); -//// List idList = new ArrayList<>(); -//// List itemValEOS = new ArrayList<>(); -//// List delValItemIds = new ArrayList<>(); -//// if (getItemsIds != null && !getItemsIds.isEmpty()) { -//// for (SarStandItemsEO standItemsEO : getItemsIds) { -//// idList.add(standItemsEO.getId()); -//// } -//// } -//// for(SarFileSplitItemsEO splitItems : getSplitItemsList){ -//// SarStandItemsEO newStandItem = new SarStandItemsEO(); -//// newStandItem.setId(splitItems.getId()); -//// newStandItem.setItemsNum(splitItems.getItemsNum()); -//// newStandItem.setItemsName(splitItems.getItemsName()); -//// newStandItem.setApplyArctic(splitItems.getApplyArctic()); -//// newStandItem.setStandId(standId); -//// newStandItem.setTermsConditions(splitItems.getItermsConditions()); -//// newStandItem.setParts(splitItems.getSvpps()); -//// newStandItem.setCreationUser(UserUtils.getUserId()); -//// newStandItem.setValidFlag(0); -//// if(null!=fileType){ -//// newStandItem.setFileType(fileType); -//// } -//// newStandItem.setRemarks(splitItems.getRemarks()); -//// newStandItem.setModifyTime(new Date()); -//// -//// newStandItem.setResponsibleUnit(splitItems.getResponsibleUnit()); -//// newStandItem.setFo(splitItems.getFo()); -//// newStandItem.setDutyEngineer(splitItems.getDutyEngineer()); -//// newStandItem.setSvpps(splitItems.getSvpps()); -//// newStandItem.setClaimType(splitItems.getClaimType()); -//// newStandItem.setBusStandCover(splitItems.getBusStandCover()); -//// -//// String splitItemsId = splitItems.getId(); -//// if (idList != null && !idList.isEmpty()) { -//// if (idList.contains(splitItemsId)) { -//// updateList.add(newStandItem); -//// } else { -//// newStandItem.setCreationTime(new Date()); -//// addList.add(newStandItem); -//// } -//// } else { -//// newStandItem.setCreationTime(new Date()); -//// addList.add(newStandItem); -//// } -//// //apply数据 -//// if(StringUtils.isNotEmpty(splitItems.getApplyArctic())){ -//// delValItemIds.add(splitItems.getId()); -//// String[] applyarr = splitItems.getApplyArctic().trim().split(","); -//// for(String applya:applyarr){ -//// SarStandItemValEO sarStandItemValEO = new SarStandItemValEO(); -//// sarStandItemValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); -//// sarStandItemValEO.setCreationTime(new Date()); -//// sarStandItemValEO.setModifyTime(new Date()); -//// sarStandItemValEO.setItemId(splitItems.getId()); -//// sarStandItemValEO.setId(UUIDUtils.randomUUID20()); -//// sarStandItemValEO.setPropertyType(PropertyTypeEnum.APPLY_ARCTIC.getValue()); -//// sarStandItemValEO.setPropertyVal(applya); -//// itemValEOS.add(sarStandItemValEO); -//// } -//// -//// } -//// } -//// //执行批量新增操作 -//// if(addList != null && !addList.isEmpty()){ -//// for (SarStandItemsEO item:addList) { -//// sarStandItemsEODao.insertSelective(item); -//// } -//// } -//// //执行批量修改操作 -//// if(updateList != null && !updateList.isEmpty()){ -//// for (SarStandItemsEO item:updateList) { -//// sarStandItemsEODao.updateByPrimaryKeySelective(item); -//// } -//// } -//// //执行适用车型批量操作 -//// if(itemValEOS != null && !itemValEOS.isEmpty()){ -//// sarStandItemValEODao.deleteByItemsIds(delValItemIds); -//// for (SarStandItemValEO sarStandItemValEO:itemValEOS) { -//// sarStandItemValEODao.insertSelective(sarStandItemValEO); -//// } -//// } -//// } else { -//// return "关联失败,该条数据下没有拆分条款"; -//// } -//// return "关联成功"; -//// } -// -// public String getClauseBySplitId(String standNum, String fileType){ -// SarFileSplitInfoEOPage sarFileSplitInfoEOPage = new SarFileSplitInfoEOPage(); -// sarFileSplitInfoEOPage.setNumOrName(standNum); -// sarFileSplitInfoEOPage.setFileType(fileType); -// sarFileSplitInfoEOPage.setSplitStatus("2"); -// List rows = dao.queryByPageOwn(sarFileSplitInfoEOPage); -// return rows.get(0).getId(); -// } -// -// public PersonMsgEO updateNew(PersonMsgEO val) throws Exception { -// PersonMsgEO personMsgEO = personMsgEOService.selectByPrimaryKey(val.getId()); -// personMsgEO.setMsgResult(val.getMsgResult()); -// personMsgEOService.updateByPrimaryKeySelective(personMsgEO); -// if (personMsgEO.getMsgType().equals("SPLIT")){ -// PersonMsgEOPage page = new PersonMsgEOPage(); -// page.setMsgType("SPLIT"); -// page.setBusiId(personMsgEO.getBusiId()); -// page.setMsgTitle(personMsgEO.getMsgTitle()); -// List list = personMsgEOService.queryByList(page); -// for (PersonMsgEO item:list) { -// item.setMsgResult(personMsgEO.getMsgResult()); -// personMsgEOService.updateByPrimaryKeySelective(item); -// } -// SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); -// sarFileSplitInfoEO.setId(personMsgEO.getBusiId()); -// if (personMsgEO.getMsgResult().equals("0")){ -// sarFileSplitInfoEO.setSplitStatus("2"); -// }else { -// sarFileSplitInfoEO.setSplitStatus("0"); -// } -// sarFileSplitInfoEO.setModifyTime(new Date()); -// this.updateByPrimaryKeySelective(sarFileSplitInfoEO); -// if (list.size() > 0 && list.get(0).getSenderId() != null){ -// PersonMsgEO personMsgEO1 = new PersonMsgEO(); -// personMsgEO1.setUserIds(list.get(0).getSenderId()); -// personMsgEO1.setMsgTitle(list.get(0).getMsgTitle().replace("确认","")+"审核结果"); -// personMsgEO1.setMsgContent(list.get(0).getMsgTitle().replace("确认","") + (personMsgEO.getMsgResult().equals("0")?"已审核通过":"未审核通过")); -// personMsgEO1.setMsgType("TEXT"); -// personMsgEOService.saveNew(personMsgEO1); -// List emailList = new ArrayList<>(); -// UserEO userEO = userEOService.selectByPrimaryKey(list.get(0).getSenderId()); -// if(userEO!=null){ -// emailList.add(userEO.getEmail()); -// String[] array=emailList.toArray(new String[0]); -// mailUtil.sendMsg(array,personMsgEO1.getMsgContent()); -// } -// -// } -// SarFileSplitInfoEOPage sarFileSplitInfoEOPage = new SarFileSplitInfoEOPage(); -// sarFileSplitInfoEOPage.setId(personMsgEO.getBusiId()); -// sarFileSplitInfoEOPage.setSplitStatus("2"); -// List list1 =this.queryByPageOwn(sarFileSplitInfoEOPage); -// for (SarFileSplitInfoEO data:list1) { -// //根据标准号查询标准是否存在 -// String standNum=""; -// if (StringUtils.isNotEmpty(data.getStandId())) { -// standNum=data.getShowNumber(); -// } else if(StringUtils.isNotEmpty(data.getStandNumSplit())){ -// standNum=data.getStandNumSplit(); -// } -// List getList = sarStandardsInfoEOService.selectStandardsByStandnumber(standNum,null); -// SarStandardsInfoEO result = new SarStandardsInfoEO(); -// if(getList != null && getList.size()>0){ -// result = getList.get(0); -// SarStandItemsEOPage itemPage = new SarStandItemsEOPage(); -// String standId = data.getStandId(); -// itemPage.setStandId(standId); -// itemPage.setValidFlag("0"); -// itemPage.setFileType(data.getFileType()); -// List getItemsIds = sarStandItemsEODao.queryIdsByList(itemPage); -// if (getItemsIds.size()>0){ -// this.addToStandItems(data,result); -// } -// } -// } -// } -// return personMsgEO; -// } -//} diff --git a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/FileSpilt.java b/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/FileSpilt.java deleted file mode 100644 index 938a3ab36..000000000 --- a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/FileSpilt.java +++ /dev/null @@ -1,1174 +0,0 @@ -//package com.jero.modules.utils; -// -// -//import com.baomidou.mybatisplus.core.toolkit.StringUtils; -//import com.jero.modules.entity.SarFileSplitItemsEO; -//import lombok.extern.slf4j.Slf4j; -//import me.zhyd.oauth.utils.UuidUtils; -//import org.apache.commons.collections4.CollectionUtils; -//import org.apache.commons.lang3.ObjectUtils; -//import org.apache.poi.xwpf.usermodel.IBodyElement; -//import org.apache.poi.xwpf.usermodel.XWPFDocument; -//import org.apache.poi.xwpf.usermodel.XWPFParagraph; -//import org.apache.poi.xwpf.usermodel.XWPFPictureData; -//import org.apache.poi.xwpf.usermodel.XWPFRun; -//import org.apache.poi.xwpf.usermodel.XWPFTable; -//import org.apache.xmlbeans.XmlCursor; -//import org.apache.xmlbeans.XmlObject; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLevelText; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR; -// -//import java.io.FileInputStream; -//import java.io.FileOutputStream; -//import java.io.IOException; -//import java.io.InputStream; -//import java.util.ArrayList; -//import java.util.Arrays; -//import java.util.Date; -//import java.util.HashMap; -//import java.util.HashSet; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -//import java.util.regex.Matcher; -//import java.util.regex.Pattern; -// -///** -// * -// *
    -// * 功能:拆分功能处理 -// * 作者:王轶琛 -// * 日期: 2020-01-03
    -// * 版权所有:版权归北京卡达克数据技术中心所有。
    -// */ -//@Slf4j -//public class FileSpilt { -// -// -////中国 -// public int fileCHN(SarFileSplitInfoEO sarFileSplitInfoEO) { -// // 拆分文件主表中插入数据 -//// sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); -//// sarFileSplitInfoEO.setValidFlag(0); -//// sarFileSplitInfoEO.setCreationTime(new Date()); -//// sarFileSplitInfoEO.setCreationUser(LoginUserUtil.getUserId()); -//// sarFileSplitInfoEO.setModifyTime(new Date()); -//// sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); -//// dao.insertSelective(sarFileSplitInfoEO); -// -// // 拆分文件条款表中最终插入数据 -// List messageList = new ArrayList<>(); -// int messageNumber = 0; -// // 拆分文件目录表中最终插入数据 -// List treeList = new ArrayList<>(); -// // 拆分文件条款详情表中最终插入数据 -// List itemValList = new ArrayList<>(); -// Long treeListDisplay = 1L; -// -// String generalCatalogueId = UUIDUtils.randomUUID20(); -// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"总目录","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); -// treeList.add(documentTreeEO); -// -// List nowStart = new ArrayList<>(); -// if (sarFileSplitInfoEO.getStartNumber()<4){ -// nowStart.add("4"); -// } else { -// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); -// } -// try { -// AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); -// String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); -// -// InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 -// XWPFDocument doc = new XWPFDocument(is); -// -// Pattern ptest = Pattern.compile("^1范围"); -// Matcher matcher; -// -// // 记录拆分后的每一段文字 -// List elements = doc.getBodyElements(); -// // 记录word自动生成的编号数据 -// Map numberMap = new HashMap(); -// boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 -// for (IBodyElement element : elements) { -// // 段落 -// if (element instanceof XWPFParagraph) { -// XWPFParagraph p = (XWPFParagraph)element; -// -// // 处理段落生成编号不识别问题 -// String paragraphString = p.getText(); -// if (StringUtils.isNotBlank(paragraphString)) { -// paragraphString = paragraphString.replace((char) 12288, ' '); -// paragraphString = paragraphString.trim(); -// } -// if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { -// String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); -// if (numberMap.containsKey(numberParent)){ -// Integer numbernow =(Integer)numberMap.get(numberParent)+1; -// if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ -// numberMap.put(numberParent,numbernow+1); -// paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); -// } else { -// numberMap.put(numberParent,numbernow); -// paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); -// } -// } else { -// numberMap.put(numberParent,1); -// paragraphString = numberParent+".1"+ p.getText(); -// } -// } -// if (messageNumber == 0) { -// ptest= Pattern.compile("^1\\s{0,3}范围"); -// matcher=ptest.matcher(paragraphString); -// while(matcher.find()){ -// List clauseContent = new ArrayList<>(); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"1","范围",clauseContent); -// SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"范围"); -// message.setMenuId(documentTreeEO1.getId()); -// if(sarFileSplitInfoEO.getStartNumber()<=1 && sarFileSplitInfoEO.getStopNumber()>=1){ -// messageList.add(message); -// treeList.add(documentTreeEO1); -// menuCanAdd = true; -// } else { -// menuCanAdd = false; -// } -// messageNumber++; -// } -// } else if (messageNumber == 1){ -// ptest= Pattern.compile("^2\\s{0,3}规范性引用文件"); -// matcher=ptest.matcher(paragraphString); -// if(matcher.find()){ -// List clauseContent = new ArrayList<>(); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"2","规范性引用文件",clauseContent); -// SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"规范性引用文件"); -// message.setMenuId(documentTreeEO1.getId()); -// if(sarFileSplitInfoEO.getStartNumber()<=2 && sarFileSplitInfoEO.getStopNumber()>=2){ -// messageList.add(message); -// treeList.add(documentTreeEO1); -// menuCanAdd = true; -// } else { -// menuCanAdd = false; -// } -// messageNumber++; -// } else if(menuCanAdd){ -// List imageBundleList = readImageInParagraph((XWPFParagraph)p); -// if(CollectionUtils.isNotEmpty(imageBundleList)) { -// addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); -// } else { -// addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); -// } -// } -// } else if (messageNumber == 2){ -// ptest= Pattern.compile("^3\\s{0,3}术语(和|与)定义"); -// matcher=ptest.matcher(paragraphString); -// if(matcher.find()){ -// List clauseContent = new ArrayList<>(); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"3","术语与定义",clauseContent); -// SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"术语与定义"); -// message.setMenuId(documentTreeEO1.getId()); -// if(sarFileSplitInfoEO.getStartNumber()<=3 && sarFileSplitInfoEO.getStopNumber()>=3){ -// messageList.add(message); -// treeList.add(documentTreeEO1); -// menuCanAdd = true; -// } else { -// menuCanAdd = false; -// } -// messageNumber++; -// } else if(menuCanAdd){ -// List imageBundleList = readImageInParagraph((XWPFParagraph)p); -// if(CollectionUtils.isNotEmpty(imageBundleList)) { -// addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); -// } else { -// addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); -// } -// } -// } else if (messageNumber>=3){ -// ptest = Pattern.compile("^[\\d.]*$"); -// boolean hasGoIf = false; -// for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); -// -// String[] numberStr = nowStart.get(i).split("\\."); -// if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ -// menuCanAdd = false; -// } else { -// // 增加一条数据,需要在数结构中加一条数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); -// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId(sarFileSplitMenuEO.getId()); -// addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); -// messageList.add(message); -// nowStart = getNewNowStart(nowStart.get(i)); -// menuCanAdd = true; -// } -// hasGoIf = true; -// break; -// } -// } -// if(!hasGoIf && menuCanAdd) { -// // 判断是否是附录 -// ptest= Pattern.compile("^附录\\s{0,3}[A-Z]{1}"); -// matcher=ptest.matcher(paragraphString); -// // 获取当前最后一项num -// String appendixNum = messageList.get(messageList.size()-1).getItemsNum().split("\\.")[0]; -// if(matcher.find() && !messageList.get(messageList.size()-1).getItemsNum().equals("附录") ){ -// if ( Integer.valueOf(appendixNum)+1 <= sarFileSplitInfoEO.getStopNumber()) { -// String itemName = "附录"; -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"附录",itemName,clauseContent); -// // 增加一条数据,需要在数结构中加一条数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录",treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,""); -// addItermsConditionsText(message,itemValList,paragraphString); -// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId(sarFileSplitMenuEO.getId()); -// messageList.add(message); -// nowStart = new ArrayList<>(); -// } else { -// break; -// } -// } else { -// if (!p.getText().equals("") ){ -// addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); -// } -// List imageBundleList = readImageInParagraph((XWPFParagraph)p); -// if(CollectionUtils.isNotEmpty(imageBundleList)) { -// addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); -// } -// } -// } -// // 判断是否直接跳出所有循环 -// if (!menuCanAdd && messageList.size()>0) { -// break; -// } -// } -// } else if (element instanceof XWPFTable){ -// if(messageList != null && !messageList.isEmpty()){ -// addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); -// } -// } -// } -// -// } catch (Exception e) { -// e.printStackTrace(); -// return -1; -// } -// if(treeList.size()>0 && messageList.size() > 0){ -// sarFileSplitMenuEODao.insertForeach(treeList); -// sarFileSplitItemsEODao.insertForeach(messageList); -// sarFileSplitItemsValEODao.insertForeach(itemValList); -// } else { -// return -1; -// } -// return treeList.size(); -// -// } -// -// public static void main(String[] args) { -// fileEU(new SarFileSplitInfoEO()); -// } -////GSO 欧洲 -// public static int fileEU(String url) { -// // 拆分文件主表中插入数据 -//// sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); -//// sarFileSplitInfoEO.setValidFlag(0); -//// sarFileSplitInfoEO.setCreationTime(new Date()); -//// sarFileSplitInfoEO.setCreationUser(LoginUserUtil.getUserId()); -//// sarFileSplitInfoEO.setModifyTime(new Date()); -//// sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); -//// dao.insertSelective(sarFileSplitInfoEO); -// -// // 拆分文件条款表中最终插入数据 -// List messageList = new ArrayList<>(); -// int messageNumber = 0; -// // 拆分文件目录表中最终插入数据 -//// List treeList = new ArrayList<>(); -// // 拆分文件条款详情表中最终插入数据 -//// List itemValList = new ArrayList<>(); -// Long treeListDisplay = 1L; -// -//// String generalCatalogueId = UUIDUtils.randomUUID20(); -//// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); -//// treeList.add(documentTreeEO); -// -// List nowStart = new ArrayList<>(); -//// if (sarFileSplitInfoEO.getStartNumber()<4){ -//// nowStart.add("4"); -//// } else { -//// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); -//// } -// try { -//// AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); -//// String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); -// -// InputStream is = new FileInputStream(url); //需要将文件路更改为word文档所在路径。 -// XWPFDocument doc = new XWPFDocument(is); -// -// Pattern ptest ; -// Matcher matcher; -// -// // 记录拆分后的每一段文字 -// List elements = doc.getBodyElements(); -// // 记录word自动生成的编号数据 -// Map numberMap = new HashMap(); -// boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 -// for (IBodyElement element : elements) { -// // 段落 -// if (element instanceof XWPFParagraph) { -// XWPFParagraph p = (XWPFParagraph)element; -// -// // 处理段落生成编号不识别问题 -// String paragraphString = p.getText(); -// if (StringUtils.isNotBlank(paragraphString)) { -// paragraphString = paragraphString.replace((char) 12288, ' '); -// paragraphString = paragraphString.trim(); -// } -// if (StringUtils.isNotBlank(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { -// String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); -// if (numberMap.containsKey(numberParent)){ -// Integer numbernow =(Integer)numberMap.get(numberParent)+1; -// if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ -// numberMap.put(numberParent,numbernow+1); -// paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); -// } else { -// numberMap.put(numberParent,numbernow); -// paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); -// } -// } else { -// numberMap.put(numberParent,1); -// paragraphString = numberParent+".1"+ p.getText(); -// } -// } -// -// ptest = Pattern.compile("^[\\d.]*$"); -// boolean hasGoIf = false; -// for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO("sarFileSplitInfoEO.getId()",nowStart.get(i),itemName,clauseContent); -// -// String[] numberStr = nowStart.get(i).split("\\."); -// if (Integer.valueOf(numberStr[0]) > 1000000){ -//// if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ -// menuCanAdd = false; -// } else { -// // 增加一条数据,需要在数结构中加一条数据 -//// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); -//// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId("sarFileSplitMenuEO.getId()"); -//// addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); -// messageList.add(message); -// nowStart = getNewNowStart(nowStart.get(i)); -// menuCanAdd = true; -// } -// hasGoIf = true; -// break; -// } -// } -// -// // 判断是否直接跳出所有循环 -// if (!menuCanAdd && messageList.size()>0) { -// break; -// } -// -// } else if (element instanceof XWPFTable){ -// if(messageList != null && !messageList.isEmpty()){ -// addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); -// } -// } -// } -// -// } catch (Exception e) { -// e.printStackTrace(); -// return -1; -// } -// if(treeList.size()>0 && messageList.size() > 0){ -//// sarFileSplitMenuEODao.insertForeach(treeList); -//// sarFileSplitItemsEODao.insertForeach(messageList); -//// sarFileSplitItemsValEODao.insertForeach(itemValList); -// } else { -// return -1; -// } -// return treeList.size(); -// -// } -// //美国 -// public int fileUSA(SarFileSplitInfoEO sarFileSplitInfoEO) { -// // 拆分文件主表中插入数据 -// sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); -// sarFileSplitInfoEO.setValidFlag(0); -// sarFileSplitInfoEO.setCreationTime(new Date()); -// sarFileSplitInfoEO.setCreationUser(LoginUserUtil.getUserId()); -// sarFileSplitInfoEO.setModifyTime(new Date()); -// sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); -// dao.insertSelective(sarFileSplitInfoEO); -// -// // 拆分文件条款表中最终插入数据 -// List messageList = new ArrayList<>(); -// int messageNumber = 0; -// // 拆分文件目录表中最终插入数据 -// List treeList = new ArrayList<>(); -// // 拆分文件条款详情表中最终插入数据 -// List itemValList = new ArrayList<>(); -// Long treeListDisplay = 1L; -// -// String generalCatalogueId = UUIDUtils.randomUUID20(); -// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); -// treeList.add(documentTreeEO); -// -// List nowStart = new ArrayList<>(); -// if (sarFileSplitInfoEO.getStartNumber()<4){ -// nowStart.add("4"); -// } else { -// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); -// } -// try { -// AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); -// String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName(); -// -// InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 -// XWPFDocument doc = new XWPFDocument(is); -// -// Pattern ptest = Pattern.compile("S^[\\d.]*$"); -// Matcher matcher; -// -// // 记录拆分后的每一段文字 -// List elements = doc.getBodyElements(); -// // 记录word自动生成的编号数据 -// Map numberMap = new HashMap(); -// boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 -// for (IBodyElement element : elements) { -// // 段落 -// if (element instanceof XWPFParagraph) { -// XWPFParagraph p = (XWPFParagraph)element; -// -// // 处理段落生成编号不识别问题 -// String paragraphString = p.getText(); -// if (StringUtils.isNotBlank(paragraphString)) { -// paragraphString = paragraphString.replace((char) 12288, ' '); -// paragraphString = paragraphString.trim(); -// } -// if (StringUtils.isNotBlank(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { -// String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); -// if (numberMap.containsKey(numberParent)){ -// Integer numbernow =(Integer)numberMap.get(numberParent)+1; -// if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ -// numberMap.put(numberParent,numbernow+1); -// paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); -// } else { -// numberMap.put(numberParent,numbernow); -// paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); -// } -// } else { -// numberMap.put(numberParent,1); -// paragraphString = numberParent+".1"+ p.getText(); -// } -// } -////^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$ -// ptest = Pattern.compile("S^[\\d.]*$"); -// boolean hasGoIf = false; -// for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); -// List clauseContent = new ArrayList<>(); -// clauseContent.add(paragraphString); -// SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); -// -// String[] numberStr = nowStart.get(i).split("\\."); -// -// if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ -// menuCanAdd = false; -// } else { -// // 增加一条数据,需要在数结构中加一条数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName); -// treeList.add(sarFileSplitMenuEO) ; -// message.setMenuId(sarFileSplitMenuEO.getId()); -// addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); -// messageList.add(message); -// nowStart = getNewNowStart(nowStart.get(i)); -// menuCanAdd = true; -// } -// hasGoIf = true; -// break; -// } -// } -// -// // 判断是否直接跳出所有循环 -// if (!menuCanAdd && messageList.size()>0) { -// break; -// } -// -// } else if (element instanceof XWPFTable){ -// if(messageList != null && !messageList.isEmpty()){ -// addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); -// } -// } -// } -// -// } catch (Exception e) { -// e.printStackTrace(); -// return -1; -// } -// if(treeList.size()>0 && messageList.size() > 0){ -// sarFileSplitMenuEODao.insertForeach(treeList); -// sarFileSplitItemsEODao.insertForeach(messageList); -// sarFileSplitItemsValEODao.insertForeach(itemValList); -// } else { -// return -1; -// } -// return treeList.size(); -// -// } -// /** -// * 通过传递过来的编号,得出下次可能出现的编号 -// * @param nowStart -// * @return -// */ -// private static List getNewNowStart(String nowStart){ -// List nowStartList = new ArrayList<>(); -// List nowResultStartList = new ArrayList<>(); -// String[] numberStr = nowStart.split("\\."); -// String startnumber = ""; -// for(int i=0;i treeList,String generalCatalogueId,SarFileSplitInfoEO sarFileSplitInfoEO ,Long treeListDisplay,String itemName){ -// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),name,sarFileSplitInfoEO.getId(),treeListDisplay,itemName); -// // 用现在得name 和之前得name 做比较,确定,parentId -// if (name.indexOf(".")>=0) { -// for (SarFileSplitMenuEO forDocumentTree : treeList) { -// if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) { -// documentTreeEO.setPId(forDocumentTree.getId()); -// break; -// } -// } -// }else { -// documentTreeEO.setPId(generalCatalogueId); -// } -// return documentTreeEO; -// } -// -// private static SarFileSplitItemsEO getSarFileSplitItemsEO(String infoId,String itemsNum,String itemsName,List itemsCondi) { -// SarFileSplitItemsEO sarFileSplitItemsEO = new SarFileSplitItemsEO(); -// sarFileSplitItemsEO.setInfoId(infoId); -// sarFileSplitItemsEO.setItemsNum(itemsNum); -// sarFileSplitItemsEO.setItemsName(itemsName); -// sarFileSplitItemsEO.setItemsCondi(itemsCondi); -// sarFileSplitItemsEO.setItermsConditions(""); -// sarFileSplitItemsEO.setId(UuidUtils.getUUID()); -// sarFileSplitItemsEO.setValidFlag(0); -// sarFileSplitItemsEO.setCreationTime(new Date()); -// sarFileSplitItemsEO.setCreationUser("admin"); -// sarFileSplitItemsEO.setModifyTime(new Date()); -// sarFileSplitItemsEO.setModifyUser("LoginUserUtil.getUserId()"); -// return sarFileSplitItemsEO; -// } -// -// public List queryByPageOwn(SarFileSplitInfoEOPage page) throws Exception { -// int rowCount = dao.queryByCountOwn(page); -// page.getPager().setRowCount(rowCount); -// List rows = dao.queryByPageOwn(page); -// if (rows != null && !rows.isEmpty()) { -// for (SarFileSplitInfoEO infoEO : rows) { -// //处理标准号和标准名称 -// if(StringUtils.isNotBlank(infoEO.getStandardNumber())){ -// infoEO.setShowNumber(infoEO.getStandardType()+" "+ infoEO.getStandardNumber()+"-"+infoEO.getYear()); -// infoEO.setStandName(infoEO.getStandardName()); -// } -// if(StringUtils.isNotBlank(infoEO.getOfficialNumber())){ -// infoEO.setShowNumber(infoEO.getOfficialNumber()); -// infoEO.setStandName(infoEO.getFileNameLaws()); -// } -// AttFileEO fileInfo = attFileEOService.getFileInfo(infoEO.getAttId()); -// if(ObjectUtils.allNotNull(fileInfo)){ -// infoEO.setFileName(fileInfo.getOldFileName()); -// } -// String collectId = personCollectEOService.queryCollectByUserAndId(infoEO.getId()); -// infoEO.setCollectId(collectId); -// if (StringUtils.isNotBlank(infoEO.getFileType())) { -// List getList = -// sarStandAttrDetailsEODao.selectFileFieldForSel1(infoEO.getFileType()); -// if (getList != null && !getList.isEmpty()) { -// infoEO.setFileTypeShow(getList.get(0).getLabel()); -// } else { -// infoEO.setFileTypeShow(null); -// } -// } -// } -// } -// return rows; -// } -// -// /** -// * 标准拆分审核回调 -// * 0.审核开始:拆分结果:审核中(1) -// * 1.审核通过:拆分结果成功:成功(1) 拆分状态:已关联(1) -// * 2.审核失败:拆分状态:编辑中(0) -// * @param changeSarFileSplitInfoStatusDTO -// * @return -// */ -// public boolean changeSarFileSplitInfoStatusCallBack(ChangeSarFileSplitInfoStatusDTO changeSarFileSplitInfoStatusDTO)throws Exception{ -// SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); -// sarFileSplitInfoEO.setId(changeSarFileSplitInfoStatusDTO.getSplitId()); -// Integer approveFlag = changeSarFileSplitInfoStatusDTO.getApproveResult(); -// if(0 == approveFlag){ -// sarFileSplitInfoEO.setSplitStatus("1"); -// }else if(1 == approveFlag){ -// sarFileSplitInfoEO.setSplitStatus("1"); -// sarFileSplitInfoEO.setResult("1"); -// }else{ -// sarFileSplitInfoEO.setSplitStatus("0"); -// } -// int i = updateByPrimaryKey(sarFileSplitInfoEO); -// if(i > 0){ -// return true; -// } -// return false; -// } -// -// public int deleteByIds(String ids){ -// String[] infoIds = ids.split(","); -// // 删除info表数据 -// SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); -// sarFileSplitInfoEO.setIdList(infoIds); -// int result = dao.deleteByIds(sarFileSplitInfoEO); -// -// //删除menu表数据 -// SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO(); -// sarFileSplitMenuEO.setInfoIdList(infoIds); -// sarFileSplitMenuEODao.deleteByIds(sarFileSplitMenuEO); -// // 删除val表数据 -// List idList = Arrays.asList(infoIds); -// sarFileSplitItemsValEODao.deleteValByInfoIds(idList); -// // 删除table表数据 -// sarFileSplitItemsTableEODao.deleteTableByMenuIds(idList); -// //删除items表数据 -// SarFileSplitItemsEO sarFileSplitItemsEO = new SarFileSplitItemsEO(); -// sarFileSplitItemsEO.setInfoIdList(infoIds); -// sarFileSplitItemsEODao.deleteByIds(sarFileSplitItemsEO); -// //删除params表数据 -// sarFileSplitItemsParamsEODao.deleteByInfoIds(idList); -// //删除收藏表中数据 -// personCollectEODao.deleteByResIdList(idList); -//// // 删除分享表中数据 -//// personShareEODao.deleteByResIdList(idList); -// return result; -// } -// -// //获取某一个段落中的所有图片索引 -// private List readImageInParagraph(XWPFParagraph paragraph) { -// //图片索引List -// List imageBundleList = new ArrayList(); -// -// //段落中所有XWPFRun -// List runList = paragraph.getRuns(); -// for (XWPFRun run : runList) { -// //XWPFRun是POI对xml元素解析后生成的自己的属性,无法通过xml解析,需要先转化成CTR -// CTR ctr = run.getCTR(); -// //对子元素进行遍历 -// XmlCursor c = ctr.newCursor(); -// //这个就是拿到所有的子元素: -// c.selectPath("./*"); -// while (c.toNextSelection()) { -// XmlObject o = c.getObject(); -// //如果子元素是这样的形式,使用CTDrawing保存图片 -// if (o instanceof CTDrawing) { -// CTDrawing drawing = (CTDrawing) o; -// CTInline[] ctInlines = drawing.getInlineArray(); -// CTAnchor[] ctAnchors = drawing.getAnchorArray(); -// for (CTInline ctInline : ctInlines) { -// CTGraphicalObject graphic = ctInline.getGraphic(); -// // -// XmlCursor cursor = graphic.getGraphicData().newCursor(); -// cursor.selectPath("./*"); -// while (cursor.toNextSelection()) { -// XmlObject xmlObject = cursor.getObject(); -// // 如果子元素是这样的形式 -// if (xmlObject instanceof CTPicture) { -// CTPicture picture = (CTPicture) xmlObject; -// //拿到元素的属性 -// imageBundleList.add(picture.getBlipFill().getBlip().getEmbed()); -// } -// } -// } -// for (CTAnchor ctAnchor : ctAnchors) { -// CTGraphicalObject graphic = ctAnchor.getGraphic(); -// XmlCursor cursor = graphic.getGraphicData().newCursor(); -// cursor.selectPath("./*"); -// while (cursor.toNextSelection()) { -// XmlObject xmlObject = cursor.getObject(); -// // 如果子元素是这样的形式 -// if (xmlObject instanceof CTPicture) { -// CTPicture picture = (CTPicture) xmlObject; -// //拿到元素的属性 -// imageBundleList.add(picture.getBlipFill().getBlip().getEmbed()); -// } -// } -// } -// } else if (o instanceof CTLevelText){ -// System.out.println(((CTLevelText) o).getVal()); -// } -// } -// } -// return imageBundleList; -// } -// -// // 像每个条款中依次插入每一段的内容 -// public static void addItermsConditionsText(SarFileSplitItemsEO message,List itemsValList,String p) { -// message.getItemsCondi().add(p); -// message.setItermsConditions(message.getItermsConditions() + "

    "+p+ "

    "); -// // 判断message中是否引用到其他标准 -//// String testString = p; -//// Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*"); -//// Pattern ptest2 = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*-[0-9]{1,4}"); -//// Matcher matcher = ptest2.matcher(testString); -//// while (matcher.find()){ -//// String standNumber = matcher.group(); -//// if (StringUtils.isNotEmpty(message.getReferenceStand()) && message.getReferenceStand()!=""){ -//// message.setReferenceStand(message.getReferenceStand() + ","+standNumber); -//// } else { -//// message.setReferenceStand(standNumber); -//// } -//// testString = testString.replaceAll(standNumber," "); -//// } -//// matcher = ptest.matcher(testString); -//// while (matcher.find()){ -//// if (StringUtils.isNotEmpty(message.getReferenceStand()) && message.getReferenceStand()!=""){ -//// message.setReferenceStand(message.getReferenceStand() + ","+matcher.group()); -//// } else { -//// message.setReferenceStand(matcher.group()); -//// } -//// } -// itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TEXT.getValue(),p,message.getItemsCondi().size(),null)); -// } -// -// public static void addItermsConditionsOfTable(SarFileSplitItemsEO message,List itemsValList,XWPFTable table) throws IOException { -// StringBuilder tabaleStringNew = new StringBuilder(""); -// //将表格转为html字符串 -// ReadWordTable readWordTable = new ReadWordTable(); -// String tableStr = readWordTable.readTable(table); -// tabaleStringNew.append(tableStr); -// message.getItemsCondi().add(table.getText()); -// message.setItermsConditions(message.getItermsConditions() + tabaleStringNew); -// itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TABLE.getValue(),tabaleStringNew.toString(),message.getItemsCondi().size(),null)); -// -// } -// -// // 像每个条款中依次插入每一段的内容 -// private void addItermsConditionsImage(SarFileSplitItemsEO message,List itemsValList,XWPFParagraph p,List imageBundleList) { -// for (String pictureId : imageBundleList) { -// XWPFPictureData pictureData = p.getDocument().getPictureDataByID(pictureId); -// String imageName = UUIDUtils.randomUUID10() + pictureData.getFileName(); -// byte[] bytev = pictureData.getData(); -// String outPath = filePath + "/img/"; -// File file1 = new File(outPath); -// if(!file1.exists()){ -// file1.mkdirs(); -// } -// String filepathandname = filePath + "/img/" + imageName; -// try { -// FileOutputStream fos = new FileOutputStream(filepathandname); -// fos.write(bytev); -// String path = "uploadPath/img/" + imageName; -// String imgCon = ""; -// message.getItemsCondi().add(imgCon); -// message.setItermsConditions(message.getItermsConditions() + imgCon); -// itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.IMG.getValue(),imgCon,message.getItemsCondi().size(),null)); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -// } -// -// private static SarFileSplitItemsValEO getSplitItemsValObject (String itemId,String type,String itemContent,int disPlaySql,List tableList) { -// SarFileSplitItemsValEO sarFileSplitItemsValEO = new SarFileSplitItemsValEO(); -// sarFileSplitItemsValEO.setId(UUIDUtils.randomUUID20()); -// sarFileSplitItemsValEO.setValidFlag(0); -// sarFileSplitItemsValEO.setCreationTime(new Date()); -// sarFileSplitItemsValEO.setCreationUser(LoginUserUtil.getUserId()); -// sarFileSplitItemsValEO.setModifyTime(new Date()); -// sarFileSplitItemsValEO.setModifyUser(LoginUserUtil.getUserId()); -// sarFileSplitItemsValEO.setItemId(itemId); -// sarFileSplitItemsValEO.setType(type); -// sarFileSplitItemsValEO.setDisplaySeq(disPlaySql); -// sarFileSplitItemsValEO.setItemContent(itemContent); -// /*if (tableList != null && tableList.size() > 0) { -// for (SarFileSplitItemsTableEO tableEO : tableList) { -// tableEO.setId(UUIDUtils.randomUUID20()); -// tableEO.setItemsValId(sarFileSplitItemsValEO.getId()); -// tableEO.setItemsId(itemId); -// tableEO.setValidFlag(0); -// tableEO.setCreationTime(new Date()); -// tableEO.setModifyTime(new Date()); -// tableEO.setModifyUser("yxn"); -// } -// }*/ -//// sarFileSplitItemsValEO.setTableList(tableList); -// return sarFileSplitItemsValEO; -// } -// -// public String addToStandItems(SarFileSplitInfoEO sarFileSplitInfoEO,SarStandardsInfoEO sarStandardsInfoEO ) throws Exception { -// //查询拆分中所有条款信息 -// SarFileSplitItemsEOPage splitItemsEOPage = new SarFileSplitItemsEOPage(); -// splitItemsEOPage.setInfoId(sarFileSplitInfoEO.getId()); -// // -// String fileType=sarFileSplitInfoEO.getFileType(); -// List getSplitItemsList = sarFileSplitItemsEODao.queryByList(splitItemsEOPage); -// if (getSplitItemsList != null && !getSplitItemsList.isEmpty()) { -// List addList = new ArrayList<>(); -// List updateList = new ArrayList<>(); -// //查询在标准条目表中数据 -// SarStandItemsEOPage itemPage = new SarStandItemsEOPage(); -// String standId = sarStandardsInfoEO.getId(); -// itemPage.setStandId(standId); -// itemPage.setValidFlag("0"); -// List getItemsIds = sarStandItemsEODao.queryIdsByList(itemPage); -// List idList = new ArrayList<>(); -// List itemValEOS = new ArrayList<>(); -// List delValItemIds = new ArrayList<>(); -// if (getItemsIds != null && !getItemsIds.isEmpty()) { -// for (SarStandItemsEO standItemsEO : getItemsIds) { -// idList.add(standItemsEO.getId()); -// } -// } -// List zrbmList= new ArrayList<>(); -// List svppsList= new ArrayList<>(); -// List foList= new ArrayList<>(); -// List xmpgjsList= new ArrayList<>(); -// String zrbm = SarStandAttrInfoEOService.selectFieldValByStandId("ZRBM", standId); -// if(StringUtils.isNotBlank(zrbm)){ -// zrbmList = Arrays.asList(zrbm.split(",")); -// } -// -// String svpps = SarStandAttrInfoEOService.selectFieldValByStandId("SVPPS", standId); -// if(StringUtils.isNotBlank(svpps)){ -// svppsList = Arrays.asList(svpps.split(",")); -// } -// String fo = SarStandAttrInfoEOService.selectFieldValByStandId("FO", standId); -// if(StringUtils.isNotBlank(fo)){ -// foList = Arrays.asList(fo.split(",")); -// } -// String xmpgjs = SarStandAttrInfoEOService.selectFieldValByStandId("XMPGJS", standId); -// if(StringUtils.isNotBlank(xmpgjs)){ -// xmpgjsList = Arrays.asList(xmpgjs.split(",")); -// } -// List zrbmListNew = new ArrayList(zrbmList); -// List svppsListNew = new ArrayList(svppsList); -// List foListNew = new ArrayList(foList); -// List xmpgjsListNew = new ArrayList(xmpgjsList); -// for(SarFileSplitItemsEO splitItems : getSplitItemsList){ -// SarStandItemsEO newStandItem = new SarStandItemsEO(); -// newStandItem.setId(splitItems.getId()); -// newStandItem.setItemsNum(splitItems.getItemsNum()); -// newStandItem.setItemsName(splitItems.getItemsName()); -// newStandItem.setApplyArctic(splitItems.getApplyArctic()); -// newStandItem.setStandId(standId); -// newStandItem.setTermsConditions(splitItems.getItermsConditions()); -// newStandItem.setParts(splitItems.getSvpps()); -// newStandItem.setCreationUser(UserUtils.getUserId()); -// newStandItem.setValidFlag(0); -// if(null!=fileType){ -// newStandItem.setFileType(fileType); -// } -// newStandItem.setRemarks(splitItems.getRemarks()); -// newStandItem.setModifyTime(new Date()); -// -// newStandItem.setResponsibleUnit(splitItems.getResponsibleUnit()); -// newStandItem.setFo(splitItems.getFo()); -// newStandItem.setDutyEngineer(splitItems.getDutyEngineer()); -// newStandItem.setSvpps(splitItems.getSvpps()); -// newStandItem.setClaimType(splitItems.getClaimType()); -// newStandItem.setBusStandCover(splitItems.getBusStandCover()); -// -// String splitItemsId = splitItems.getId(); -// if (idList != null && !idList.isEmpty()) { -// if (idList.contains(splitItemsId)) { -// updateList.add(newStandItem); -// } else { -// newStandItem.setCreationTime(new Date()); -// addList.add(newStandItem); -// } -// } else { -// newStandItem.setCreationTime(new Date()); -// addList.add(newStandItem); -// } -// //apply数据 -// if(StringUtils.isNotEmpty(splitItems.getApplyArctic())){ -// delValItemIds.add(splitItems.getId()); -// String[] applyarr = splitItems.getApplyArctic().trim().split(","); -// for(String applya:applyarr){ -// SarStandItemValEO sarStandItemValEO = new SarStandItemValEO(); -// sarStandItemValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); -// sarStandItemValEO.setCreationTime(new Date()); -// sarStandItemValEO.setModifyTime(new Date()); -// sarStandItemValEO.setItemId(splitItems.getId()); -// sarStandItemValEO.setId(UUIDUtils.randomUUID20()); -// sarStandItemValEO.setPropertyType(PropertyTypeEnum.APPLY_ARCTIC.getValue()); -// sarStandItemValEO.setPropertyVal(applya); -// itemValEOS.add(sarStandItemValEO); -// } -// -// } -// //更新自定义属性表属性 -// if(splitItems.getResponsibleUnit()!=null){ -// zrbmListNew.add(splitItems.getResponsibleUnit()); -// } -// if(splitItems.getSvpps()!=null){ -// svppsListNew.add(splitItems.getSvpps()); -// } -// if(splitItems.getFo()!=null){ -// foListNew.add(splitItems.getFo()); -// } -// if(splitItems.getDutyEngineer()!=null){ -// xmpgjsListNew.add(splitItems.getDutyEngineer()); -// } -// } -// //逻辑处理去重拼接 -// Set zrbmSet = new HashSet(zrbmListNew); -// Set svppsSet = new HashSet(svppsListNew); -// Set foSet = new HashSet(foListNew); -// Set xmpgjsSet = new HashSet(xmpgjsListNew); -// -// String zrbmStr = String.join(", ", zrbmSet); -// String svppsStr = String.join(", ", svppsSet); -// String foStr = String.join(", ", foSet); -// String xmpgjsStr = String.join(", ", xmpgjsSet); -// //更新自定义属性表 -// SarStandAttrInfoEOService.updateFiledVal("ZRBM",zrbmStr,standId); -// SarStandAttrInfoEOService.updateFiledVal("SVPPS",svppsStr,standId); -// SarStandAttrInfoEOService.updateFiledVal("FO",foStr,standId); -// SarStandAttrInfoEOService.updateFiledVal("XMPGJS",xmpgjsStr,standId); -// -// //执行批量新增操作 -// if(addList != null && !addList.isEmpty()){ -// for (SarStandItemsEO item:addList) { -// sarStandItemsEODao.insertSelective(item); -// } -// } -// //执行批量修改操作 -// if(updateList != null && !updateList.isEmpty()){ -// for (SarStandItemsEO item:updateList) { -// sarStandItemsEODao.updateByPrimaryKeySelective(item); -// } -// } -// //执行适用车型批量操作 -// if(itemValEOS != null && !itemValEOS.isEmpty()){ -// sarStandItemValEODao.deleteByItemsIds(delValItemIds); -// for (SarStandItemValEO sarStandItemValEO:itemValEOS) { -// sarStandItemValEODao.insertSelective(sarStandItemValEO); -// } -// } -// SarStandardsInfoEO sarStandardsInfoEO1 = sarStandardsInfoEOService.selectByPrimaryKey(standId); -// createStandMQService.sendStandMQ(sarStandardsInfoEO1, "update"); -// } else { -// return "关联失败,该条数据下没有拆分条款"; -// } -// return "关联成功"; -// } -// -//// public String addToStandItems1(SarFileSplitInfoEO sarFileSplitInfoEO,SarLawsInfoEO sarLawsInfoEO ){ -//// //查询拆分中所有条款信息 -//// SarFileSplitItemsEOPage splitItemsEOPage = new SarFileSplitItemsEOPage(); -//// splitItemsEOPage.setInfoId(sarFileSplitInfoEO.getId()); -//// // -//// String fileType=sarFileSplitInfoEO.getFileType(); -//// List getSplitItemsList = sarFileSplitItemsEODao.queryByList(splitItemsEOPage); -//// if (getSplitItemsList != null && !getSplitItemsList.isEmpty()) { -//// List addList = new ArrayList<>(); -//// List updateList = new ArrayList<>(); -//// //查询在标准条目表中数据 -//// SarStandItemsEOPage itemPage = new SarStandItemsEOPage(); -//// String standId = sarLawsInfoEO.getId(); -//// itemPage.setStandId(standId); -//// itemPage.setValidFlag("0"); -//// List getItemsIds = sarStandItemsEODao.queryIdsByList(itemPage); -//// List idList = new ArrayList<>(); -//// List itemValEOS = new ArrayList<>(); -//// List delValItemIds = new ArrayList<>(); -//// if (getItemsIds != null && !getItemsIds.isEmpty()) { -//// for (SarStandItemsEO standItemsEO : getItemsIds) { -//// idList.add(standItemsEO.getId()); -//// } -//// } -//// for(SarFileSplitItemsEO splitItems : getSplitItemsList){ -//// SarStandItemsEO newStandItem = new SarStandItemsEO(); -//// newStandItem.setId(splitItems.getId()); -//// newStandItem.setItemsNum(splitItems.getItemsNum()); -//// newStandItem.setItemsName(splitItems.getItemsName()); -//// newStandItem.setApplyArctic(splitItems.getApplyArctic()); -//// newStandItem.setStandId(standId); -//// newStandItem.setTermsConditions(splitItems.getItermsConditions()); -//// newStandItem.setParts(splitItems.getSvpps()); -//// newStandItem.setCreationUser(UserUtils.getUserId()); -//// newStandItem.setValidFlag(0); -//// if(null!=fileType){ -//// newStandItem.setFileType(fileType); -//// } -//// newStandItem.setRemarks(splitItems.getRemarks()); -//// newStandItem.setModifyTime(new Date()); -//// -//// newStandItem.setResponsibleUnit(splitItems.getResponsibleUnit()); -//// newStandItem.setFo(splitItems.getFo()); -//// newStandItem.setDutyEngineer(splitItems.getDutyEngineer()); -//// newStandItem.setSvpps(splitItems.getSvpps()); -//// newStandItem.setClaimType(splitItems.getClaimType()); -//// newStandItem.setBusStandCover(splitItems.getBusStandCover()); -//// -//// String splitItemsId = splitItems.getId(); -//// if (idList != null && !idList.isEmpty()) { -//// if (idList.contains(splitItemsId)) { -//// updateList.add(newStandItem); -//// } else { -//// newStandItem.setCreationTime(new Date()); -//// addList.add(newStandItem); -//// } -//// } else { -//// newStandItem.setCreationTime(new Date()); -//// addList.add(newStandItem); -//// } -//// //apply数据 -//// if(StringUtils.isNotEmpty(splitItems.getApplyArctic())){ -//// delValItemIds.add(splitItems.getId()); -//// String[] applyarr = splitItems.getApplyArctic().trim().split(","); -//// for(String applya:applyarr){ -//// SarStandItemValEO sarStandItemValEO = new SarStandItemValEO(); -//// sarStandItemValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); -//// sarStandItemValEO.setCreationTime(new Date()); -//// sarStandItemValEO.setModifyTime(new Date()); -//// sarStandItemValEO.setItemId(splitItems.getId()); -//// sarStandItemValEO.setId(UUIDUtils.randomUUID20()); -//// sarStandItemValEO.setPropertyType(PropertyTypeEnum.APPLY_ARCTIC.getValue()); -//// sarStandItemValEO.setPropertyVal(applya); -//// itemValEOS.add(sarStandItemValEO); -//// } -//// -//// } -//// } -//// //执行批量新增操作 -//// if(addList != null && !addList.isEmpty()){ -//// for (SarStandItemsEO item:addList) { -//// sarStandItemsEODao.insertSelective(item); -//// } -//// } -//// //执行批量修改操作 -//// if(updateList != null && !updateList.isEmpty()){ -//// for (SarStandItemsEO item:updateList) { -//// sarStandItemsEODao.updateByPrimaryKeySelective(item); -//// } -//// } -//// //执行适用车型批量操作 -//// if(itemValEOS != null && !itemValEOS.isEmpty()){ -//// sarStandItemValEODao.deleteByItemsIds(delValItemIds); -//// for (SarStandItemValEO sarStandItemValEO:itemValEOS) { -//// sarStandItemValEODao.insertSelective(sarStandItemValEO); -//// } -//// } -//// } else { -//// return "关联失败,该条数据下没有拆分条款"; -//// } -//// return "关联成功"; -//// } -// -// public String getClauseBySplitId(String standNum, String fileType){ -// SarFileSplitInfoEOPage sarFileSplitInfoEOPage = new SarFileSplitInfoEOPage(); -// sarFileSplitInfoEOPage.setNumOrName(standNum); -// sarFileSplitInfoEOPage.setFileType(fileType); -// sarFileSplitInfoEOPage.setSplitStatus("2"); -// List rows = dao.queryByPageOwn(sarFileSplitInfoEOPage); -// return rows.get(0).getId(); -// } -// -// public PersonMsgEO updateNew(PersonMsgEO val) throws Exception { -// PersonMsgEO personMsgEO = personMsgEOService.selectByPrimaryKey(val.getId()); -// personMsgEO.setMsgResult(val.getMsgResult()); -// personMsgEOService.updateByPrimaryKeySelective(personMsgEO); -// if (personMsgEO.getMsgType().equals("SPLIT")){ -// PersonMsgEOPage page = new PersonMsgEOPage(); -// page.setMsgType("SPLIT"); -// page.setBusiId(personMsgEO.getBusiId()); -// page.setMsgTitle(personMsgEO.getMsgTitle()); -// List list = personMsgEOService.queryByList(page); -// for (PersonMsgEO item:list) { -// item.setMsgResult(personMsgEO.getMsgResult()); -// personMsgEOService.updateByPrimaryKeySelective(item); -// } -// SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); -// sarFileSplitInfoEO.setId(personMsgEO.getBusiId()); -// if (personMsgEO.getMsgResult().equals("0")){ -// sarFileSplitInfoEO.setSplitStatus("2"); -// }else { -// sarFileSplitInfoEO.setSplitStatus("0"); -// } -// sarFileSplitInfoEO.setModifyTime(new Date()); -// this.updateByPrimaryKeySelective(sarFileSplitInfoEO); -// if (list.size() > 0 && list.get(0).getSenderId() != null){ -// PersonMsgEO personMsgEO1 = new PersonMsgEO(); -// personMsgEO1.setUserIds(list.get(0).getSenderId()); -// personMsgEO1.setMsgTitle(list.get(0).getMsgTitle().replace("确认","")+"审核结果"); -// personMsgEO1.setMsgContent(list.get(0).getMsgTitle().replace("确认","") + (personMsgEO.getMsgResult().equals("0")?"已审核通过":"未审核通过")); -// personMsgEO1.setMsgType("TEXT"); -// personMsgEOService.saveNew(personMsgEO1); -// List emailList = new ArrayList<>(); -// UserEO userEO = userEOService.selectByPrimaryKey(list.get(0).getSenderId()); -// if(userEO!=null){ -// emailList.add(userEO.getEmail()); -// String[] array=emailList.toArray(new String[0]); -// mailUtil.sendMsg(array,personMsgEO1.getMsgContent()); -// } -// -// } -// SarFileSplitInfoEOPage sarFileSplitInfoEOPage = new SarFileSplitInfoEOPage(); -// sarFileSplitInfoEOPage.setId(personMsgEO.getBusiId()); -// sarFileSplitInfoEOPage.setSplitStatus("2"); -// List list1 =this.queryByPageOwn(sarFileSplitInfoEOPage); -// for (SarFileSplitInfoEO data:list1) { -// //根据标准号查询标准是否存在 -// String standNum=""; -// if (StringUtils.isNotEmpty(data.getStandId())) { -// standNum=data.getShowNumber(); -// } else if(StringUtils.isNotEmpty(data.getStandNumSplit())){ -// standNum=data.getStandNumSplit(); -// } -// List getList = sarStandardsInfoEOService.selectStandardsByStandnumber(standNum,null); -// SarStandardsInfoEO result = new SarStandardsInfoEO(); -// if(getList != null && getList.size()>0){ -// result = getList.get(0); -// SarStandItemsEOPage itemPage = new SarStandItemsEOPage(); -// String standId = data.getStandId(); -// itemPage.setStandId(standId); -// itemPage.setValidFlag("0"); -// itemPage.setFileType(data.getFileType()); -// List getItemsIds = sarStandItemsEODao.queryIdsByList(itemPage); -// if (getItemsIds.size()>0){ -// this.addToStandItems(data,result); -// } -// } -// } -// } -// return personMsgEO; -// } -//} diff --git a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/ReadWordTable.java b/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/ReadWordTable.java deleted file mode 100644 index 3428397fe..000000000 --- a/jero-boot/jreo-boot-split/src/main/java/com/jero/modules/utils/ReadWordTable.java +++ /dev/null @@ -1,234 +0,0 @@ -package com.jero.modules.utils; - -import org.apache.poi.xwpf.usermodel.XWPFTable; -import org.apache.poi.xwpf.usermodel.XWPFTableCell; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDecimalNumber; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr; - -import java.io.IOException; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.List; - -/** - * @Description: - * @Author: yangxuenan - * date: 2020/2/25 16:58 - */ -public class ReadWordTable { - - - /** - * 保存生成HTML时需要被忽略的单元格 - */ - private List omitCellsList = new ArrayList<>(); - - /** - * 生成忽略的单元格列表中的格式 - * - * @param row - * @param col - * @return - */ - public String generateOmitCellStr(int row, int col) { - return row + ":" + col; - } - - /** - * 获取当前单元格的colspan(列合并)的列数 - * - * @param tcPr 单元格属性 - * @return - */ - public int getColspan(CTTcPr tcPr) { - // 判断是否存在列合并 - CTDecimalNumber gridSpan = null; - if ((gridSpan = tcPr.getGridSpan()) != null) { // 合并的起始列 - // 获取合并的列数 - BigInteger num = gridSpan.getVal(); - return num.intValue(); - } else { // 其他被合并的列或正常列 - return 1; - } - } - - /** - * 获取当前单元格的rowspan(行合并)的行数 - * - * @param table 表格 - * @param row 行值 - * @param col 列值 - * @return - */ - public int getRowspan(XWPFTable table, int row, int col) { - - XWPFTableCell cell = table.getRow(row).getCell(col); - // 正常独立单元格 - if (!isContinueRow(cell) && !isRestartRow(cell)) { - return 1; - } - // 当前单元格的宽度 - int cellWidth = getCellWidth(table, row, col); - // 当前单元格距离左侧边框的距离 - int leftWidth = getLeftWidth(table, row, col); - - // 用户保存当前单元格行合并的单元格数-1(因为不包含自身) - List list = new ArrayList<>(); - getRowspan(table, row, cellWidth, leftWidth, list); - - return list.size() + 1; - } - - private void getRowspan(XWPFTable table, int row, int cellWidth, int leftWidth, - List list) { - // 已达到最后一行 - if (row + 1 >= table.getNumberOfRows()) { - return; - } - row = row + 1; - int colsNum = table.getRow(row).getTableCells().size(); - // 因为列合并单元格可能导致行合并的单元格并不在同一列,所以从头遍历列,通过属性、宽度以及距离左边框间距来判断是否是行合并 - for (int i = 0; i < colsNum; i++) { - XWPFTableCell testTable = table.getRow(row).getCell(i); - // 是否为合并单元格的中间行(包括结尾行) - if (isContinueRow(testTable)) { - // 是被上一行单元格合并的单元格 - if (getCellWidth(table, row, i) == cellWidth - && getLeftWidth(table, row, i) == leftWidth) { - list.add(true); - // 被合并的单元格在生成html时需要忽略 - addOmitCell(row, i); - // 去下一行继续查找 - getRowspan(table, row, cellWidth, leftWidth, list); - break; - } - } - } - } - - /** - * 判断是否是合并行的起始行单元格 - * - * @param tableCell - * @return - */ - public boolean isRestartRow(XWPFTableCell tableCell) { - CTTcPr tcPr = tableCell.getCTTc().getTcPr(); - if (tcPr.getVMerge() == null) { - return false; - } - if (tcPr.getVMerge().getVal() == null) { - return false; - } - if (tcPr.getVMerge().getVal().toString().equalsIgnoreCase("restart")) { - return true; - } - return false; - } - - /** - * 判断是否是合并行的中间行单元格(包括结尾的最后一行的单元格) - * - * @param tableCell - * @return - */ - public boolean isContinueRow(XWPFTableCell tableCell) { - CTTcPr tcPr = tableCell.getCTTc().getTcPr(); - if (tcPr.getVMerge() == null) { - return false; - } - if (tcPr.getVMerge().getVal() == null) { - return true; - } - return false; - } - - public int getLeftWidth(XWPFTable table, int row, int col) { - int leftWidth = 0; - for (int i = 0; i < col; i++) { - leftWidth += getCellWidth(table, row, i); - } - return leftWidth; - } - - public int getCellWidth(XWPFTable table, int row, int col) { - BigInteger width = table.getRow(row).getCell(col).getCTTc().getTcPr().getTcW().getW(); - return width.intValue(); - } - - /** - * 添加忽略的单元格(被行合并的单元格,生成HTML时需要忽略) - * - * @param row - * @param col - */ - public void addOmitCell(int row, int col) { - String omitCellStr = generateOmitCellStr(row, col); - omitCellsList.add(omitCellStr); - } - - public boolean isOmitCell(int row, int col) { - String cellStr = generateOmitCellStr(row, col); - return omitCellsList.contains(cellStr); - } - - public String readTable(XWPFTable table) throws IOException { - // 表格行数 - int tableRowsSize = table.getRows().size(); - StringBuilder tableToHtmlStr = new StringBuilder(""); - - for (int i = 0; i < tableRowsSize; i++) { - tableToHtmlStr.append(""); - int tableCellsSize = table.getRow(i).getTableCells().size(); - for (int j = 0; j < tableCellsSize; j++) { - if (isOmitCell(i, j)) { - continue; - } - XWPFTableCell tableCell = table.getRow(i).getCell(j); - // 获取单元格的属性 - CTTcPr tcPr = tableCell.getCTTc().getTcPr(); - int colspan = getColspan(tcPr); - if (colspan > 1) { // 合并的列 - tableToHtmlStr.append(""); - - } - tableToHtmlStr.append(""); - } - tableToHtmlStr.append("
    1) { // 合并的行 - tableToHtmlStr.append(" rowspan='" + rowspan + "'>"); - } else { - tableToHtmlStr.append(">"); - } - String text = tableCell.getText(); - tableToHtmlStr.append(text + "
    "); - - clearTableInfo(); - - return tableToHtmlStr.toString(); - } - - public void clearTableInfo() { - // System.out.println(omitCellsList); - omitCellsList.clear(); - } - -// public static void main(String[] args) { -// ReadWordTable readWordTable = new com.adc.da.lawss.common.ReadWordTable(); -// -// try (FileInputStream fileInputStream = new FileInputStream("E:\\下载\\table1.docx"); -// XWPFDocument document = new XWPFDocument(fileInputStream);) { -// List tables = document.getTables(); -// for (XWPFTable table : tables) { -// System.out.println(readWordTable.readTable(table)); -// } -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -} diff --git a/jero-boot/pom.xml b/jero-boot/pom.xml index f58f4a3c7..833268f92 100644 --- a/jero-boot/pom.xml +++ b/jero-boot/pom.xml @@ -54,7 +54,6 @@ jero-boot-single-startup jero-boot-modules - jreo-boot-split jero-boot-center