wugg 2 anni fa
parent
commit
a52b4a1794
1 ha cambiato i file con 68 aggiunte e 27 eliminazioni
  1. 68 27
      app/admin/controller/Sale.php

+ 68 - 27
app/admin/controller/Sale.php

@@ -83,25 +83,7 @@ class Sale extends BaseController
             $is_stock=$ct['is_stock'];
             $spuCode = $ct['spuCode'];
             $skuCode = $ct['skuCode'];
-            $cgd=[
-                "supplierNo"=>$ct['supplierNo'],
-                "companyNo"=>$supplierNo,
-                "orderCode"=>$orderCode,
-                "spuCode"=>$ct['spuCode'],
-                "skuCode"=>$ct['skuCode'],
-                "good_name"=>$ct['good_name'],
-                "sale_price"=>$ct['sale_price'],
-                "total_fee"=>$ct['total_fee'],
-                "pakge_fee"=>$ct['packing_fee'],
-                "cert_fee"=>$ct['cert_fee'],
-                "open_fee"=>$ct['open_fee'],
-                "cost_fee"=>$ct['cost_fee'],
-                "mark_fee"=>$ct['mark_fee'],
-                "demo_fee"=>$ct['demo_fee'],
-                "good_num"=>$good_num,
-                "good_type"=>$goodtype,
-                "order_type"=>$order_type,
-            ];
+
         $is_activity= isset($this->post['is_activity'])&&$this->post['is_activity']!=="" ?$this->post['is_activity']:"";
         if($order_type==1){
             if($is_activity===""){
@@ -109,6 +91,53 @@ class Sale extends BaseController
             }
 
         }
+        $good = Db::name("good_ladder")->where(["skuCode"=>$skuCode,"is_del"=>0,"status"=>1])->where([["min_num",
+            "<=",$good_num]])->order("min_num desc")->find();
+        if($good==false){
+            return error_show(1003,"未找到相关阶梯价格");
+        }
+        $sale_price = $good['sale_price'];
+        $origin = Db::name("good_nake")->where([["spuCode","=",$spuCode],["min_num","<=",$good_num],["is_del","=",
+            0]])->order("min_num desc")->find();
+        if($origin==false){
+            return error_show(1003,"未找到相关阶梯成本价格");
+        }
+        $origin_price = $origin['nake_fee'];
+        if($is_activity==1){
+            $act = Db::name("activity_info")->alias("a")->leftJoin("good_activity b","a.activity_code=b.activity_code")
+                ->where(["a.skuCode"=>$skuCode,"a.is_del"=>0,"a.status"=>1,"b.status"=>6,"b.is_del"=>0])->find();
+            if($act==false){
+                return error_show(1003,"未找到相关活动价");
+            }
+            if($act['moq_num']>$good_num){
+                return error_show(1003,"商品不满足活动价起订量{$act['moq_num']}");
+            }
+            if($act['activity_stock']<$good_num){
+                return error_show(1003,"商品活动库存剩余{$act['moq_num']}");
+            }
+            $sale_price=$act['activity_price'];
+        }
+
+
+        $cgd=[
+            "supplierNo"=>$ct['supplierNo'],
+            "companyNo"=>$supplierNo,
+            "orderCode"=>$orderCode,
+            "spuCode"=>$ct['spuCode'],
+            "skuCode"=>$ct['skuCode'],
+            "good_name"=>$ct['good_name'],
+            "sale_price"=>$origin_price,
+            "total_fee"=>$ct['total_fee'],
+            "pakge_fee"=>$ct['packing_fee'],
+            "cert_fee"=>$ct['cert_fee'],
+            "open_fee"=>$ct['open_fee'],
+            "cost_fee"=>$ct['cost_fee'],
+            "mark_fee"=>$ct['mark_fee'],
+            "demo_fee"=>$ct['demo_fee'],
+            "good_num"=>$good_num,
+            "good_type"=>$goodtype,
+            "order_type"=>$order_type,
+        ];
         $addrlist = isset($this->post['addrlist']) && $this->post['addrlist'] !=="" ?$this->post['addrlist']:"";
         if($sendtype==1){
             if($addrlist=="" || empty($addrlist) ||!is_array($addrlist)){
@@ -137,8 +166,8 @@ class Sale extends BaseController
                 "cat_id"=>$goodinfo['cat_id'],
                 "apply_id"=>$rm,
                 "apply_name"=>$ri,
-                "origin_price"=>$goodinfo['total_fee'],
-                "sale_price"=>$goodinfo['sale_price'],
+                "origin_price"=>$origin_price,
+                "sale_price"=>$sale_price,
                 "post_fee"=>0,
                 "status"=>0,
                 "send_num"=>0,
@@ -160,7 +189,7 @@ class Sale extends BaseController
                 "workNo"=>$workNo,
                 "addtime"=>date("Y-m-d H:i:s"),
                 "updatetime"=>date("Y-m-d H:i:s"),
-                'total_price'=>round($goodinfo['sale_price']*$good_num,2),
+                'total_price'=>round($sale_price*$good_num,2),
             ];
            $paytime==""?"": $data['paytime'] = $paytime;
             $datainfo = Db::name('sale')->insert($data,true);
@@ -1035,6 +1064,18 @@ class Sale extends BaseController
         if($good==false){
             return false;
         }
+        $goodlass = Db::name("good_ladder")->where(["skuCode"=>$data['skuCode'],"is_del"=>0,"status"=>1])->where([["min_num",
+            "<=",$data['good_num']]])->order("min_num desc")->find();
+        if($goodlass==false){
+            return false;
+        }
+        $sale_price = $goodlass['sale_price'];
+        $origin = Db::name("good_nake")->where([["spuCode","=",$data['spuCode']],["min_num","<=",$data['good_num']],
+            ["is_del","=",0]])->order("min_num desc")->find();
+        if($origin==false){
+            return false;
+        }
+        $origin_price = $origin['nake_fee'];
         $orderCode=makeNo("QR");
         $datas=[
             "orderCode"=>$orderCode,
@@ -1046,8 +1087,8 @@ class Sale extends BaseController
             "cat_id"=>$good['cat_id'],
             "apply_id"=>$data['rm'],
             "apply_name"=>$data['ri'],
-            "origin_price"=>$good['nake_price'],
-            "sale_price"=>$data['sale_price'],
+            "origin_price"=>$origin_price,
+            "sale_price"=>$sale_price,
             "post_fee"=>0,
             "status"=>0,
             "send_num"=>0,
@@ -1067,7 +1108,7 @@ class Sale extends BaseController
             "order_type"=>$good['is_stock']==1?2:4,
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s"),
-            'total_price'=>round($data['sale_price']*$data['good_num'],2),
+            'total_price'=>round($sale_price*$data['good_num'],2),
         ];
         $datainfo = Db::name('sale')->insert($datas, true);
         if($datainfo>0) {
@@ -1078,8 +1119,8 @@ class Sale extends BaseController
                 "spuCode"=>$good['spuCode'],
                 "skuCode"=>$good['skuCode'],
                 "good_name"=>$good['good_name'],
-                "sale_price"=>$data['origin_price'],
-                "total_fee"=>$data['origin_price']*$data['good_num'],
+                "sale_price"=>$origin_price,
+                "total_fee"=>$origin_price*$data['good_num'],
                 "pakge_fee"=>$good['packing_fee'],
                 "cert_fee"=>$good['cert_fee'],
                 "open_fee"=>$good['open_fee'],