|
|
@@ -17,6 +17,7 @@
|
|
|
package org.springblade.deliver.goods.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.client.entity.CorpsDesc;
|
|
|
@@ -26,15 +27,21 @@ import org.springblade.client.feign.IGoodsDescClient;
|
|
|
import org.springblade.client.feign.ISerialClient;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.BeanUtil;
|
|
|
+import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.deliver.goods.entity.Delivery;
|
|
|
import org.springblade.deliver.goods.entity.DeliveryFees;
|
|
|
import org.springblade.deliver.goods.entity.DeliveryFiles;
|
|
|
import org.springblade.deliver.goods.entity.DeliveryItems;
|
|
|
import org.springblade.deliver.goods.mapper.DeliveryItemsMapper;
|
|
|
+import org.springblade.deliver.goods.service.IDeliveryItemsService;
|
|
|
import org.springblade.deliver.goods.vo.DeliveryVO;
|
|
|
import org.springblade.deliver.goods.mapper.DeliveryMapper;
|
|
|
import org.springblade.deliver.goods.service.IDeliveryService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springblade.stock.entity.StockGoods;
|
|
|
+import org.springblade.stock.feign.IStockGoodsClient;
|
|
|
+import org.springblade.stock.vo.StockGoodsVO;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -61,6 +68,9 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
|
|
|
private DeliveryFilesServiceImpl deliveryFilesService;//发货文件信息
|
|
|
private IUserClient userClient;//获取用户信息
|
|
|
private ICorpsDescClient corpsDescClient;//获取客户信息
|
|
|
+ private IStockGoodsClient stockGoodsClient;
|
|
|
+
|
|
|
+ private final DeliveryItemsServiceImpl iDeliveryItemsService;
|
|
|
|
|
|
@Override
|
|
|
public IPage<DeliveryVO> selectDeliveryPage(IPage<DeliveryVO> page, DeliveryVO delivery) {
|
|
|
@@ -93,14 +103,6 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
|
|
|
}
|
|
|
//保存发货明细信息
|
|
|
if (CollectionUtils.isNotEmpty(delivery.getDeliveryItemsList())){
|
|
|
- //判断传入库存与数据库实际库存是否一致, 如果不一致,则抛出异常
|
|
|
- delivery.getDeliveryItemsList().forEach(e->{
|
|
|
- BigDecimal inventoryNumber = e.getInventoryNumber();
|
|
|
-
|
|
|
-
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
List<DeliveryItems> deliveryItemsList = deliveryItemsService.saveDeliveryItemsList(delivery.getId(), delivery.getDeliveryItemsList());
|
|
|
delivery.setDeliveryItemsList(deliveryItemsList);
|
|
|
}
|
|
|
@@ -200,5 +202,41 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
|
|
|
return R.data(delivery);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void comfire(Delivery delivery)
|
|
|
+ {
|
|
|
+ //保存收货单主表 和 收货单明细
|
|
|
+ this.submitDelivery(delivery);
|
|
|
+ //验证收货单库存与传入库存是否一致
|
|
|
+ List<DeliveryItems> deliveryItemsList = delivery.getDeliveryItemsList();
|
|
|
+ deliveryItemsList.forEach(e->{
|
|
|
+ //传入库存
|
|
|
+ BigDecimal inventoryNumber = e.getInventoryNumber();
|
|
|
+ //实际库存
|
|
|
+ R<StockGoodsVO> stockGoodsVOR = stockGoodsClient.selectStock(delivery.getCorpId(), delivery.getStorageId(), e.getItemId(), null, null, e.getCntrNo(), e.getBillNo(), e.getContractNumber());
|
|
|
+ //todo 是否比较2个库存值, 暂未确定
|
|
|
+
|
|
|
+
|
|
|
+ StockGoodsVO data = stockGoodsVOR.getData();
|
|
|
+ //增加库存
|
|
|
+ if(Func.isEmpty(data))
|
|
|
+ {
|
|
|
+ iDeliveryItemsService.saveStock(delivery.getTradeType(),data.getCorpId(),data.getStorageId(),e);
|
|
|
+ }
|
|
|
+ //修改库存
|
|
|
+ else
|
|
|
+ {
|
|
|
+ iDeliveryItemsService.receiving(delivery.getTradeType(),data.getId(),e);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //todo 修改原item数据
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|