From 23365ffa1676909cfe2e4f2cc0f881d88b878fe1 Mon Sep 17 00:00:00 2001 From: yanyizhou <2311759275@qq.com> Date: Fri, 20 Aug 2021 21:50:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E5=87=86=E6=8B=86=E5=88=86=EF=BC=8C?= =?UTF-8?q?=E6=8B=86=E5=88=86=E4=B9=8B=E5=90=8E=E5=88=86=E8=A7=A3=E5=8D=95?= =?UTF-8?q?=E9=87=8C=E4=B9=9F=E6=9C=89=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/SarFileSplitItemsEODao.java | 3 + .../impl/SarFileSplitInfoEOServiceImpl.java | 100 +++++++++++------- .../SarFileSplitItemsEOMapper.xml | 14 +++ 3 files changed, 80 insertions(+), 37 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java index 2d6c75cb..71442b26 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.standardSplit.dao; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.standardSplit.dto.FileSplitItemsExportDto; import com.adc.da.slrs.standardSplit.entity.SarFileSplitItemsEO; import com.adc.da.slrs.standardSplit.entity.SarFileSplitItemsEOPage; @@ -21,6 +22,8 @@ public interface SarFileSplitItemsEODao extends BaseMapper int insertForeach(List list); + int insertStandSplitForeach(@Param(value = "list") List list); + int deleteByIds(SarFileSplitItemsEO sarFileSplitItemsEO); int deleteByItemsIds(SarFileSplitItemsEO sarFileSplitItemsEO); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java index 9b0b7dc6..fa1d0986 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java @@ -2,6 +2,7 @@ package com.adc.da.slrs.standardSplit.service.impl; import com.adc.da.att.service.IAttFileEOService; import com.adc.da.person.entity.PersonMsgEO; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.standardSplit.dao.*; import com.adc.da.slrs.standardSplit.service.SarLawsInfoEOService; import com.adc.da.att.entity.AttFileEO; @@ -31,10 +32,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.adc.da.common.SplitFilePragraTypeEnum; + import java.io.*; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; + import com.adc.da.person.dao.PersonShareEODao; import com.adc.da.person.dao.PersonCollectEODao; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -105,7 +108,12 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService @Override @Transactional - public int fileAplit(SarFileSplitInfoEO sarFileSplitInfoEO){ + public int fileAplit(SarFileSplitInfoEO sarFileSplitInfoEO) { + + //用来往标准分解单里添加数据 + List standList = new ArrayList<>(); + + // 拆分文件主表中插入数据 sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); sarFileSplitInfoEO.setValidFlag(0); @@ -244,8 +252,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); } } - } - else if (messageNumber>=3){ + } else if (messageNumber >= 3) { ptest = Pattern.compile("^[\\d.]*$"); boolean hasGoIf = false; for (int i=0;i { + //new一个对象 + SarStandItems standItems1 = new SarStandItems(); + //standItems1里的这个值为messageList里的ItermsConditions + standItems1.setId(UUIDUtils.randomUUID20()) + .setFileType(sarFileSplitInfoEO.getFileType()) + .setStandId(sarFileSplitInfoEO.getStandId()) + .setItemsNum(item.getItemsNum()) + .setItemsName(item.getItemsName()) + .setTermsConditions(item.getItermsConditions()); + standList.add(standItems1); + }); + sarFileSplitItemsEODao.insertStandSplitForeach(standList); + + } else { return -1; } @@ -368,7 +393,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService if (o instanceof CTDrawing) { CTDrawing drawing = (CTDrawing) o; CTInline[] ctInlines = drawing.getInlineArray(); - CTAnchor[] ctAnchors = drawing.getAnchorArray(); + CTAnchor[] ctAnchors = drawing.getAnchorArray(); for (CTInline ctInline : ctInlines) { CTGraphicalObject graphic = ctInline.getGraphic(); // @@ -398,7 +423,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } } } - } else if (o instanceof CTLevelText){ + } else if (o instanceof CTLevelText) { logger.info(((CTLevelText) o).getVal()); } } @@ -407,14 +432,14 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } // 像每个条款中依次插入每一段的内容 - private void addItermsConditionsImage(SarFileSplitItemsEO message,List itemsValList,XWPFParagraph p,List imageBundleList) { + 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()){ + if (!file1.exists()) { file1.mkdirs(); } String filepathandname = filePath + "/img/" + imageName; @@ -425,14 +450,14 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService String imgCon = ""; message.getItemsCondi().add(imgCon); message.setItermsConditions(message.getItermsConditions() + imgCon); - itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.IMG.getValue(),imgCon,message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.IMG.getValue(), imgCon, message.getItemsCondi().size(), null)); } catch (IOException e) { e.printStackTrace(); } } } - private SarFileSplitItemsValEO getSplitItemsValObject (String itemId,String type,String itemContent,int disPlaySql,List tableList) { + private SarFileSplitItemsValEO getSplitItemsValObject(String itemId, String type, String itemContent, int disPlaySql, List tableList) { SarFileSplitItemsValEO sarFileSplitItemsValEO = new SarFileSplitItemsValEO(); sarFileSplitItemsValEO.setId(UUIDUtils.randomUUID20()); sarFileSplitItemsValEO.setValidFlag(0); @@ -444,13 +469,13 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService sarFileSplitItemsValEO.setType(type); sarFileSplitItemsValEO.setDisplaySeq(disPlaySql); sarFileSplitItemsValEO.setItemContent(itemContent); - return sarFileSplitItemsValEO; + return sarFileSplitItemsValEO; } // 像每个条款中依次插入每一段的内容 - private void addItermsConditionsText(SarFileSplitItemsEO message,List itemsValList,String p) { + private void addItermsConditionsText(SarFileSplitItemsEO message, List itemsValList, String p) { message.getItemsCondi().add(p); - message.setItermsConditions(message.getItermsConditions() + "

"+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*"); @@ -473,51 +498,52 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService // message.setReferenceStand(matcher.group()); // } // } - itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TEXT.getValue(),p,message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TEXT.getValue(), p, message.getItemsCondi().size(), null)); } - private SarFileSplitMenuEO getTreeList(String name, List treeList,String generalCatalogueId,SarFileSplitInfoEO sarFileSplitInfoEO ,Long treeListDisplay,String itemName){ - SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),name,sarFileSplitInfoEO.getId(),treeListDisplay,itemName); + private SarFileSplitMenuEO getTreeList(String name, List 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) { + if (name.indexOf(".") >= 0) { for (SarFileSplitMenuEO forDocumentTree : treeList) { if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) { documentTreeEO.setPId(forDocumentTree.getId()); break; } } - }else { + } else { documentTreeEO.setPId(generalCatalogueId); } - return documentTreeEO; + return documentTreeEO; } /** * 通过传递过来的编号,得出下次可能出现的编号 + * * @param nowStart * @return */ - private List getNewNowStart(String nowStart){ + private List getNewNowStart(String nowStart) { List nowStartList = new ArrayList<>(); List nowResultStartList = new ArrayList<>(); String[] numberStr = nowStart.split("\\."); String startnumber = ""; - for(int i=0;i itemsValList,XWPFTable table) throws IOException { + private void addItermsConditionsOfTable(SarFileSplitItemsEO message, List itemsValList, XWPFTable table) throws IOException { StringBuilder tabaleStringNew = new StringBuilder(""); //将表格转为html字符串 ReadWordTable readWordTable = new ReadWordTable(); @@ -525,25 +551,25 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService 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)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TABLE.getValue(), tabaleStringNew.toString(), message.getItemsCondi().size(), null)); } @Override - public List queryByPageOwn(SarFileSplitInfoEOPage page){ + public List queryByPageOwn(SarFileSplitInfoEOPage page) { int rowCount = sarFileSplitInfoEODao.queryByCountOwn(page); page.getPager().setRowCount(rowCount); List rows = sarFileSplitInfoEODao.queryByPageOwn(page); - Map map = new HashMap<>(); - map.put("CA","草稿"); - map.put("ZQYJG","征求意见稿"); - map.put("BPG","报批稿"); - map.put("SSG","送审稿"); - map.put("FBGBJBD","发布稿(必读)"); + Map map = new HashMap<>(); + map.put("CA", "草稿"); + map.put("ZQYJG", "征求意见稿"); + map.put("BPG", "报批稿"); + map.put("SSG", "送审稿"); + map.put("FBGBJBD", "发布稿(必读)"); if (rows != null && !rows.isEmpty()) { for (SarFileSplitInfoEO infoEO : rows) { - infoEO.setFileTypeShow(String.valueOf(map.get(infoEO.getFileType()))); + infoEO.setFileTypeShow(String.valueOf(map.get(infoEO.getFileType()))); // if (!infoEO.getSplitStatus().equals("0") && infoEO.getShowNumber() == null){ // SarLawsInfoEOPage sarLawsInfoEOPage = new SarLawsInfoEOPage(); // sarLawsInfoEOPage.setId(infoEO.getStandId()); @@ -571,7 +597,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } @Override - public int deleteByIds(String ids){ + public int deleteByIds(String ids) { String[] infoIds = ids.split(","); // 删除info表数据 SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml index c63d3936..b44506a8 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml @@ -471,6 +471,20 @@ + + + insert into SAR_STAND_ITEMS + (id, STAND_ID, items_num, items_name, TERMS_CONDITIONS,FILE_TYPE) + values + + ( + #{item.id, jdbcType=VARCHAR}, #{item.standId, jdbcType=VARCHAR}, #{item.itemsNum, jdbcType=VARCHAR}, + #{item.itemsName, jdbcType=VARCHAR}, #{item.termsConditions, jdbcType=CLOB}, + #{item.fileType, jdbcType=VARCHAR} + ) + + + delete from SAR_FILE_SPLIT_ITEMS where info_id in