refactor(order): 移除订单车辆信息字段并优化关联查询

- 删除 OrderSupplier、OrderCost、OrderRebate 等类中的 orderVehicle 字段
- 更新 Mapper XML 文件,调整关联查询逻辑
- 优化 PurchaseOrderMapper 查询方法 selectByOrderIdList
- 调整 Convert 类中字段映射关系,移除冗余忽略项
- 清理 Gateway 中不再使用的 OrderVehicleMapper 引用
- 完善 PurchaseOrderDO 的 resultMap 配置以支持新查询需求
This commit is contained in:
shenyifei 2025-12-18 14:00:41 +08:00
parent 9b9542385f
commit b7c04008ce
20 changed files with 121 additions and 132 deletions

View File

@ -3,7 +3,6 @@ package com.xunhong.erp.turbo.biz.domain.entity;
import com.alibaba.cola.dto.DTO;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
import com.xunhong.erp.turbo.api.biz.dto.enums.CostBelongEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.CostTypeEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
@ -82,11 +81,6 @@ public class OrderCost extends DTO {
*/
private Boolean isPaid;
/**
* 采购订单车辆信息
*/
private OrderVehicle orderVehicle;
/**
* 采购订单公司信息
*/

View File

@ -2,7 +2,6 @@ package com.xunhong.erp.turbo.biz.domain.entity;
import com.alibaba.cola.dto.DTO;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderRebateCalcMethodEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
import lombok.Data;
@ -65,11 +64,6 @@ public class OrderRebate extends DTO {
*/
private Boolean isPaid;
/**
* 采购订单车辆信息
*/
private OrderVehicle orderVehicle;
/**
* 采购订单公司信息
*/

View File

@ -1,7 +1,10 @@
package com.xunhong.erp.turbo.biz.domain.entity;
import com.alibaba.cola.dto.DTO;
import com.xunhong.erp.turbo.api.biz.dto.common.*;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderPackage;
import com.xunhong.erp.turbo.api.biz.dto.common.SupplierPackageUsage;
import com.xunhong.erp.turbo.api.biz.dto.common.UploadFileItem;
import com.xunhong.erp.turbo.api.biz.dto.enums.LoadingModeEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderPricingMethodEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
@ -191,11 +194,6 @@ public class OrderSupplier extends DTO {
*/
private List<OrderPackage> orderPackageList;
/**
* 采购订单车辆信息
*/
private OrderVehicle orderVehicle;
/**
* 采购订单公司信息
*/

View File

@ -2,7 +2,9 @@ package com.xunhong.erp.turbo.biz.infrastructure.convert;
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
import com.xunhong.erp.turbo.biz.domain.entity.PurchaseOrder;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.NullValueCheckStrategy;
@ -15,7 +17,6 @@ import java.util.List;
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface OrderCostConvert {
@Mapping(target = "purchaseOrderDO", ignore = true)
@Mapping(target = "orderVehicleDO", ignore = true)
@Mapping(target = "orderCompanyDO", ignore = true)
@Mapping(target = "orderCostId", ignore = true)
@Mapping(target = "version", ignore = true)
@ -24,12 +25,22 @@ public interface OrderCostConvert {
@Mapping(target = "createdAt", ignore = true)
OrderCostDO toOrderCostDO(OrderCost orderCost);
@Mapping(target = "orderSupplierList", ignore = true)
@Mapping(target = "orderShipList", ignore = true)
@Mapping(target = "orderRebate", ignore = true)
@Mapping(target = "orderPackageList", ignore = true)
@Mapping(target = "orderDealer", ignore = true)
@Mapping(target = "orderCostList", ignore = true)
@Mapping(target = "orderCostItemList", ignore = true)
@Mapping(target = "orderCompany", ignore = true)
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
PurchaseOrder toPurchaseOrder(PurchaseOrderDO purchaseOrderDO);
List<OrderCostDO> toOrderCostDOList(List<OrderCost> orderCostList);
List<OrderCost> toOrderCostList(List<OrderCostDO> orderCostDOList);
@Mapping(target = "orderCompany", source = "orderCompanyDO")
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
@Mapping(target = "purchaseOrder", source = "purchaseOrderDO")
OrderCost toOrderCost(OrderCostDO orderCostDO);
@ -37,7 +48,6 @@ public interface OrderCostConvert {
@Mapping(target = "updatedAt", ignore = true)
@Mapping(target = "purchaseOrderDO", ignore = true)
@Mapping(target = "poState", ignore = true)
@Mapping(target = "orderVehicleDO", ignore = true)
@Mapping(target = "orderCostId", ignore = true)
@Mapping(target = "orderCompanyDO", ignore = true)
@Mapping(target = "isDelete", ignore = true)

View File

@ -1,7 +1,9 @@
package com.xunhong.erp.turbo.biz.infrastructure.convert;
import com.xunhong.erp.turbo.biz.domain.entity.OrderRebate;
import com.xunhong.erp.turbo.biz.domain.entity.PurchaseOrder;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.NullValueCheckStrategy;
@ -13,7 +15,17 @@ import org.mapstruct.NullValueCheckStrategy;
public interface OrderRebateConvert {
@Mapping(target = "orderCompany", source = "orderCompanyDO")
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
@Mapping(target = "purchaseOrder", source = "purchaseOrderDO")
OrderRebate toOrderRebate(OrderRebateDO orderRebateDO);
@Mapping(target = "orderSupplierList", ignore = true)
@Mapping(target = "orderShipList", ignore = true)
@Mapping(target = "orderRebate", ignore = true)
@Mapping(target = "orderPackageList", ignore = true)
@Mapping(target = "orderDealer", ignore = true)
@Mapping(target = "orderCostList", ignore = true)
@Mapping(target = "orderCostItemList", ignore = true)
@Mapping(target = "orderCompany", ignore = true)
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
PurchaseOrder toPurchaseOrder(PurchaseOrderDO purchaseOrderDO);
}

View File

@ -2,7 +2,9 @@ package com.xunhong.erp.turbo.biz.infrastructure.convert;
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
import com.xunhong.erp.turbo.biz.domain.entity.OrderSupplier;
import com.xunhong.erp.turbo.biz.domain.entity.PurchaseOrder;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingTarget;
@ -17,17 +19,27 @@ public interface OrderSupplierConvert {
@Mapping(target = "purchaseOrder", source = "purchaseOrderDO")
@Mapping(target = "orderCompany", source = "orderCompanyDO")
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
@Mapping(target = "orderPackageList", source = "orderPackageDOList")
OrderSupplier toOrderSupplier(OrderSupplierDO orderSupplierDO);
@Mapping(target = "orderSupplierList", ignore = true)
@Mapping(target = "orderShipList", ignore = true)
@Mapping(target = "orderRebate", ignore = true)
@Mapping(target = "orderPackageList", ignore = true)
@Mapping(target = "orderDealer", ignore = true)
@Mapping(target = "orderCostList", ignore = true)
@Mapping(target = "orderCostItemList", ignore = true)
@Mapping(target = "orderCompany", ignore = true)
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
PurchaseOrder toPurchaseOrder(PurchaseOrderDO purchaseOrderDO);
@Mapping(target = "purchaseOrderDO", ignore = true)
@Mapping(target = "pricingMethod", ignore = true)
@Mapping(target = "poState", ignore = true)
@Mapping(target = "packageUsage", ignore = true)
@Mapping(target = "orderCompanyDO", ignore = true)
@Mapping(target = "costTemplate", ignore = true)
@Mapping(target = "costIds", ignore = true)
@Mapping(target = "orderVehicleDO", ignore = true)
@Mapping(target = "wechatQr", ignore = true)
@Mapping(target = "totalWeightImg", ignore = true)
@Mapping(target = "totalWeight", ignore = true)

View File

@ -103,7 +103,6 @@ public interface PurchaseOrderConvert {
@Mapping(target = "purchaseOrderDO", ignore = true)
@Mapping(target = "orderCompanyDO", ignore = true)
@Mapping(target = "orderVehicleDO", ignore = true)
@Mapping(target = "orderPackageDOList", source = "orderPackageList")
@Mapping(target = "orderSupplierId", ignore = true)
@Mapping(target = "version", ignore = true)
@ -118,7 +117,6 @@ public interface PurchaseOrderConvert {
@Mapping(target = "selected", ignore = true)
@Mapping(target = "orderCompany", source = "orderCompanyDO")
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
@Mapping(target = "createdByName", ignore = true)
@Mapping(target = "createdBy", ignore = true)
@Mapping(target = "orderPackageList", source = "orderPackageDOList")
@ -131,7 +129,6 @@ public interface PurchaseOrderConvert {
@Mapping(target = "orderCompanyDO", ignore = true)
@Mapping(target = "costTemplate", ignore = true)
@Mapping(target = "costIds", ignore = true)
@Mapping(target = "orderVehicleDO", ignore = true)
@Mapping(target = "wechatQr", ignore = true)
@Mapping(target = "totalWeightImg", ignore = true)
@Mapping(target = "totalWeight", ignore = true)
@ -163,7 +160,6 @@ public interface PurchaseOrderConvert {
@Mapping(target = "purchaseOrderDO", ignore = true)
@Mapping(target = "poState", ignore = true)
@Mapping(target = "orderVehicleDO", ignore = true)
@Mapping(target = "orderCompanyDO", ignore = true)
@Mapping(target = "orderCostId", ignore = true)
@Mapping(target = "version", ignore = true)
@ -183,7 +179,6 @@ public interface PurchaseOrderConvert {
@Mapping(target = "purchaseOrderDO", ignore = true)
@Mapping(target = "poState", ignore = true)
@Mapping(target = "orderVehicleDO", ignore = true)
@Mapping(target = "orderCompanyDO", ignore = true)
@Mapping(target = "version", ignore = true)
@Mapping(target = "updatedAt", ignore = true)

View File

@ -98,15 +98,14 @@ public class OrderCostDO extends BaseDO<OrderCostDO> {
@TableField(exist = false)
private PurchaseOrderStateEnum poState;
@TableField(exist = false)
private OrderVehicleDO orderVehicleDO;
@TableField(exist = false)
private OrderCompanyDO orderCompanyDO;
@TableField(exist = false)
private PurchaseOrderDO purchaseOrderDO;
@TableField(exist = false)
private OrderVehicleDO orderVehicleDO;
}

View File

@ -83,10 +83,6 @@ public class OrderRebateDO extends BaseDO<OrderPackageDO> {
@TableField(exist = false)
private PurchaseOrderStateEnum poState;
@TableField(exist = false)
private OrderVehicleDO orderVehicleDO;
@TableField(exist = false)
private OrderCompanyDO orderCompanyDO;

View File

@ -226,9 +226,6 @@ public class OrderSupplierDO extends BaseDO<OrderSupplierDO> {
@TableField(exist = false)
private List<OrderPackageDO> orderPackageDOList;
@TableField(exist = false)
private OrderVehicleDO orderVehicleDO;
@TableField(exist = false)
private OrderCompanyDO orderCompanyDO;

View File

@ -10,8 +10,14 @@ import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
import com.xunhong.erp.turbo.biz.domain.gateway.OrderCostGateway;
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderCostConvert;
import com.xunhong.erp.turbo.biz.infrastructure.entity.*;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.*;
import com.xunhong.erp.turbo.biz.infrastructure.entity.CostDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCompanyDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.CostMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCompanyMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCostMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.PurchaseOrderMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
@ -32,7 +38,6 @@ public class OrderCostGatewayImpl implements OrderCostGateway {
private final OrderCostMapper orderCostMapper;
private final OrderCostConvert orderCostConvert;
private final OrderVehicleMapper orderVehicleMapper;
private final OrderCompanyMapper orderCompanyMapper;
private final PurchaseOrderMapper purchaseOrderMapper;
@ -53,18 +58,6 @@ public class OrderCostGatewayImpl implements OrderCostGateway {
List<Long> orderIdList = page.getRecords().stream().map(OrderCostDO::getOrderId).toList();
if (CollUtil.isNotEmpty(orderIdList)) {
LambdaQueryWrapper<OrderVehicleDO> queryWrapper3 = Wrappers.lambdaQuery(OrderVehicleDO.class);
queryWrapper3.in(OrderVehicleDO::getOrderId, orderIdList);
queryWrapper3.select(OrderVehicleDO::getOrderId, OrderVehicleDO::getVehicleNo, OrderVehicleDO::getDeliveryTime, OrderVehicleDO::getOrigin, OrderVehicleDO::getDestination, OrderVehicleDO::getDealerId, OrderVehicleDO::getDealerName);
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper3);
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
page.getRecords().forEach(orderCostDO -> {
OrderVehicleDO orderVehicleDO = orderVehicleDOMap.get(orderCostDO.getOrderId());
if (Objects.nonNull(orderVehicleDO)) {
orderCostDO.setOrderVehicleDO(orderVehicleDO);
}
});
LambdaQueryWrapper<OrderCompanyDO> queryWrapper2 = Wrappers.lambdaQuery(OrderCompanyDO.class);
queryWrapper2.in(OrderCompanyDO::getOrderId, orderIdList);
queryWrapper2.select(OrderCompanyDO::getOrderId, OrderCompanyDO::getShortName, OrderCompanyDO::getFullName, OrderCompanyDO::getCompanyId);
@ -77,10 +70,7 @@ public class OrderCostGatewayImpl implements OrderCostGateway {
}
});
LambdaQueryWrapper<PurchaseOrderDO> queryWrapper1 = Wrappers.lambdaQuery(PurchaseOrderDO.class);
queryWrapper1.in(PurchaseOrderDO::getOrderId, orderIdList);
queryWrapper1.select(PurchaseOrderDO::getOrderId, PurchaseOrderDO::getOrderSn, PurchaseOrderDO::getState, PurchaseOrderDO::getAuditState);
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectList(queryWrapper1);
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectByOrderIdList(orderIdList);
Map<Long, PurchaseOrderDO> purchaseOrderDOMap = purchaseOrderDOList.stream().collect(Collectors.toMap(PurchaseOrderDO::getOrderId, Function.identity()));
page.getRecords().forEach(orderCostDO -> {
PurchaseOrderDO purchaseOrderDO = purchaseOrderDOMap.get(orderCostDO.getOrderId());

View File

@ -11,11 +11,9 @@ import com.xunhong.erp.turbo.biz.domain.gateway.OrderRebateGateway;
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderRebateConvert;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCompanyDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCompanyMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderRebateMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderVehicleMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.PurchaseOrderMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -37,7 +35,6 @@ public class OrderRebateGatewayImpl implements OrderRebateGateway {
private final OrderRebateMapper orderRebateMapper;
private final OrderRebateConvert orderRebateConvert;
private final OrderVehicleMapper orderVehicleMapper;
private final OrderCompanyMapper orderCompanyMapper;
private final PurchaseOrderMapper purchaseOrderMapper;
@ -54,18 +51,6 @@ public class OrderRebateGatewayImpl implements OrderRebateGateway {
List<Long> orderIdList = page.getRecords().stream().map(OrderRebateDO::getOrderId).toList();
if (CollUtil.isNotEmpty(orderIdList)) {
LambdaQueryWrapper<OrderVehicleDO> queryWrapper3 = Wrappers.lambdaQuery(OrderVehicleDO.class);
queryWrapper3.in(OrderVehicleDO::getOrderId, orderIdList);
queryWrapper3.select(OrderVehicleDO::getOrderId, OrderVehicleDO::getVehicleNo, OrderVehicleDO::getDeliveryTime, OrderVehicleDO::getOrigin, OrderVehicleDO::getDestination, OrderVehicleDO::getDealerId, OrderVehicleDO::getDealerName);
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper3);
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
page.getRecords().forEach(orderCostDO -> {
OrderVehicleDO orderVehicleDO = orderVehicleDOMap.get(orderCostDO.getOrderId());
if (Objects.nonNull(orderVehicleDO)) {
orderCostDO.setOrderVehicleDO(orderVehicleDO);
}
});
LambdaQueryWrapper<OrderCompanyDO> queryWrapper2 = Wrappers.lambdaQuery(OrderCompanyDO.class);
queryWrapper2.in(OrderCompanyDO::getOrderId, orderIdList);
queryWrapper2.select(OrderCompanyDO::getOrderId, OrderCompanyDO::getShortName, OrderCompanyDO::getFullName, OrderCompanyDO::getCompanyId);
@ -78,10 +63,7 @@ public class OrderRebateGatewayImpl implements OrderRebateGateway {
}
});
LambdaQueryWrapper<PurchaseOrderDO> queryWrapper1 = Wrappers.lambdaQuery(PurchaseOrderDO.class);
queryWrapper1.in(PurchaseOrderDO::getOrderId, orderIdList);
queryWrapper1.select(PurchaseOrderDO::getOrderId, PurchaseOrderDO::getOrderSn, PurchaseOrderDO::getState, PurchaseOrderDO::getAuditState);
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectList(queryWrapper1);
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectByOrderIdList(orderIdList);
Map<Long, PurchaseOrderDO> purchaseOrderDOMap = purchaseOrderDOList.stream().collect(Collectors.toMap(PurchaseOrderDO::getOrderId, Function.identity()));
page.getRecords().forEach(orderCostDO -> {
PurchaseOrderDO purchaseOrderDO = purchaseOrderDOMap.get(orderCostDO.getOrderId());

View File

@ -15,11 +15,9 @@ import com.xunhong.erp.turbo.biz.domain.gateway.OrderSupplierGateway;
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderSupplierConvert;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCompanyDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO;
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCompanyMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderSupplierMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderVehicleMapper;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.PurchaseOrderMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -41,7 +39,6 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
private final OrderSupplierMapper orderSupplierMapper;
private final OrderSupplierConvert orderSupplierConvert;
private final OrderVehicleMapper orderVehicleMapper;
private final OrderCompanyMapper orderCompanyMapper;
private final PurchaseOrderMapper purchaseOrderMapper;
@ -60,18 +57,6 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
List<Long> orderIdList = page.getRecords().stream().map(OrderSupplierDO::getOrderId).toList();
if (CollUtil.isNotEmpty(orderIdList)) {
LambdaQueryWrapper<OrderVehicleDO> queryWrapper3 = Wrappers.lambdaQuery(OrderVehicleDO.class);
queryWrapper3.in(OrderVehicleDO::getOrderId, orderIdList);
queryWrapper3.select(OrderVehicleDO::getOrderId, OrderVehicleDO::getVehicleNo, OrderVehicleDO::getDeliveryTime, OrderVehicleDO::getOrigin, OrderVehicleDO::getDestination, OrderVehicleDO::getDealerId, OrderVehicleDO::getDealerName);
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper3);
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
page.getRecords().forEach(orderSupplierDO -> {
OrderVehicleDO orderVehicleDO = orderVehicleDOMap.get(orderSupplierDO.getOrderId());
if (Objects.nonNull(orderVehicleDO)) {
orderSupplierDO.setOrderVehicleDO(orderVehicleDO);
}
});
LambdaQueryWrapper<OrderCompanyDO> queryWrapper2 = Wrappers.lambdaQuery(OrderCompanyDO.class);
queryWrapper2.in(OrderCompanyDO::getOrderId, orderIdList);
queryWrapper2.select(OrderCompanyDO::getOrderId, OrderCompanyDO::getShortName, OrderCompanyDO::getFullName, OrderCompanyDO::getCompanyId);
@ -84,10 +69,7 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
}
});
LambdaQueryWrapper<PurchaseOrderDO> queryWrapper1 = Wrappers.lambdaQuery(PurchaseOrderDO.class);
queryWrapper1.in(PurchaseOrderDO::getOrderId, orderIdList);
queryWrapper1.select(PurchaseOrderDO::getOrderId, PurchaseOrderDO::getOrderSn, PurchaseOrderDO::getState, PurchaseOrderDO::getAuditState);
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectList(queryWrapper1);
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectByOrderIdList(orderIdList);
Map<Long, PurchaseOrderDO> purchaseOrderDOMap = purchaseOrderDOList.stream().collect(Collectors.toMap(PurchaseOrderDO::getOrderId, Function.identity()));
page.getRecords().forEach(orderSupplierDO -> {
PurchaseOrderDO purchaseOrderDO = purchaseOrderDOMap.get(orderSupplierDO.getOrderId());

View File

@ -3,11 +3,16 @@ package com.xunhong.erp.turbo.biz.infrastructure.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author shenyifei
*/
@Mapper
public interface PurchaseOrderMapper extends BaseMapper<PurchaseOrderDO> {
List<PurchaseOrderDO> selectByOrderIdList(@Param("orderIdList") List<Long> orderIdList);
}

View File

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCostMapper">
<resultMap id="BaseResultMap" type="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace="com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCostMapper">
<resultMap id="BaseResultMap"
type="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO">
<result property="orderCostId" column="order_cost_id"/>
<result property="orderId" column="order_id"/>
<result property="costId" column="cost_id"/>
@ -29,8 +32,10 @@
oc.*,
po.state as po_state
FROM order_cost oc
LEFT JOIN order_vehicle ov ON oc.order_id = ov.order_id AND ov.is_delete = 0
LEFT JOIN purchase_order po ON oc.order_id = po.order_id AND po.is_delete = 0
LEFT JOIN order_vehicle ov ON oc.order_id = ov.order_id AND ov.is_delete
= 0
LEFT JOIN purchase_order po ON oc.order_id = po.order_id AND
po.is_delete = 0
<where>
oc.is_delete = 0
<if test="query.createdBy != null">
@ -41,7 +46,8 @@
</if>
<if test="query.poStates != null and query.poStates.size() > 0">
AND po.state IN
<foreach collection="query.poStates" item="state" open="(" separator="," close=")">
<foreach collection="query.poStates" item="state" open="("
separator="," close=")">
#{state.type}
</foreach>
</if>

View File

@ -11,6 +11,7 @@
<result property="pricingMethod" column="pricing_method"/>
<result property="orderSn" column="order_sn"/>
<result property="state" column="state"/>
<result property="auditState" column="audit_state"/>
<result property="foreman" column="foreman"/>
<result property="remark" column="remark"/>
<result property="createdBy" column="created_by"/>
@ -20,6 +21,49 @@
<result property="updatedAt" column="updated_at"/>
<result property="isDelete" column="is_delete"/>
<result property="version" column="version"/>
<association property="orderVehicleDO"
javaType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO">
<result property="vehicleId" column="vehicle_id"/>
<result property="orderId" column="order_id"/>
<result property="vehicleNo" column="vehicle_no"/>
<result property="dealerId" column="dealer_id"/>
<result property="dealerName" column="dealer_name"/>
</association>
</resultMap>
<resultMap id="SelectByOrderIdListResultMap"
type="com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO">
<result property="orderId" column="order_id"/>
<result property="orderSn" column="order_sn"/>
<result property="state" column="state"/>
<result property="auditState" column="audit_state"/>
<association property="orderVehicleDO"
javaType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO">
<result property="vehicleId" column="vehicle_id"/>
<result property="vehicleNo" column="vehicle_no"/>
<result property="dealerId" column="dealer_id"/>
<result property="dealerName" column="dealer_name"/>
</association>
</resultMap>
<select id="selectByOrderIdList"
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO"
resultMap="SelectByOrderIdListResultMap">
SELECT
po.order_id, po.order_sn, po.state, ov.vehicle_id, ov.vehicle_no, ov.dealer_id, ov.dealer_name
FROM purchase_order po
LEFT JOIN order_vehicle ov ON po.order_id = ov.order_id AND ov.is_delete = 0
<where>
po.is_delete = 0
<if test="orderIdList != null and orderIdList.size() > 0">
AND po.order_id IN
<foreach item="item" collection="orderIdList" separator=","
open="(" close=")" index="">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>

View File

@ -224,12 +224,6 @@ public class OrderSupplier extends Command {
@Schema(title = "采购订单包装箱信息")
private List<OrderPackage> orderPackageList;
/**
* 采购订单车辆信息
*/
@Schema(title = "采购订单车辆信息")
private OrderVehicle orderVehicle;
/**
* 采购订单公司信息
*/

View File

@ -2,7 +2,6 @@ package com.xunhong.erp.turbo.api.biz.dto.vo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
import com.xunhong.erp.turbo.api.biz.dto.enums.CostBelongEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.CostTypeEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
@ -96,12 +95,6 @@ public class OrderCostVO extends Command {
@Schema(title = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createdAt;
/**
* 车辆信息
*/
@Schema(title = "车辆信息", requiredMode = Schema.RequiredMode.REQUIRED)
private OrderVehicle orderVehicle;
/**
* 采购订单状态: 0_草稿1_审核中2_已完成3_已驳回4_已关闭
*/

View File

@ -1,7 +1,6 @@
package com.xunhong.erp.turbo.api.biz.dto.vo;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderRebateCalcMethodEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
import com.xunhong.erp.turbo.base.dto.Command;
@ -75,12 +74,6 @@ public class OrderRebateVO extends Command {
@Schema(title = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createdAt;
/**
* 车辆信息
*/
@Schema(title = "车辆信息", requiredMode = Schema.RequiredMode.REQUIRED)
private OrderVehicle orderVehicle;
/**
* 采购订单状态: 0_草稿1_审核中2_已完成3_已驳回4_已关闭
*/

View File

@ -2,7 +2,6 @@ package com.xunhong.erp.turbo.api.biz.dto.vo;
import com.alibaba.cola.dto.DTO;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
import com.xunhong.erp.turbo.api.biz.dto.common.UploadFileItem;
import com.xunhong.erp.turbo.api.biz.dto.enums.LoadingModeEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderPricingMethodEnum;
@ -209,12 +208,6 @@ public class OrderSupplierVO extends DTO {
@Schema(title = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createdAt;
/**
* 车辆信息
*/
@Schema(title = "车辆信息", requiredMode = Schema.RequiredMode.REQUIRED)
private OrderVehicle orderVehicle;
/**
* 采购订单状态: 0_草稿1_审核中2_已完成3_已驳回4_已关闭
*/