feat: 查找拆分没有图片的企标
This commit is contained in:
+11
@@ -487,4 +487,15 @@ public class DocumentSplitController {
|
||||
documentSplitService.disposeItemVal(isAsmsImport, serialNumber);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-查询所有拆分错误的标准
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-查询所有拆分错误的标准")
|
||||
@ApiOperation(value = "标准拆分详情-查询所有拆分错误的标准")
|
||||
@GetMapping("/showAllBadSplit")
|
||||
public Result<String> showAllBadSplit() {
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK), documentSplitService.showAllBadSplit());
|
||||
}
|
||||
}
|
||||
|
||||
+5
-1
@@ -2,9 +2,11 @@ package com.jero.modules.laws.documenttool.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTerm;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTerm;
|
||||
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
|
||||
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
||||
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplitView;
|
||||
import com.jero.modules.laws.documenttool.entity.SplitFileInfo;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
@@ -21,7 +23,7 @@ import java.util.Map;
|
||||
* @Date: 2023/10/12/23:03
|
||||
* @Description: 文档拆分
|
||||
*/
|
||||
public interface IDocumentSplitService {
|
||||
public interface IDocumentSplitService extends IService<LawsDocumentSplit> {
|
||||
|
||||
/**
|
||||
* 文档拆分-分页列表查询
|
||||
@@ -243,4 +245,6 @@ public interface IDocumentSplitService {
|
||||
* @param ids
|
||||
*/
|
||||
void deleteBatchTitle(String ids);
|
||||
|
||||
String showAllBadSplit();
|
||||
}
|
||||
|
||||
+60
-1
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -97,6 +98,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
||||
import org.springframework.web.util.HtmlUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
@@ -104,6 +106,7 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -115,7 +118,14 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
@Transactional
|
||||
@Slf4j
|
||||
public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
public class DocumentSplitServiceImpl extends ServiceImpl<DocumentSplitMapper, LawsDocumentSplit> implements IDocumentSplitService {
|
||||
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
@Resource
|
||||
private IDocumentSplitService documentSplitService;
|
||||
|
||||
private final DocumentSplitMapper documentSplitMapper;
|
||||
private final ISarFileSplitInfoService sarFileSplitInfoService;
|
||||
private final LawsCommonMapper lawsCommonMapper;
|
||||
@@ -1818,4 +1828,53 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
queryWrapper.orderByDesc(CREATE_TIME);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String showAllBadSplit() {
|
||||
List<SarFileSplitItemsValEO> list = sarFileSplitItemsValEOService.list();
|
||||
Map<String, List<SarFileSplitItemsValEO>> valMap = list.stream().collect(Collectors.groupingBy(SarFileSplitItemsValEO::getItemId));
|
||||
List<SarFileSplitItemsValEO> imageOneList = list.stream().filter(val -> val.getItemContent().startsWith("图1")).collect(Collectors.toList());
|
||||
ConcurrentLinkedQueue<String> itemIdList = new ConcurrentLinkedQueue<>();
|
||||
imageOneList.stream().parallel().forEach(one -> {
|
||||
List<SarFileSplitItemsValEO> vals = valMap.get(one.getItemId());
|
||||
if (vals.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Map<Integer, List<SarFileSplitItemsValEO>> orderMap = vals.stream().collect(Collectors.groupingBy(SarFileSplitItemsValEO::getDisplaySeq));
|
||||
List<SarFileSplitItemsValEO> imageList = orderMap.get(one.getDisplaySeq() - 1);
|
||||
if (imageList == null || imageList.isEmpty()) {
|
||||
itemIdList.add(one.getItemId());
|
||||
return;
|
||||
}
|
||||
SarFileSplitItemsValEO image = imageList.get(0);
|
||||
if (!image.getType().equals("IMG")) {
|
||||
itemIdList.add(one.getItemId());
|
||||
}
|
||||
});
|
||||
|
||||
// 找到所有infoId
|
||||
LambdaQueryWrapper<LawsDocumentSplit> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(LawsDocumentSplit::getId, itemIdList);
|
||||
List<LawsDocumentSplit> documentSplistList = documentSplitService.list(lambdaQueryWrapper);
|
||||
Set<String> infoIdList = documentSplistList.stream()
|
||||
.map(LawsDocumentSplit::getInfoId).collect(Collectors.toSet());
|
||||
|
||||
// 找到所有info 并打印所有标准编号 和splitId
|
||||
List<LawsEnterpriseStandard> esList = esService.list();
|
||||
List<String> esStandardNoList = esList.stream().map(LawsEnterpriseStandard::getStandardNumber).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<SarFileSplitInfoEO> infoEOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
infoEOLambdaQueryWrapper.in(SarFileSplitInfoEO::getSerialNumber, esStandardNoList);
|
||||
infoEOLambdaQueryWrapper.eq(SarFileSplitInfoEO::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
infoEOLambdaQueryWrapper.eq(SarFileSplitInfoEO::getSplitResult, "成功");
|
||||
infoEOLambdaQueryWrapper.eq(SarFileSplitInfoEO::getSplitStatus, "2");
|
||||
infoEOLambdaQueryWrapper.in(SarFileSplitInfoEO::getId, infoIdList);
|
||||
List<SarFileSplitInfoEO> infoList = sarFileSplitInfoService.list(infoEOLambdaQueryWrapper);
|
||||
log.info("共发现{}条没有拆出图片的企标", infoList.size());
|
||||
for (SarFileSplitInfoEO info : infoList) {
|
||||
log.info("企标编号:{},拆分id:{}", info.getSerialNumber(), info.getId());
|
||||
}
|
||||
return infoList.stream().map(SarFileSplitInfoEO::getId).collect(Collectors.joining(","));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.jero.modules.split.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.modules.split.common.UploadFileInfo;
|
||||
import io.swagger.annotations.*;
|
||||
@@ -16,6 +18,7 @@ import java.util.List;
|
||||
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
|
||||
*/
|
||||
@Data
|
||||
@TableName("sar_file_split_items_val")
|
||||
public class SarFileSplitItemsValEO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -73,11 +76,13 @@ public class SarFileSplitItemsValEO implements Serializable {
|
||||
* idList
|
||||
*/
|
||||
@ApiModelProperty("idList")
|
||||
@TableField(exist = false)
|
||||
private String[] idList;
|
||||
/**
|
||||
* 默认文件
|
||||
*/
|
||||
@ApiModelProperty("默认文件")
|
||||
@TableField(exist = false)
|
||||
private List<UploadFileInfo> defaultFileList;
|
||||
/**
|
||||
* 图片名称
|
||||
@@ -93,15 +98,18 @@ public class SarFileSplitItemsValEO implements Serializable {
|
||||
* 表格
|
||||
*/
|
||||
@ApiModelProperty("表格")
|
||||
@TableField(exist = false)
|
||||
private List<SarFileSplitItemsTableEO> tableList;
|
||||
/**
|
||||
* 表格
|
||||
*/
|
||||
@ApiModelProperty("表格")
|
||||
@TableField(exist = false)
|
||||
private List<List<SarFileSplitItemsTableEO>> tableListShow;
|
||||
/**
|
||||
* 行数
|
||||
*/
|
||||
@ApiModelProperty("行数")
|
||||
@TableField(exist = false)
|
||||
private int rowCount;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user