新增库位绑定Feign接口与合并采购销售订单

This commit is contained in:
潘荣晟
2026-01-30 16:06:22 +08:00
parent 925860aaff
commit 33fa3cf7d2

View File

@@ -5,6 +5,7 @@ import com.zt.plat.framework.common.exception.ErrorCode;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.contractorder.api.dto.order.*; import com.zt.plat.module.contractorder.api.dto.order.*;
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PrchOrdDtlDO; import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PrchOrdDtlDO;
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO; import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
@@ -145,7 +146,7 @@ public class OrderApiImpl implements OrderApi {
BigDecimal lstQty = Optional.ofNullable(salesOrderDetailDO.getTrfQty()) BigDecimal lstQty = Optional.ofNullable(salesOrderDetailDO.getTrfQty())
.orElse(BigDecimal.ZERO); .orElse(BigDecimal.ZERO);
if (lstQty.equals(BigDecimal.ZERO)) { if (lstQty.equals(BigDecimal.ZERO)) {
throw exception(new ErrorCode(1_008_00_609,"积累量不能等于0")); throw exception(new ErrorCode(1_008_00_609, "积累量不能等于0"));
} }
SalesOrderDetailDO updateDO = new SalesOrderDetailDO(); SalesOrderDetailDO updateDO = new SalesOrderDetailDO();
updateDO.setId(f.getOrderDetailId()); // 给更新对象设 ID updateDO.setId(f.getOrderDetailId()); // 给更新对象设 ID
@@ -158,7 +159,7 @@ public class OrderApiImpl implements OrderApi {
BigDecimal lstQty = Optional.ofNullable(prchOrdDtlDO.getLstQty()) BigDecimal lstQty = Optional.ofNullable(prchOrdDtlDO.getLstQty())
.orElse(BigDecimal.ZERO); .orElse(BigDecimal.ZERO);
if (lstQty.equals(BigDecimal.ZERO)) { if (lstQty.equals(BigDecimal.ZERO)) {
throw exception(new ErrorCode(1_008_00_609,"积累量不能等于0")); throw exception(new ErrorCode(1_008_00_609, "积累量不能等于0"));
} }
PrchOrdDtlDO updateDO = new PrchOrdDtlDO(); PrchOrdDtlDO updateDO = new PrchOrdDtlDO();
updateDO.setId(f.getOrderDetailId()); updateDO.setId(f.getOrderDetailId());
@@ -174,13 +175,21 @@ public class OrderApiImpl implements OrderApi {
@Override @Override
public CommonResult<List<SalesOrdDtlDTO>> getSalesOrderDetailsByOrderIds(List<Long> ids) { public CommonResult<List<SalesOrdDtlDTO>> getSalesOrderDetailsByOrderIds(List<Long> ids) {
List<SalesOrderDetailDO> salesOrderDetailDOS = SpringUtil.getBean(SalesOrderDetailMapper.class).selectList(SalesOrderDetailDO::getId, ids, SalesOrderDetailDO::getIsEnable, '1'); List<SalesOrderDetailDO> salesOrderDetailDOS = SpringUtil.getBean(SalesOrderDetailMapper.class).selectList(
new LambdaQueryWrapperX<SalesOrderDetailDO>()
.in(SalesOrderDetailDO::getOrderId, ids)
.eq(SalesOrderDetailDO::getIsEnable, '1')
);
return success(BeanUtils.toBean(salesOrderDetailDOS, SalesOrdDtlDTO.class)); return success(BeanUtils.toBean(salesOrderDetailDOS, SalesOrdDtlDTO.class));
} }
@Override @Override
public CommonResult<SalesOrdDtlDTO> getSalesOrderDetailsByOrderId(Long id) { public CommonResult<SalesOrdDtlDTO> getSalesOrderDetailsByOrderId(Long id) {
SalesOrderDetailDO salesOrderDetailDOS = SpringUtil.getBean(SalesOrderDetailMapper.class).selectOne(SalesOrderDetailDO::getOrderId, id, SalesOrderDetailDO::getIsEnable, '1'); SalesOrderDetailDO salesOrderDetailDOS = SpringUtil.getBean(SalesOrderDetailMapper.class).selectOne(
new LambdaQueryWrapperX<SalesOrderDetailDO>()
.eq(SalesOrderDetailDO::getOrderId, id)
.eq(SalesOrderDetailDO::getIsEnable, '1')
);
return success(BeanUtils.toBean(salesOrderDetailDOS, SalesOrdDtlDTO.class)); return success(BeanUtils.toBean(salesOrderDetailDOS, SalesOrdDtlDTO.class));
} }
@@ -192,7 +201,7 @@ public class OrderApiImpl implements OrderApi {
} }
private List<SalesOrderDO> getOrderByIds(List<Long> ids) { private List<SalesOrderDO> getOrderByIds(List<Long> ids) {
return SpringUtil.getBean(SalesOrderMapper.class).selectList(SalesOrderDO::getId,ids); // 采购订单与销售订单的 return SpringUtil.getBean(SalesOrderMapper.class).selectList(SalesOrderDO::getId, ids); // 采购订单与销售订单的
} }
private List<OrderDTO> getPoOrdByIds(List<Long> ids) { private List<OrderDTO> getPoOrdByIds(List<Long> ids) {
@@ -203,7 +212,11 @@ public class OrderApiImpl implements OrderApi {
} }
PrchOrdDtlMapper prchOrdDtlMapper = SpringUtil.getBean(PrchOrdDtlMapper.class); PrchOrdDtlMapper prchOrdDtlMapper = SpringUtil.getBean(PrchOrdDtlMapper.class);
List<Long> orderIds = orderDTOS.stream().map(OrderDTO::getId).toList(); List<Long> orderIds = orderDTOS.stream().map(OrderDTO::getId).toList();
List<PrchOrdDtlDO> prchOrdDtlDOS = prchOrdDtlMapper.selectList(PrchOrdDtlDO::getOrdId, orderIds, PrchOrdDtlDO::getIsEnb, '1'); List<PrchOrdDtlDO> prchOrdDtlDOS = prchOrdDtlMapper.selectList(
new LambdaQueryWrapperX<PrchOrdDtlDO>()
.in(PrchOrdDtlDO::getOrdId, orderIds)
.eq(PrchOrdDtlDO::getIsEnb, '1')
);
orderDTOS.forEach(o -> { orderDTOS.forEach(o -> {
List<OrdDtlDTO> ordDtlDTOS = new ArrayList<>(); List<OrdDtlDTO> ordDtlDTOS = new ArrayList<>();
prchOrdDtlDOS.forEach(p -> { prchOrdDtlDOS.forEach(p -> {
@@ -226,7 +239,11 @@ public class OrderApiImpl implements OrderApi {
} }
SalesOrderDetailMapper salesOrderDetailMapper = SpringUtil.getBean(SalesOrderDetailMapper.class); SalesOrderDetailMapper salesOrderDetailMapper = SpringUtil.getBean(SalesOrderDetailMapper.class);
List<Long> orderIds = orderDTOS.stream().map(OrderDTO::getId).toList(); List<Long> orderIds = orderDTOS.stream().map(OrderDTO::getId).toList();
List<SalesOrderDetailDO> salesOrderDetailDOS = salesOrderDetailMapper.selectList(SalesOrderDetailDO::getOrderId, orderIds, SalesOrderDetailDO::getIsEnable, '1'); List<SalesOrderDetailDO> salesOrderDetailDOS = salesOrderDetailMapper.selectList(
new LambdaQueryWrapperX<SalesOrderDetailDO>()
.in(SalesOrderDetailDO::getOrderId, orderIds)
.eq(SalesOrderDetailDO::getIsEnable, '1')
);
orderDTOS.forEach(o -> { orderDTOS.forEach(o -> {
List<OrdDtlDTO> salesOrdDtlDTOS = new ArrayList<>(); List<OrdDtlDTO> salesOrdDtlDTOS = new ArrayList<>();
salesOrderDetailDOS.forEach(s -> { salesOrderDetailDOS.forEach(s -> {
@@ -273,7 +290,7 @@ public class OrderApiImpl implements OrderApi {
ordDtlDTO.setTrfWrhNum(p.getTrfWrhNum()); ordDtlDTO.setTrfWrhNum(p.getTrfWrhNum());
ordDtlDTO.setRmk(p.getRmk()); ordDtlDTO.setRmk(p.getRmk());
ordDtlDTO.setLstQty(p.getLstQty()); ordDtlDTO.setLstQty(p.getLstQty());
if("PO04".equals(orderDTO.getType())){ if ("PO04".equals(orderDTO.getType())) {
ordDtlDTO.setMtrlName(orderDTO.getMaterialName()); ordDtlDTO.setMtrlName(orderDTO.getMaterialName());
ordDtlDTO.setMtrlNum(orderDTO.getMaterialNumber()); // 没单位了 ordDtlDTO.setMtrlNum(orderDTO.getMaterialNumber()); // 没单位了
} }