diff --git a/nflg_project_dev/nflg-bom-new/lib/libsapjco3.so b/nflg_project_dev/nflg-bom-new/lib/libsapjco3.so new file mode 100644 index 00000000..e69de29b 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 956a9e67..e5d6dcf0 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 @@ -7,10 +7,7 @@ import com.google.common.collect.ImmutableList; import com.mzt.logapi.context.LogRecordContext; import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.api.BaseApi; -import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomPageQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomSaveQuery; +import com.nflg.product.bomnew.pojo.query.*; import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.DQBomImportService; import com.nflg.product.bomnew.service.DQBomService; @@ -251,4 +248,15 @@ public class DQBomApi extends BaseApi { , HttpServletResponse response) throws IOException { EecExcelUtil.export(response, messages, OperationErrorMsgVO.class, "错误信息"); } + + /** + * 批量查询物料信息 + * @param query 查询条件 + * @return + */ + @PostMapping("queryMaterial") + @ApiOperation("批量查询物料信息") + public ResultVO> queryMaterial(@Valid @RequestBody QueryMaterialsQuery query) { + return ResultVO.success(dQBomService.queryMaterials(query)); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index 79ecbae0..6d225b67 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -13,6 +13,7 @@ import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; +import com.nflg.product.bomnew.pojo.query.QueryMaterialsQuery; import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.util.EecExcelUtil; @@ -20,7 +21,6 @@ import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import nflg.product.common.constant.STATE; -import nflg.product.common.dto.LoginUserInfoDTO; import nflg.product.common.vo.ResultVO; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; @@ -451,4 +451,10 @@ public class EbomApi extends BaseApi { public ResultVO> getSource(@Valid @RequestParam("rowId") @NotNull Long rowId) { return ResultVO.success(bomNewEbomParentService.getSource(rowId)); } + + @PostMapping("queryMaterials") + @ApiOperation("批量查询物料信息") + public ResultVO> queryMaterials(@Valid @RequestBody QueryMaterialsQuery query) { + return ResultVO.success(bomNewEbomParentService.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 new file mode 100644 index 00000000..962a62a5 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java @@ -0,0 +1,34 @@ +package com.nflg.product.bomnew.pojo.query; + +import io.swagger.annotations.ApiModel; +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 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "com-nflg-product-bomnew-pojo-new-query-QueryMaterialsQuery") +public class QueryMaterialsQuery { + + /** + * 数据类别,0-物料编号;1-图号 + */ + @ApiModelProperty(value = "数据类别,0-物料编号;1-图号") + @NotNull + private Integer type; + + /** + * 物料编号或者图号 + */ + @ApiModelProperty(value = "物料编号或者图号") + @NotEmpty + private List keys; +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index 0f69d768..ac00d4a3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -20,6 +20,7 @@ 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.BomNewEbomParentMapper; +import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO; @@ -27,6 +28,7 @@ import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; +import com.nflg.product.bomnew.pojo.query.QueryMaterialsQuery; import com.nflg.product.bomnew.pojo.query.GenerateVirtualPackageQuery; import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.domain.EBom.*; @@ -2343,6 +2345,16 @@ public class BomNewEbomParentService extends ServiceImpl 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 BomNewEbomParentEntity getLatestByMaterialNo(String materialNo) { return this.lambdaQuery() .eq(BomNewEbomParentEntity::getMaterialNo, 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 871312b2..a861a0c5 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,22 +11,22 @@ 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; import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; -import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomPageQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomSaveQuery; +import com.nflg.product.bomnew.pojo.query.*; import com.nflg.product.bomnew.pojo.vo.*; 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; @@ -667,4 +667,14 @@ 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, "无效的类别"); + } + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index c845b0c6..2c5e5584 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java @@ -56,10 +56,11 @@ public class EBomToPBomFor31 extends EBomToPbomBase { } //1010 数据 - facCodes.add(EBomConstant.MAIN_FACTORY_CODE_1010); + List data1010=new ArrayList<>(); List deliveryPackage1010 = result.stream().filter(u -> u.getParentRowId().equals(parent.getRowId()) && !u.getMaterialName().contains("仙桃") && u.getMaterialName().contains("发货")).collect(Collectors.toList()); if(CollUtil.isNotEmpty(deliveryPackage1010)){ + facCodes.add(EBomConstant.MAIN_FACTORY_CODE_1010); data1010.add(parent); for (BomNewEbomParentVO data: deliveryPackage1010){ List subVos = result.stream().filter(u -> u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), new BigDecimal(0.01))) < 0).collect(Collectors.toList()); diff --git a/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java b/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java index e833f0bb..476fca86 100644 --- a/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java +++ b/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java @@ -106,7 +106,7 @@ public class SessionUtil { return getUser().getSessionKey(); } - private static LoginUserInfoDTO getUser() { + public static LoginUserInfoDTO getUser() { return Optional.ofNullable(BaseApi.loginUser.get()) .orElseThrow(() -> new NflgBusinessException(STATE.LoginError, "请登录")); }