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.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<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
public Map<String, Object> queryDocumentSplitDetailById(String id) {
return documentSplitMapper.queryLawsDocumentSplitById(id);
Map<String, Object> map = documentSplitMapper.queryLawsDocumentSplitById(id);
// 零部件翻译
specialTranslate(map);
return map;
}
@Override
@@ -86,11 +86,9 @@ public class LawsLabelDatabaseServiceImpl
*/
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());
// 计算层级
if (!collect.isEmpty()){
level += 1 ;
}else {
level -= 1;
level += 1;
if (collect.isEmpty()){
return null;
}
Integer finalLevel = level;
return collect.stream()
@@ -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;
@@ -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
<foreach collection="list" item="item" index="index" separator=",">(
#{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}
)
</foreach>
</insert>
@@ -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<SarFileSplitItemsEO> messageList = new ArrayList<>();
// List<SarFileSplitItemsValEO> 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 {
@@ -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;
}