Преглед на файлове

处理库存脚本优化

wufeng преди 2 години
родител
ревизия
c1760d4f79
променени са 1 файла, в които са добавени 53 реда и са изтрити 3 реда
  1. 53 3
      app/command/ImportOrderFromCHandleData.php

+ 53 - 3
app/command/ImportOrderFromCHandleData.php

@@ -522,15 +522,65 @@ class ImportOrderFromCHandleData extends Command
 
         if ($cgd == false) return false;
 
-        $cgd['balance_num'] -= $outinfo['good_num'];
-        $cgd['merge_num'] += $outinfo['good_num'];
+        $cgdinfo = Db::name("purchease_order")
+            ->where(['cgdNo' => $cgd['cgdNo'], "is_del" => 0])
+            ->find();
+        if ($cgdinfo == false) return false;
+
+        $QrdCgd = [
+            "cgdNo" => makeNo("CG"),
+            "bkcode" => $cgdinfo['bkcode'],
+            'wsm_code' => $cgdinfo['wsm_code'],
+            "cgder_id" => $cgdinfo['cgder_id'],
+            "cgder" => $cgdinfo['cgder'],
+            "spuCode" => $cgdinfo['spuCode'],
+            "good_name" => $cgdinfo['good_name'],
+            "good_num" => $cgdinfo['good_num'],
+            "good_price" => $cgdinfo['good_price'],
+            "total_fee" => round($cgdinfo['good_price'] * $outinfo['good_num'], 2),
+            "pakge_fee" => $cgdinfo['pakge_fee'],
+            "cert_fee" => $cgdinfo['cert_fee'],
+            "open_fee" => $cgdinfo['open_fee'],
+            "delivery_fee" => $cgdinfo['delivery_fee'],
+            "mark_fee" => $cgdinfo['mark_fee'],
+            "teach_fee" => $cgdinfo['teach_fee'],
+            "nake_fee" => $cgdinfo['nake_fee'],
+            "demo_fee" => $cgdinfo['demo_fee'],
+            "weight" => $cgdinfo['weight'],
+            "diff_weight" => $cgdinfo['diff_weight'],
+            "diff_fee" => $cgdinfo['diff_fee'],
+            "gold_price" => $cgdinfo['gold_price'],
+            "supplierNo" => $cgdinfo['supplierNo'],
+            "supplier_name" => $cgdinfo['supplier_name'],
+            "companyNo" => $cgdinfo['companyNo'],
+            "send_status" => 3,
+            "send_num" => $outinfo['good_num'],
+            "wsend_num" => 0,
+            "remark" => $cgdinfo['remark'],
+            "status" => 3,
+            "lasttime" => $cgdinfo['lasttime'],
+            "is_del" => 0,
+            "order_type" => 5,
+            "good_type" => $cgdinfo['good_type'],
+            "addtime" => date("Y-m-d H:i:s"),
+            "updatetime" => date("Y-m-d H:i:s")
+        ];
+        $insetrCgd = Db::name("purchease_order")->insert($QrdCgd);
+        if ($insetrCgd == false) return false;
+
+        $merge_num = Db::name("purchease_order")
+            ->where(["bkcode" => $cgdinfo['bkcode'], "order_type" => 5, "is_del" => 0])
+            ->field("sum(send_num)-sum(th_num) as num")
+            ->find();
+        $cgd['balance_num'] = $cgd['total_num'] - $merge_num['num'];
+        $cgd['merge_num'] = $merge_num['num'];
         $cgd['updatetime'] = date("Y-m-d H:i:s");
         $up = Db::name("order_bk")->save($cgd);
         if ($up == false) return false;
 
         $data = [
             "orderCode" => $outinfo['orderCode'],
-            "cgdNo" => $cgd['cgdNo'],
+            "cgdNo" => $QrdCgd['cgdNo'],
             "spuCode" => $outinfo['spuCode'],
             "companyNo" => $outinfo['companyNo'],
             "good_num" => $outinfo['good_num'],