Преглед изворни кода

发货单号的编码规则优化

wufeng пре 2 година
родитељ
комит
39b758b702
1 измењених фајлова са 26 додато и 0 уклоњено
  1. 26 0
      app/admin/controller/Sale.php

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

@@ -328,6 +328,7 @@ class Sale extends Base
                 }
 
                 if ($sendtype == 1) {
+                    $i=1;
                     foreach ($addrlist as $value) {
                         $temp = [];
                         $addrs = [];
@@ -361,6 +362,10 @@ class Sale extends Base
                             }
                             $num = $value['receipt_quantity'];
                             $outCode = makeNo("DF");
+                            //改变编码规则,将原来的outCode后两位换成序列号
+                            //str_pad字符串填充
+                            $outCode = substr($outCode, 0, -2) . str_pad($i, 2, '0', STR_PAD_LEFT);
+                            $i++;
                             $order['wsend_num'] -= $num;
                             $order['send_num'] += $num;
                             $or = Db::name("order_num")->save($order);
@@ -1079,6 +1084,7 @@ class Sale extends Base
                         Db::rollback();
                         return error_show(1006, "采购单关联数据未找到");
                     }
+                    $i = 1;
                     foreach ($va as $value) {
                         $temp = [];
                         $addrs = [];
@@ -1105,6 +1111,11 @@ class Sale extends Base
                         $vmp = Db::name('order_addr')->insert($temp, true);
                         if ($vmp > 0) {
                             $outCode = makeNo("DF");
+                            //改变编码规则,将原来的outCode后两位换成序列号
+                            //str_pad字符串填充
+                            $outCode = substr($outCode, 0, -2) . str_pad($i, 2, '0', STR_PAD_LEFT);
+                            $i++;
+
                             $out = [
                                 "orderCode" => $orderCode,
                                 "outCode" => $outCode,
@@ -1576,6 +1587,7 @@ class Sale extends Base
                 if ($order == false) {
                     return false;
                 }
+                $i = 1;
                 foreach ($data['addrlist'] as $value) {
                     $temp = [];
                     $addrs = [];
@@ -1602,6 +1614,10 @@ class Sale extends Base
                     $vmp = Db::name('order_addr')->insert($temp, true);
                     if ($vmp > 0) {
                         $outCode = makeNo("DF");
+                        //改变编码规则,将原来的outCode后两位换成序列号
+                        //str_pad字符串填充
+                        $outCode = substr($outCode, 0, -2) . str_pad($i, 2, '0', STR_PAD_LEFT);
+                        $i++;
                         $out = [
                             "orderCode" => $orderCode,
                             "outCode" => $outCode,
@@ -1837,6 +1853,7 @@ class Sale extends Base
 
             }
             if ($data['sendtype'] == 1 && !empty($data['addrlist'])) {
+                $i = 1;
                 foreach ($data['addrlist'] as $value) {
                     $temp = [];
                     $addrs = [];
@@ -1871,6 +1888,10 @@ class Sale extends Base
                         }
                         $num = $value['receipt_quantity'];
                         $outCode = makeNo("DF");
+                        //改变编码规则,将原来的outCode后两位换成序列号
+                        //str_pad字符串填充
+                        $outCode = substr($outCode, 0, -2) . str_pad($i, 2, '0', STR_PAD_LEFT);
+                        $i++;
                         $order['wsend_num'] -= $num;
                         $order['send_num'] += $num;
                         $or = Db::name("order_num")->save($order);
@@ -2515,8 +2536,13 @@ class Sale extends Base
                     }
                     if ($dio['send_type'] == 1) {
                         $addr = Db::name('order_addr')->where(["orderCode" => $dio['orderCode'], 'is_del' => 0])->select();
+                        $i = 1;
                         foreach ($addr as $value) {
                             $outCode = makeNo("DF");
+                            //改变编码规则,将原来的outCode后两位换成序列号
+                            //str_pad字符串填充
+                            $outCode = substr($outCode, 0, -2) . str_pad($i, 2, '0', STR_PAD_LEFT);
+                            $i++;
                             $data = [
                                 "wsm_code" => $wsm['wsm_code'],
                                 "orderCode" => $dio['orderCode'],