feat(material): 新增物料及齐套管理相关功能

- 新增BomControllerService实现齐套物料增删改查及Excel导入导出功能
- 新增BomMaterialService对接主物料系统进行物料信息查询和登录鉴权
- 新增MaterialController及MaterialControllerService实现图纸管理接口和服务
- 实现物料图片和zip批量上传功能,支持权限校验和异步任务提交
- 支持物料分类查询、历史版本查询及物料列表导出功能
- 优化导入数据校验逻辑,导入失败时导出错误结果文件
- 统一接口返回ApiResult封装并支持分页查询展示
- 引入PowerJob任务调度集成,支持图纸zip导入异步处理
- 代码结构调整,规范命名及异常处理逻辑
This commit is contained in:
曹鹏飞 2026-04-15 14:45:13 +08:00
parent d6d759ef19
commit e3e8dc3a25
11 changed files with 104 additions and 46 deletions

View File

@ -3,7 +3,7 @@ package com.nflg.qms.admin.controller;
import com.nflg.qms.admin.service.QmsQcMaterialControllerService; import com.nflg.qms.admin.service.QmsQcMaterialControllerService;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.dto.MaterialMainDTO;
import com.nflg.wms.common.pojo.qo.BomMaterialListQO; import com.nflg.wms.common.pojo.qo.BomMaterialListQO;
import com.nflg.wms.common.pojo.qo.QmsQcMaterialAddQO; import com.nflg.wms.common.pojo.qo.QmsQcMaterialAddQO;
import com.nflg.wms.common.pojo.qo.QmsQcMaterialSearchQO; import com.nflg.wms.common.pojo.qo.QmsQcMaterialSearchQO;
@ -15,11 +15,7 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
@ -98,7 +94,7 @@ public class QmsQcMaterialController extends BaseController {
* 搜索主物料系统物料信息 * 搜索主物料系统物料信息
*/ */
@PostMapping("searchBomMaterial") @PostMapping("searchBomMaterial")
public ApiResult<PageData<BomMaterialDTO>> searchBomMaterial(@Valid @RequestBody BomMaterialListQO request){ public ApiResult<PageData<MaterialMainDTO>> searchBomMaterial(@Valid @RequestBody BomMaterialListQO request){
return ApiResult.success(qcMaterialControllerService.searchBomMaterial(request)); return ApiResult.success(qcMaterialControllerService.searchBomMaterial(request));
} }
} }

View File

