fix(文档拆分): 导入判断标准类别

This commit is contained in:
yjz
2024-08-13 16:40:55 +08:00
parent 44ab15680f
commit 25f1f9f35e
8 changed files with 35 additions and 14 deletions
@@ -79,20 +79,21 @@
ANY_VALUE(standard.new_auth_impl_date) as new_auth_impl_date,
ANY_VALUE(standard.create_by) as create_by,
ANY_VALUE(standard.responsible_user) as responsible_user,
ANY_VALUE(standard.release_date) as release_date
ANY_VALUE(standard.release_date) as release_date,
ANY_VALUE(standard.standard_class) as standard_class
<if test="vo.releaseSplitFlag != null and vo.releaseSplitFlag != ''">
, ANY_VALUE(split.id) as split_info_id
</if>
FROM
(SELECT id, standard_number, standard_name, implementation_date, null as release_date, standard_state, '1' AS source, create_time,
new_product_impl_date, new_auth_impl_date, create_by, responsible_user
new_product_impl_date, new_auth_impl_date, create_by, responsible_user, standard_class
FROM laws_domestic_standard
WHERE del_flag = 0
UNION ALL
SELECT id, standard_number, standard_name, null as implementation_date, release_date, standard_state as es_standard_state, '3' AS source, create_time,
null as new_product_impl_date, null as new_auth_impl_date, create_by, null as responsible_user
null as new_product_impl_date, null as new_auth_impl_date, create_by, null as responsible_user, standard_class
FROM laws_enterprise_standard
WHERE del_flag = 0) standard
<if test="vo.releaseSplitFlag != null and vo.releaseSplitFlag != ''">
@@ -1,5 +1,6 @@
package com.jero.modules.laws.common.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
@@ -64,6 +65,9 @@ public class ManyStandardSelectionBox {
@ApiModelProperty(value = "责任人")
@Dict(dictTable = "sys_user",dicText = "realname",dicCode = "id")
private java.lang.String responsibleUser;
@ApiModelProperty(value = "标准类别")
@TableField(exist = false)
private String standardClass;
public void setStandardState(String standardState) {
this.standardState = standardState;
@@ -99,4 +99,11 @@ public class DocumentSplitInfo extends BaseEntity {
@TableField(exist = false)
@Dict(dicCode = "split_standard_source")
private String splitStandardSource;
/**
* 标准类别
*/
@ApiModelProperty(value = "标准类别")
@TableField(exist = false)
private String standardClass;
}
@@ -234,6 +234,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
LawsDomesticStandard lawsDomesticStandard = domesticMap.get(standardId).get(0);
documentSplitInfo.setSerialNumber(lawsDomesticStandard.getStandardNumber());
documentSplitInfo.setTitle(lawsDomesticStandard.getStandardName());
documentSplitInfo.setStandardClass(lawsDomesticStandard.getStandardClass());
}
documentSplitInfo.setSplitStandardSource("1");
}else if (enterpriseMap.containsKey(documentSplitInfo.getStandardId())){
@@ -121,8 +121,11 @@ public class FileSplitItemsEOController extends JeroController<SarFileSplitItems
public Result<?> importSplitItems(@ApiParam("文件对象") MultipartFile file,
@ApiParam("国际化") @RequestParam(value = "cut") String cut,
@ApiParam("菜单id") @RequestParam(value = "menuId") String menuId,
@ApiParam("标准拆分id") @RequestParam(value = "infoId") String infoId) throws Exception {
return fileSplitItemsEOService.importSplitItems(file, cut, menuId, infoId);
@ApiParam("标准拆分id") @RequestParam(value = "infoId") String infoId,
@ApiParam("标准类别") @RequestParam(value = "standardClass") String standardClass) throws Exception {
SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO();
sarFileSplitInfoEO.setStandardClass(standardClass);
return fileSplitItemsEOService.importSplitItems(file, cut, menuId, infoId, sarFileSplitInfoEO);
}
@ApiOperation(value = "标准拆分条款信息-导出")
@@ -151,7 +151,7 @@ public class SarFileSplitInfoEO implements Serializable {
@TableField(exist = false)
private String ids;
/**
* 标准类别 (数据字典 海外标准法规:standard_type_overseas 国内标准法规:standard_type (全部传空)
* 标准类别
*/
@ApiModelProperty(value = "标准类别")
@TableField(exist = false)
@@ -52,9 +52,9 @@ public interface IFileSplitItemsEOService extends IService<SarFileSplitItemsEO>
int batchSet(Map<String,Object> parameter);
Result<?> importSplitItemsData(List<Map<String, Object>> list, String menuId, String filepath, String infoId, String cut, List<SplitTableInfo> getSheetTableList);
Result<?> importSplitItemsData(List<Map<String, Object>> list, String menuId, String filepath, String infoId, String cut, List<SplitTableInfo> getSheetTableList, SarFileSplitInfoEO sarFileSplitInfoEO);
Result<?> importSplitItems(MultipartFile file, String cut, String menuId, String infoId) throws IOException;
Result<?> importSplitItems(MultipartFile file, String cut, String menuId, String infoId, SarFileSplitInfoEO sarFileSplitInfoEO) throws IOException;
Result<?> importSplitResult(String splitFileId, String cut, SarFileSplitInfoEO sarFileSplitInfoEO) throws IOException;
@@ -42,6 +42,7 @@ import com.jero.modules.split.dto.FileSplitValExportDto;
import com.jero.modules.split.dto.FileSplitValImgExportDto;
import com.jero.modules.split.entity.*;
import com.jero.modules.split.enums.SplitEnum;
import com.jero.modules.split.enums.SplitFileTypeTypeEnum;
import com.jero.modules.split.mapper.FileSplitItemsEOMapper;
import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper;
import com.jero.modules.split.mapper.SarFileSplitMenuEOMapper;
@@ -1373,7 +1374,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
String filepath,
String infoId,
String cut,
List<SplitTableInfo> getSheetTableList) {
List<SplitTableInfo> getSheetTableList, SarFileSplitInfoEO sarFileSplitInfoEO) {
//此处需要做各种验证,数据库操作
try {
// 查询全部字段列表
@@ -1702,9 +1703,13 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
//构造目录树
HashMap<String, String> menuAndItemMap = new HashMap<>();
// if(CollectionUtils.isNotEmpty(itemNumList)) {
List<SarFileSplitMenuTreeNode> treeList = new ArrayList<>();
List<Map<String, Object>> itemsEOList = new ArrayList<>(addItemsEOList);
List<SarFileSplitMenuTreeNode> treeList = buildTree(itemsEOList, treeListDisplay, menuId);
if (SplitFileTypeTypeEnum.UN.getValue().equals(sarFileSplitInfoEO.getStandardClass())){
treeList = buildTree2(itemsEOList, treeListDisplay, menuId);
}else {
treeList = buildTree(itemsEOList, treeListDisplay, menuId);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = sysUser.getId();
for (SarFileSplitMenuTreeNode treeNode : treeList) {
@@ -1778,7 +1783,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
}
@Override
public Result<?> importSplitItems(MultipartFile file, String cut, String menuId, String infoId) throws IOException {
public Result<?> importSplitItems(MultipartFile file, String cut, String menuId, String infoId, SarFileSplitInfoEO sarFileSplitInfoEO) throws IOException {
// 水平越权
documentSplitService.isHorizontalOverstep(infoId);
@@ -1891,7 +1896,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
datasUpdate.add(sarStandImportDto);
}
String unzipfilepath = zipEntryName;
Result<?> message = importSplitItemsData(datasUpdate,menuId,unzipfilepath,infoId,cut,getSheetTableList);
Result<?> message = importSplitItemsData(datasUpdate,menuId,unzipfilepath,infoId,cut,getSheetTableList, sarFileSplitInfoEO);
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
return message;
@@ -2021,7 +2026,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
e.printStackTrace();
log.error(e.getMessage(), e);
}
Result<?> result = importSplitItems(mFile, cut, menuId, infoId);
Result<?> result = importSplitItems(mFile, cut, menuId, infoId, sarFileSplitInfoEO);
if(!result.isSuccess()){
sarFileSplitInfoService.deleteById(infoId);