浏览代码

Merge branch 'wugg-dev' of wugg/phpstock into version1.5

wugg 2 年之前
父节点
当前提交
84550c24bd
共有 2 个文件被更改,包括 73 次插入5 次删除
  1. 47 1
      app/admin/controller/Purchin.php
  2. 26 4
      app/admin/controller/Sale.php

+ 47 - 1
app/admin/controller/Purchin.php

@@ -758,6 +758,29 @@ class Purchin extends BaseController
                 }
                 $good_data[]=["stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1, 'stock'=>$info['wsm_num'],"stock_name"=>"usable_stock"];
                 GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
+                $bk =Db::name("order_bk")->where(['cgdNo'=>$cgdinfo['cgdNo']])->lock(true)->find();
+                if($bk==false){
+                    $bk=[
+                        "cgdNo"=>$cgdinfo['cgdNo'],
+                        "spuCode"=>$cgdinfo['spuCode'],
+                        "companyNo"=>$cgdinfo['companyNo'],
+                        "total_num"=>0,
+                        "merge_num"=>0,
+                        "balance_num"=>0,
+                        "status"=>1,
+                        "is_del"=>0,
+                        'addtime'=>date("Y-m-d H:i:s"),
+                        "updatetime"=>date("Y-m-d H:i:s")
+                    ];
+                }
+                $bk['balance_num']+=$wsm_num;
+                $bk['total_num']+=$wsm_num;
+                $bk['updatetime']=date("Y-m-d H:i:s");
+                $upcgd =Db::name("order_bk")->save($bk);
+                if($upcgd==false){
+                    Db::rollback();
+                    return error_show(1004,"采购单数量更新失败");
+                }
             }
 
             $process=["order_code"=>$info['wsm_in_code'],"order_id"=>$info['id'],"order_status"=>$info['status'],"order_type"=>'RKD'];
@@ -876,7 +899,7 @@ class Purchin extends BaseController
                             $order = ["order_code"=>$good['spuCode'],"status"=>1,"action_remark"=>'', "action_type"=>"edit"];
                         }
                         $good['usable_stock']+=$info['wsm_num'];
-                        $good['wait_in_stock']-=$info['wsm_num'];
+                        $good['wait_in_stock']-=$info['wsm_num']+$return['return_num']-$return['reissue_num'];
                         $good['total_stock']=$good['usable_stock']+$good['wait_out_stock'];
                         $good['updatetime'] = date("Y-m-d H:i:s");
                         $upd=  Db::name("good_stock")->save($good);
@@ -897,6 +920,29 @@ class Purchin extends BaseController
                         Db::rollback();
                         return error_show(1004,"采购单数量更新失败");
                     }
+                    $bk =Db::name("order_bk")->where(['cgdNo'=>$cgdinfo['cgdNo']])->lock(true)->find();
+                    if($bk==false){
+                        $bk=[
+                          "cgdNo"=>$cgdinfo['cgdNo'],
+                            "spuCode"=>$cgdinfo['spuCode'],
+                            "companyNo"=>$cgdinfo['companyNo'],
+                            "total_num"=>0,
+                            "merge_num"=>0,
+                            "balance_num"=>0,
+                            "status"=>1,
+                            "is_del"=>0,
+                            'addtime'=>date("Y-m-d H:i:s"),
+                            "updatetime"=>date("Y-m-d H:i:s")
+                        ];
+                    }
+                    $bk['balance_num']+=$return['wsm_num'];
+                    $bk['total_num']+=$return['wsm_num'];
+                    $bk['updatetime']=date("Y-m-d H:i:s");
+                    $upcgd =Db::name("order_bk")->save($bk);
+                    if($upcgd==false){
+                        Db::rollback();
+                        return error_show(1004,"采购单数量更新失败");
+                    }
                     $order = ["order_code"=>$cgdinfo['cgdNo'],"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                     ActionLog::logAdd($this->post['token'],$order,"CGD", $cgdinfo['status'],$cgdinfo);
                     $process=["order_code"=>$cgdinfo['cgdNo'],"order_id"=>$cgdinfo['id'],"order_status"=>$cgdinfo['status'],"order_type"=>'CGD'];

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

@@ -1076,13 +1076,35 @@ class Sale extends Base
                 if($feedback['data_source']==1){
 
                     $feed=$this->project_good($good);
+                    if($feed !==true){
+                        Db::rollback();
+                        switch ($feed){
+                            case 1:
+                                $msg='库存不足';
+                                break;
+                            case 2:
+                                $msg='库存更新失败';
+                                break;
+                            case 3:
+                                $msg='关联采购失败';
+                                break;
+                            case 4:
+                                $msg='商品信息未找到';
+                                break;
+                            default:
+                                $msg='咨询订单生成失败';
+
+                        }
+                        return error_show(1002,$msg);
+                    }
                 }else{
                     $feed=$this->project_zx($good);
+                    if($feed==false){
+                        Db::rollback();
+                        return error_show(1002, "咨询订单生成失败");
+                    }
                 }
-                if($feed==false){
-                    Db::rollback();
-                    return error_show(1002, "咨询订单生成失败");
-                }
+
                 $feedback['status']=2;
                 $feedback['updatetime']=date("Y-m-d H:i:s");
                 $fed =Db::name("project_feedback")->save($feedback);