From d90a3240aa4cc60d943cec1c893bf758dcf36a18 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Fri, 26 Jan 2024 15:33:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=A0=87=E5=87=86=E6=8B=86=E5=88=86):=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSplitServiceImpl.java | 34 +++++++++++++++++-- .../impl/LawsLabelDatabaseServiceImpl.java | 8 ++--- .../split/entity/SarFileSplitItemsEO.java | 3 ++ .../mapper/xml/FileSplitItemsEOMapper.xml | 5 +-- .../split/service/impl/FileSpiltService.java | 30 ++++++++++++++-- .../com/jero/modules/tag/entity/LawsTag.java | 6 ++-- 6 files changed, 72 insertions(+), 14 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 0ebdee5d..8c89df58 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -33,8 +33,12 @@ import com.jero.modules.laws.enterprise.entity.EnterpriseStandardAuthDept; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardAuthUser; import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthDeptService; import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserService; +import com.jero.modules.laws.labeldatabase.entity.LawsLabelDatabase; +import com.jero.modules.laws.labeldatabase.service.ILawsLabelDatabaseService; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.entity.PartName; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import com.jero.modules.laws.standard.service.PartNameService; import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.entity.SarFileSplitItemsValEO; import com.jero.modules.split.entity.SarFileSplitMenuEO; @@ -111,6 +115,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { private final EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService; private final ISysUserDepartService sysUserDepartService; private final ILawsGradeService lawsGradeService; + private final PartNameService partNameService; + private final ILawsLabelDatabaseService lawsLabelDatabaseService; private static final String INFO_ID = "info_id"; private static final String ID = "id"; private static final String IDS = "ids"; @@ -137,7 +143,9 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { ISysUserService sysUserService, EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService, ISysUserDepartService sysUserDepartService, - ILawsGradeService lawsGradeService) { + ILawsGradeService lawsGradeService, + PartNameService partNameService, + ILawsLabelDatabaseService lawsLabelDatabaseService) { this.documentSplitMapper = documentSplitMapper; this.sarFileSplitInfoService = sarFileSplitInfoService; this.lawsCommonMapper = lawsCommonMapper; @@ -154,6 +162,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { this.enterpriseStandardAuthDeptService = enterpriseStandardAuthDeptService; this.sysUserDepartService = sysUserDepartService; this.lawsGradeService = lawsGradeService; + this.partNameService = partNameService; + this.lawsLabelDatabaseService = lawsLabelDatabaseService; } @Value("${jero.path.exportExcelTempPath}") @@ -314,6 +324,23 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { } } } + // 特殊翻译 + specialTranslate(map); + } + } + + private void specialTranslate(Map map) { + // 零部件翻译 + if (map.containsKey("applicable_components")){ + String applicableComponents = (String) map.get("applicable_components"); + List partNames = partNameService.queryEcho(applicableComponents); + map.put("applicable_components_dictText", partNames.stream().map(PartName::getName).collect(Collectors.joining(","))); + } + // 属性标识翻译 + if (map.containsKey("property_tag")){ + String propertyTag = (String) map.get("property_tag"); + List lawsLabelDatabases = lawsLabelDatabaseService.queryByCodes(propertyTag); + map.put("property_tag_dictText", lawsLabelDatabases.stream().map(LawsLabelDatabase::getName).collect(Collectors.joining(","))); } } @@ -853,7 +880,10 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { @Override public Map queryDocumentSplitDetailById(String id) { - return documentSplitMapper.queryLawsDocumentSplitById(id); + Map map = documentSplitMapper.queryLawsDocumentSplitById(id); + // 零部件翻译 + specialTranslate(map); + return map; } @Override diff --git a/laws-modules/src/main/java/com/jero/modules/laws/labeldatabase/service/impl/LawsLabelDatabaseServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/labeldatabase/service/impl/LawsLabelDatabaseServiceImpl.java index 59a4eb38..9b6c7643 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/labeldatabase/service/impl/LawsLabelDatabaseServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/labeldatabase/service/impl/LawsLabelDatabaseServiceImpl.java @@ -86,11 +86,9 @@ public class LawsLabelDatabaseServiceImpl */ private List createChildren(LawsLabelDatabase tree, List treeList, Integer level) { List collect = treeList.stream().filter(v -> Objects.equals(tree.getId(), v.getParentId())).collect(Collectors.toList()); - // 计算层级 - if (!collect.isEmpty()){ - level += 1 ; - }else { - level -= 1; + level += 1; + if (collect.isEmpty()){ + return null; } Integer finalLevel = level; return collect.stream() diff --git a/laws-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitItemsEO.java b/laws-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitItemsEO.java index 505fdec2..350afc38 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitItemsEO.java +++ b/laws-modules/src/main/java/com/jero/modules/split/entity/SarFileSplitItemsEO.java @@ -33,6 +33,9 @@ public class SarFileSplitItemsEO implements Serializable { @ApiModelProperty(value = "条款内容") private String itemContent; + @ApiModelProperty(value = "适用零部件") + private String applicableComponents; + @ApiModelProperty(value = "拆分目录id") private String menuId; diff --git a/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml b/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml index 4c232a5d..ead7e9fd 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml @@ -112,7 +112,7 @@ insert into laws_document_split (id, info_id, item_num, item_title, menu_id, create_by, create_time, update_time, - update_by, item_content,sort_number) + update_by, item_content,sort_number,applicable_components) values ( #{item.id, jdbcType=VARCHAR}, #{item.infoId, jdbcType=VARCHAR}, #{item.itemNum, jdbcType=VARCHAR}, @@ -120,7 +120,8 @@ #{item.menuId, jdbcType=VARCHAR}, #{item.creationUser, jdbcType=VARCHAR}, #{item.creationTime, jdbcType=TIMESTAMP}, #{item.modifyTime, jdbcType=TIMESTAMP}, - #{item.modifyUser, jdbcType=VARCHAR}, #{item.itemContent, jdbcType=CLOB},#{item.zhan3Shi4Shun4Xu4, jdbcType=VARCHAR} + #{item.modifyUser, jdbcType=VARCHAR}, #{item.itemContent, jdbcType=CLOB},#{item.zhan3Shi4Shun4Xu4, jdbcType=VARCHAR}, + #{item.applicableComponents, jdbcType=VARCHAR} ) diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java index 3ac05c38..1b003f03 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java @@ -5,6 +5,11 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.MinioUtil; import com.jero.common.util.UUIDUtils; +import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper; +import com.jero.modules.laws.standard.entity.LawsDomesticStandard; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; +import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.entity.*; @@ -13,7 +18,10 @@ import com.jero.modules.split.enums.SplitFileTypeTypeEnum; import com.jero.modules.split.mapper.SarFileSplitMenuEOMapper; import com.jero.modules.split.service.IFileSplitItemsEOService; import com.jero.modules.split.service.ISarFileSplitItemsValEOService; -import com.jero.modules.split.util.*; +import com.jero.modules.split.util.AsposeUtil; +import com.jero.modules.split.util.FileSplitUtils; +import com.jero.modules.split.util.ParagraphChildOrderManager; +import com.jero.modules.split.util.ReadWordTable; import com.jero.modules.split.vo.TitleNumberVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -26,7 +34,6 @@ import org.apache.shiro.SecurityUtils; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeArtExtension; import org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture; import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; @@ -74,6 +81,12 @@ public class FileSpiltService { private IOSSFileService iossFileService; @Autowired private FileSplitPdfService fileSplitPdfService; + @Autowired + private DocumentSplitMapper documentSplitMapper; + @Autowired + private ILawsDomesticStandardService lawsDomesticStandardService; + @Autowired + private ILawsEnterpriseStandardService lawsEnterpriseStandardService; @Value("${jero.path.upload}") private String filePath; @@ -105,6 +118,15 @@ public class FileSpiltService { sarFileSplitInfoEO.setStartNumber(1); } + String partName = ""; + LawsDomesticStandard lawsDomesticStandard = lawsDomesticStandardService.getById(sarFileSplitInfoEO.getStandardId()); + LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.getById(sarFileSplitInfoEO.getStandardId()); + if (!Objects.isNull(lawsDomesticStandard)){ + partName = lawsDomesticStandard.getPartName(); + }else { + partName = lawsEnterpriseStandard.getPartName(); + } + // 拆分文件条款表中最终插入数据 List messageList = new ArrayList<>(); // List messageList = new ArrayList<>(); @@ -297,6 +319,7 @@ public class FileSpiltService { message.setMenuId(documentTreeEO1.getId()); if (sarFileSplitInfoEO.getStartNumber() <= 1 && sarFileSplitInfoEO.getStopNumber() >= 1) { + message.setApplicableComponents(partName); messageList.add(message); treeList.add(documentTreeEO1); preName = getOneStartDigit(paragraphString, enumByValue);; @@ -363,6 +386,7 @@ public class FileSpiltService { if(!StringUtils.isEmpty(itemName)){ addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); } + message.setApplicableComponents(partName); messageList.add(message); nowStart = getNewNowStart(nowStart.get(i)); menuCanAdd = true; @@ -387,6 +411,7 @@ public class FileSpiltService { addItermsConditionsText(message, itemValList, paragraphString); treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); + message.setApplicableComponents(partName); messageList.add(message); nowStart = new ArrayList<>(); } else { @@ -425,6 +450,7 @@ public class FileSpiltService { messageList.get(i).setZhan3Shi4Shun4Xu4(String.valueOf(i+1)); messageList.get(i).setInfoId(sarFileSplitInfoEO.getId()); } + iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { diff --git a/laws-modules/src/main/java/com/jero/modules/tag/entity/LawsTag.java b/laws-modules/src/main/java/com/jero/modules/tag/entity/LawsTag.java index 08fbc40a..26af048e 100644 --- a/laws-modules/src/main/java/com/jero/modules/tag/entity/LawsTag.java +++ b/laws-modules/src/main/java/com/jero/modules/tag/entity/LawsTag.java @@ -447,9 +447,9 @@ public class LawsTag implements Serializable { /** - * 使用范围(1:国标 2:企标) + * 使用范围(1:国标 3:企标) */ - @ApiModelProperty(value = "使用范围(1:国标 2:企标)") - @Dict(dicCode = "standard_source") + @ApiModelProperty(value = "使用范围(1:国标 3:企标)") + @Dict(dicCode = "clause_usable_range") private String usableRange; }