feat(ebom): 从excel导入时,添加对T项物料的支持

This commit is contained in:
曹鹏飞 2024-05-13 10:47:34 +08:00
parent dd29a68c85
commit 01436b7b9c
1 changed files with 21 additions and 4 deletions

View File

@ -3,6 +3,7 @@ package com.nflg.product.bomnew.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@ -194,13 +195,19 @@ public class EBomImportService {
return isSame; return isSame;
} }
private void handlerExcelRow(EbomExcelDTO dQbomExcelVO) { private void handlerExcelRow(EbomExcelDTO dto) {
rowNum.set(rowNum.get() + 1); rowNum.set(rowNum.get() + 1);
log.debug("ebom导入excel第{}行,处理前:{}", rowNum.get(), JSON.toJSONString(dQbomExcelVO)); log.debug("ebom导入excel第{}行,处理前:{}", rowNum.get(), JSON.toJSONString(dto));
dQbomExcelVO.setRowNum(rowNum.get()); dto.setRowNum(rowNum.get());
excelContextTL.get().add(dQbomExcelVO); if (StrUtil.equals(dto.getProjectType(), BomConstant.PROJECT_TYPE_TEMPORARY, true)) {
String id = RandomUtil.randomNumbers(9);
dto.setMaterialNo(BomConstant.PROJECT_TYPE_TEMPORARY + id);
dto.setDrawingNo(BomConstant.PROJECT_TYPE_TEMPORARY + id);
}
excelContextTL.get().add(dto);
} }
private List<OperationErrorMsgVO> checkExcel(List<EbomExcelDTO> datas) { private List<OperationErrorMsgVO> checkExcel(List<EbomExcelDTO> datas) {
@ -224,6 +231,16 @@ public class EBomImportService {
); );
} }
numError = datas.stream().filter(u -> StrUtil.equals(u.getProjectType(), BomConstant.PROJECT_TYPE_TEMPORARY, true)
&& StrUtil.isBlank(u.getMaterialDesc()))
.map(BaseImportExcelDTO::getRowNum)
.collect(Collectors.toList());
if (!numError.isEmpty()) {
errorMsg.addAll(numError.stream().map(n -> OperationErrorMsgVO.create("" + n + "", "T项目的物料描述为空"))
.collect(Collectors.toList())
);
}
numError = datas.stream().filter(u -> Objects.isNull(u.getNum()) || BigDecimal.ZERO.compareTo(u.getNum()) >= 0) numError = datas.stream().filter(u -> Objects.isNull(u.getNum()) || BigDecimal.ZERO.compareTo(u.getNum()) >= 0)
.map(BaseImportExcelDTO::getRowNum) .map(BaseImportExcelDTO::getRowNum)
.collect(Collectors.toList()); .collect(Collectors.toList());