feat(material): 新增物料及齐套管理相关功能
- 新增BomControllerService实现齐套物料增删改查及Excel导入导出功能 - 新增BomMaterialService对接主物料系统进行物料信息查询和登录鉴权 - 新增MaterialController及MaterialControllerService实现图纸管理接口和服务 - 实现物料图片和zip批量上传功能,支持权限校验和异步任务提交 - 支持物料分类查询、历史版本查询及物料列表导出功能 - 优化导入数据校验逻辑,导入失败时导出错误结果文件 - 统一接口返回ApiResult封装并支持分页查询展示 - 引入PowerJob任务调度集成,支持图纸zip导入异步处理 - 代码结构调整,规范命名及异常处理逻辑
This commit is contained in:
parent
d6d759ef19
commit
e3e8dc3a25
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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())
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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())
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue