wugg 2 лет назад
Родитель
Сommit
02c9bdc9e4
2 измененных файлов с 62 добавлено и 50 удалено
  1. 15 3
      app/admin/controller/Reorder.php
  2. 47 47
      app/admin/controller/Sale.php

+ 15 - 3
app/admin/controller/Reorder.php

@@ -397,7 +397,12 @@ class Reorder extends \app\BaseController
                 }
             }
             if($info['is_addr']==1){
-                $addr=Db::name("sale_returnaddr")->where(['returnCode'=>$info['returnCode'],"is_del"=>1])->select();
+                $addr=Db::name("sale_returnaddr")->where(['returnCode'=>$info['returnCode'],"is_del"=>0])->select()
+                    ->toArray();
+                if(empty($addr)){
+                    return error_show(1004,"未找到发货单地址数据");
+                }
+
             }
 
         }
@@ -433,11 +438,15 @@ class Reorder extends \app\BaseController
                 $ste = ["order_code"=>$code,"status"=>$temp,"action_remark"=>'',"action_type"=>"status"];
                 ActionLog::logAdd($this->post['token'],$ste,$info['order_type'] == 2?"ZXTHD":"QRTHD",$status,$info);
                 if($status==4){
-                    $orderinfo['wsend_num']-=$info['num'];
+                    if($info['is_addr']==0){
+                        $orderinfo['wsend_num']-=$info['num'];
+                    }
+
                     $orderinfo['th_num']+=$info['num'];
+                    $orderinfo['th_fee']+=round($info['num']*$orderinfo['sale_price'],2);
                     $orderinfo['send_status'] = $orderinfo['send_num'] == 0 ? 1 : $orderinfo['wsend_num'] == 0 ? 3 : 2;
                     $old_status = $orderinfo['status'];
-                    $orderinfo['status'] = $orderinfo['send_num'] == 0 ? 3 : $orderinfo['wsend_num'] == 0 ? 5 : 4;
+                    $orderinfo['status'] = $orderinfo['send_num'] == 0 ?0 : $orderinfo['wsend_num'] == 0 ? 2 : 1;
                     $orderinfo['updatetime']=date("Y-m-d H:i:s");
                     $return = Db::name("sale")->save($orderinfo);
                     if($return==false){
@@ -459,6 +468,9 @@ class Reorder extends \app\BaseController
                             "order_status" => $orderinfo['status']
                         ]);
                     }
+                    if($info['is_th']==1 && $orderinfo['is_stock']==0){
+
+                    }
 
                     foreach ($good_stock as $value){
                         if($value['wait_out_stock']>=$info['num']){

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

@@ -1352,50 +1352,50 @@ class Sale extends Base
                     $temp['arrive_time'] = $data['arrtime'];
                     $vmp = Db::name('order_addr')->insert($temp, true);
                     if ($vmp > 0) {
-//                        $outCode = makeNo("CK");
-//                        $out = [
-//                            "orderCode" => $orderCode,
-//                            "outCode" => $outCode,
-//                            "apply_id"=>$data['rm'],
-//                            "apply_name"=>$data['ri'],
-//                            "addrid" => $vmp,
-//                            "post_name" => "",
-//                            "post_code" => "",
-//                            "post_fee" => 0,
-//                            "sendtime" => date("Y-m-d H:i:s"),
-//                            "send_num" => $value['receipt_quantity'],
-//                            "check_num" => 0,
-//                            "error_num" => 0,
-//                            "wsm_code" => "",
-//                            "order_type" => 4,
-//                            "status" => 0,
-//                            "addtime" => date("Y-m-d H:i:s"),
-//                            "updatetime" => date("Y-m-d H:i:s")
-//                        ];
-//                        $ou = Db::name("order_out")->insert($out);
-//                        if ($ou == false) {
-//                            return false;
-//                        }
-//                        $order['send_num'] += $value['receipt_quantity'];
-//                        $order['wsend_num'] -= $value['receipt_quantity'];
-//                        if ($order['wsend_num'] < 0) {
-//                            return false;
-//                        }
-//                        $ups = Db::name("order_num")->save($order);
-//                        if ($ups) {
-//                            $tep = [
-//                                "cgdNo" => $order['cgdNo'],
-//                                "outCode" => $outCode,
-//                                "send_num" => $value['receipt_quantity'],
-//                                "status" => 1,
-//                                "addtime" => date("Y-m-d H:i:s"),
-//                                "updatetime" => date("Y-m-d H:i:s")
-//                            ];
-//                            $sen = Db::name("order_send")->save($tep);
-//                            if ($sen == false) {
-//                                return false;
-//                            }
-//                        }
+                        $outCode = makeNo("DF");
+                        $out = [
+                            "orderCode" => $orderCode,
+                            "outCode" => $outCode,
+                            "apply_id"=>$data['rm'],
+                            "apply_name"=>$data['ri'],
+                            "addrid" => $vmp,
+                            "post_name" => "",
+                            "post_code" => "",
+                            "post_fee" => 0,
+                            "sendtime" => date("Y-m-d H:i:s"),
+                            "send_num" => $value['receipt_quantity'],
+                            "check_num" => 0,
+                            "error_num" => 0,
+                            "wsm_code" => "",
+                            "order_type" => 4,
+                            "status" => 0,
+                            "addtime" => date("Y-m-d H:i:s"),
+                            "updatetime" => date("Y-m-d H:i:s")
+                        ];
+                        $ou = Db::name("order_out")->insert($out);
+                        if ($ou == false) {
+                            return false;
+                        }
+                        $order['send_num'] += $value['receipt_quantity'];
+                        $order['wsend_num'] -= $value['receipt_quantity'];
+                        if ($order['wsend_num'] < 0) {
+                            return false;
+                        }
+                        $ups = Db::name("order_num")->save($order);
+                        if ($ups) {
+                            $tep = [
+                                "cgdNo" => $order['cgdNo'],
+                                "outCode" => $outCode,
+                                "send_num" => $value['receipt_quantity'],
+                                "status" => 1,
+                                "addtime" => date("Y-m-d H:i:s"),
+                                "updatetime" => date("Y-m-d H:i:s")
+                            ];
+                            $sen = Db::name("order_send")->save($tep);
+                            if ($sen == false) {
+                                return false;
+                            }
+                        }
 
                     } else {
                         return false;
@@ -1560,7 +1560,7 @@ class Sale extends Base
                         $temp['arrive_time'] = $data['arrtime'];
                         $vmp = Db::name('order_addr')->insert($temp, true);
                         if ($vmp > 0) {
-                            if ($good['is_stock'] == 1) {
+//                            if ($good['is_stock'] == 1) {
                                 $order = Db::name("order_num")->where(["orderCode" => $orderCode, "status" => 1])->where([["wsend_num", ">=", 0]])
                                     ->lock(true)->find();
                                 if ($order == false) {
@@ -1608,7 +1608,7 @@ class Sale extends Base
                                     "error_num" => 0,
                                     "wsm_code" => $cgdinfo['wsm_code'],
                                     "order_type" => 1,
-                                    "status" => 1,
+                                    "status" => $good['is_stock'] == 1?1:0,
                                     "addtime" => date("Y-m-d H:i:s"),
                                     "updatetime" => date("Y-m-d H:i:s")
                                 ];
@@ -1636,7 +1636,7 @@ class Sale extends Base
                             }
                         }
                     }
-                }
+//                }
             }
 
         return true;