标准拆分,拆分之后分解单里也有数据
This commit is contained in:
+3
@@ -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<SarFileSplitItemsEO>
|
||||
|
||||
int insertForeach(List<SarFileSplitItemsEO> list);
|
||||
|
||||
int insertStandSplitForeach(@Param(value = "list") List<SarStandItems> list);
|
||||
|
||||
int deleteByIds(SarFileSplitItemsEO sarFileSplitItemsEO);
|
||||
|
||||
int deleteByItemsIds(SarFileSplitItemsEO sarFileSplitItemsEO);
|
||||
|
||||
+63
-37
@@ -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<SarStandItems> 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<nowStart.size();i++){
|
||||
@@ -326,6 +333,24 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
||||
sarFileSplitMenuEODao.insertForeach(treeList);
|
||||
sarFileSplitItemsEODao.insertForeach(messageList);
|
||||
sarFileSplitItemsValEODao.insertForeach(itemValList);
|
||||
|
||||
|
||||
//用来往标准分解单插入数据
|
||||
messageList.forEach(item -> {
|
||||
//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<SarFileSplitItemsValEO> itemsValList,XWPFParagraph p,List<String> imageBundleList) {
|
||||
private void addItermsConditionsImage(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> itemsValList, XWPFParagraph p, List<String> 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 = "<img class=\'wordImg\' src=\'" + path + "\'>";
|
||||
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<SarFileSplitItemsTableEO> tableList) {
|
||||
private SarFileSplitItemsValEO getSplitItemsValObject(String itemId, String type, String itemContent, int disPlaySql, List<SarFileSplitItemsTableEO> 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<SarFileSplitItemsValEO> itemsValList,String p) {
|
||||
private void addItermsConditionsText(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> itemsValList, String p) {
|
||||
message.getItemsCondi().add(p);
|
||||
message.setItermsConditions(message.getItermsConditions() + "<p>"+p+ "<p>");
|
||||
message.setItermsConditions(message.getItermsConditions() + "<p>" + p + "<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<SarFileSplitMenuEO> 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<SarFileSplitMenuEO> 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<String> getNewNowStart(String nowStart){
|
||||
private List<String> getNewNowStart(String nowStart) {
|
||||
List<String> nowStartList = new ArrayList<>();
|
||||
List<String> nowResultStartList = new ArrayList<>();
|
||||
String[] numberStr = nowStart.split("\\.");
|
||||
String startnumber = "";
|
||||
for(int i=0;i<numberStr.length;i++) {
|
||||
if (i==0) {
|
||||
for (int i = 0; i < numberStr.length; i++) {
|
||||
if (i == 0) {
|
||||
startnumber = "";
|
||||
} else if (i==1) {
|
||||
} else if (i == 1) {
|
||||
startnumber = numberStr[0];
|
||||
} else {
|
||||
startnumber = startnumber +"." +numberStr[i-1];
|
||||
startnumber = startnumber + "." + numberStr[i - 1];
|
||||
}
|
||||
Integer lastnumber = Integer.valueOf(numberStr[i])+1;
|
||||
nowResultStartList.add((startnumber.equals("")?"":(startnumber+".")) + lastnumber);
|
||||
Integer lastnumber = Integer.valueOf(numberStr[i]) + 1;
|
||||
nowResultStartList.add((startnumber.equals("") ? "" : (startnumber + ".")) + lastnumber);
|
||||
}
|
||||
nowResultStartList.add(nowStart+".1");
|
||||
nowResultStartList.add(nowStart + ".1");
|
||||
return nowResultStartList;
|
||||
}
|
||||
|
||||
private void addItermsConditionsOfTable(SarFileSplitItemsEO message,List<SarFileSplitItemsValEO> itemsValList,XWPFTable table) throws IOException {
|
||||
private void addItermsConditionsOfTable(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> 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<SarFileSplitInfoEO> queryByPageOwn(SarFileSplitInfoEOPage page){
|
||||
public List<SarFileSplitInfoEO> queryByPageOwn(SarFileSplitInfoEOPage page) {
|
||||
int rowCount = sarFileSplitInfoEODao.queryByCountOwn(page);
|
||||
page.getPager().setRowCount(rowCount);
|
||||
List<SarFileSplitInfoEO> rows = sarFileSplitInfoEODao.queryByPageOwn(page);
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("CA","草稿");
|
||||
map.put("ZQYJG","征求意见稿");
|
||||
map.put("BPG","报批稿");
|
||||
map.put("SSG","送审稿");
|
||||
map.put("FBGBJBD","发布稿(必读)");
|
||||
Map<String, String> 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();
|
||||
|
||||
Reference in New Issue
Block a user