|
@@ -13,9 +13,9 @@ import com.dayou.bo.CRReportFillBO;
|
|
|
import com.dayou.bo.EqptReportFillBO;
|
|
|
import com.dayou.config.FileNetConfig;
|
|
|
import com.dayou.dto.report.ReportBaseInfoDTO;
|
|
|
-import com.dayou.dto.report.cr.CRReportBaseInfoDTO;
|
|
|
-import com.dayou.dto.report.cr.DebtorInfoStrDTO;
|
|
|
-import com.dayou.dto.report.cr.GuarantorInfoStr;
|
|
|
+import com.dayou.dto.report.cr.CRReportBaseInfoBO;
|
|
|
+import com.dayou.dto.report.cr.DebtorInfoStrBO;
|
|
|
+import com.dayou.dto.report.cr.GuarantorInfoStrBO;
|
|
|
import com.dayou.dto.report.equipment.EqptReportBaseInfoDTO;
|
|
|
import com.dayou.entity.AssetsReport;
|
|
|
import com.dayou.entity.DocumentProduction;
|
|
@@ -43,6 +43,7 @@ import java.nio.file.Paths;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -409,22 +410,22 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
// 获取与设置基础报告信息
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
CRReportFillBO crReportFillBO = assetsReportMapper.getCRReportFillBO(reportId);
|
|
|
- CRReportBaseInfoDTO crReportBaseInfoDTO = objectMapper.readValue(getReportBaseInfo(reportId), CRReportBaseInfoDTO.class);
|
|
|
+ CRReportBaseInfoBO crReportBaseInfoBO = objectMapper.readValue(getReportBaseInfo(reportId), CRReportBaseInfoBO.class);
|
|
|
// 获取测算表
|
|
|
DocumentProduction calculateDoc = documentProductionService.getDocProdByBusinessId(crReportFillBO.getProjectId(), crReportFillBO.getCalculateId());
|
|
|
// 读取债务人信息
|
|
|
- List<DebtorInfoStrDTO> debtorInfoStrList = new ArrayList<>();
|
|
|
+ List<DebtorInfoStrBO> debtorInfoStrList = new ArrayList<>();
|
|
|
ExcelReader calculateReader = EasyExcel.read(fileNetConfig.getBaseDir() + calculateDoc.getDocUrl()).build();
|
|
|
- ReadSheet readDebtor = EasyExcel.readSheet("2.债务人分析明细表").head(DebtorInfoStrDTO.class).registerReadListener(new PageReadListener<DebtorInfoStrDTO>(debtorInfoStrList::addAll)).headRowNumber(4).build();
|
|
|
+ ReadSheet readDebtor = EasyExcel.readSheet("2.债务人分析明细表").head(DebtorInfoStrBO.class).registerReadListener(new PageReadListener<DebtorInfoStrBO>(debtorInfoStrList::addAll)).headRowNumber(4).build();
|
|
|
calculateReader.read(readDebtor);
|
|
|
// 去掉空的数据(excel表中因为有合计行等等,所以可能读出来空行)
|
|
|
debtorInfoStrList = debtorInfoStrList.stream()
|
|
|
.filter(obj -> obj.getInfoStr() != null)
|
|
|
.collect(Collectors.toList());
|
|
|
// 处理债务人信息
|
|
|
- List<CRReportBaseInfoDTO.DebtorInfo> debtorInfoList = new ArrayList<>();
|
|
|
- for (DebtorInfoStrDTO infoStr : debtorInfoStrList) {
|
|
|
- CRReportBaseInfoDTO.DebtorInfo debtorInfo = new CRReportBaseInfoDTO.DebtorInfo();
|
|
|
+ List<CRReportBaseInfoBO.DebtorInfo> debtorInfoList = new ArrayList<>();
|
|
|
+ for (DebtorInfoStrBO infoStr : debtorInfoStrList) {
|
|
|
+ CRReportBaseInfoBO.DebtorInfo debtorInfo = new CRReportBaseInfoBO.DebtorInfo();
|
|
|
String debtorStr = infoStr.getInfoStr();
|
|
|
debtorInfo.setDebtorName(debtorStr.substring(debtorStr.indexOf("公司名称:") + "公司名称:".length(), debtorStr.indexOf("\n")));
|
|
|
debtorStr = debtorStr.replaceFirst("\n", "");
|
|
@@ -446,25 +447,25 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
// 设置债务人信息
|
|
|
debtorInfoList.add(debtorInfo);
|
|
|
}
|
|
|
- crReportBaseInfoDTO.setDebtorInfoList(debtorInfoList);
|
|
|
+ crReportBaseInfoBO.setDebtorInfoList(debtorInfoList);
|
|
|
|
|
|
- // 读取债务人信息
|
|
|
- List<GuarantorInfoStr> guarantorInfoStrList = new ArrayList<>();
|
|
|
- ReadSheet readGuarantor = EasyExcel.readSheet("3.保证人分析明细表").head(GuarantorInfoStr.class).registerReadListener(new PageReadListener<GuarantorInfoStr>(guarantorInfoStrList::addAll)).headRowNumber(4).build();
|
|
|
+ // 读取保证人信息
|
|
|
+ List<GuarantorInfoStrBO> guarantorInfoStrBOList = new ArrayList<>();
|
|
|
+ ReadSheet readGuarantor = EasyExcel.readSheet("3.保证人分析明细表").head(GuarantorInfoStrBO.class).registerReadListener(new PageReadListener<GuarantorInfoStrBO>(guarantorInfoStrBOList::addAll)).headRowNumber(4).build();
|
|
|
calculateReader.read(readGuarantor);
|
|
|
// 去掉空的数据(excel表中因为有合计行等等,所以可能读出来空行)
|
|
|
- guarantorInfoStrList = guarantorInfoStrList.stream()
|
|
|
+ guarantorInfoStrBOList = guarantorInfoStrBOList.stream()
|
|
|
.filter(obj -> obj.getInfoStr() != null)
|
|
|
.collect(Collectors.toList());
|
|
|
// 处理保证人信息
|
|
|
- List<CRReportBaseInfoDTO.PersonGuarantor> personGuarantorList = new ArrayList<>();
|
|
|
- List<CRReportBaseInfoDTO.EnterpriseGuarantor> enterpriseGuarantorList = new ArrayList<>();
|
|
|
- for (GuarantorInfoStr infoStr : guarantorInfoStrList) {
|
|
|
+ List<CRReportBaseInfoBO.PersonGuarantor> personGuarantorList = new ArrayList<>();
|
|
|
+ List<CRReportBaseInfoBO.EnterpriseGuarantor> enterpriseGuarantorList = new ArrayList<>();
|
|
|
+ for (GuarantorInfoStrBO infoStr : guarantorInfoStrBOList) {
|
|
|
if (ObjectUtil.isNull(infoStr.getGuarantorType())) {
|
|
|
throw new BusinessException("债权测算表_3.保证人分析明细表_保证人类型有为空的行,请检查后并重新上传后再试!");
|
|
|
}
|
|
|
if (infoStr.getGuarantorType().equals("企业")) {
|
|
|
- CRReportBaseInfoDTO.EnterpriseGuarantor enterpriseGuarantor = new CRReportBaseInfoDTO.EnterpriseGuarantor();
|
|
|
+ CRReportBaseInfoBO.EnterpriseGuarantor enterpriseGuarantor = new CRReportBaseInfoBO.EnterpriseGuarantor();
|
|
|
String guarantorStr = infoStr.getInfoStr();
|
|
|
enterpriseGuarantor.setGuarantorName(guarantorStr.substring(guarantorStr.indexOf("公司名称:") + "公司名称:".length(), guarantorStr.indexOf("\n")));
|
|
|
guarantorStr = guarantorStr.replaceFirst("\n", "");
|
|
@@ -486,7 +487,7 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
// 设置保证人信息
|
|
|
enterpriseGuarantorList.add(enterpriseGuarantor);
|
|
|
} else if (infoStr.getGuarantorType().equals("自然人")) {
|
|
|
- CRReportBaseInfoDTO.PersonGuarantor personGuarantor = new CRReportBaseInfoDTO.PersonGuarantor();
|
|
|
+ CRReportBaseInfoBO.PersonGuarantor personGuarantor = new CRReportBaseInfoBO.PersonGuarantor();
|
|
|
String guarantorStr = infoStr.getInfoStr();
|
|
|
personGuarantor.setGuarantorName(guarantorStr.substring(guarantorStr.indexOf("姓名:") + "姓名:".length(), guarantorStr.indexOf("\n")));
|
|
|
guarantorStr = guarantorStr.replaceFirst("\n", "");
|
|
@@ -500,10 +501,36 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
personGuarantorList.add(personGuarantor);
|
|
|
}
|
|
|
}
|
|
|
- crReportBaseInfoDTO.setPersonGuarantorList(personGuarantorList);
|
|
|
- crReportBaseInfoDTO.setEnterpriseGuarantorList(enterpriseGuarantorList);
|
|
|
+ crReportBaseInfoBO.setPersonGuarantorList(personGuarantorList);
|
|
|
+ crReportBaseInfoBO.setEnterpriseGuarantorList(enterpriseGuarantorList);
|
|
|
+
|
|
|
+ // 读取资产情况
|
|
|
+ List<CRReportBaseInfoBO.Asset> assetList = new ArrayList<>();
|
|
|
+ ReadSheet readAsset = EasyExcel.readSheet("资产情况").head(CRReportBaseInfoBO.Asset.class).registerReadListener(new PageReadListener<CRReportBaseInfoBO.Asset>(assetList::addAll)).build();
|
|
|
+ calculateReader.read(readAsset);
|
|
|
+ // 从债务人和保证人分析表中获取当前状态并设置到资产信息中
|
|
|
+ for (CRReportBaseInfoBO.Asset asset : assetList) {
|
|
|
+ if (asset.getType().equals("债务人")) {
|
|
|
+ Optional<DebtorInfoStrBO> optionalDebtorInfoStrBO = debtorInfoStrList.stream()
|
|
|
+ .filter(obj -> obj.getName().equals(asset.getName()))
|
|
|
+ .findFirst();
|
|
|
+ optionalDebtorInfoStrBO.ifPresent(bo -> asset.setStatus(bo.getStatusStr()));
|
|
|
+ } else if (asset.getType().equals("保证人")) {
|
|
|
+ Optional<GuarantorInfoStrBO> optionalGuarantorInfoStrBO = guarantorInfoStrBOList.stream()
|
|
|
+ .filter(obj -> obj.getName().equals(asset.getName()))
|
|
|
+ .findFirst();
|
|
|
+ optionalGuarantorInfoStrBO.ifPresent(bo -> asset.setStatus(bo.getStatusStr()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ crReportBaseInfoBO.setAssetList(assetList);
|
|
|
|
|
|
- crReportFillBO.setReportBaseInfo(crReportBaseInfoDTO);
|
|
|
+ // 读取诉讼情况
|
|
|
+ List<CRReportBaseInfoBO.Lawsuit> lawsuitList = new ArrayList<>();
|
|
|
+ ReadSheet readLawsuit = EasyExcel.readSheet("诉讼情况").head(CRReportBaseInfoBO.Lawsuit.class).registerReadListener(new PageReadListener<CRReportBaseInfoBO.Lawsuit>(lawsuitList::addAll)).build();
|
|
|
+ calculateReader.read(readLawsuit);
|
|
|
+ crReportBaseInfoBO.setLawsuitList(lawsuitList);
|
|
|
+
|
|
|
+ crReportFillBO.setReportBaseInfo(crReportBaseInfoBO);
|
|
|
|
|
|
// 将评估报告日转换为中文并设置到中文评估报告日中
|
|
|
crReportFillBO.setChineseReportDate(DateToChinese.dateStrConvertChinese(crReportFillBO.getReportBaseInfo().getReportDate()));
|
|
@@ -539,6 +566,13 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
crReportFillBO.setCompositeRecoveryRatio(String.valueOf(compositeRecoveryRatioDouble * 100));
|
|
|
}
|
|
|
|
|
|
+ // 读取汇总万元表
|
|
|
+ List<CRReportFillBO.Consolidated> consolidatedList = new ArrayList<>();
|
|
|
+ ReadSheet readConsolidated = EasyExcel.readSheet("汇总万元表").head(CRReportFillBO.Consolidated.class).registerReadListener(new PageReadListener<CRReportFillBO.Consolidated>(consolidatedList::addAll)).headRowNumber(4).build();
|
|
|
+ calculateReader.read(readConsolidated);
|
|
|
+ consolidatedList.remove(consolidatedList.size() - 1);
|
|
|
+ crReportFillBO.setConsolidatedList(consolidatedList);
|
|
|
+
|
|
|
// 第一步:设置封面
|
|
|
// 获取封面模板
|
|
|
TmplAssetReportSection coverTmpl = reportSectionMapper.getTmplByCode(ANALYSIS_COVER.getCode());
|
|
@@ -584,7 +618,7 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
String debtorTmplPath = fileNetConfig.getBaseDir() + debtorTmpl.getSectionFileUrl() + debtorTmpl.getSectionFileName();
|
|
|
// 插入时会导致先插入的排在后插入的后面,所以把顺序反转一下
|
|
|
for (int i = crReportFillBO.getReportBaseInfo().getDebtorInfoList().size(); i > 0; i--) {
|
|
|
- CRReportBaseInfoDTO.DebtorInfo debtorInfo = crReportFillBO.getReportBaseInfo().getDebtorInfoList().get(i - 1);
|
|
|
+ CRReportBaseInfoBO.DebtorInfo debtorInfo = crReportFillBO.getReportBaseInfo().getDebtorInfoList().get(i - 1);
|
|
|
debtorInfo.setSort(i);
|
|
|
// 读取模板文件
|
|
|
byte[] debtorTmplByte = Files.readAllBytes(Paths.get(debtorTmplPath));
|
|
@@ -603,7 +637,7 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
// 插入时会导致先插入的排在后插入的后面,所以把顺序反转一下
|
|
|
int enterpriseCount = crReportFillBO.getReportBaseInfo().getEnterpriseGuarantorList().size();
|
|
|
for (int i = enterpriseCount; i > 0; i--) {
|
|
|
- CRReportBaseInfoDTO.EnterpriseGuarantor enterpriseGuarantor = crReportFillBO.getReportBaseInfo().getEnterpriseGuarantorList().get(i - 1);
|
|
|
+ CRReportBaseInfoBO.EnterpriseGuarantor enterpriseGuarantor = crReportFillBO.getReportBaseInfo().getEnterpriseGuarantorList().get(i - 1);
|
|
|
enterpriseGuarantor.setSort(i);
|
|
|
// 读取模板文件
|
|
|
byte[] enterpriseGuarantorTmplByte = Files.readAllBytes(Paths.get(enterpriseGuarantorTmplPath));
|
|
@@ -618,8 +652,8 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
// 自然人保证人信息模板文件位置
|
|
|
String personGuarantorTmplPath = fileNetConfig.getBaseDir() + personGuarantorTmpl.getSectionFileUrl() + personGuarantorTmpl.getSectionFileName();
|
|
|
// 插入时会导致先插入的排在后插入的后面,所以把顺序反转一下(企业和自然人用同一个序号排序)
|
|
|
- for (int i = crReportFillBO.getReportBaseInfo().getEnterpriseGuarantorList().size() + enterpriseCount; i > enterpriseCount; i--) {
|
|
|
- CRReportBaseInfoDTO.PersonGuarantor personGuarantor = crReportFillBO.getReportBaseInfo().getPersonGuarantorList().get(enterpriseCount - 1);
|
|
|
+ for (int i = crReportFillBO.getReportBaseInfo().getPersonGuarantorList().size() + enterpriseCount; i > enterpriseCount; i--) {
|
|
|
+ CRReportBaseInfoBO.PersonGuarantor personGuarantor = crReportFillBO.getReportBaseInfo().getPersonGuarantorList().get(i - enterpriseCount - 1);
|
|
|
personGuarantor.setSort(i);
|
|
|
// 读取模板文件
|
|
|
byte[] personGuarantorTmplByte = Files.readAllBytes(Paths.get(personGuarantorTmplPath));
|
|
@@ -630,6 +664,69 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
personGuarantorIs.close();
|
|
|
}
|
|
|
|
|
|
+ // 设置资产情况
|
|
|
+ TmplAssetReportSection debtorAssetTmpl = reportSectionMapper.getTmplByCode(ANALYSIS_DEBTOR_ASSET.getCode());
|
|
|
+ TmplAssetReportSection guarantorAssetTmpl = reportSectionMapper.getTmplByCode(ANALYSIS_GUARANTOR_ASSET.getCode());
|
|
|
+ String debtorAssetTmplPath = fileNetConfig.getBaseDir() + debtorAssetTmpl.getSectionFileUrl() + debtorAssetTmpl.getSectionFileName();
|
|
|
+ String guarantorAssetTmplPath = fileNetConfig.getBaseDir() + guarantorAssetTmpl.getSectionFileUrl() + guarantorAssetTmpl.getSectionFileName();
|
|
|
+ int guarantorAssetSort = crReportFillBO.getReportBaseInfo().getPersonGuarantorList().size() + enterpriseCount;
|
|
|
+ for (int i = crReportFillBO.getReportBaseInfo().getAssetList().size(); i > 0; i--) {
|
|
|
+ CRReportBaseInfoBO.Asset asset = crReportFillBO.getReportBaseInfo().getAssetList().get(i - 1);
|
|
|
+ if (asset.getType().equals("债务人")) {
|
|
|
+ // 读取模板文件
|
|
|
+ byte[] debtorAssetTmplByte = Files.readAllBytes(Paths.get(debtorAssetTmplPath));
|
|
|
+ // 获取填充数据后的文件
|
|
|
+ byte[] resultDebtorAssetByte = AsposeWordUtil.fillWordDataByDomain(debtorAssetTmplByte, asset);
|
|
|
+ InputStream debtorAssetIs = new ByteArrayInputStream(resultDebtorAssetByte);
|
|
|
+ detailDoc = AsposeWordUtil.insertDocumentAfterBookMark(detailDoc, new Document(debtorAssetIs), "insertDebtorAsset", false, false);
|
|
|
+ debtorAssetIs.close();
|
|
|
+ } else if (asset.getType().equals("保证人")) {
|
|
|
+ asset.setSort(guarantorAssetSort);
|
|
|
+ // 读取模板文件
|
|
|
+ byte[] guarantorAssetTmplByte = Files.readAllBytes(Paths.get(guarantorAssetTmplPath));
|
|
|
+ // 获取填充数据后的文件
|
|
|
+ byte[] resultGuarantorAssetByte = AsposeWordUtil.fillWordDataByDomain(guarantorAssetTmplByte, asset);
|
|
|
+ InputStream guarantorAssetIs = new ByteArrayInputStream(resultGuarantorAssetByte);
|
|
|
+ detailDoc = AsposeWordUtil.insertDocumentAfterBookMark(detailDoc, new Document(guarantorAssetIs), "insertGuarantorAsset", false, false);
|
|
|
+ guarantorAssetIs.close();
|
|
|
+ guarantorAssetSort--;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取诉讼情况信息模板
|
|
|
+ TmplAssetReportSection lawsuitTmpl = reportSectionMapper.getTmplByCode(ANALYSIS_LAWSUIT.getCode());
|
|
|
+ // 诉讼情况信息模板文件位置
|
|
|
+ String lawsuitTmplPath = fileNetConfig.getBaseDir() + lawsuitTmpl.getSectionFileUrl() + lawsuitTmpl.getSectionFileName();
|
|
|
+ // 插入时会导致先插入的排在后插入的后面,所以把顺序反转一下(企业和自然人用同一个序号排序)
|
|
|
+ for (int i = crReportFillBO.getReportBaseInfo().getLawsuitList().size(); i > 0; i--) {
|
|
|
+ CRReportBaseInfoBO.Lawsuit lawsuit = crReportFillBO.getReportBaseInfo().getLawsuitList().get(i - 1);
|
|
|
+ lawsuit.setSort(i);
|
|
|
+ // 读取模板文件
|
|
|
+ byte[] lawsuitTmplByte = Files.readAllBytes(Paths.get(lawsuitTmplPath));
|
|
|
+ // 获取填充数据后的文件
|
|
|
+ byte[] resultLawsuitByte = AsposeWordUtil.fillWordDataByDomain(lawsuitTmplByte, lawsuit);
|
|
|
+ InputStream lawsuitIs = new ByteArrayInputStream(resultLawsuitByte);
|
|
|
+ detailDoc = AsposeWordUtil.insertDocumentAfterBookMark(detailDoc, new Document(lawsuitIs), "insertLawsuit", false, false);
|
|
|
+ lawsuitIs.close();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取诉讼情况信息模板
|
|
|
+ TmplAssetReportSection guarantorAdditionalDebtRepaymentSourcesTmpl = reportSectionMapper.getTmplByCode(ANALYSIS_GUARANTOR_ADDITIONAL_DEBT_REPAYMENT_SOURCES.getCode());
|
|
|
+ // 诉讼情况信息模板文件位置
|
|
|
+ String guarantorAdditionalDebtRepaymentSourcesPath = fileNetConfig.getBaseDir() + guarantorAdditionalDebtRepaymentSourcesTmpl.getSectionFileUrl() + guarantorAdditionalDebtRepaymentSourcesTmpl.getSectionFileName();
|
|
|
+ // 插入时会导致先插入的排在后插入的后面,所以把顺序反转一下(企业和自然人用同一个序号排序)
|
|
|
+ for (int i = guarantorInfoStrBOList.size(); i > 0; i--) {
|
|
|
+ GuarantorInfoStrBO guarantorInfo = guarantorInfoStrBOList.get(i - 1);
|
|
|
+ guarantorInfo.setSort(i);
|
|
|
+ // 读取模板文件
|
|
|
+ byte[] guarantorAdditionalDebtRepaymentSourcesTmplByte = Files.readAllBytes(Paths.get(guarantorAdditionalDebtRepaymentSourcesPath));
|
|
|
+ // 获取填充数据后的文件
|
|
|
+ byte[] resultGuarantorAdditionalDebtRepaymentSourcesByte = AsposeWordUtil.fillWordDataByDomain(guarantorAdditionalDebtRepaymentSourcesTmplByte, guarantorInfo);
|
|
|
+ InputStream resultGuarantorAdditionalDebtRepaymentSourcesIs = new ByteArrayInputStream(resultGuarantorAdditionalDebtRepaymentSourcesByte);
|
|
|
+ detailDoc = AsposeWordUtil.insertDocumentAfterBookMark(detailDoc, new Document(resultGuarantorAdditionalDebtRepaymentSourcesIs), "insertGuarantorAdditionalDebtRepaymentSo", false, false);
|
|
|
+ resultGuarantorAdditionalDebtRepaymentSourcesIs.close();
|
|
|
+ }
|
|
|
+
|
|
|
// 第六步:设置主体框架
|
|
|
// 获取框架模板
|
|
|
TmplAssetReport mainTmpl = tmplAssetReportMapper.getTmplByCode(ANALYSIS_MAIN.getCode());
|
|
@@ -674,6 +771,12 @@ public class AssetsReportServiceImpl extends ServiceImpl<AssetsReportMapper, Ass
|
|
|
mainBuilder.getCurrentParagraph().remove();
|
|
|
mainBuilder.moveToBookmark("insertPersonGuarantor");
|
|
|
mainBuilder.getCurrentParagraph().remove();
|
|
|
+ mainBuilder.moveToBookmark("insertDebtorAsset");
|
|
|
+ mainBuilder.getCurrentParagraph().remove();
|
|
|
+ mainBuilder.moveToBookmark("insertGuarantorAsset");
|
|
|
+ mainBuilder.getCurrentParagraph().remove();
|
|
|
+ mainBuilder.moveToBookmark("insertLawsuit");
|
|
|
+ mainBuilder.getCurrentParagraph().remove();
|
|
|
|
|
|
// 第八步:生成并保存文档
|
|
|
// 将封面和文档进行拼接
|