feat(文档拆分): 批量拆分
This commit is contained in:
+17
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.laws.documenttool.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
@@ -149,6 +150,22 @@ public class DocumentSplitController {
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量拆分
|
||||
*
|
||||
* @param jsonObject
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-批量拆分")
|
||||
@ApiOperation(value="标准拆分-批量拆分", notes="标准拆分-批量拆分")
|
||||
@PostMapping(value = "/batchSplit")
|
||||
// @RequiresPermissions("split:sarFileSplitInfo:splitFile")
|
||||
@ApiOperationSupport(order = 6)
|
||||
public Result<T> batchSplit(@ApiParam("文件id") @RequestBody JSONObject jsonObject) {
|
||||
documentSplitService.batchSplit(jsonObject);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布
|
||||
*
|
||||
|
||||
+4
@@ -70,4 +70,8 @@ public class SplitFileInfo {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private String standardName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "ids 查询用")
|
||||
private String ids;
|
||||
}
|
||||
|
||||
+6
-1
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.laws.documenttool.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTerm;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTerm;
|
||||
@@ -210,5 +211,9 @@ public interface IDocumentSplitService {
|
||||
*/
|
||||
void isHorizontalOverstep(String ids);
|
||||
|
||||
|
||||
/**
|
||||
* 文档拆分-批量拆分
|
||||
* @param jsonObject
|
||||
*/
|
||||
void batchSplit(JSONObject jsonObject);
|
||||
}
|
||||
|
||||
+34
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollStreamUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -1260,6 +1261,9 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
queryWrapper.likeLeft("file_name", ".docx");
|
||||
queryWrapper.isNotNull("o.standard_id");
|
||||
queryWrapper.orderByDesc(CREATE_TIME);
|
||||
if (StringUtils.isNotBlank(splitFileInfo.getIds())){
|
||||
queryWrapper.in("o.id", Arrays.asList(splitFileInfo.getIds().split(",")));
|
||||
}
|
||||
return documentSplitMapper.querySplitFileInfoByPage(queryWrapper, new Page<>(pageNo, pageSize));
|
||||
}
|
||||
|
||||
@@ -1307,6 +1311,36 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchSplit(JSONObject jsonObject) {
|
||||
// 获取拆分所选文件
|
||||
SplitFileInfo splitFileInfo = new SplitFileInfo();
|
||||
splitFileInfo.setIds(jsonObject.getString("ids"));
|
||||
IPage<SplitFileInfo> splitFileInfoIPage = querySplitFileInfoByPage(splitFileInfo, 1, 10);
|
||||
List<SplitFileInfo> list = splitFileInfoIPage.getRecords();
|
||||
// 异常信息
|
||||
List<String> errorList = new ArrayList<>();
|
||||
|
||||
// 拆分
|
||||
for (SplitFileInfo fileInfo : list) {
|
||||
SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO();
|
||||
sarFileSplitInfoEO.setFileId(fileInfo.getId());
|
||||
sarFileSplitInfoEO.setFileName(fileInfo.getFileName());
|
||||
sarFileSplitInfoEO.setFileType(fileInfo.getStandardFileType());
|
||||
sarFileSplitInfoEO.setSerialNumber(fileInfo.getStandardNumber());
|
||||
sarFileSplitInfoEO.setStandardId(fileInfo.getStandardId());
|
||||
sarFileSplitInfoEO.setTitle(fileInfo.getStandardName());
|
||||
try {
|
||||
add(sarFileSplitInfoEO);
|
||||
}catch (JeroBootException e){
|
||||
errorList.add("标准编号为:" + fileInfo.getStandardNumber() + " " + e.getMessage());
|
||||
}
|
||||
}
|
||||
if (!errorList.isEmpty()){
|
||||
throw new JeroBootException(String.join("<br/>", errorList));
|
||||
}
|
||||
}
|
||||
|
||||
private void manageData(Map<String, Object> resultMap, StringBuilder fieldsBuilder, List<String> valuesList) {
|
||||
// 所有key(字段名)
|
||||
resultMap.forEach((k, v) -> {
|
||||
|
||||
Reference in New Issue
Block a user