ソースを参照

Merge branch 'version1.5' into dev_wf

wufeng 2 年 前
コミット
f5516713f6
2 ファイル変更33 行追加33 行削除
  1. 27 27
      app/admin/controller/Sale.php
  2. 6 6
      app/admin/controller/Stat.php

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

@@ -288,7 +288,7 @@ class Sale extends Base
                     foreach ($addrlist as $value){
                         $temp=[];
                         $addrs=[];
-                        if($value['addr_code']!==''&&is_array($value['addr_code'])){
+                        if($value['addr_code']!==''&&is_array($value['addr_code'])&&!empty($value['addr_code'])){
                             $addrs['provice_code'] = $value['addr_code'][0];
                             $addrs['city_code'] = $value['addr_code'][1];
                             $addrs['area_code'] = $value['addr_code'][2];
@@ -565,7 +565,7 @@ class Sale extends Base
             foreach ($addrlist as $value){
                 $temp=[];
                 $addrs=[];
-                if($value['addr_code']!==''&&is_array($value['addr_code'])){
+                if($value['addr_code']!==''&&is_array($value['addr_code'])&&!empty($value['addr_code'])){
                     $addrs['provice_code'] = $value['addr_code'][0];
                     $addrs['city_code'] = $value['addr_code'][1];
                     $addrs['area_code'] = $value['addr_code'][2];
@@ -974,7 +974,7 @@ class Sale extends Base
                         foreach ($va as $value){
                             $temp=[];
                             $addrs=[];
-                            if($value['addr_code']!==''&&is_array($value['addr_code'])){
+                            if($value['addr_code']!==''&&is_array($value['addr_code'])&&!empty($value['addr_code'])){
                                 $addrs['provice_code'] = $value['addr_code'][0];
                                 $addrs['city_code'] = $value['addr_code'][1];
                                 $addrs['area_code'] = $value['addr_code'][2];
@@ -1418,7 +1418,7 @@ class Sale extends Base
                 foreach ($data['addrlist'] as $value) {
                     $temp = [];
                     $addrs = [];
-                    if ($value['addr_code'] !== '' && is_array($value['addr_code'])) {
+                    if ($value['addr_code'] !== '' && is_array($value['addr_code'])&&!empty($value['addr_code'])) {
                         $addrs['provice_code'] = $value['addr_code'][0];
                         $addrs['city_code'] = $value['addr_code'][1];
                         $addrs['area_code'] = $value['addr_code'][2];
@@ -1669,7 +1669,7 @@ class Sale extends Base
                     foreach ($data['addrlist'] as $value) {
                         $temp = [];
                         $addrs = [];
-                        if ($value['addr_code'] !== '' && is_array($value['addr_code'])) {
+                        if ($value['addr_code'] !== '' && is_array($value['addr_code'])&&!empty($value['addr_code'])) {
                             $addrs['provice_code'] = $value['addr_code'][0];
                             $addrs['city_code'] = $value['addr_code'][1];
                             $addrs['area_code'] = $value['addr_code'][2];
@@ -2115,7 +2115,7 @@ class Sale extends Base
             foreach ($fo as $value) {
                 $value['addr_info'] = "";
                 $value['send_num'] = 0;
-                if ($value['addr_code'] != "") {
+                if ($value['addr_code'] != ""&&!empty($value['addr_code'])) {
                     $place = ["provice_code"=>"","city_code"=>"","area_code"=>""];
                     list($place['provice_code'],$place['city_code'],$place['area_code'])=explode(",",$value['addr_code']);
                     $addr = GetAddr(json_encode($place));
@@ -3241,31 +3241,31 @@ class Sale extends Base
                                 ->field('id,usable_stock,wait_out_stock')
                                 ->where(['spuCode' => $der['good_code'], 'wsm_code' => $cgd['wsm_code']])
                                 ->find();
-                            if ($temp == false) {
-                                Db::rollback();
-                                return error_show(1004, '库存不足');
-                            }
-
-                            if (($temp['usable_stock'] - $send_num) < 0) {
+                            if (($temp == false ||($temp['usable_stock'] - $send_num) < 0) && $der['send_type']==1) {
                                 Db::rollback();
                                 return error_show(1004, '库存不足');
-                            }
+                            }else{
+                                if(($temp == false ||($temp['usable_stock'] - $send_num) < 0) && $der['send_type']==2){
+                                    $data['status']=0;
+                                }else{
+                                    $up =Db::name('good_stock')
+                                        ->where('id', $temp['id'])
+                                        ->update([
+                                            'usable_stock' => $temp['usable_stock'] - $send_num,
+                                            'wait_out_stock' => $temp['wait_out_stock'] + $send_num,
+                                            'updatetime' => date('Y-m-d H:i:s'),
+                                        ]);
+                                    if($up==false){
+                                        Db::rollback();
+                                        return error_show(1004, '库存更新失败');
+                                    }
+                                    // ::todo
+                                    $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 1,'stock'=>$send_num, "stock_name" => "wait_out_stock"];
+                                    $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 2,'stock'=>$send_num, "stock_name" => "usable_stock"];
+                                    GoodLog::LogAdd($this->post['token'],$good_data,"CKD");
+                                }
 
-                            $up =Db::name('good_stock')
-                                ->where('id', $temp['id'])
-                                ->update([
-                                    'usable_stock' => $temp['usable_stock'] - $send_num,
-                                    'wait_out_stock' => $temp['wait_out_stock'] + $send_num,
-                                    'updatetime' => date('Y-m-d H:i:s'),
-                                ]);
-                            if($up==false){
-                                Db::rollback();
-                                return error_show(1004, '库存更新失败');
                             }
-                           // ::todo
-                            $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 1,'stock'=>$send_num, "stock_name" => "wait_out_stock"];
-                            $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 2,'stock'=>$send_num, "stock_name" => "usable_stock"];
-                            GoodLog::LogAdd($this->post['token'],$good_data,"CKD");
                         }
 
                     $datainfo = Db::name('order_out')->insert($data,true);

+ 6 - 6
app/admin/controller/Stat.php

@@ -40,7 +40,7 @@ FROM
 		SUM( total_price ) AS month_total_fee,
 		((
 			SELECT
-				sum( total_fee ) 
+			ifnull(sum(total_fee),0) 
 			FROM
 				wsm_sale_return e
 				LEFT JOIN wsm_depart_user k ON e.apply_id = k.uid 
@@ -51,7 +51,7 @@ FROM
 				AND e.platform_id = a.platform_id 
 				AND DATE_FORMAT( e.addtime, '%Y-%m' ) = DATE_FORMAT( '$endtime', '%Y-%m' )) + (
 			SELECT
-				sum( total_fee ) 
+			ifnull(sum(total_fee),0)  
 			FROM
 				wsm_order_back f
 				LEFT JOIN wsm_depart_user p ON f.apply_id = p.uid 
@@ -87,7 +87,7 @@ FROM
 		SUM( total_price ) AS week_total_fee,
 		((
 			SELECT
-				sum( total_fee ) 
+				ifnull(sum(total_fee),0) 
 			FROM
 				wsm_sale_return e
 				LEFT JOIN wsm_depart_user k ON e.apply_id = k.uid 
@@ -99,7 +99,7 @@ FROM
 				AND WEEK ( e.addtime, 1 ) = WEEK ( '$endtime', 1 ) 
 				AND DATE_FORMAT ( e.addtime, '%Y' ) = DATE_FORMAT ( '$endtime', '%Y' )) + (
 			SELECT
-				sum( total_fee ) 
+				ifnull(sum(total_fee),0) 
 			FROM
 				wsm_order_back f
 				LEFT JOIN wsm_depart_user p ON f.apply_id = p.uid 
@@ -138,7 +138,7 @@ FROM
 		SUM( total_price ) AS day_total_fee,
 		((
 			SELECT
-				sum( total_fee ) 
+				ifnull(sum(total_fee),0) 
 			FROM
 				wsm_sale_return e
 				LEFT JOIN wsm_depart_user k ON e.apply_id = k.uid 
@@ -149,7 +149,7 @@ FROM
 				AND e.platform_id = a.platform_id 
 				AND DATE_FORMAT( e.addtime, '%Y-%m-%d' ) = DATE_FORMAT( '$endtime', '%Y-%m-%d' )) + (
 			SELECT
-				sum( total_fee ) 
+				ifnull(sum(total_fee),0) 
 			FROM
 				wsm_order_back f
 				LEFT JOIN wsm_depart_user p ON f.apply_id = p.uid