diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java index e5d6dcf0..564e2179 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java @@ -254,9 +254,9 @@ public class DQBomApi extends BaseApi { * @param query 查询条件 * @return */ - @PostMapping("queryMaterial") + @PostMapping("queryMaterials") @ApiOperation("批量查询物料信息") - public ResultVO> queryMaterial(@Valid @RequestBody QueryMaterialsQuery query) { + public ResultVO> queryMaterials(@Valid @RequestBody @NotEmpty List query) { return ResultVO.success(dQBomService.queryMaterials(query)); } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java index 962a62a5..12f311e1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java @@ -5,10 +5,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.List; - /** * @author 曹鹏飞 * @date 2024/5/25 14:17:04 @@ -19,16 +15,14 @@ import java.util.List; public class QueryMaterialsQuery { /** - * 数据类别,0-物料编号;1-图号 + * 图号 */ - @ApiModelProperty(value = "数据类别,0-物料编号;1-图号") - @NotNull - private Integer type; + @ApiModelProperty(value = "图号") + private String drawingNo; /** - * 物料编号或者图号 + * 物料编码 */ - @ApiModelProperty(value = "物料编号或者图号") - @NotEmpty - private List keys; + @ApiModelProperty(value = "物料编码") + private String materialNo; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index a861a0c5..5af786c0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.product.base.core.conmon.util.SessionUtil; -import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; @@ -26,7 +25,6 @@ import com.nflg.product.bomnew.util.BomUtil; import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VersionUtil; import lombok.extern.slf4j.Slf4j; -import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -668,13 +666,23 @@ public class DQBomService { return datas; } - public List queryMaterials(QueryMaterialsQuery query) { - if (query.getType() == 0) { - return SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(query.getKeys()); - } else if (query.getType() == 1) { - return SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(query.getKeys()); - } else { - throw new NflgBusinessException(STATE.BusinessError, "无效的类别"); + public List queryMaterials(List query) { + List datas = new ArrayList<>(); + List keys = query.stream().map(QueryMaterialsQuery::getMaterialNo) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(keys)) { + datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(keys)); } + keys = query.stream() + .filter(it -> StrUtil.isBlank(it.getMaterialNo()) && StrUtil.isNotBlank(it.getDrawingNo())) + .map(QueryMaterialsQuery::getDrawingNo) + .distinct() + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(keys)) { + datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys)); + } + return datas; } }