Эх сурвалжийг харах

Merge branch 'master-new-wgg' of wugg/phpstock into master-new

wugg 1 жил өмнө
parent
commit
4bc90bf3da

+ 9 - 5
app/admin/controller/Good.php

@@ -559,7 +559,7 @@ class Good extends Base
     }
 
     public function GetStock(){
-        $condition = [["a.is_del","=",0]];
+        $condition = [["a.is_del","=",0],['a.is_stock','=',1]];
         $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
         if($type_code!==""){
             $condition[]=["a.spuCode","=",$type_code];
@@ -568,7 +568,7 @@ class Good extends Base
             :"";
         if($wsm_code!==""){
             //$condition["a.wsm_code"]=$wsm_code;
-            $condition[]=["a.wsm_code","=",$type_code];
+            $condition[]=["a.wsm_code","=",$wsm_code];
         }
         $suplierNo = isset($this->post['supplierNo']) &&$this->post['supplierNo'] !=="" ? trim($this->post['supplierNo'])
             :"";
@@ -576,8 +576,12 @@ class Good extends Base
             $wsmcode = Db::name("warehouse_info")->where(['supplierNo'=>$suplierNo,"is_del"=>0])->column("wsm_code");
             $condition[]=["a.wsm_code","in",$wsmcode];
         }
-        $list = Db::name("good_stock")->alias("a")->join("warehouse_info b","a.wsm_code=b.wsm_code","left")->join("supplier c","b.supplierNo=c.code","left")
-            ->where($condition)->field("a.id,b.name as wsm_name,c.code,c.name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,(a.wait_out_stock+a.usable_stock) as total_stock,a.status,a.warn_stock")->select();
+        $list = Db::name("good_stock")
+        ->alias("a")
+        ->join("warehouse_info b","a.wsm_code=b.wsm_code","left")
+//        ->join("supplier c","b.supplierNo=c.code","left")
+        ->where($condition)
+            ->field("a.id,b.name as wsm_name,b.supplierNo code,b.supplierName name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,(a.wait_out_stock+a.usable_stock) as total_stock,a.status,a.warn_stock")->select();
         if(empty($list)){
             return error_show(1004,"未找到数据");
         }
@@ -854,7 +858,7 @@ class Good extends Base
         $page = isset($this->post['page']) &&$this->post['page'] !=="" ? intval($this->post['page']):1;
         $size = isset($this->post['size']) &&$this->post['size'] !=="" ? intval($this->post['size']):10;
 //        $condition = [["b.is_del","=",0],["c.usable_stock",">",0],["a.wsm_type","<>",2]];
-        $condition = [["b.is_del", "=", 0], ["a.wsm_type", "<>", 2]];//库存为0的也要显示出来
+        $condition = [["b.is_del", "=", 0], ["a.wsm_type", "<>", 2],['b.is_stock','=',1]];//库存为0的也要显示出来
         $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
         if($type_code!==""){
             $condition[]=["b.spuCode","like","%{$type_code}%"];

+ 26 - 4
app/admin/controller/Sale.php

@@ -5199,7 +5199,9 @@ class Sale extends Base
 
         $list = Db::name('sale')
             ->alias('a')
-            ->field('a.id sale_id,a.good_code,a.platform_order,a.good_name,a.wsend_num,a.total_price,a.order_type,a.status sale_status,a.orderCode,a.cat_id,a.good_createrid,c.id cgd_id,c.status cgd_status,c.cgdNo,c.cgder_id,a.addtime')
+            ->field('a.id sale_id,a.good_code,a.platform_order,a.good_name,a.wsend_num,a.total_price,a.order_type,
+            a.status sale_status,a.orderCode,a.cat_id,a.good_createrid,c.id cgd_id,c.status cgd_status,c.cgdNo,c.cgder_id,
+            a.addtime,c.wsm_code')
             ->leftJoin('order_num b', 'b.orderCode=a.orderCode')
             ->leftJoin('purchease_order c', 'c.cgdNo=b.cgdNo')
             ->where(['a.is_del' => 0, 'a.orderCode' => $orderCode])
@@ -5287,6 +5289,27 @@ class Sale extends Base
                     }
 
 					}
+                }else{
+                	$good = Db::name('good_stock')->where(['spuCode' => $sale['good_code'],'wsm_code'=>$sale['wsm_code']])
+                		->findOrEmpty();
+	                    if (empty($good)) throw new Exception('未找到商品信息');
+                	if($sale['cgd_status']==1){
+	                    $stock = Db::name('good_stock')->where($good)
+	                    ->inc('wait_in_stock',$sale['wsend_num'])
+	                    ->update();
+	                    if ($stock == false) throw new Exception('商品库存更新失败');
+                	}
+                	
+                	if($sale['cgd_status']==3){
+                		$wait_out= Db::name('order_out_child')
+		                ->where(['is_del' => 0, 'orderCode' => $sale['orderCode'],"status"=>[1,2,3]])
+		                ->sum('num');
+                		$usable = $sale['wsend_num'] - intval($wait_out);
+                		$stock = Db::name('good_stock')->where($good)
+	                    ->inc('usable_stock',$usable)
+	                    ->update();
+	                    if ($stock == false) throw new Exception('商品库存更新失败');
+                	}
                 }
                 if($sale['order_type'] == 4){
                     $fill =Db::name("filing")->where(["filingCode"=>$sale["platform_order"]])->findOrEmpty();
@@ -5439,15 +5462,14 @@ class Sale extends Base
                     $stockinfo = Db::name("good_stock")->where(["spuCode" => $ooc['spuCode'], "wsm_code" => $ooc['wsm_code']])->findOrEmpty();
                     if (empty($stockinfo)) throw new Exception('未找到库存信息');
                     $stockup = [
-                        "usable_stock" => $stockinfo['usable_stock'] + $ooc['num'],
+                        "usable_stock" =>$ooc['order_type']==1? $stockinfo['usable_stock'] + $ooc['num']:$stockinfo['usable_stock'],
                         "wait_out_stock" => $stockinfo['wait_out_stock'] - $ooc['num'],
                         "updatetime" => $date
                     ];
 
                     $ysup = Db::name("good_stock")->where($stockinfo)->update($stockup);
                     if ($ysup == false) throw new Exception('库存信息更新失败');
-
-                    GoodStockInfo::ChildReturnBn($ooc['outChildCode'], $stockinfo['id'], $ooc['num']);//处理bn数据
+					if($ooc['order_type']==1)GoodStockInfo::ChildReturnBn($ooc['outChildCode'], $stockinfo['id'], $ooc['num']);//处理bn数据
 
                     ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                         "order_code" => $ooc['outChildCode'],//销售单号