8月新需求修改
This commit is contained in:
parent
5710ef1c0e
commit
e56d59967f
@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
@ -189,5 +190,7 @@ public class BizLogisticsOrderDetail extends TenantEntity {
|
||||
|
||||
private Long quoteOrderId;
|
||||
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
@ -86,12 +87,12 @@ public class BizPurchaseOrderItem extends TenantEntity {
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
private Long price;
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
private Long amount;
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 计划采购量
|
||||
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
@ -64,7 +65,7 @@ public class BizSendOrder extends TenantEntity {
|
||||
/**
|
||||
* 发货数量
|
||||
*/
|
||||
private Long quantitySend;
|
||||
private BigDecimal quantitySend;
|
||||
|
||||
/**
|
||||
* 单箱产品数量
|
||||
@ -118,4 +119,6 @@ public class BizSendOrder extends TenantEntity {
|
||||
|
||||
private String createName;
|
||||
|
||||
private Long transferFromId;
|
||||
|
||||
}
|
||||
|
@ -68,4 +68,6 @@ public class BizSendOrderItem extends TenantEntity {
|
||||
@TableField(exist = false)
|
||||
private BigDecimal ratio;
|
||||
|
||||
private Long transferFromId;
|
||||
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
@ -55,7 +56,7 @@ public class BizShipForward extends TenantEntity {
|
||||
/**
|
||||
* 实际发货数量
|
||||
*/
|
||||
private Long quantitySend;
|
||||
private BigDecimal quantitySend;
|
||||
|
||||
/**
|
||||
* 发货供应商名称
|
||||
|
@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
@ -94,13 +95,13 @@ public class BizPurchaseOrderItemBo extends BaseEntity {
|
||||
* 含税单价
|
||||
*/
|
||||
// @NotNull(message = "含税单价不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long price;
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
// @NotNull(message = "价税合计不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long amount;
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 计划采购量
|
||||
|
@ -9,6 +9,8 @@ import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ -95,7 +97,7 @@ public class BizPurchaseOutOrderBo extends BaseEntity {
|
||||
* 外包数量
|
||||
*/
|
||||
@NotNull(message = "外包数量不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long outsourceQuantity;
|
||||
private BigDecimal outsourceQuantity;
|
||||
|
||||
/**
|
||||
* 实收数量
|
||||
|
@ -137,7 +137,7 @@ public class BizLogisticsQuoteVo implements Serializable {
|
||||
private String type;
|
||||
private String shipmentId;
|
||||
|
||||
private Long totalPrice;
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package org.asinkj.amz.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.asinkj.amz.domain.BizOrderOutItem;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
@ -107,12 +108,23 @@ public class BizOrderOutItemVo implements Serializable {
|
||||
@ExcelProperty(value = "实际到货数量")
|
||||
private BigDecimal quantityReal;
|
||||
|
||||
|
||||
@ExcelProperty(value = "转发数量")
|
||||
private BigDecimal quantityForward = BigDecimal.ZERO;
|
||||
|
||||
@ExcelProperty(value = "可转发数量")
|
||||
private BigDecimal quantityCanForward = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 已入库数量
|
||||
*/
|
||||
@ExcelProperty(value = "已入库数量")
|
||||
private Long quantityEntry;
|
||||
|
||||
|
||||
@ExcelProperty(value = "转发类型")
|
||||
private String forwardType;
|
||||
|
||||
/**
|
||||
* 已发货数量
|
||||
*/
|
||||
|
@ -104,13 +104,13 @@ public class BizPurchaseOrderItemVo implements Serializable {
|
||||
* 含税单价
|
||||
*/
|
||||
@ExcelProperty(value = "含税单价")
|
||||
private Long price;
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
@ExcelProperty(value = "价税合计")
|
||||
private Long amount;
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 计划采购量
|
||||
@ -148,6 +148,9 @@ public class BizPurchaseOrderItemVo implements Serializable {
|
||||
@ExcelProperty(value = "换货量")
|
||||
private Long quantityExchange;
|
||||
|
||||
@ExcelProperty(value = "转发数量")
|
||||
private BigDecimal quantityForward;
|
||||
|
||||
/**
|
||||
* 质检量
|
||||
*/
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.asinkj.amz.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.asinkj.amz.domain.BizOrderOutItem;
|
||||
@ -101,13 +102,13 @@ public class BizPurchaseOutOrderVo implements Serializable {
|
||||
* 外包数量
|
||||
*/
|
||||
@ExcelProperty(value = "外包数量")
|
||||
private Long outsourceQuantity;
|
||||
private BigDecimal outsourceQuantity;
|
||||
|
||||
@ExcelProperty(value = "已下单数量")
|
||||
private Long quantityShipped;
|
||||
private BigDecimal quantityShipped;
|
||||
|
||||
@ExcelProperty(value = "剩余数量")
|
||||
private Long quantityLeft;
|
||||
private BigDecimal quantityLeft;
|
||||
|
||||
/**
|
||||
* 实收数量
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.asinkj.amz.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import org.asinkj.amz.domain.BizLogisticsOrder;
|
||||
@ -72,7 +73,7 @@ public class BizSendOrderVo implements Serializable {
|
||||
* 发货数量
|
||||
*/
|
||||
@ExcelProperty(value = "发货数量")
|
||||
private Long quantitySend;
|
||||
private BigDecimal quantitySend;
|
||||
|
||||
/**
|
||||
* 单箱产品数量
|
||||
@ -139,5 +140,8 @@ public class BizSendOrderVo implements Serializable {
|
||||
|
||||
private String createName;
|
||||
|
||||
private Long transferFromId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ public class BizShipmentPlanOrderExportVo implements Serializable {
|
||||
private String sendName;
|
||||
|
||||
@ExcelProperty(value = "供应商发货数量")
|
||||
private Long quantitySend;
|
||||
private BigDecimal quantitySend;
|
||||
|
||||
@ExcelProperty(value = "供应商发货明细")
|
||||
private String sendDetail;
|
||||
|
@ -109,5 +109,9 @@ public class SysAmazonStoreVo implements Serializable {
|
||||
@ExcelProperty(value = "店铺状态 0停用 1正常 2异常 3欠费")
|
||||
private Long status;
|
||||
|
||||
private String userName;
|
||||
|
||||
private String nickName;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,12 @@
|
||||
package org.asinkj.amz.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.asinkj.amz.domain.BizInquiryRequest;
|
||||
import org.asinkj.amz.domain.SysAmazonStore;
|
||||
import org.asinkj.amz.domain.vo.BizInquiryRequestVo;
|
||||
import org.asinkj.amz.domain.vo.SysAmazonStoreVo;
|
||||
import org.asinkj.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.mapstruct.Mapper;
|
||||
@ -16,4 +22,15 @@ import java.util.List;
|
||||
public interface SysAmazonStoreMapper extends BaseMapperPlus<SysAmazonStore, SysAmazonStoreVo> {
|
||||
|
||||
void batchInsertOrUpdate(List<SysAmazonStore> dataList);
|
||||
|
||||
|
||||
/**
|
||||
* XML 分页查询方法
|
||||
* @param page 分页参数对象 (必须放在第一位)
|
||||
* @param wrapper 查询条件构造器
|
||||
*/
|
||||
Page<SysAmazonStoreVo> selectCustomPage(
|
||||
@Param("page") Page<SysAmazonStoreVo> page,
|
||||
@Param(Constants.WRAPPER) Wrapper<SysAmazonStore> wrapper
|
||||
);
|
||||
}
|
||||
|
@ -246,6 +246,8 @@ public class BizLogisticsOrderQuotationServiceImpl implements IBizLogisticsOrder
|
||||
detail.setEstimatedDeliveryDate(DateUtil.offsetDay(new Date(), Math.toIntExact(quoteVo.getLeadTime())));
|
||||
detail.setPricePerKg(quoteVo.getPrice());
|
||||
detail.setPlannedQuantity(bizShipmentTracking.getTotal());
|
||||
detail.setTotalPrice(quoteVo.getTotalPrice());
|
||||
|
||||
detail.setCarrierConfirmTime(DateUtil.date());
|
||||
BigDecimal lb = new BigDecimal(bizShipmentTracking.getWeight());
|
||||
|
||||
|
@ -10,9 +10,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.asinkj.amz.api.RemoteFBADataService;
|
||||
import org.asinkj.amz.domain.*;
|
||||
import org.asinkj.amz.domain.bo.SysAmazonStoreBo;
|
||||
import org.asinkj.amz.domain.vo.BizPurchaseOrderItemVo;
|
||||
import org.asinkj.amz.domain.vo.SysAmazonStoreVo;
|
||||
import org.asinkj.amz.mapper.*;
|
||||
import org.asinkj.amz.service.IBizPurchaseOrderItemService;
|
||||
import org.asinkj.amz.service.ISysAmazonStoreService;
|
||||
import org.asinkj.common.core.utils.MapstructUtils;
|
||||
import org.asinkj.common.core.utils.StringUtils;
|
||||
import org.asinkj.common.mybatis.core.page.TableDataInfo;
|
||||
@ -71,6 +74,9 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
@Resource
|
||||
private BizSendOrderItemMapper bizSendOrderItemMapper;
|
||||
|
||||
@Resource
|
||||
private ISysAmazonStoreService iSysAmazonStoreService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询采购单主
|
||||
@ -158,6 +164,10 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
item.setSysStatusHistories(sysStatusHistoryMap.get(item.getId()));
|
||||
List<BizShipForward> bizShipForwards = finalBizShipForwardItemMap.get(item.getId());
|
||||
List<BizSendOrder> bizSendOrders = finalBizSendOrderItemMap.get(item.getId());
|
||||
if (CollectionUtil.isNotEmpty(bizShipForwards)) {
|
||||
BigDecimal reduce = bizShipForwards.stream().map(BizShipForward::getQuantitySend).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
item.setQuantityForward(reduce);
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(bizShipForwards)) {
|
||||
item.setHasForward("Y");
|
||||
}
|
||||
@ -176,12 +186,12 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
}
|
||||
BigDecimal bizShipForwardDecimal = BigDecimal.ZERO;
|
||||
if (CollectionUtil.isNotEmpty(bizShipForwards)) {
|
||||
bizShipForwardDecimal = bizShipForwards.stream().map(bizShipForward -> new BigDecimal(bizShipForward.getQuantitySend())).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
bizShipForwardDecimal = bizShipForwards.stream().map(bizShipForward -> bizShipForward.getQuantitySend()).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
}
|
||||
List<BizSendOrder> bizSendOrders = BizSendOrderMap.get(record.getOrderSn());
|
||||
BigDecimal sendOrderDecimal = BigDecimal.ZERO;
|
||||
if (CollectionUtil.isNotEmpty(bizSendOrders)) {
|
||||
sendOrderDecimal = bizSendOrders.stream().map(bizSendOrder -> new BigDecimal(bizSendOrder.getQuantitySend())).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
sendOrderDecimal = bizSendOrders.stream().map(BizSendOrder::getQuantitySend).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
|
||||
@ -205,7 +215,7 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
private LambdaQueryWrapper<BizPurchaseOrder> buildQueryWrapper(BizPurchaseOrderBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<BizPurchaseOrder> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOrderSn()), BizPurchaseOrder::getOrderSn, bo.getOrderSn());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getOrderSn()), BizPurchaseOrder::getOrderSn, bo.getOrderSn());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCustomOrderSn()), BizPurchaseOrder::getCustomOrderSn, bo.getCustomOrderSn());
|
||||
lqw.eq(bo.getSupplierId() != null, BizPurchaseOrder::getSupplierId, bo.getSupplierId());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), BizPurchaseOrder::getSupplierName, bo.getSupplierName());
|
||||
@ -277,6 +287,17 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
lqw.in(BizPurchaseOrder::getOrderSn, orderSnList);
|
||||
}
|
||||
|
||||
if (StpUtil.hasRole("yunying")) {
|
||||
SysAmazonStoreBo sysAmazonStoreBo = new SysAmazonStoreBo();
|
||||
sysAmazonStoreBo.setUserId(LoginHelper.getUserId());
|
||||
List<SysAmazonStoreVo> sysAmazonStoreVos = iSysAmazonStoreService.queryList(sysAmazonStoreBo);
|
||||
Set<String> storeNameCollect = sysAmazonStoreVos.stream().map(SysAmazonStoreVo::getStoreName).collect(Collectors.toSet());
|
||||
if (CollectionUtil.isNotEmpty(storeNameCollect)) {
|
||||
lqw.in(BizPurchaseOrder::getStoreName, storeNameCollect);
|
||||
// lqw.and(queryWrapper -> queryWrapper.in(BizPurchaseOrder::getStoreName, storeNameCollect).or().in(BizPurchaseOrder::getRealStoreName, storeNameCollect));
|
||||
}
|
||||
}
|
||||
|
||||
return lqw;
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,7 @@ public class BizPurchaseOutOrderServiceImpl implements IBizPurchaseOutOrderServi
|
||||
LambdaQueryWrapper<BizSendOrder> sendOrderWrapper = new LambdaQueryWrapper<>();
|
||||
sendOrderWrapper.in(BizSendOrder::getOrderSn, collect);
|
||||
List<BizSendOrder> bizSendOrders = bizSendOrderMapper.selectList(sendOrderWrapper);
|
||||
Map<String, Long> collect3 = bizSendOrders.stream().collect(Collectors.groupingBy(BizSendOrder::getOrderSn, Collectors.reducing(0L, BizSendOrder::getQuantitySend, Long::sum)));
|
||||
Map<String, BigDecimal> collect3 = bizSendOrders.stream().collect(Collectors.groupingBy(BizSendOrder::getOrderSn, Collectors.reducing(BigDecimal.ZERO, BizSendOrder::getQuantitySend, BigDecimal::add)));
|
||||
|
||||
LambdaQueryWrapper<BizShipForward> bizShipForwardWrapper = new LambdaQueryWrapper<>();
|
||||
bizShipForwardWrapper.in(CollectionUtil.isNotEmpty(collect1), BizShipForward::getOrderSn, collect1);
|
||||
@ -131,7 +131,7 @@ public class BizPurchaseOutOrderServiceImpl implements IBizPurchaseOutOrderServi
|
||||
Map<String, List<BizShipForward>> bizShipForwardMap = new HashMap<>();
|
||||
|
||||
if (CollectionUtil.isNotEmpty(bizShipForwards1)) {
|
||||
bizShipForwardMap = bizShipForwards1.stream().collect(Collectors.groupingBy(BizShipForward::getOrderSn));
|
||||
bizShipForwardMap = bizShipForwards1.stream().collect(Collectors.groupingBy(c -> c.getOrderSn() + c.getSku()));
|
||||
}
|
||||
|
||||
Map<String, BigDecimal> collect2 = bizSendOrderItems.stream()
|
||||
@ -142,24 +142,45 @@ public class BizPurchaseOutOrderServiceImpl implements IBizPurchaseOutOrderServi
|
||||
// 对每个分组计算quality的总和
|
||||
Collectors.reducing(BigDecimal.ZERO, BizSendOrderItem::getQuantitySend, BigDecimal::add)
|
||||
));
|
||||
|
||||
|
||||
for (BizPurchaseOutOrderVo record : records) {
|
||||
List<BizOrderOutItem> bizOrderOutItems1 = itemMap.get(record.getOrderSn());
|
||||
List<BizOrderOutItemVo> convert = MapstructUtils.convert(bizOrderOutItems1, BizOrderOutItemVo.class);
|
||||
record.setQuantityShipped(Optional.ofNullable(collect3.get(record.getOrderSn())).orElse(0L));
|
||||
record.setQuantityLeft(record.getOutsourceQuantity() - Optional.ofNullable(collect3.get(record.getOrderSn())).orElse(0L));
|
||||
record.setQuantityShipped(Optional.ofNullable(collect3.get(record.getOrderSn())).orElse(BigDecimal.ZERO));
|
||||
|
||||
record.setQuantityLeft(record.getOutsourceQuantity().subtract(Optional.ofNullable(collect3.get(record.getOrderSn())).orElse(BigDecimal.ZERO)));
|
||||
if (CollectionUtil.isEmpty(convert)) {
|
||||
continue;
|
||||
}
|
||||
for (BizOrderOutItemVo item : convert) {
|
||||
BizPurchaseOrder bizPurchaseOrder = purchaseOrderMap.get(item.getPurchaseOrderSn());
|
||||
item.setOrder(bizPurchaseOrder);
|
||||
|
||||
List<BizShipForward> bizShipForwards2 = bizShipForwardMap.get(item.getPurchaseOrderSn() + item.getSku());
|
||||
if (CollectionUtil.isNotEmpty(bizShipForwards2)) {
|
||||
BigDecimal reduce = bizShipForwards2.stream().filter(c -> "completed".equals(c.getFwdStatus())).map(BizShipForward::getQuantitySend).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
item.setQuantityForward(reduce);
|
||||
item.setForwards(bizShipForwards2);
|
||||
}
|
||||
|
||||
item.setQuantityCanForward(item.getQuantityReal().subtract(item.getQuantityForward()));
|
||||
|
||||
if (item.getSupplierName().equals(record.getSupplierName())) {
|
||||
item.setForwardType("self");
|
||||
} else {
|
||||
item.setForwardType("other");
|
||||
}
|
||||
|
||||
BizPurchaseOrderItem bizPurchaseOrderItem = itemsMap.get(item.getPurchaseOrderSn() + item.getSku());
|
||||
item.setItem(bizPurchaseOrderItem);
|
||||
List<BizShipForward> bizShipForwards = bizShipForwardMap.get(item.getPurchaseOrderSn());
|
||||
if (CollectionUtil.isNotEmpty(bizShipForwards)) {
|
||||
item.setForwards(bizShipForwards);
|
||||
}
|
||||
// List<BizShipForward> bizShipForwards = bizShipForwardMap.get(item.getPurchaseOrderSn());
|
||||
// if (CollectionUtil.isNotEmpty(bizShipForwards)) {
|
||||
// item.setForwards(bizShipForwards);
|
||||
// }
|
||||
item.setQuantityShipped(Optional.ofNullable(collect2.get(item.getPurchaseOrderSn() + "_" + item.getSku())).orElse(BigDecimal.ZERO));
|
||||
item.setQuantityLeft(item.getQuantityReal().subtract(Optional.ofNullable(item.getQuantityShipped()).orElse(BigDecimal.ZERO)));
|
||||
BigDecimal ratio = item.getQuantityReal().divide(new BigDecimal(record.getOutsourceQuantity()), 2, RoundingMode.HALF_UP);
|
||||
BigDecimal ratio = item.getQuantityReal().divide(record.getOutsourceQuantity(), 2, RoundingMode.HALF_UP);
|
||||
item.setRatio(ratio);
|
||||
}
|
||||
record.setItems(convert);
|
||||
@ -182,7 +203,8 @@ public class BizPurchaseOutOrderServiceImpl implements IBizPurchaseOutOrderServi
|
||||
private LambdaQueryWrapper<BizPurchaseOutOrder> buildQueryWrapper(BizPurchaseOutOrderBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<BizPurchaseOutOrder> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOrderSn()), BizPurchaseOutOrder::getOrderSn, bo.getOrderSn());
|
||||
lqw.apply("1 = 1");
|
||||
lqw.like(StringUtils.isNotBlank(bo.getOrderSn()), BizPurchaseOutOrder::getOrderSn, bo.getOrderSn());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getWarehouseName()), BizPurchaseOutOrder::getWarehouseName, bo.getWarehouseName());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getOutsourceWarehouseName()), BizPurchaseOutOrder::getOutsourceWarehouseName, bo.getOutsourceWarehouseName());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), BizPurchaseOutOrder::getSupplierName, bo.getSupplierName());
|
||||
@ -199,6 +221,7 @@ public class BizPurchaseOutOrderServiceImpl implements IBizPurchaseOutOrderServi
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getMsku()), BizPurchaseOutOrder::getMsku, bo.getMsku());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPlanSn()), BizPurchaseOutOrder::getPlanSn, bo.getPlanSn());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSellerName()), BizPurchaseOutOrder::getSellerName, bo.getSellerName());
|
||||
lqw.orderByDesc(BizPurchaseOutOrder::getBizCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
|
@ -96,6 +96,23 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
|
||||
List<BizSendOrderVo> records = result.getRecords();
|
||||
// Set<String> shipmentIds = records.stream().map(BizSendOrderVo::getShipmentId).collect(Collectors.toSet());
|
||||
Set<Long> ids = records.stream().map(BizSendOrderVo::getId).collect(Collectors.toSet());
|
||||
Set<Long> transferIds = records.stream().map(BizSendOrderVo::getTransferFromId).collect(Collectors.toSet());
|
||||
|
||||
|
||||
LambdaQueryWrapper<BizSendOrder> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(CollectionUtil.isNotEmpty(transferIds), BizSendOrder::getTransferFromId, transferIds);
|
||||
List<BizSendOrder> bizSendOrders = baseMapper.selectList(queryWrapper);
|
||||
|
||||
Map<Long, List<BizSendOrder>> transferMap = bizSendOrders.stream().collect(Collectors.groupingBy(BizSendOrder::getTransferFromId));
|
||||
Map<String, List<BizSendOrderItem>> transferItemMap = new HashMap<>();
|
||||
Set<Long> transferDataIds = bizSendOrders.stream().map(BizSendOrder::getId).collect(Collectors.toSet());
|
||||
if (CollectionUtil.isNotEmpty(transferDataIds)) {
|
||||
LambdaQueryWrapper<BizSendOrderItem> bizSendOrderItemLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
bizSendOrderItemLambdaQueryWrapper.in(BizSendOrderItem::getMainOrderSn, transferDataIds);
|
||||
List<BizSendOrderItem> bizSendOrderItems = bizSendOrderItemMapper.selectList(bizSendOrderItemLambdaQueryWrapper);
|
||||
transferItemMap = bizSendOrderItems.stream().collect(Collectors.groupingBy(c -> String.valueOf(c.getTransferFromId()) + "_" + c.getSku(), Collectors.toList()));
|
||||
}
|
||||
|
||||
|
||||
// LambdaQueryWrapper<BizLogisticsOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
// lambdaQueryWrapper.in(CollectionUtil.isNotEmpty(shipmentIds), BizLogisticsOrder::getFbaShipmentId, shipmentIds);
|
||||
@ -147,6 +164,14 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
|
||||
if (remoteUserVo != null) {
|
||||
record.setAddress(remoteUserVo.getAddress());
|
||||
}
|
||||
|
||||
List<BizSendOrder> bizSendOrders1 = transferMap.get(record.getId());
|
||||
if (CollectionUtil.isNotEmpty(bizSendOrders1)) {
|
||||
BigDecimal reduce = bizSendOrders1.stream().map(BizSendOrder::getQuantitySend).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
|
||||
record.setQuantitySend(record.getQuantitySend().subtract(reduce));
|
||||
}
|
||||
|
||||
// BizLogisticsOrder bizLogisticsOrder = logisticsOrderMap.get(record.getShipmentId());
|
||||
// if (bizLogisticsOrder != null) {
|
||||
// record.setBizLogisticsOrder(bizLogisticsOrder);
|
||||
@ -167,8 +192,14 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
|
||||
List<BizSendOrderItem> bizSendOrderItems1 = sendOrderItemMap.get(record.getId());
|
||||
if (CollectionUtil.isNotEmpty(bizSendOrderItems1)) {
|
||||
for (BizSendOrderItem item : bizSendOrderItems1) {
|
||||
BigDecimal ratio = item.getQuantitySend().divide(new BigDecimal(record.getQuantitySend()), 2, RoundingMode.HALF_UP);
|
||||
BigDecimal ratio = item.getQuantitySend().divide(record.getQuantitySend(), 2, RoundingMode.HALF_UP);
|
||||
item.setRatio(ratio);
|
||||
|
||||
List<BizSendOrderItem> bizSendOrderItems2 = transferItemMap.get(item.getId() + "_" + item.getSku());
|
||||
if (CollectionUtil.isNotEmpty(bizSendOrderItems2)) {
|
||||
BigDecimal reduce = bizSendOrderItems2.stream().map(BizSendOrderItem::getQuantitySend).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
item.setQuantitySend(item.getQuantitySend().subtract(reduce));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -436,6 +467,17 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
|
||||
//调拨
|
||||
// BizSendOrder add = MapstructUtils.convert(bo, BizSendOrder.class);
|
||||
// validEntityBeforeSave(add);
|
||||
|
||||
LambdaQueryWrapper<BizSendOrder> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BizSendOrder::getId, bo.getId());
|
||||
BizSendOrder bizSendOrder = baseMapper.selectOne(queryWrapper);
|
||||
|
||||
LambdaQueryWrapper<BizSendOrderItem> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BizSendOrderItem::getMainOrderSn, bo.getId());
|
||||
List<BizSendOrderItem> bizSendOrderItemOrds = bizSendOrderItemMapper.selectList(queryWrapper1);
|
||||
Map<String, List<BizSendOrderItem>> itemsMaps = bizSendOrderItemOrds.stream().collect(Collectors.groupingBy(BizSendOrderItem::getSku));
|
||||
|
||||
|
||||
BizSendOrder add = new BizSendOrder();
|
||||
add.setSku(bo.getSku());
|
||||
add.setOrderSn(bo.getOrderSn());
|
||||
@ -449,10 +491,12 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
|
||||
add.setBoxDimensions(bo.getBoxDimensions());
|
||||
add.setWeightPerBox(bo.getWeightPerBox());
|
||||
add.setRealStoreName(bo.getRealStoreName());
|
||||
add.setSendStatus(bo.getSendStatus());
|
||||
add.setSendStatus("unconfirm");
|
||||
add.setSendDetail(bo.getSendDetail());
|
||||
add.setLogisticsProviderName(bo.getLogisticsProviderName());
|
||||
add.setLogisticsProviderId(bo.getLogisticsProviderId());
|
||||
add.setTransferFromId(bo.getId());
|
||||
add.setType("tra");
|
||||
|
||||
// LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||
// queryWrapper.eq(SysUser::getNickName, bo.getSendName());
|
||||
@ -481,13 +525,13 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
|
||||
bizSendOrderItem.setMainOrderSn(add.getId());
|
||||
bizSendOrderItem.setProductName(item.getProductName());
|
||||
bizSendOrderItem.setSku(item.getSku());
|
||||
bizSendOrderItem.setQuantitySend(item.getQuantitySend().multiply(item.getRatio()));
|
||||
bizSendOrderItem.setQuantitySend(bo.getQuantitySend().multiply(item.getRatio()));
|
||||
bizSendOrderItem.setTransferFromId(item.getId());
|
||||
bizSendOrderItems.add(bizSendOrderItem);
|
||||
}
|
||||
bizSendOrderItemMapper.insertBatch(bizSendOrderItems);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -196,6 +196,7 @@ public class BizShipForwardServiceImpl implements IBizShipForwardService {
|
||||
updateWrapper.set(BizShipForward::getFwdStatus, bo.getFwdStatus());
|
||||
updateWrapper.set(ObjectUtil.isNotEmpty(bo.getExpDeliveryDate()), BizShipForward::getExpDeliveryDate, bo.getExpDeliveryDate());
|
||||
updateWrapper.set(ObjectUtil.isNotEmpty(bo.getBoxNum()), BizShipForward::getBoxNum, bo.getBoxNum());
|
||||
updateWrapper.set(ObjectUtil.isNotEmpty(bo.getSendTime()), BizShipForward::getSendTime, bo.getSendTime());
|
||||
baseMapper.update(updateWrapper);
|
||||
}
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
@Override
|
||||
public TableDataInfo<SysAmazonStoreVo> queryPageList(SysAmazonStoreBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysAmazonStore> lqw = buildQueryWrapper(bo);
|
||||
Page<SysAmazonStoreVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
Page<SysAmazonStoreVo> result = baseMapper.selectCustomPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@ -143,6 +143,7 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
private LambdaQueryWrapper<SysAmazonStore> buildQueryWrapper(SysAmazonStoreBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysAmazonStore> lqw = Wrappers.lambdaQuery();
|
||||
lqw.apply("1 = 1");
|
||||
lqw.eq(bo.getUserId() != null, SysAmazonStore::getUserId, bo.getUserId());
|
||||
lqw.eq(bo.getSid() != null, SysAmazonStore::getSid, bo.getSid());
|
||||
lqw.eq(bo.getMid() != null, SysAmazonStore::getMid, bo.getMid());
|
||||
@ -563,8 +564,12 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
List<BizPurchaseOutOrder> bizPurchaseOutOrders = bizPurchaseOutOrderMapper.selectList(new LambdaQueryWrapper<BizPurchaseOutOrder>().in(BizPurchaseOutOrder::getOrderSn, collect));
|
||||
if (CollectionUtil.isNotEmpty(bizPurchaseOutOrders)) {
|
||||
List<String> collect1 = bizPurchaseOutOrders.stream().map(BizPurchaseOutOrder::getOrderSn).collect(Collectors.toList());
|
||||
list.removeIf(PurchaseOutOrder -> collect1.contains(PurchaseOutOrder.getOrderSn()));
|
||||
list.removeIf(purchaseOutOrder -> collect1.contains(purchaseOutOrder.getOrderSn()) || "已作废".equals(purchaseOutOrder.getStatusText()));
|
||||
} else {
|
||||
list.removeIf(purchaseOutOrder -> "已作废".equals(purchaseOutOrder.getStatusText()));
|
||||
}
|
||||
|
||||
|
||||
if (CollectionUtil.isEmpty(list)) {
|
||||
log.info("未获取到新的组合采购订单");
|
||||
return;
|
||||
@ -599,7 +604,7 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
Set<String> purchaseOrders = bizOrderOutItems.stream().map(BizOrderOutItem::getPurchaseOrderSn).collect(Collectors.toSet());
|
||||
LambdaUpdateWrapper<BizPurchaseOrder> bizPurchaseOrderLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
bizPurchaseOrderLambdaUpdateWrapper.in(BizPurchaseOrder::getOrderSn, purchaseOrders);
|
||||
bizPurchaseOrderLambdaUpdateWrapper.set(BizPurchaseOrder::getType,"com");
|
||||
bizPurchaseOrderLambdaUpdateWrapper.set(BizPurchaseOrder::getType, "com");
|
||||
bizPurchaseOrderMapper.update(null, bizPurchaseOrderLambdaUpdateWrapper);
|
||||
}
|
||||
|
||||
@ -932,6 +937,7 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
lingxinCallback.onFinished("没有最新的数据", 100);
|
||||
return;
|
||||
}
|
||||
bizShipmentPlans.removeIf(bizShipmentPlan -> selectExistingShipmentIds.contains(bizShipmentPlan.getShipmentId()));
|
||||
for (String key : shipmentHashMap.keySet()) {
|
||||
List<String> split = StrUtil.split(key, ",");
|
||||
log.info("key:{}", key);
|
||||
|
@ -38,6 +38,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
update_by = EXCLUDED.update_by,
|
||||
create_dept = EXCLUDED.create_dept;
|
||||
</insert>
|
||||
<select id="selectCustomPage" resultType="org.asinkj.amz.domain.vo.SysAmazonStoreVo">
|
||||
SELECT
|
||||
req.*,
|
||||
su.user_name AS user_name,
|
||||
su.nick_name AS nick_name
|
||||
FROM sys_amazon_store req
|
||||
left join sys_user su on req.user_id = su.user_id
|
||||
<where>
|
||||
${ew.sqlSegment} <!-- MyBatis-Plus 动态条件 -->
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
Loading…
x
Reference in New Issue
Block a user