|
|
@@ -32,6 +32,7 @@ import org.springblade.mocha.feign.IPriceItemClient;
|
|
|
import org.springblade.purchase.sales.entity.Order;
|
|
|
import org.springblade.purchase.sales.entity.OrderItems;
|
|
|
import org.springblade.purchase.sales.entity.OrderParts;
|
|
|
+import org.springblade.purchase.sales.excel.DealerOrderItem;
|
|
|
import org.springblade.purchase.sales.excel.OrderItemsExcel;
|
|
|
import org.springblade.purchase.sales.mapper.OrderItemsMapper;
|
|
|
import org.springblade.purchase.sales.mapper.OrderPartsMapper;
|
|
|
@@ -110,6 +111,63 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
|
|
|
return R.data(list);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R<List<OrderItems>> importDealerOrder(List<DealerOrderItem> data, Boolean isCovered,Long storageId) {
|
|
|
+ List<OrderItems> list = new ArrayList<>();
|
|
|
+ data.forEach(item -> {
|
|
|
+ R<GoodsDesc> goods = goodsDescClient.GoodsByCode(item.getCode());
|
|
|
+ if (goods.isSuccess() && goods.getData() != null) {
|
|
|
+ OrderItems orderItems = new OrderItems();
|
|
|
+ orderItems.setCode(item.getCode());
|
|
|
+ if (item.getOrderQuantity() == null){
|
|
|
+ orderItems.setOrderQuantity(BigDecimal.ZERO);
|
|
|
+ }else {
|
|
|
+ orderItems.setOrderQuantity(item.getOrderQuantity());
|
|
|
+ }
|
|
|
+ if (item.getPrice() == null){
|
|
|
+ orderItems.setPrice(BigDecimal.ZERO);
|
|
|
+ }else {
|
|
|
+ orderItems.setPrice(item.getPrice());
|
|
|
+ }
|
|
|
+ orderItems.setAmount(orderItems.getOrderQuantity().multiply(item.getPrice()));
|
|
|
+ orderItems.setCname(goods.getData().getCname());//商品名称
|
|
|
+ orderItems.setItemId(goods.getData().getId());//商品id
|
|
|
+ orderItems.setTypeno(goods.getData().getTypeno());//商品规格
|
|
|
+ orderItems.setItemType(goods.getData().getTypeno());//商品规格
|
|
|
+ orderItems.setPriceCategory("一般");//价格类别
|
|
|
+ orderItems.setBrandItem(goods.getData().getBrandItem());
|
|
|
+ //orderItems.setCorpId(goods.getData().getCorpId());//供应id
|
|
|
+ //orderItems.setCorpName(goods.getData().getCorpName());//供应商名称
|
|
|
+ orderItems.setUnit(goods.getData().getUnit());//单位
|
|
|
+ orderItems.setSpecsOne(goods.getData().getSpecsOne());
|
|
|
+ orderItems.setSpecsTwo(goods.getData().getSpecsTwo());
|
|
|
+ orderItems.setSize(goods.getData().getSize());
|
|
|
+ GoodsType goodsType = goodsDescClient.goodTypeId(goods.getData().getId());
|
|
|
+ orderItems.setPriceCategory(goodsType.getCname());//商品类别名称
|
|
|
+ if (storageId != null){
|
|
|
+ StockGoods stockGoods = new StockGoods();
|
|
|
+ stockGoods.setGoodsId(goods.getData().getId());
|
|
|
+ stockGoods.setTradeType(OrderTypeEnum.DEALER.getType());
|
|
|
+ stockGoods.setStorageId(storageId);
|
|
|
+ StockGoods stock = stockGoodsClient.getOneStock(stockGoods);
|
|
|
+ if (stock != null) {
|
|
|
+ orderItems.setStorageQuantity(stock.getBalanceQuantity());
|
|
|
+ orderItems.setPurchaseAmount(stock.getBalanceAmount().divide(stock.getBalanceQuantity(),2,BigDecimal.ROUND_HALF_UP));
|
|
|
+ } else {
|
|
|
+ orderItems.setStorageQuantity(BigDecimal.ZERO);
|
|
|
+ orderItems.setPurchaseAmount(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ orderItems.setStorageQuantity(BigDecimal.ZERO);
|
|
|
+ orderItems.setPurchaseAmount(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+
|
|
|
+ list.add(orderItems);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return R.data(list);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 保存订单明细信息
|
|
|
*
|