From e13b5662a5fe3e95d8e949088fa530e9fcf0290c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 23 May 2024 18:40:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=A7=BB=E5=8A=A8=E7=A0=B4ebom):=20?= =?UTF-8?q?=E7=89=A9=E6=96=99=E5=90=8D=E7=A7=B0=E5=A6=82=E6=9E=9C=E6=9C=89?= =?UTF-8?q?=E4=B8=94=E4=BB=85=E6=9C=89=E4=B8=80=E4=B8=AA=E2=80=9C=E6=97=A0?= =?UTF-8?q?=E2=80=9D=E5=AD=97=E6=97=B6=E6=89=8D=E8=BF=90=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/api/user/OptionalEbomApi.java | 24 ++++++++++++------- .../OptionalEbomImportChildService.java | 13 ++++------ .../service/aggreg/OptionalExcelService.java | 13 +++++----- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java index 6e0380b7..5769979a 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java @@ -2,12 +2,11 @@ package com.nflg.product.bomnew.api.user; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; - import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzt.logapi.starter.annotation.LogRecord; +import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.OptionalBomConstant; @@ -21,25 +20,29 @@ import com.nflg.product.bomnew.pojo.query.OptionalEbomConfigListQuery; import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery; import com.nflg.product.bomnew.pojo.query.OptionalEbomMainListQuery; import com.nflg.product.bomnew.pojo.vo.*; -import com.nflg.product.bomnew.service.*; +import com.nflg.product.bomnew.service.OptionalEbomConfigService; +import com.nflg.product.bomnew.service.OptionalEbomImportChildService; +import com.nflg.product.bomnew.service.OptionalEbomImportService; +import com.nflg.product.bomnew.service.OptionalEbomMainService; import com.nflg.product.bomnew.service.aggreg.AggregOptionConfigService; import com.nflg.product.bomnew.service.aggreg.OptionalExcelService; import com.nflg.product.bomnew.service.aggreg.PublishMaterialService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.core.io.ClassPathResource; import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.nflg.product.base.core.api.BaseApi; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.net.URLEncoder; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.util.Date; import java.util.List; import java.util.Objects; @@ -51,6 +54,7 @@ import java.util.Objects; @RequestMapping("optional/ebom") @Api(tags = "移动破ebom") public class OptionalEbomApi extends BaseApi { + private static final Logger log = LoggerFactory.getLogger(OptionalEbomApi.class); /** * 服务对象 */ @@ -118,8 +122,10 @@ public class OptionalEbomApi extends BaseApi { return ResultVO.success(true); } catch (NflgBusinessException ex){ + log.error("导入excel数据", ex); return ResultVO.error(ex.getState(),ex.getMsg()); }catch (Exception e){ + log.error("导入excel数据", e); return ResultVO.error(STATE.SystemErr,"出现异常,联系管理员,"+e.getMessage()); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java index 30eae8f2..8ca721fa 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java @@ -9,15 +9,12 @@ import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - - import com.mzt.logapi.context.LogRecordContext; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.OptionalBomConstant; import com.nflg.product.bomnew.mapper.master.OptionalEbomImportChildMapper; import com.nflg.product.bomnew.pojo.dto.OptionalEbomImportChildAddDTO; -import com.nflg.product.bomnew.pojo.dto.OptionalEbomImportChildDTO; import com.nflg.product.bomnew.pojo.dto.OptionalEbomMainDelDTO; import com.nflg.product.bomnew.pojo.dto.OptionalEbomSubmitEditDTO; import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigREntity; @@ -26,16 +23,14 @@ import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportEntity; import com.nflg.product.bomnew.pojo.entity.OptionalEbomMainEntity; import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery; import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; -import com.nflg.product.bomnew.pojo.vo.OptionalEbomConfigRVO; import com.nflg.product.bomnew.pojo.vo.OptionalEbomImportChildVO; import nflg.product.common.constant.STATE; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Update; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -142,7 +137,7 @@ public class OptionalEbomImportChildService extends ServiceImpl queryWrapper3 = new QueryWrapper<>(); // 同一个机型下不可以存在相同的物料信息(物料编号),如果是“无”的情况,需同一个机型+同一个选项来做唯一判断 - if (StrUtil.isEmpty(item.getMaterialNo()) && item.getMaterialName().equals("无")) { + if (StrUtil.isEmpty(item.getMaterialNo())) { queryWrapper3.lambda().eq(OptionalEbomImportChildEntity::getRootRowId, item.getRootRowId()); queryWrapper3.lambda().eq(OptionalEbomImportChildEntity::getParentRowId, item.getParentRowId()); queryWrapper3.lambda().eq(OptionalEbomImportChildEntity::getMaterialName, "无"); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/OptionalExcelService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/OptionalExcelService.java index d50c117a..281f8545 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/OptionalExcelService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/OptionalExcelService.java @@ -63,7 +63,9 @@ public class OptionalExcelService { for (ImportExcelField item : v1) { - if (StrUtil.isEmpty(item.getCellSecond())) { + + String materialName = item.getCellThird().trim(); + if (StrUtil.isEmpty(item.getCellSecond()) && !materialName.equals("无")) { throw new NflgBusinessException(STATE.Error, StrUtil.format("第{}行, {} {}出现空物料数据", item.getLineNo(), optionalEbomImportLevel2Dto.getOptionName(), optionalEbomImportLevel2Dto.getOptionDrawingNo())); } @@ -84,13 +86,10 @@ public class OptionalExcelService { } - String materialName = item.getCellThird().trim(); - - levelDto3.setLineNo(item.getLineNo()); levelDto3.setPartType(OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue()); levelDto3.setMaterialNo(item.getCellSecond()); - levelDto3.setTag(materialName.contains("无")); + levelDto3.setTag(materialName.contentEquals("无")); // levelDto3.setMaterialDesc(materialName); // levelDto3.setMaterialNo(materialName); // levelDto3.setMaterialName(materialName); @@ -252,7 +251,7 @@ public class OptionalExcelService { //检查选项下是否包含重复物料 - Map frequencyMap = optionList.stream().collect(Collectors.groupingBy(OptionalEbomImportChildDTO::getMaterialNo, Collectors.counting())); + Map frequencyMap = optionList.stream().filter(o -> StrUtil.isNotBlank(o.getMaterialNo())).collect(Collectors.groupingBy(OptionalEbomImportChildDTO::getMaterialNo, Collectors.counting())); List duplicates = frequencyMap.entrySet().stream() .filter(entry -> entry.getValue() > 1) .map(Map.Entry::getKey) @@ -266,7 +265,7 @@ public class OptionalExcelService { SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(optionList,OptionalEbomImportChildDTO::getMaterialNo); for (OptionalEbomImportChildDTO childDTO : optionList) { //!childDTO.getTag() && - if (StringUtils.isEmpty(childDTO.getDrawingNo())) { + if (StrUtil.isNotBlank(childDTO.getMaterialNo()) && StringUtils.isEmpty(childDTO.getDrawingNo())) { childDTO.setError(childDTO.getError() | OptionalBomConstant.ExcelErrorTagEnum.MATERIA_NO_UNKOWN.getValue()); optionalEbomImportDTO.setError(true);