wugg 2 years ago
parent
commit
3777dd6e52
1 changed files with 4 additions and 7 deletions
  1. 4 7
      app/admin/model/GoodStockInfo.php

+ 4 - 7
app/admin/model/GoodStockInfo.php

@@ -59,30 +59,27 @@ class GoodStockInfo extends Model
 		$arr = self::where([["balance_num",">",0]])->where(["stockid"=>$stockid])->select()->toArray();
 		if(empty($arr)) throw new Exception("库存批次数量不足","1006");
 		$list=[];
-		$stockid = array_unique(array_column($arr,"stockid"));
-		$stock=self::name("good_stock")->where(["id"=>$stockid])->column("id,usable_stock,wait_out_stock",'id');
 		foreach ($arr as $item) {
+			$stock = self::name("good_stock")->where(["id"=>$item['stockid']])->field("id,usable_stock,wait_out_stock")->find();
 			if($num<=0) break;
-			$temp=[];
 			$update=[];
-			$stockup=[];
 		    if($item['balance_num']<=$num){
 		    	$update['balance_num'] =0;
 		    	$update['used_num']= $item['used_num']+$item['balance_num'];
 		    	$num-=$item['balance_num'];
 		    	$update['updatetime'] =date("Y-m-d H:i:s");
 		    	$temp=["stockid"=>$item['stockid'],"bnCode"=>$item['bnCode'],"num"=>$item['balance_num'],"origin_price"=>$item["origin_price"]];
-		    	$stockup=["usable_stock"=>$stock[$item['stockid']]['usable_stock']-$item['balance_num'],"wait_out_stock"=>$stock[$item['stockid']]['wait_out_stock']+$item['balance_num'],"updatetime"=>date("Y-m-d H:i:s")];
+		    	$stockup=["usable_stock"=>$stock['usable_stock']-$item['balance_num'],"wait_out_stock"=>$stock['wait_out_stock']+$item['balance_num'],"updatetime"=>date("Y-m-d H:i:s")];
 		    }else{
 				$update['balance_num']=$item['balance_num']-$num;
 		    	$update['used_num']=$item['used_num']+$num;
 		    	$update['updatetime'] =date("Y-m-d H:i:s");
 		    	$temp=["stockid"=>$item['stockid'],"bnCode"=>$item['bnCode'],"num"=>$num,"origin_price"=>$item["origin_price"]];
-		    	$stockup=["usable_stock"=>$stock[$item['stockid']]['usable_stock']-$num,"wait_out_stock"=>$stock[$item['stockid']]['wait_out_stock']+$num,"updatetime"=>date("Y-m-d H:i:s")];
+		    	$stockup=["usable_stock"=>$stock['usable_stock']-$num,"wait_out_stock"=>$stock['wait_out_stock']+$num,"updatetime"=>date("Y-m-d H:i:s")];
 				$num=0;
 		    }
 			self::update($update,$item);
-		    if($isstock==1) self::name("good_stock")->where($stock[$item['stockid']])->update($stockup);
+		    if($isstock==1) self::name("good_stock")->where(["id"=>$item['stockid']])->update($stockup);
 		    $list[]=$temp;
 		}
 		return $list;