wugg 2 yıl önce
ebeveyn
işleme
d199f93dd3

+ 16 - 44
app/command/ImportOrderFromCHandleData.php

@@ -6,7 +6,7 @@ namespace app\command;
 use app\admin\model\ActionLog;
 use app\admin\model\GoodLog;
 use app\admin\model\GoodStockInfo;use app\admin\model\OrderImportFromC as OIFCModel;
-use app\admin\model\ProcessOrder;
+use app\admin\model\OrderOutChild;use app\admin\model\ProcessOrder;
 use app\admin\model\Test1;
 use think\console\Command;
 use think\console\Input;
@@ -126,13 +126,13 @@ class ImportOrderFromCHandleData extends Command
 //				            if($stock_num <  $good_num){
 //				              throw new Exception('bn库存数量不足');
 //				            }
-			            $stock_num = Db::name("good_stock")->alias("a")
-			            ->leftJoin("warehouse_info b", "a.wsm_code=b.wsm_code")
-			            ->leftJoin("good_stock_info c", "a.id=c.stockid and c.balance_num>0")
-			            ->where(["spuCode" => $spuCode, "a.is_del" => 0, "a.status" => 1, "b.wsm_type" => 5, "b.companyNo" =>$supplierNo])
-			            ->sum('balance_num');
-			            if($stock_num < $good_num){
-			               throw new Exception('bn库存数量不足');
+//			            $stock_num = Db::name("good_stock")->alias("a")
+//			            ->leftJoin("warehouse_info b", "a.wsm_code=b.wsm_code")
+//			            ->leftJoin("good_stock_info c", "a.id=c.stockid and c.balance_num>0")
+//			            ->where(["spuCode" => $spuCode, "a.is_del" => 0, "a.status" => 1, "b.wsm_type" => 5, "b.companyNo" =>$supplierNo])
+//			            ->sum('balance_num');
+			            if($ct['usable_stock'] < $good_num){
+			               throw new Exception('商品库存数量不足');
 			            }
                         $origin_price = 0;
 
@@ -313,37 +313,15 @@ class ImportOrderFromCHandleData extends Command
 
                         } else {
                             //库存品
-//                            $bol = $this->RelaCgd(['orderCode' => $orderCode, "good_num" => $good_num, "spuCode" => $spuCode, "companyNo" => $supplierNo, 'order_type' => $order_type, 'order_source' => $order_source,'good_createrid'=>$ct['createrid'],'good_creater'=>$ct['creater']], $standing_book_data);
-//                            if ($bol == false) throw new Exception('库存商品关联采购单失败');
-						 $stockid= Db::name("good_stock")->alias("a")
-			            ->leftJoin("warehouse_info b", "a.wsm_code=b.wsm_code")
-			            ->where(["spuCode" => $spuCode, "a.is_del" => 0, "a.status" => 1, "b.wsm_type" => 5, "b.companyNo" =>$supplierNo])
-			            ->column('a.id');
-	                        $stockinfo =GoodStockInfo::OrderBn($orderCode,$stockid,intval($good_num));
-	                        if($stockinfo==false){
-	                             throw new Exception('库存商品更新库存失败');
+	                        $stockUp =[
+		                        "usable_stock"=>$ct['usable_stock']-$good_num,
+		                        "updatetime"=>date("Y-m-d H:i:s"),
+		                        ];
+	                        $update=Db::name("good")->where(["spuCode"=>$ct['spuCode'],"usable_stock"=>$ct['usable_stock']])->update($stockUp);
+                            if($update==false){
+	                             throw new Exception('商品更新可用库存失败');
 	                        }
 
-//                            if (isset($stock)) {
-//                                $stck = [
-//                                    "usable_stock" => $stock['usable_stock'] - $good_num,
-//                                    "wait_out_stock" => $stock['wait_out_stock'] + $good_num,
-//                                    "updatetime" => date("Y-m-d H:i:s")
-//                                ];
-//                                $upad = Db::name("good_stock")
-//                                    ->where($stock)
-//                                    ->update($stck);
-//                                if ($upad == false) throw new Exception('库存商品更新库存失败');
-//								 $stockinfo =GoodStockInfo::OrderBn($orderCode,$stock['id'],$good_num);
-//		                        if($stockinfo==false){
-//		                                throw new Exception('bn库存商品更新库存失败');
-//		                        }
-//                                //商品变动日志表,good_log_code字段存储采购单号
-//                                $good_data[] = ['good_log_code' => $orderCode, "stock_id" => $datainfo, "type" => 2, 'stock' => $good_num, "stock_name" => "usable_stock"];
-//                                $good_data[] = ['good_log_code' => $orderCode, "stock_id" => $datainfo, "type" => 1, 'stock' => $good_num, "stock_name" => "wait_out_stock"];
-//                                GoodLog::LogAdd(['id' => $rm, 'nickname' => $ri], $good_data, "XSQRD");
-//                            }
-
                         }
                         if ($sendtype == 1) {
                             $temp = [
@@ -367,15 +345,8 @@ class ImportOrderFromCHandleData extends Command
                             	if($is_stock!=1){
 	                                    $order = Db::name("order_num")
 	                                    ->where(["orderCode" => $orderCode, "status" => 1])
-	                                    ->where([["wsend_num", ">=", 0]])
-//	                                    ->lock(true)
 	                                    ->find();
 	                                if ($order == false) throw new Exception('未找到可以发货得采购单数据');
-	                                $order['wsend_num'] -= $num;
-	                                $order['send_num'] += $num;
-	                                $or = Db::name("order_num")->save($order);
-	                                if ($or == false) throw new Exception('发货地址更新失败');
-
 	                                $tep = [
 	                                    "cgdNo" => $order['cgdNo'],
 	                                    "outCode" => $outCode,
@@ -414,6 +385,7 @@ class ImportOrderFromCHandleData extends Command
                                 $ou = Db::name("order_out")->insertGetId($out);
                                 if ($ou == false) throw new Exception('发货地址添加创建失败');
                                 else {
+                                	OrderOutChild::makeChild($outCode);
                                 	    //修改状态,添加待办
                                 	    if ($is_stock==1){
                                 	    	$roleid = Config('app.wsm_cgder_role');

+ 29 - 24
app/command/handleYzOrderData.php

@@ -5,7 +5,7 @@ namespace app\command;
 use app\admin\common\User;
 use app\admin\model\ActionLog;
 use app\admin\model\GoodLog;
-use app\admin\model\GoodStockInfo;use app\admin\model\ProcessOrder;
+use app\admin\model\GoodStockInfo;use app\admin\model\OrderOutChild;use app\admin\model\ProcessOrder;
 use think\console\Command;
 use think\console\Input;
 use think\console\Output;
@@ -146,15 +146,18 @@ class handleYzOrderData extends Command
 //                        ->find();
 //
 //                    if ($stock == false || $stock['usable_stock'] < $good_num) throw new Exception('库存数量不足');
-                    $stock_num = Db::name("good_stock")
-                        ->alias("a")
-                        ->leftJoin("warehouse_info b", "a.wsm_code=b.wsm_code")
-                        ->leftJoin("good_stock_info c", "a.id=c.stockid and c.balance_num>0")
-                        ->where(["spuCode" => $spuCode, "a.is_del" => 0, "a.status" => 1, "b.wsm_type" => 5, "b.companyNo" => $supplierNo])
-                        ->sum('balance_num');
-                    if ($stock_num < $good_num) {
-                        throw new Exception('bn库存数量不足');
-                    }
+//                    $stock_num = Db::name("good_stock")
+//                        ->alias("a")
+//                        ->leftJoin("warehouse_info b", "a.wsm_code=b.wsm_code")
+//                        ->leftJoin("good_stock_info c", "a.id=c.stockid and c.balance_num>0")
+//                        ->where(["spuCode" => $spuCode, "a.is_del" => 0, "a.status" => 1, "b.wsm_type" => 5, "b.companyNo" => $supplierNo])
+//                        ->sum('balance_num');
+//                    if ($stock_num < $good_num) {
+//                        throw new Exception('bn库存数量不足');
+//                    }
+                    if($ct['usable_stock'] < $good_num){
+			               throw new Exception('商品库存数量不足');
+			            }
                     $origin_price = 0;
 
                 } else {
@@ -429,13 +432,21 @@ class handleYzOrderData extends Command
 //                            $good_data[] = ['good_log_code' => $orderCode, "stock_id" => $datainfo, "type" => 1, 'stock' => $good_num, "stock_name" => "wait_out_stock"];
 //                            GoodLog::LogAdd(['id' => $rm, 'nickname' => $ri], $good_data, "XSQRD");
 //                        }
-                        $stockid = Db::name("good_stock")->alias("a")
-                            ->leftJoin("warehouse_info b", "a.wsm_code=b.wsm_code")
-                            ->where(["spuCode" => $spuCode, "a.is_del" => 0, "a.status" => 1, "b.wsm_type" => 5, "b.companyNo" => $supplierNo])
-                            ->column('a.id');
-                        $stockinfo = GoodStockInfo::OrderBn($orderCode, $stockid, intval($good_num));
-                        if ($stockinfo == false)  throw new Exception('库存商品更新库存失败');
-
+//                        $stockid = Db::name("good_stock")->alias("a")
+//                            ->leftJoin("warehouse_info b", "a.wsm_code=b.wsm_code")
+//                            ->where(["spuCode" => $spuCode, "a.is_del" => 0, "a.status" => 1, "b.wsm_type" => 5, "b.companyNo" => $supplierNo])
+//                            ->column('a.id');
+//                        $stockinfo = GoodStockInfo::OrderBn($orderCode, $stockid, intval($good_num));
+//                        if ($stockinfo == false)  throw new Exception('库存商品更新库存失败');
+					 //库存品
+	                        $stockUp =[
+		                        "usable_stock"=>$ct['usable_stock']-$good_num,
+		                        "updatetime"=>date("Y-m-d H:i:s"),
+		                        ];
+	                        $update=Db::name("good")->where(["spuCode"=>$ct['spuCode'],"usable_stock"=>$ct['usable_stock']])->update($stockUp);
+                            if($update==false){
+	                             throw new Exception('商品更新可用库存失败');
+	                        }
 
                     }
                     if ($sendtype == 1) {
@@ -479,15 +490,8 @@ class handleYzOrderData extends Command
                         	if ($is_stock != 1) {
 	                            $order = Db::name("order_num")
 	                                ->where(["orderCode" => $orderCode, "status" => 1])
-	                                ->where([["wsend_num", ">=", 0]])
-	                                ->lock(true)
 	                                ->find();
 	                            if ($order == false) throw new Exception('未找到可以发货得采购单数据');
-	                            $order['wsend_num'] -= $num;
-	                            $order['send_num'] += $num;
-	                            $or = Db::name("order_num")->save($order);
-	                            if ($or == false) throw new Exception('发货地址更新失败');
-
 	                            $tep = [
 	                                "cgdNo" => $order['cgdNo'],
 	                                "outCode" => $outCode,
@@ -524,6 +528,7 @@ class handleYzOrderData extends Command
                             $ou = Db::name("order_out")->insertGetId($out);
                             if ($ou == false) throw new Exception('发货地址添加创建失败');
                             else {
+                            	OrderOutChild::makeChild($outCode);
                                 //修改状态,添加待办
                                 ActionLog::logAdd(['id' => $rm, 'nickname' => $ri], [
                                     "order_code" => $outCode,//出库单号