refactor(material): 替换BomMaterialDTO为MaterialMainDTO以统一物料数据类型

- 修改DeliveryController中相关物料数据获取逻辑,使用MaterialMainDTO替代BomMaterialDTO
- 更新MaterialController物料查询相关代码,改用MaterialMainDTO提高一致性
- 调整MaterialControllerService中物料导入校验逻辑,替换为MaterialMainDTO对象处理
- 精简和规范import语句,删除无用导入,优化代码结构
This commit is contained in:
曹鹏飞 2026-04-20 13:57:40 +08:00
parent 9136cbf3d4
commit 6ff777e808
3 changed files with 13 additions and 12 deletions

View File

@ -260,7 +260,7 @@ public class MaterialControllerService {
MaterialSearchQO qo = new MaterialSearchQO(); MaterialSearchQO qo = new MaterialSearchQO();
qo.setPageSize(Integer.MAX_VALUE); qo.setPageSize(Integer.MAX_VALUE);
List<MaterialVO> dbMaterials = materialService.search(qo).getRecords(); List<MaterialVO> dbMaterials = materialService.search(qo).getRecords();
List<BomMaterialDTO> bomMaterials = bomMaterialService.getList(data.stream().map(MaterialExcelImportDTO::getNo).collect(Collectors.toSet())); List<MaterialMainDTO> bomMaterials = bomMaterialService.getList(data.stream().map(MaterialExcelImportDTO::getNo).collect(Collectors.toSet()));
List<UserSupplier> suppliers = userSupplierService.list(); List<UserSupplier> suppliers = userSupplierService.list();
int index = 0; int index = 0;
for (MaterialExcelImportDTO dto : data) { for (MaterialExcelImportDTO dto : data) {
@ -287,7 +287,7 @@ public class MaterialControllerService {
if (StrUtil.isBlank(dto.getNo())) { if (StrUtil.isBlank(dto.getNo())) {
sb.append("SAP料号不能为空;"); sb.append("SAP料号不能为空;");
} else { } else {
BomMaterialDTO bomMaterial = bomMaterials.stream().filter(m -> StrUtil.equals(dto.getNo(), m.getMaterialNo())).findFirst().orElse(null); MaterialMainDTO bomMaterial = bomMaterials.stream().filter(m -> StrUtil.equals(dto.getNo(), m.getMaterialNo())).findFirst().orElse(null);
if (Objects.isNull(bomMaterial)) { if (Objects.isNull(bomMaterial)) {
sb.append("SAP料号无效;"); sb.append("SAP料号无效;");
} else { } else {

View File

@ -6,14 +6,18 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.*; import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.ShipmentMaterialCodeItemVO; import com.nflg.wms.common.pojo.vo.ShipmentMaterialCodeItemVO;
import com.nflg.wms.common.pojo.vo.ShipmentPackagingCodeVO; import com.nflg.wms.common.pojo.vo.ShipmentPackagingCodeVO;
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.WmsShipmentDelivery;
import com.nflg.wms.repository.service.*; import com.nflg.wms.repository.entity.WmsShipmentDeliveryItem;
import com.nflg.wms.repository.entity.WmsShipmentPackagingCode;
import com.nflg.wms.repository.service.IWmsShipmentDeliveryItemService;
import com.nflg.wms.repository.service.IWmsShipmentDeliveryService;
import com.nflg.wms.repository.service.IWmsShipmentPackagingCodeService;
import com.nflg.wms.shipment.pojo.dto.CrmDeliveryDTO; import com.nflg.wms.shipment.pojo.dto.CrmDeliveryDTO;
import com.nflg.wms.shipment.pojo.dto.DeliveryExportDTO; import com.nflg.wms.shipment.pojo.dto.DeliveryExportDTO;
import com.nflg.wms.shipment.pojo.qo.DeliverySearchFromCRMQO; import com.nflg.wms.shipment.pojo.qo.DeliverySearchFromCRMQO;
@ -30,7 +34,6 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.ttzero.excel.entity.ListSheet; import org.ttzero.excel.entity.ListSheet;
import org.ttzero.excel.entity.TemplateSheet; import org.ttzero.excel.entity.TemplateSheet;
import org.ttzero.excel.entity.Workbook; import org.ttzero.excel.entity.Workbook;
@ -39,10 +42,8 @@ import java.io.IOException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -76,7 +77,7 @@ public class DeliveryController extends BaseController {
@PostMapping("searchFromCRM") @PostMapping("searchFromCRM")
public ApiResult<List<DeliverAddQO>> searchFromCRM(@RequestBody DeliverySearchFromCRMQO qo) { public ApiResult<List<DeliverAddQO>> searchFromCRM(@RequestBody DeliverySearchFromCRMQO qo) {
List<CrmDeliveryDTO> datas = crmService.getDeliverys(qo); List<CrmDeliveryDTO> datas = crmService.getDeliverys(qo);
List<BomMaterialDTO> materials = bomMaterialService.getList(datas.stream().map(CrmDeliveryDTO::getProductNumber__c).collect(Collectors.toSet())); List<MaterialMainDTO> materials = bomMaterialService.getList(datas.stream().map(CrmDeliveryDTO::getProductNumber__c).collect(Collectors.toSet()));
return ApiResult.success( return ApiResult.success(
datas.stream().map(d -> new DeliverAddQO() datas.stream().map(d -> new DeliverAddQO()
.setSoNo(d.getOrderNumber()) .setSoNo(d.getOrderNumber())
@ -88,7 +89,7 @@ public class DeliveryController extends BaseController {
materials.stream() materials.stream()
.filter(m -> StrUtil.equals(m.getMaterialNo(), d.getProductNumber__c())) .filter(m -> StrUtil.equals(m.getMaterialNo(), d.getProductNumber__c()))
.findFirst() .findFirst()
.map(BomMaterialDTO::getDrawingNo) .map(MaterialMainDTO::getDrawingNo)
.orElse("") .orElse("")
) )
).toList() ).toList()

View File

@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.ShipmentMaterialAddQO; import com.nflg.wms.common.pojo.qo.ShipmentMaterialAddQO;
import com.nflg.wms.common.pojo.qo.ShipmentMaterialSearchQO; import com.nflg.wms.common.pojo.qo.ShipmentMaterialSearchQO;
import com.nflg.wms.common.pojo.qo.ShipmentMaterialSyncSaveQO; import com.nflg.wms.common.pojo.qo.ShipmentMaterialSyncSaveQO;
@ -92,7 +92,7 @@ public class MaterialController extends BaseController {
.list() .list()
.stream() .stream()
.collect(Collectors.toMap(WmsShipmentMaterial::getNo, WmsShipmentMaterial::getId)); .collect(Collectors.toMap(WmsShipmentMaterial::getNo, WmsShipmentMaterial::getId));
List<BomMaterialDTO> dtos = bomMaterialService.getList(materialMaps.keySet()); List<MaterialMainDTO> dtos = bomMaterialService.getList(materialMaps.keySet());
if (CollectionUtil.isNotEmpty(dtos)) { if (CollectionUtil.isNotEmpty(dtos)) {
shipmentMaterialService.updateBatchById( shipmentMaterialService.updateBatchById(
dtos.stream().map(dto -> { dtos.stream().map(dto -> {