feat(标准拆分): 完善变更

This commit is contained in:
yjz
2024-01-26 15:33:50 +08:00
parent a0a76e915f
commit d90a3240aa
6 changed files with 72 additions and 14 deletions
@@ -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.entity.EnterpriseStandardAuthUser;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthDeptService; import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthDeptService;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserService; 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.LawsEnterpriseStandard;
import com.jero.modules.laws.standard.entity.PartName;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; 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.SarFileSplitInfoEO;
import com.jero.modules.split.entity.SarFileSplitItemsValEO; import com.jero.modules.split.entity.SarFileSplitItemsValEO;
import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.entity.SarFileSplitMenuEO;
@@ -111,6 +115,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
private final EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService; private final EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService;
private final ISysUserDepartService sysUserDepartService; private final ISysUserDepartService sysUserDepartService;
private final ILawsGradeService lawsGradeService; private final ILawsGradeService lawsGradeService;
private final PartNameService partNameService;
private final ILawsLabelDatabaseService lawsLabelDatabaseService;
private static final String INFO_ID = "info_id"; private static final String INFO_ID = "info_id";
private static final String ID = "id"; private static final String ID = "id";
private static final String IDS = "ids"; private static final String IDS = "ids";
@@ -137,7 +143,9 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
ISysUserService sysUserService, ISysUserService sysUserService,
EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService, EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService,
ISysUserDepartService sysUserDepartService, ISysUserDepartService sysUserDepartService,
ILawsGradeService lawsGradeService) { ILawsGradeService lawsGradeService,
PartNameService partNameService,
ILawsLabelDatabaseService lawsLabelDatabaseService) {
this.documentSplitMapper = documentSplitMapper; this.documentSplitMapper = documentSplitMapper;
this.sarFileSplitInfoService = sarFileSplitInfoService; this.sarFileSplitInfoService = sarFileSplitInfoService;
this.lawsCommonMapper = lawsCommonMapper; this.lawsCommonMapper = lawsCommonMapper;
@@ -154,6 +162,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
this.enterpriseStandardAuthDeptService = enterpriseStandardAuthDeptService; this.enterpriseStandardAuthDeptService = enterpriseStandardAuthDeptService;
this.sysUserDepartService = sysUserDepartService; this.sysUserDepartService = sysUserDepartService;
this.lawsGradeService = lawsGradeService; this.lawsGradeService = lawsGradeService;
this.partNameService = partNameService;
this.lawsLabelDatabaseService = lawsLabelDatabaseService;
} }
@Value("${jero.path.exportExcelTempPath}") @Value("${jero.path.exportExcelTempPath}")
@@ -314,6 +324,23 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
} }
} }
} }
// 特殊翻译
specialTranslate(map);
}
}
private void specialTranslate(Map<String, Object> map) {
// 零部件翻译
if (map.containsKey("applicable_components")){
String applicableComponents = (String) map.get("applicable_components");
List<PartName> 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<LawsLabelDatabase> 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 @Override
public Map<String, Object> queryDocumentSplitDetailById(String id) { public Map<String, Object> queryDocumentSplitDetailById(String id) {
return documentSplitMapper.queryLawsDocumentSplitById(id); Map<String, Object> map = documentSplitMapper.queryLawsDocumentSplitById(id);
// 零部件翻译
specialTranslate(map);
return map;
} }
@Override @Override
@@ -86,11 +86,9 @@ public class LawsLabelDatabaseServiceImpl
*/ */
private List<LawsLabelDatabase> createChildren(LawsLabelDatabase tree, List<LawsLabelDatabase> treeList, Integer level) { private List<LawsLabelDatabase> createChildren(LawsLabelDatabase tree, List<LawsLabelDatabase> treeList, Integer level) {
List<LawsLabelDatabase> collect = treeList.stream().filter(v -> Objects.equals(tree.getId(), v.getParentId())).collect(Collectors.toList()); List<LawsLabelDatabase> collect = treeList.stream().filter(v -> Objects.equals(tree.getId(), v.getParentId())).collect(Collectors.toList());
// 计算层级 level += 1;
if (!collect.isEmpty()){ if (collect.isEmpty()){
level += 1 ; return null;
}else {
level -= 1;
} }
Integer finalLevel = level; Integer finalLevel = level;
return collect.stream() return collect.stream()
@@ -33,6 +33,9 @@ public class SarFileSplitItemsEO implements Serializable {
@ApiModelProperty(value = "条款内容") @ApiModelProperty(value = "条款内容")
private String itemContent; private String itemContent;
@ApiModelProperty(value = "适用零部件")
private String applicableComponents;
@ApiModelProperty(value = "拆分目录id") @ApiModelProperty(value = "拆分目录id")
private String menuId; private String menuId;
@@ -112,7 +112,7 @@
insert into laws_document_split insert into laws_document_split
(id, info_id, item_num, item_title, menu_id, (id, info_id, item_num, item_title, menu_id,
create_by, create_time, update_time, create_by, create_time, update_time,
update_by, item_content,sort_number) update_by, item_content,sort_number,applicable_components)
values values
<foreach collection="list" item="item" index="index" separator=",">( <foreach collection="list" item="item" index="index" separator=",">(
#{item.id, jdbcType=VARCHAR}, #{item.infoId, jdbcType=VARCHAR}, #{item.itemNum, jdbcType=VARCHAR}, #{item.id, jdbcType=VARCHAR}, #{item.infoId, jdbcType=VARCHAR}, #{item.itemNum, jdbcType=VARCHAR},
@@ -120,7 +120,8 @@
#{item.menuId, jdbcType=VARCHAR}, #{item.menuId, jdbcType=VARCHAR},
#{item.creationUser, jdbcType=VARCHAR}, #{item.creationUser, jdbcType=VARCHAR},
#{item.creationTime, jdbcType=TIMESTAMP}, #{item.modifyTime, jdbcType=TIMESTAMP}, #{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}
) )
</foreach> </foreach>
</insert> </insert>
@@ -5,6 +5,11 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.MinioUtil; import com.jero.common.util.MinioUtil;
import com.jero.common.util.UUIDUtils; 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.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.split.entity.*; 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.mapper.SarFileSplitMenuEOMapper;
import com.jero.modules.split.service.IFileSplitItemsEOService; import com.jero.modules.split.service.IFileSplitItemsEOService;
import com.jero.modules.split.service.ISarFileSplitItemsValEOService; 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 com.jero.modules.split.vo.TitleNumberVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -26,7 +34,6 @@ import org.apache.shiro.SecurityUtils;
import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlObject;
import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; 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.picture.CTPicture;
import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor;
import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline;
@@ -74,6 +81,12 @@ public class FileSpiltService {
private IOSSFileService iossFileService; private IOSSFileService iossFileService;
@Autowired @Autowired
private FileSplitPdfService fileSplitPdfService; private FileSplitPdfService fileSplitPdfService;
@Autowired
private DocumentSplitMapper documentSplitMapper;
@Autowired
private ILawsDomesticStandardService lawsDomesticStandardService;
@Autowired
private ILawsEnterpriseStandardService lawsEnterpriseStandardService;
@Value("${jero.path.upload}") @Value("${jero.path.upload}")
private String filePath; private String filePath;
@@ -105,6 +118,15 @@ public class FileSpiltService {
sarFileSplitInfoEO.setStartNumber(1); 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<SarFileSplitItemsEO> messageList = new ArrayList<>(); List<SarFileSplitItemsEO> messageList = new ArrayList<>();
// List<SarFileSplitItemsValEO> messageList = new ArrayList<>(); // List<SarFileSplitItemsValEO> messageList = new ArrayList<>();
@@ -297,6 +319,7 @@ public class FileSpiltService {
message.setMenuId(documentTreeEO1.getId()); message.setMenuId(documentTreeEO1.getId());
if (sarFileSplitInfoEO.getStartNumber() <= 1 && sarFileSplitInfoEO.getStopNumber() >= 1) { if (sarFileSplitInfoEO.getStartNumber() <= 1 && sarFileSplitInfoEO.getStopNumber() >= 1) {
message.setApplicableComponents(partName);
messageList.add(message); messageList.add(message);
treeList.add(documentTreeEO1); treeList.add(documentTreeEO1);
preName = getOneStartDigit(paragraphString, enumByValue);; preName = getOneStartDigit(paragraphString, enumByValue);;
@@ -363,6 +386,7 @@ public class FileSpiltService {
if(!StringUtils.isEmpty(itemName)){ if(!StringUtils.isEmpty(itemName)){
addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length()));
} }
message.setApplicableComponents(partName);
messageList.add(message); messageList.add(message);
nowStart = getNewNowStart(nowStart.get(i)); nowStart = getNewNowStart(nowStart.get(i));
menuCanAdd = true; menuCanAdd = true;
@@ -387,6 +411,7 @@ public class FileSpiltService {
addItermsConditionsText(message, itemValList, paragraphString); addItermsConditionsText(message, itemValList, paragraphString);
treeList.add(sarFileSplitMenuEO); treeList.add(sarFileSplitMenuEO);
message.setMenuId(sarFileSplitMenuEO.getId()); message.setMenuId(sarFileSplitMenuEO.getId());
message.setApplicableComponents(partName);
messageList.add(message); messageList.add(message);
nowStart = new ArrayList<>(); nowStart = new ArrayList<>();
} else { } else {
@@ -425,6 +450,7 @@ public class FileSpiltService {
messageList.get(i).setZhan3Shi4Shun4Xu4(String.valueOf(i+1)); messageList.get(i).setZhan3Shi4Shun4Xu4(String.valueOf(i+1));
messageList.get(i).setInfoId(sarFileSplitInfoEO.getId()); messageList.get(i).setInfoId(sarFileSplitInfoEO.getId());
} }
iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsEOService.insertForeach(messageList);
iSarFileSplitItemsValEOService.insertForeach(itemValList); iSarFileSplitItemsValEOService.insertForeach(itemValList);
} else { } else {
@@ -447,9 +447,9 @@ public class LawsTag implements Serializable {
/** /**
* 使用范围(1:国标 2:企标) * 使用范围(1:国标 3:企标)
*/ */
@ApiModelProperty(value = "使用范围(1:国标 2:企标)") @ApiModelProperty(value = "使用范围(1:国标 3:企标)")
@Dict(dicCode = "standard_source") @Dict(dicCode = "clause_usable_range")
private String usableRange; private String usableRange;
} }