Kaynağa Gözat

Merge branch 'version1.5' of ssh://192.168.10.210:10022/wugg/stock into version1.5

panlumeng 2 yıl önce
ebeveyn
işleme
c1749d5811

+ 25 - 3
app/admin/controller/Activity.php

@@ -2,17 +2,18 @@
 
 namespace app\admin\controller;
 
+use app\admin\common\Ocr;
 use app\BaseController;
 use think\App;
 use think\facade\Db;
 
-class Activity extends BaseController
+class Activity extends Base
 {
-    public $post="";
+
     public function __construct(App $app)
     {
         parent::__construct($app);
-        $this->post=$this->request->post();
+
     }
     public function list(){
         $page = isset($this->post['page']) && $this->post['page'] !==""? intval($this->post['page']):"1";
@@ -424,6 +425,27 @@ class Activity extends BaseController
 
     }
 
+    public function query(){
+      $skuCode= isset($this->post['skuCode'])&&$this->post['skuCode']!=""?trim($this->post['skuCode']):"";
+      if($skuCode==""){
+          return error_show(1004,"参数skuCode不能为空");
+      }
+      $where=['a.is_del'=>0,"b.is_del"=>0,"a.status"=>6,"b.status"=>1,"b.skuCode"=>$skuCode];
+      $company =  isset($this->post['companyNo'])&&$this->post['companyNo']!=""?trim($this->post['companyNo']):"";
+      if($company!=""){
+          $where['a.company_id'] = $company;
+      }
+        $plat =isset($this->post['platform_id'])&&$this->post['platform_id']!=""?intval($this->post['platform_id'])
+            :"";
+      if($plat!==""){
+          $where['a.platform_code'] = $plat;
+      }
+      $list =  Db::name('good_activity')->alias("a")
+            ->join("activity_info b","b.activity_code=a.activity_code","left")
+            ->where($where)->field('b.id,a.activity_name,a.activity_code,a.is_stock,a.start,a.end,b.skuCode,b.good_name,b.activity_stock,
+            b.cost_price,b.moq_num,b.sale_price,b.activity_price')->select()->toArray();
+      return app_show(0,"获取成功",$list);
+    }
 
 
 }

+ 3 - 11
app/admin/controller/Good.php

@@ -6,9 +6,9 @@ namespace app\admin\controller;
 use app\admin\model\GoodLog;
 use think\App;
 use think\facade\Db;
-class Good extends \app\BaseController
+class Good extends Base
 {
-        public $post="";
+
         private $acton=[
             "allotsend"=>'调拨发货',
             "allotin"=>'调拨入库',
@@ -31,15 +31,6 @@ class Good extends \app\BaseController
         public function __construct(App $app)
         {
             parent::__construct($app);
-            $this->post = $this->request->post();
-//            $token = isset($this->post['token']) ? trim($this->post['token']) : "";
-//            if($token==""){
-//                return error_show(101,'token不能为空');
-//            }0
-//            $effetc = VerifyTokens($token);
-//            if(!empty($effetc) && $effetc['code']!=0){
-//                return error_show($effetc['code'],$effetc['message']);
-//            }
         }
 
     public function list(){
@@ -145,6 +136,7 @@ class Good extends \app\BaseController
             $value['company'] = isset($company['company'])?$company['company']:"";
             $value['stock_total'] = Db::name("good_stock")->where(['spuCode'=>$value['spuCode'],"is_del"=>0])->sum("usable_stock");
             $value['status']=$value['exam_status'];
+            $value['exclusive']=makeExcluse($value['is_exclusive']);
             $value['good_info_img']=json_decode($value['good_info_img'],true);
             $spec = Db::name("good_spec")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->select()->toArray();
             $speclist=[];

+ 24 - 22
app/admin/controller/Goodup.php

@@ -2,17 +2,15 @@
 
 namespace app\admin\controller;
 
-use app\BaseController;
 use think\App;
 use think\facade\Db;
 
-class Goodup extends BaseController
+class Goodup extends Base
 {
-    public $post="";
     public function __construct(App $app)
     {
         parent::__construct($app);
-        $this->post=$this->request->post();
+
     }
     public function list(){
         $page = isset($this->post['page']) && $this->post['page'] !==""? intval($this->post['page']):"1";
@@ -94,6 +92,7 @@ class Goodup extends BaseController
                 $supplier = Db::name("supplier")->where(['code'=>$value['supplierNo']])->find();
                 $value['supplier_name']=isset($supplier['name'])?$supplier['name']:"";
                 $value['good_info_img']=json_decode($value['good_info_img'],true);
+                $value['exclusive']=makeExcluse($value['is_exclusive']);
 //                $value['status']=$value['exam_status'];
                 $data[]=$value;
         }
@@ -222,6 +221,9 @@ class Goodup extends BaseController
         }
         $lead_time = isset($this->post['lead_time'])&&$this->post['lead_time']!==""? intval($this->post['lead_time'])
             :"0";
+        $cgd_gold_price =isset($ths->post['cgd_gold_price'])&&$ths->post['cgd_gold_price']!==""?floatval($ths->post['cgd_gold_price']):"0";
+
+
 //        if($lead_time===""){
 //            return error_show(1004,"参数lead_time不能为空");
 //        }
@@ -335,6 +337,7 @@ class Goodup extends BaseController
                 "demo_fee"=>$demo_fee,
                 "open_fee"=>$open_fee,
                 "noble_metal"=>$noble_metal,
+                "cgd_gold_price"=>$cgd_gold_price,
                 "noble_weight"=>$noble_weight,
                 "is_gold_price"=>$is_gold_price,
                 "market_price"=>$market_price,
@@ -602,12 +605,12 @@ class Goodup extends BaseController
                 if($speclist!=="" && !empty($speclist)){
                     foreach ($speclist as $value){
                         $lemp=[];
-                        isset($value["id"])?$lemp['id']=$value['id']:"";
+                        isset($value["id"])&&$value["id"]!=''?$lemp['id']=$value['id']:"";
                         $lemp['spuCode']=$supcode;
                         $lemp['spec_id'] = $value['spec_id'];
                         $lemp['spec_value_id'] = $value['spec_value_id'];
                         $lemp['is_del'] = isset($value['is_del'])?$value['is_del']:0;
-                        isset($value["id"])? $lemp['addtime'] = date("Y-m-d H:i:s"):"";
+                        isset($value["id"])&&$value["id"]!=''?"": $lemp['addtime'] = date("Y-m-d H:i:s");
                         $lemp['updatetime'] =date("Y-m-d H:i:s");
                         $count = Db::name("good_spec")->save($lemp);
                         if($count==false){
@@ -648,6 +651,7 @@ class Goodup extends BaseController
         $noble_weight = isset($this->post['noble_weight'])&&$this->post['noble_weight']!==""? floatval($this->post['noble_weight']):"0";
         $is_gold_price= isset($this->post['is_gold_price'])&&$this->post['is_gold_price']!==""? intval($this->post['is_gold_price']):"0";
         $market_price = isset($this->post['market_price'])&&$this->post['market_price']!==""? floatval($this->post['market_price']):"";
+        $cgd_gold_price = isset($this->post['cgd_gold_price'])&&$this->post['cgd_gold_price']!==""? floatval($this->post['cgd_gold_price']):"0";
         if($market_price===""){
             return error_show(1004,"参数market_price不能为空");
         }
@@ -675,6 +679,7 @@ class Goodup extends BaseController
             "is_gold_price"=>$is_gold_price,
             "market_price"=>$market_price,
             "nake_price"=>$nake_price,
+            "cgd_gold_price"=>$cgd_gold_price,
             "is_step"=>$is_step,
             "status"=>"2",
             "updatetime"=>date("Y-m-d H:i:s")
@@ -690,14 +695,14 @@ class Goodup extends BaseController
                 if($good_ladder!=="" && !empty($good_ladder)){
                     foreach ($good_ladder as $value){
                         $lemp=[];
-                        isset($value["id"])?$lemp['id']=$value['id']:"";
+                        isset($value["id"])&&$value["id"]!=''?$lemp['id']=$value['id']:"";
                         $lemp['spuCode']=$supcode;
                         $lemp['min_num'] = $value['min_num'];
                         $lemp['nake_fee'] = $value['nake_fee'];
                         $lemp['cost_fee'] = $value['cost_fee'];
                         $lemp['delivery_fee'] = $value['delivery_fee'];
                         $lemp['is_del'] = isset($value['is_del'])?$value['is_del']:0;
-                        isset($value["id"])? $lemp['addtime'] = date("Y-m-d H:i:s"):"";
+                        isset($value["id"])&&$value["id"]!=''?"": $lemp['addtime'] = date("Y-m-d H:i:s");
                         $lemp['updatetime'] =date("Y-m-d H:i:s");
                         $count = Db::name("good_nake")->save($lemp);
                         if($count==false){
@@ -1485,6 +1490,7 @@ class Goodup extends BaseController
         $noble_weight = isset($this->post['noble_weight'])&&$this->post['noble_weight']!==""? floatval($this->post['noble_weight']):"0";
         $is_gold_price= isset($this->post['is_gold_price'])&&$this->post['is_gold_price']!==""? intval($this->post['is_gold_price']):"0";
         $market_price = isset($this->post['market_price'])&&$this->post['market_price']!==""? floatval($this->post['market_price']):"";
+        $cgd_gold_price = isset($this->post['cgd_gold_price'])&&$this->post['cgd_gold_price']!==""? floatval($this->post['cgd_gold_price']):"0";
         if($market_price===""){
             return error_show(1004,"参数market_price不能为空");
         }
@@ -1549,6 +1555,7 @@ class Goodup extends BaseController
                 "is_gold_price"=>$is_gold_price,
                 "market_price"=>$market_price,
                 "nake_price"=>$nake_price,
+                "cgd_gold_price"=>$cgd_gold_price,
                 "is_step"=>$is_step,
                 "status"=>"0",
                 "updatetime"=>date("Y-m-d H:i:s")
@@ -1560,12 +1567,12 @@ class Goodup extends BaseController
                 if($speclist!=="" && !empty($speclist)){
                     foreach ($speclist as $value){
                         $lemp=[];
-                        isset($value["id"])?$lemp['id']=$value['id']:"";
+                        isset($value["id"])&&$value["id"]!=''?$lemp['id']=$value['id']:"";
                         $lemp['spuCode']=$supcode;
                         $lemp['spec_id'] = $value['spec_id'];
                         $lemp['spec_value_id'] = $value['spec_value_id'];
                         $lemp['is_del'] = isset($value['is_del'])?$value['is_del']:0;
-                        isset($value["id"])? $lemp['addtime'] = date("Y-m-d H:i:s"):"";
+                        isset($value["id"])&&$value["id"]!=''?"": $lemp['addtime'] = date("Y-m-d H:i:s");
                         $lemp['updatetime'] =date("Y-m-d H:i:s");
                         $count = Db::name("good_spec")->save($lemp);
                         if($count==false){
@@ -1577,14 +1584,14 @@ class Goodup extends BaseController
                 if($good_ladder!=="" && !empty($good_ladder)){
                     foreach ($good_ladder as $value){
                         $lemp=[];
-                        isset($value["id"])?$lemp['id']=$value['id']:"";
+                        isset($value["id"])&&$value["id"]!=''?$lemp['id']=$value['id']:"";
                         $lemp['spuCode']=$supcode;
                         $lemp['min_num'] = $value['min_num'];
                         $lemp['nake_fee'] = $value['nake_fee'];
                         $lemp['cost_fee'] = $value['cost_fee'];
                         $lemp['delivery_fee'] = $value['delivery_fee'];
                         $lemp['is_del'] = isset($value['is_del'])?$value['is_del']:0;
-                        isset($value["id"])? $lemp['addtime'] = date("Y-m-d H:i:s"):"";
+                        isset($value["id"])&&$value["id"]!=''?"": $lemp['addtime'] = date("Y-m-d H:i:s");
                         $lemp['updatetime'] =date("Y-m-d H:i:s");
                         $count = Db::name("good_nake")->save($lemp);
                         if($count==false){
@@ -1615,10 +1622,6 @@ class Goodup extends BaseController
         if($good==false){
             return error_show(1005,"商品数据未找到");
         }
-//        $nake_fee=isset($this->post['nake_fee'])&&$this->post['nake_fee']!="" ? floatval($this->post['nake_fee']):"";
-//        if($nake_fee==""){
-//            return error_show(1005,"参数nake_fee不能为空");
-//        }
         $num=isset($this->post['min_num'])&&$this->post['min_num']!=="" ? intval($this->post['min_num']):"";
         if($num==""){
             return error_show(1005,"参数min_num不能为空");
@@ -1631,13 +1634,12 @@ class Goodup extends BaseController
         $catinfo = Db::name("cat")->where(["id"=>$good['cat_id']])->find();
         $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:0;
         if($good['is_gold_price']==1){
-            $gold = Db::name("gold_price1")->where(["type"=>$good['noble_metal'],"is_del"=>0,"status"=>1])->order("addtime desc")
-                ->find();
-            $saleprice = $good['open_fee']/$num + $good['weight']*$gold["price"] + $nakelist['cost_fee']/(1-$budget)*
-                $good['noble_weight']+$good['mark_fee']+$good['packing_fee']+$good['cert_fee']+$nakelist['nake_fee'];
+//            $gold = Db::name("gold_price1")->where(["type"=>$good['noble_metal'],"is_del"=>0,"status"=>1])->order("addtime desc")
+//                ->find();
+            $saleprice =  $good['noble_weight']*$good["cgd_gold_price"] + $nakelist['cost_fee']/(1-$budget)*
+                $good['noble_weight']+$good['mark_fee']+$good['packing_fee']+$good['cert_fee']+$nakelist['nake_fee']+$nakelist['delivery_fee'];
         }else{
-            $saleprice = $good['open_fee']/$num + $good['cost_fee']*
-                $good['noble_weight']+$good['mark_fee']+$good['packing_fee']+$good['cert_fee']+$nakelist['nake_fee']/(1-$budget);
+            $saleprice =$good['mark_fee']+$good['packing_fee']+$good['cert_fee']+$nakelist['delivery_fee']+$nakelist['nake_fee']/(1-$budget);
         }
         return app_show(0,"获取成功",["sale_price"=>round($saleprice,2)]);
     }

+ 1 - 3
app/admin/controller/Keepbrand.php

@@ -6,13 +6,11 @@ use app\BaseController;
 use think\App;
 use think\facade\Db;
 
-class Keepbrand extends BaseController
+class Keepbrand extends Base
 {
-    public $post = "";
     public function __construct(App $app)
     {
         parent::__construct($app);
-        $this->post= $this->request->post();
     }
     public function create(){
         $brand_book = isset($this->post['brand_book']) && $this->post['brand_book'] !=="" ? trim($this->post['brand_book']):"";

+ 52 - 25
app/admin/controller/Sale.php

@@ -4,19 +4,18 @@ namespace app\admin\controller;
 
 use app\admin\model\GoodLog;
 use app\admin\model\ProcessOrder;
-use app\BaseController;
 use Exception;
 use think\App;
 use think\facade\Db;
 use app\admin\model\ActionLog;
-class Sale extends BaseController
+
+class Sale extends Base
 {
-    public $post = "";
 
     public function __construct(App $app)
     {
         parent::__construct($app);
-        $this->post = $this->request->post();
+
     }
 
     public function create()
@@ -44,7 +43,7 @@ class Sale extends BaseController
         $order_type =isset($this->post['order_type']) && $this->post['order_type'] !=="" ?intval($this->post['order_type'])
             :"1";
         $sendtype =isset($this->post['sendtype']) && $this->post['sendtype'] !=="" ?intval($this->post['sendtype']):"";
-        if($sendtype==''){
+        if($sendtype===''){
             return error_show(1004,"参数sendtype不能为空");
         }
         $platform_id =isset($this->post['platform_id']) && $this->post['platform_id'] !=="" ?intval($this->post['platform_id']):"";
@@ -85,40 +84,56 @@ class Sale extends BaseController
             $skuCode = $ct['skuCode'];
 
         $is_activity= isset($this->post['is_activity'])&&$this->post['is_activity']!=="" ?$this->post['is_activity']:"";
+        $actcode= isset($this->post['act_code'])&&$this->post['act_code']!=="" ?trim($this->post['act_code']):"";
         if($order_type==1){
             if($is_activity===""){
                 return error_show(1002, "参数is_activity不能为空");
             }
+            if($is_activity==1){
+                return error_show(1002, "参数act_code不能为空");
+            }
 
         }
-        $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,"未找到相关阶梯价格");
+        if($goodinfo['is_stock']==1){
+            $stock =Db::name("good_stock")->where(["spuCode"=>$spuCode,"is_del"=>0])->find();
+            if($stock==false||$stock['usable_stock']<$good_num){
+                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']}");
+        $sale_price = isset($this->post['good_price'])&&$this->post['good_price']!="" ? floatval($this->post['good_price']):0;
+        if($goodtype==1){
+            $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,"未找到相关阶梯价格");
             }
-            if($act['activity_stock']<$good_num){
-                return error_show(1003,"商品活动库存剩余{$act['moq_num']}");
+            $sale_price = $good['sale_price'];
+            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.activity_code"=>$actcode,"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'];
             }
-            $sale_price=$act['activity_price'];
         }
 
 
+
+
         $cgd=[
             "supplierNo"=>$ct['supplierNo'],
             "companyNo"=>$supplierNo,
@@ -127,7 +142,7 @@ class Sale extends BaseController
             "skuCode"=>$ct['skuCode'],
             "good_name"=>$ct['good_name'],
             "sale_price"=>$origin_price,
-            "total_fee"=>$ct['total_fee'],
+            "total_fee"=>$origin_price*$good_num,
             "pakge_fee"=>$ct['packing_fee'],
             "cert_fee"=>$ct['cert_fee'],
             "open_fee"=>$ct['open_fee'],
@@ -1303,7 +1318,7 @@ class Sale extends BaseController
                 $var = Db::name("good_zixun")->where(["spuCode"=>$value['good_code'],"is_del"=>0])->find();
             }else {
                 $var = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
-                    ->where(['a.skuCode' => $value['sku_code']])->find();
+                    ->where(['a.skuCode' => $value['skuCode']])->find();
             }
 
             $value['can'] = isset($var['cat_id']) && $var['cat_id'] != 0 ? made($var['cat_id']) : [];
@@ -1481,7 +1496,7 @@ class Sale extends BaseController
             $goon = Db::name("good_zixun")->where(["spuCode"=>$einfo['good_code'],"is_del"=>0])->find();
         }else {
             $goon = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
-                ->where(['a.skuCode' => $einfo['sku_code']])->find();
+                ->where(['a.skuCode' => $einfo['skuCode']])->find();
         }
         if ($goon==false) {
             return error_show(1003, "未找到商品数据");
@@ -2404,7 +2419,7 @@ class Sale extends BaseController
             }
         }else{
             $goodinfo = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
-                ->where(['a.skuCode' =>$item['sku_code']])->find();
+                ->where(['a.skuCode' =>$item['skuCode']])->find();
             if ($goodinfo == false) {
                 return error_show(1002, "未找到商品数据");
             }
@@ -2765,6 +2780,18 @@ class Sale extends BaseController
         if($sale_num===""){
             return error_show(1003,"参数sale_num不能为空");
         }
+        $ct = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
+            ->where(['a.skuCode' =>$skuCode])->find();
+        if ($ct == false) {
+            return error_show(1002, "未找到商品数据");
+        }
+        $origin = Db::name("good_nake")->where([["spuCode","=",$ct['spuCode']],["min_num","<=", $sale_num],["is_del","=",
+            0]])->order("min_num desc")->find();
+        if($origin==false){
+            $origin = Db::name("good_nake")->where([["spuCode","=",$ct['spuCode']],["is_del","=",
+                0]])->order("min_num asc")->find();
+            return error_show(1003,"不满足成本最低阶梯数量{$origin['min_num']}");
+        }
         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();

+ 1 - 0
app/admin/route/app.php

@@ -372,6 +372,7 @@ Route::rule('goodproof','admin/Goodup/prooflist');
 Route::rule('activitylist','admin/Activity/list');
 Route::rule('activitylinst','admin/Activity/linst');
 Route::rule("zixunlist",'admin/Activity/zilist');
+Route::rule("actquery",'admin/Activity/query');
 
 Route::rule("platformcreate",'admin/Platform/create');
 Route::rule('platformlist','admin/Platform/list');