@ -9,8 +9,8 @@ import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.exception.NflgException; import com.nflg.wms.common.exception.NflgException;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.BomMaterialDTO;
import com.nflg.wms.common.pojo.dto.BomPageResultDTO; import com.nflg.wms.common.pojo.dto.BomPageResultDTO;
import com.nflg.wms.common.pojo.dto.MaterialMainDTO;
import com.nflg.wms.common.pojo.dto.QmsQcMaterialImportDTO; import com.nflg.wms.common.pojo.dto.QmsQcMaterialImportDTO;
import com.nflg.wms.common.pojo.qo.BomMaterialListQO; import com.nflg.wms.common.pojo.qo.BomMaterialListQO;
import com.nflg.wms.common.pojo.qo.QmsQcMaterialAddQO; import com.nflg.wms.common.pojo.qo.QmsQcMaterialAddQO;
@ -433,9 +433,9 @@ public class QmsQcMaterialControllerService {
return pathName.toString(); return pathName.toString();
} }
public PageData<BomMaterialDTO> searchBomMaterial(@Valid BomMaterialListQO request) { public PageData<MaterialMainDTO> searchBomMaterial(@Valid BomMaterialListQO request) {
BomPageResultDTO<BomMaterialDTO> bomPageResultDTO = bomMaterialService.searchMaterial(request); BomPageResultDTO<MaterialMainDTO> bomPageResultDTO = bomMaterialService.searchMaterial(request);
return new PageData<BomMaterialDTO>() return new PageData<MaterialMainDTO>()
.setPage(request.getPage()) .setPage(request.getPage())
.setPageSize(request.getPageSize()) .setPageSize(request.getPageSize())
.setTotal((int) bomPageResultDTO.getTotal()) .setTotal((int) bomPageResultDTO.getTotal())

View File

@ -4,14 +4,13 @@ import com.nflg.wms.admin.service.MaterialControllerService;
import com.nflg.wms.common.constant.UserType; import com.nflg.wms.common.constant.UserType;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.BomMaterialDTO;
import com.nflg.wms.common.pojo.dto.MaterialCategoryVO; import com.nflg.wms.common.pojo.dto.MaterialCategoryVO;
import com.nflg.wms.common.pojo.dto.MaterialMainDTO;
import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.EbomParentVO; import com.nflg.wms.common.pojo.vo.EbomParentVO;
import com.nflg.wms.common.pojo.vo.MaterialVO; import com.nflg.wms.common.pojo.vo.MaterialVO;
import com.nflg.wms.common.pojo.vo.QueryMaterialsVO; import com.nflg.wms.common.pojo.vo.QueryMaterialsVO;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.repository.entity.WmsMaterial;
import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.BaseController;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -155,7 +154,7 @@ public class MaterialController extends BaseController {
* 搜索主物料系统物料信息 * 搜索主物料系统物料信息
*/ */
@PostMapping("searchBomMaterial") @PostMapping("searchBomMaterial")
public ApiResult<PageData<BomMaterialDTO>> searchBomMaterial(@Valid @RequestBody BomMaterialListQO request){ public ApiResult<PageData<MaterialMainDTO>> searchBomMaterial(@Valid @RequestBody BomMaterialListQO request){
return ApiResult.success(materialControllerService.searchBomMaterial(request)); return ApiResult.success(materialControllerService.searchBomMaterial(request));
} }

View File

@ -9,6 +9,7 @@ import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.BomExportExcelDTO; import com.nflg.wms.common.pojo.dto.BomExportExcelDTO;
import com.nflg.wms.common.pojo.dto.BomImportExcelDTO; import com.nflg.wms.common.pojo.dto.BomImportExcelDTO;
import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.dto.BomMaterialDTO;
import com.nflg.wms.common.pojo.dto.MaterialMainDTO;
import com.nflg.wms.common.pojo.qo.BomSearchQO; import com.nflg.wms.common.pojo.qo.BomSearchQO;
import com.nflg.wms.common.pojo.qo.BomUpdateQO; import com.nflg.wms.common.pojo.qo.BomUpdateQO;
import com.nflg.wms.common.pojo.qo.ScanTypeUpdateQO; import com.nflg.wms.common.pojo.qo.ScanTypeUpdateQO;
@ -139,7 +140,7 @@ public class BomControllerService {
if (Objects.isNull(dto.getParentNo())) { if (Objects.isNull(dto.getParentNo())) {
sb.append("父级物料编号不能为空;"); sb.append("父级物料编号不能为空;");
} else { } else {
BomMaterialDTO pm = bomMaterialService.getMaterialInfo(dto.getParentNo()); MaterialMainDTO pm = bomMaterialService.getMaterialInfo(dto.getParentNo());
if (Objects.isNull(pm)) { if (Objects.isNull(pm)) {
sb.append("父级物料编号无效"); sb.append("父级物料编号无效");
} else { } else {
@ -168,7 +169,7 @@ public class BomControllerService {
if (StrUtil.isBlank(dto.getChildNo())) { if (StrUtil.isBlank(dto.getChildNo())) {
sb.append("子级物料编号不能为空;"); sb.append("子级物料编号不能为空;");
} else { } else {
BomMaterialDTO cm = bomMaterialService.getMaterialInfo(dto.getChildNo()); MaterialMainDTO cm = bomMaterialService.getMaterialInfo(dto.getChildNo());
if (Objects.isNull(cm)) { if (Objects.isNull(cm)) {
sb.append("子级物料编号无效;"); sb.append("子级物料编号无效;");
} else if (bom.getParentId() != 0L) { } else if (bom.getParentId() != 0L) {

View File

@ -44,7 +44,6 @@ import tech.powerjob.common.request.query.JobInfoQuery;
import tech.powerjob.common.response.JobInfoDTO; import tech.powerjob.common.response.JobInfoDTO;
import tech.powerjob.common.response.ResultDTO; import tech.powerjob.common.response.ResultDTO;
import javax.print.attribute.standard.PrinterURI;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
@ -166,7 +165,7 @@ public class MaterialControllerService {
for (MultipartFile file : files) { for (MultipartFile file : files) {
String name = file.getOriginalFilename(); String name = file.getOriginalFilename();
String materialNo = name.substring(0, name.lastIndexOf(".")); String materialNo = name.substring(0, name.lastIndexOf("."));
BomMaterialDTO bomMaterialDTO = bomMaterialService.getMaterialInfo(materialNo); MaterialMainDTO bomMaterialDTO = bomMaterialService.getMaterialInfo(materialNo);
if (Objects.isNull(bomMaterialDTO)) { if (Objects.isNull(bomMaterialDTO)) {
pics.add(name); pics.add(name);
} else { } else {
@ -225,9 +224,9 @@ public class MaterialControllerService {
} }
} }
public PageData<BomMaterialDTO> searchBomMaterial(@Valid BomMaterialListQO request) { public PageData<MaterialMainDTO> searchBomMaterial(@Valid BomMaterialListQO request) {
BomPageResultDTO<BomMaterialDTO> bomPageResultDTO = bomMaterialService.searchMaterial(request); BomPageResultDTO<MaterialMainDTO> bomPageResultDTO = bomMaterialService.searchMaterial(request);
return new PageData<BomMaterialDTO>() return new PageData<MaterialMainDTO>()
.setPage(request.getPage()) .setPage(request.getPage())
.setPageSize(request.getPageSize()) .setPageSize(request.getPageSize())
.setTotal((int) bomPageResultDTO.getTotal()) .setTotal((int) bomPageResultDTO.getTotal())

View File

@ -4,12 +4,11 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.common.constant.Constant; import com.nflg.wms.common.constant.Constant;
import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.dto.MaterialMainDTO;
import com.nflg.wms.common.pojo.dto.StorageExcelExportDTO; import com.nflg.wms.common.pojo.dto.StorageExcelExportDTO;
import com.nflg.wms.common.pojo.dto.StorageExcelImportDTO; import com.nflg.wms.common.pojo.dto.StorageExcelImportDTO;
import com.nflg.wms.common.pojo.qo.EnableQO; import com.nflg.wms.common.pojo.qo.EnableQO;
@ -21,8 +20,14 @@ import com.nflg.wms.common.util.DateTimeUtil;
import com.nflg.wms.common.util.EecExcelUtil; import com.nflg.wms.common.util.EecExcelUtil;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil; import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.entity.DictionaryItem;
import com.nflg.wms.repository.service.*; import com.nflg.wms.repository.entity.WmsBin;
import com.nflg.wms.repository.entity.WmsStorage;
import com.nflg.wms.repository.entity.WmsWarehouse;
import com.nflg.wms.repository.service.IDictionaryItemService;
import com.nflg.wms.repository.service.IWmsBinService;
import com.nflg.wms.repository.service.IWmsStorageService;
import com.nflg.wms.repository.service.IWmsWarehouseService;
import com.nflg.wms.starter.service.BomMaterialService; import com.nflg.wms.starter.service.BomMaterialService;
import com.nflg.wms.starter.service.FileUploadService; import com.nflg.wms.starter.service.FileUploadService;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -146,7 +151,7 @@ public class StorageControllerService {
if (StrUtil.isBlank(dto.getMaterialNo())) { if (StrUtil.isBlank(dto.getMaterialNo())) {
sb.append("物料编号不能为空;"); sb.append("物料编号不能为空;");
} else { } else {
BomMaterialDTO material = bomMaterialService.getMaterialInfo(dto.getMaterialNo()); MaterialMainDTO material = bomMaterialService.getMaterialInfo(dto.getMaterialNo());
if (Objects.isNull(material)) { if (Objects.isNull(material)) {
sb.append("物料编号无效;"); sb.append("物料编号无效;");
} else { } else {

View File

@ -2,30 +2,32 @@ package com.nflg.wms.admin.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Pair;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.admin.pojo.dto.PdfPageDTO; import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item1DTO;
import com.nflg.wms.admin.util.PdfGeneratorUtil; import com.nflg.wms.admin.util.PdfGeneratorUtil;
import com.nflg.wms.admin.util.QRCodeUtil; import com.nflg.wms.admin.util.QRCodeUtil;
import com.nflg.wms.admin.util.ThymeleafUtil; import com.nflg.wms.admin.util.ThymeleafUtil;
import com.nflg.wms.common.constant.Constant;
import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.*; import com.nflg.wms.common.pojo.dto.MaterialMainDTO;
import com.nflg.wms.common.pojo.dto.PackageMaterialDTO;
import com.nflg.wms.common.pojo.dto.PackageMaterialExcelExportDTO;
import com.nflg.wms.common.pojo.dto.PackageMaterialExcelImportDTO;
import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.PackageVO; import com.nflg.wms.common.pojo.vo.PackageVO;
import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.common.util.DateTimeUtil;
import com.nflg.wms.common.util.EecExcelUtil; import com.nflg.wms.common.util.EecExcelUtil;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil; import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.entity.WmsInTaskItem;
import com.nflg.wms.repository.entity.WmsMaterial;
import com.nflg.wms.repository.entity.WmsModel;
import com.nflg.wms.repository.entity.WmsStructuralPackage;
import com.nflg.wms.repository.service.*; import com.nflg.wms.repository.service.*;
import com.nflg.wms.starter.service.BomMaterialService; import com.nflg.wms.starter.service.BomMaterialService;
import com.nflg.wms.starter.service.FileUploadService; import com.nflg.wms.starter.service.FileUploadService;
@ -312,7 +314,7 @@ public class StructuralPackageControllerService {
case 2: case 2:
String no = row.getString(1); String no = row.getString(1);
VUtil.trueThrowBusinessError(StrUtil.isBlank(no)).throwMessage("钢构包编码不能为空"); VUtil.trueThrowBusinessError(StrUtil.isBlank(no)).throwMessage("钢构包编码不能为空");
BomMaterialDTO material = bomMaterialService.getMaterialInfo(no); MaterialMainDTO material = bomMaterialService.getMaterialInfo(no);
VUtil.trueThrowBusinessError(Objects.isNull(material)).throwMessage("钢构包编码无效"); VUtil.trueThrowBusinessError(Objects.isNull(material)).throwMessage("钢构包编码无效");
packageInfo.setNo(no); packageInfo.setNo(no);
packageInfo.setName(material.getMaterialDesc()); packageInfo.setName(material.getMaterialDesc());

View File

@ -0,0 +1,54 @@
package com.nflg.wms.common.pojo.dto;
import lombok.Data;
@Data
public class MaterialMainDTO {
private Long rowId;
private String materialNo;
private String materialName;
private String materialDesc;
private String materialDescEn;
private String drawingNo;
/**
* 物料单位
*/
private String materialUnit;
/**
* 物料状态 1:激活 2:禁止采购 3:售后专用 4:冻结 5:完全弃用
*/
private Integer materialState;
/**
* 一级分类编号
*/
private String firstMaterialCategoryCode;
/**
* 二级分类编号
*/
private String secondMaterialCategoryCode;
/**
* 三级分类编号
*/
private String thirdMaterialCategoryCode;
/**
* 大类/中类/小类/细分类
*/
private String oldCategoryNameTree;
/**
* 物料规格
*/
private String materialSpecifications;
}

View File

@ -7,7 +7,7 @@ import lombok.NoArgsConstructor;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class BomMaterialListQO extends PageQO{ public class BomMaterialListQO extends PageQO {
/** /**
* 物料编号 * 物料编号
@ -22,10 +22,10 @@ public class BomMaterialListQO extends PageQO{
/** /**
* 物料分类不需要设置 * 物料分类不需要设置
*/ */
private int materialClass=0; private int materialClass = 0;
/** /**
* 物料一级分类编码 * 分类编码
*/ */
private String firstMaterialCategoryCode; private String materialCategoryCode;
} }

View File

@ -5,7 +5,7 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.nflg.wms.common.constant.UserType; import com.nflg.wms.common.constant.UserType;
import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.dto.MaterialMainDTO;
import com.nflg.wms.repository.entity.WmsMaterial; import com.nflg.wms.repository.entity.WmsMaterial;
import com.nflg.wms.repository.service.IWmsMaterialService; import com.nflg.wms.repository.service.IWmsMaterialService;
import com.nflg.wms.starter.service.BomMaterialService; import com.nflg.wms.starter.service.BomMaterialService;
@ -27,7 +27,6 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream; import java.util.zip.ZipInputStream;
@ -69,7 +68,7 @@ public class MaterialZipImportProcessor implements BasicProcessor {
} }
String materialNo = name.substring(0, name.lastIndexOf(".")); String materialNo = name.substring(0, name.lastIndexOf("."));
omsLogger.info("物料编号:{}", materialNo); omsLogger.info("物料编号:{}", materialNo);
BomMaterialDTO bomMaterialDTO = bomMaterialService.getMaterialInfo(materialNo); MaterialMainDTO bomMaterialDTO = bomMaterialService.getMaterialInfo(materialNo);
if (Objects.isNull(bomMaterialDTO)) { if (Objects.isNull(bomMaterialDTO)) {
omsLogger.error("主数据中未查找到该物料:{}", materialNo); omsLogger.error("主数据中未查找到该物料:{}", materialNo);
} else { } else {

View File

@ -106,13 +106,13 @@ public class BomMaterialService {
return Optional.ofNullable(resultDTO.getData()).orElse(Collections.emptyList()); return Optional.ofNullable(resultDTO.getData()).orElse(Collections.emptyList());
} }
public BomMaterialDTO getMaterialInfo(String no) { public MaterialMainDTO getMaterialInfo(String no) {
VUtil.trueThrowBusinessError(StrUtil.isBlank(no)).throwMessage("物料编号不能为空"); VUtil.trueThrowBusinessError(StrUtil.isBlank(no)).throwMessage("物料编号不能为空");
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON); headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("authorization", getToken()); headers.add("authorization", getToken());
HttpEntity<Void> requestEntity = new HttpEntity<>(null, headers); HttpEntity<Void> requestEntity = new HttpEntity<>(null, headers);
ResponseEntity<BomResultDTO<BomMaterialDTO>> response = restTemplate.exchange( ResponseEntity<BomResultDTO<MaterialMainDTO>> response = restTemplate.exchange(
baseUrl + materialInfoUrl + no, baseUrl + materialInfoUrl + no,
HttpMethod.GET, HttpMethod.GET,
requestEntity, requestEntity,
@ -122,29 +122,32 @@ public class BomMaterialService {
log.info("查询主物料系统返回状态码:" + response.getStatusCode().value()); log.info("查询主物料系统返回状态码:" + response.getStatusCode().value());
VUtil.trueThrowBusinessError(!response.getStatusCode().is2xxSuccessful()) VUtil.trueThrowBusinessError(!response.getStatusCode().is2xxSuccessful())
.throwMessage("查询主物料系统失败"); .throwMessage("查询主物料系统失败");
BomResultDTO<BomMaterialDTO> resultDTO = response.getBody(); BomResultDTO<MaterialMainDTO> resultDTO = response.getBody();
log.info("查询主物料系统返回数据:" + JSONUtil.toJsonStr(resultDTO)); log.info("查询主物料系统返回数据:" + JSONUtil.toJsonStr(resultDTO));
return resultDTO.getData(); return resultDTO.getData();
} }
public BomPageResultDTO<BomMaterialDTO> searchMaterial(BomMaterialListQO qo) { public BomPageResultDTO<MaterialMainDTO> searchMaterial(BomMaterialListQO qo) {
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON); headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("authorization", getToken()); headers.add("authorization", getToken());
HttpEntity<BomMaterialListQO> requestEntity = new HttpEntity<>(qo, headers); HttpEntity<BomMaterialListQO> requestEntity = new HttpEntity<>(qo, headers);
ResponseEntity<BomResultDTO<BomPageResultDTO<BomMaterialDTO>>> response = restTemplate.exchange( ResponseEntity<BomResultDTO<BomPageResultDTO<MaterialMainDTO>>> response = restTemplate.exchange(
baseUrl + materialSearchUrl, baseUrl + materialSearchUrl,
HttpMethod.POST, HttpMethod.POST,
requestEntity, requestEntity,
new ParameterizedTypeReference<>() { new ParameterizedTypeReference<>() {
} }
); );
// ResponseEntity<String> responseEntity=restTemplate.postForEntity(baseUrl + materialSearchUrl, requestEntity, String.class);
log.info("查询主物料系统返回状态码:" + response.getStatusCode().value()); log.info("查询主物料系统返回状态码:" + response.getStatusCode().value());
VUtil.trueThrowBusinessError(!response.getStatusCode().is2xxSuccessful()) VUtil.trueThrowBusinessError(!response.getStatusCode().is2xxSuccessful())
.throwMessage("查询主物料系统失败"); .throwMessage("查询主物料系统失败");
BomResultDTO<BomPageResultDTO<BomMaterialDTO>> resultDTO = response.getBody(); BomResultDTO<BomPageResultDTO<MaterialMainDTO>> resultDTO = response.getBody();
log.info("查询主物料系统返回数据:" + JSONUtil.toJsonStr(resultDTO)); log.info("查询主物料系统返回数据:" + JSONUtil.toJsonStr(resultDTO));
return resultDTO.getData(); return resultDTO.getData();
// log.info("查询主物料系统返回数据:" +responseEntity.getBody());
// return new BomPageResultDTO();
} }
private String getToken() { private String getToken() {