Browse Source

Merge branch 'wugg-dev' of wugg/phpstock into version1.5

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

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

@@ -59,24 +59,30 @@ class GoodStockInfo extends Model
 		$arr = self::where([["stockid","=",$stockid],["balance_num",">",0]])->select()->toArray();
 		if(empty($arr)) throw new Exception("库存批次数量不足","1006");
 		$list=[];
+		$stockid = array_column($arr,"stockid");
+		$stock=self::name("good_stock")->where([["id","in",$stockid]])->column("id,usable_stock,wait_out_stock",'id');
 		foreach ($arr as $item) {
 			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=["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")];
 		    }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=["bnCode"=>$item['bnCode'],"num"=>$num,"origin_price"=>$item["origin_price"]];
-		    	$num=0;
+		    	$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")];
+				$num=0;
 		    }
 			self::update($update,$item);
+		    self::name("good_stock")->where($stock[$item['stockid']])->update($stockup);
 		    $list[]=$temp;
 		}
 		return $list;