Kaynağa Gözat

提交修改

1021934019@qq.com 4 yıl önce
ebeveyn
işleme
05cc1dc633

+ 9 - 0
blade-service-api/blade-stock-api/src/main/java/org/springblade/stock/feign/IStockGoodsClient.java

@@ -23,6 +23,7 @@ public interface IStockGoodsClient {
 	String GET_STOCK = API_PREFIX + "/get_stock";
 	String UPDATE_STOCK = API_PREFIX + "/updateStock";
 	String GET_STOCK_BY_ID = API_PREFIX + "/getStockByID";
+	String GET_ONE = API_PREFIX + "/getOne";
 
 	/**
 	 * 查询库存总账 是否存在
@@ -76,4 +77,12 @@ public interface IStockGoodsClient {
 	 */
 	@GetMapping(GET_STOCK_BY_ID)
 	R<StockGoods> getStockById(@RequestParam("id") Long id);
+
+	/**
+	 * 查询某一个库存
+	 * @param stockGoods
+	 * @return
+	 */
+	@PostMapping(GET_ONE)
+	StockGoods getOneStock(@RequestBody StockGoods stockGoods);
 }

+ 11 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/receiving/ImportReCeVingController.java

@@ -137,4 +137,15 @@ public class ImportReCeVingController extends BladeController {
 	}
 
 
+	/**
+	 * 删除 进口收货通知单
+	 */
+	@PostMapping("/comfire")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "确认收货", notes = "传入Delivery及其子项")
+	public R comfire(@RequestBody Delivery delivery) {
+		deliveryService.comfire(delivery);
+	    return R.success("操作成功");
+	}
+
 }

+ 3 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -326,6 +326,9 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		StockGoods stockGoods = new StockGoods();
 		stockGoods.setCorpId(corpId);//客户
 		stockGoods.setStorageId(storageId);//仓库id
+		stockGoods.setBillNo(deliveryItems.getBillNo());
+		stockGoods.setCntrNo(deliveryItems.getCntrNo());
+		stockGoods.setContractNumber(deliveryItems.getContractNumber());
 		stockGoods.setGoodsId(deliveryItems.getItemId());//商品id
 		stockGoods.setInDate(new Date());//入库日期
 		stockGoods.setInQuantity(deliveryItems.getActualQuantity());//入库数量

+ 28 - 9
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -40,6 +40,7 @@ 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.purchase.sales.feign.IOrderItemsClient;
 import org.springblade.stock.entity.StockGoods;
 import org.springblade.stock.feign.IStockGoodsClient;
 import org.springblade.stock.vo.StockGoodsVO;
@@ -70,6 +71,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	private IUserClient userClient;//获取用户信息
 	private ICorpsDescClient corpsDescClient;//获取客户信息
 	private IStockGoodsClient stockGoodsClient;
+	private IOrderItemsClient iOrderItemsClient;
 
 	private final DeliveryItemsServiceImpl iDeliveryItemsService;
 
@@ -221,21 +223,38 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			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());
+				BigDecimal inventoryNumber = e.getActualQuantity();
+				//实际库存有没有库存
+				StockGoods model=new StockGoods();
+				model.setCntrNo(e.getCntrNo());
+				model.setBillNo(e.getBillNo());
+				model.setCorpId(delivery.getCorpId());
+				model.setStorageId(delivery.getStorageId());
+				model.setGoodsId(e.getItemId());
+				StockGoods stock=stockGoodsClient.getOneStock(model);
+
 				// 比较2个库存值是否相等
-				BigDecimal surplusRouteQuantity = stockGoodsVOR.getData().getSurplusRouteQuantity();
-				if(inventoryNumber.compareTo(surplusRouteQuantity)==1)
-				{   //增加库存
-					StockGoodsVO data = stockGoodsVOR.getData();
-					iDeliveryItemsService.receiving(delivery.getTradeType(),data.getId(),e);
+				//BigDecimal surplusRouteQuantity = stockGoodsVOR.getData().getSurplusRouteQuantity();
+
+				//新增库存单
+				if(stock==null)
+				{
+					iDeliveryItemsService.saveStock(delivery.getTradeType(),delivery.getCorpId(),delivery.getStorageId(),e);
+				}
+				//修改库存单
+				else if(stock!=null)
+				{
+					iDeliveryItemsService.receiving(delivery.getTradeType(),stock.getId(),e);
 				}
+                //更新item已发数量
+				iOrderItemsClient.updateActualQuantity(e.getSrcId(),inventoryNumber,1);
 			});
-		    //todo 修改orderItems 已出数量
+
 
 
 	}
 
 
+
+
 }

+ 9 - 0
blade-service/blade-stock/src/main/java/org/springblade/stock/feign/StockGoodsClient.java

@@ -3,6 +3,7 @@ package org.springblade.stock.feign;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
@@ -89,4 +90,12 @@ public class StockGoodsClient implements IStockGoodsClient{
 	public R<StockGoods> getStockById(Long id) {
 		return R.data(stockGoodsService.getById(id));
 	}
+
+	@Override
+	@GetMapping(GET_ONE)
+	public StockGoods getOneStock(StockGoods stockGoods)
+	{
+		QueryWrapper<StockGoods> queryWrapper = Condition.getQueryWrapper(stockGoods);
+		return stockGoodsService.getOne(queryWrapper);
+	}
 }