wugg 2 years ago
parent
commit
9f6da8355b

+ 13 - 4
app/admin/controller/Project.php

@@ -132,6 +132,15 @@ class Project extends Base
                         ], "PRO", 1, $this->post);
                         $process = ["order_code" => $projectNo, "order_id" => Db::name("project")->getLastInsID(), "order_status" =>1, "order_type" =>"PRO"];
                         ProcessOrder::AddProcess($this->post['token'], $process);
+                        //修改状态,添加待办,只记录动作
+                        ActionLog::logAdd($this->post['token'], [
+                            "order_code" => $projectNo,//编码,这里是project的编码
+                            "status" => 0,//这里的status是之前的值
+                            "action_remark" => '',//备注
+                            "action_type" => "create"//新建create,编辑edit,更改状态status
+                        ], "PRT", 0, $this->post);
+                        $process = ["order_code" => $projectNo, "order_id" => Db::name("project")->getLastInsID(), "order_status" =>0, "order_type" =>"PRT"];
+                        ProcessOrder::AddProcess($this->post['token'], $process);
                         Db::commit();
                         return app_show(0,"项目新建成功",['projectNo'=>$projectNo]);
                 }
@@ -927,12 +936,12 @@ class Project extends Base
             //修改状态,添加待办
             ActionLog::logAdd($this->post['token'], [
                 "order_code" => $projectNo,//项目编码
-                "status" => $info['status'],//这里的status是之前的值
+                "status" =>0,//这里的status是之前的值
                 "action_remark" => '',//备注
-                "action_type" => "edit"//新建create,编辑edit更改状态status
-            ], "PRO", $info['status'], $info);
+                "action_type" => "edit"//新建create,编辑edit更改状态status
+            ], "PRT", 1, $info);
 
-            $process = ["order_code" => $projectNo, "order_id" => $info['id'], "order_status" => 7, "order_type" => 'PRO'];//order_status==7修改毛利率
+            $process = ["order_code" => $projectNo, "order_id" => $info['id'], "order_status" =>1, "order_type" => 'PRT'];//order_status==7修改毛利率
             ProcessOrder::AddProcess($this->post['token'], $process);
 
             return app_show(0,"利润率修改成功");

+ 12 - 1
app/admin/controller/Purch.php

@@ -488,6 +488,10 @@ class Purch extends Base
         try{
             $item = Db::name("purchease_diff")->insert($data,true);
             if($item>0){
+                            $sto = ["order_code"=>$cgdNo,"status"=>1,"action_remark"=>'',"action_type"=>"create"];
+                            ActionLog::logAdd($this->post['token'],$sto,"CGGCD",1,$data);
+                            $process=["order_code"=>$cgdNo,"order_id"=>$item,"order_status"=>1,"order_type"=>'CGGCD'];
+                            ProcessOrder::AddProcess($this->post['token'],$process);
                 $orderCode = Db::name("order_num")->where([["cgdNo","=",$cg['cgdNo']],["status","=",1]])->find();
                 if($orderCode!=false){
                     $order = Db::name("sale")->where("orderCode", '=', $orderCode['orderCode'])->find();
@@ -521,7 +525,10 @@ class Purch extends Base
                             return error_show(1002,"新建失败");
 
                     }
-
+                    $sto = ["order_code"=>$orderCode['orderCode'],"status"=>1,"action_remark"=>'',"action_type"=>"create"];
+                    ActionLog::logAdd($this->post['token'],$sto,"XSGCD",1,$data);
+                    $process=["order_code"=>$orderCode['orderCode'],"order_id"=>$cgd,"order_status"=>1,"order_type"=>'XSGCD'];
+                    ProcessOrder::AddProcess($this->post['token'],$process);
                 }
                 Db::commit();
                 return error_show(0,"新建成功");
@@ -676,6 +683,10 @@ class Purch extends Base
                         }
                     }
                 }
+                $sto = ["order_code"=>$dio['cgdNo'],"status"=>1,"action_remark"=>'',"action_type"=>"create"];
+                ActionLog::logAdd($this->post['token'],$sto,"CGGCD",$status,$this->post);
+                $process=["order_code"=>$dio['cgdNo'],"order_id"=>$dio['id'],"order_status"=>$status,"order_type"=>'CGGCD'];
+                ProcessOrder::AddProcess($this->post['token'],$process);
                 Db::commit();
                 return error_show(0,"更新成功");
             }else{

+ 3 - 3
app/admin/controller/Purchback.php

@@ -9,13 +9,13 @@ use think\App;
 use think\facade\Db;
 
 //采购单退货
-class Purchback extends BaseController
+class Purchback extends Base
 {
-public $post="";
+//public $post="";
 public function __construct(App $app)
 {
     parent::__construct($app);
-    $this->post=$this->request->post();
+   // $this->post=$this->request->post();
 }
 public function create(){
     $token = isset($this->post['token']) && $this->post['token'] !=="" ?trim($this->post['token']):"";

+ 31 - 32
app/admin/controller/Purchin.php

@@ -228,16 +228,13 @@ class Purchin extends Base
         Db::startTrans();
         try{
             $win = Db::name("purchease_in")->insert($orin,true);
-            $sto = ["order_code"=>$wsm_in_code,"status"=>$status,"action_remark"=>'',"action_type"=>"edit"];
-            ActionLog::logAdd($this->post['token'],$sto,"RKD",$status,$sto);
-            $process=["order_code"=>$wsm_in_code,"order_id"=>$win,"order_status"=>$status,"order_type"=>'RKD'];
-            ProcessOrder::AddProcess($this->post['token'],$process);
             if($win){
-                $order = ["order_code"=>$wsm_in_code,"status"=>$status,"action_remark"=>'',"action_type"=>"create"];
-                ActionLog::logAdd($this->post['token'],$order,"rkd",$status,$this->post);
+                $sto = ["order_code"=>$wsm_in_code,"status"=>$status,"action_remark"=>'',"action_type"=>"edit"];
+                ActionLog::logAdd($this->post['token'],$sto,"RKD",$status,$this->post);
+                $process=["order_code"=>$wsm_in_code,"order_id"=>$win,"order_status"=>$status,"order_type"=>'RKD'];
+                ProcessOrder::AddProcess($this->post['token'],$process);
+                $order = ["order_code"=>$cgdNo,"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                 if($status==1){
-                    $order = ["order_code"=>$cgdNo,"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
-                    ActionLog::logAdd($this->post['token'],$order,"CGD", $cgdinfo['status'],$cgdinfo);
                     $cgdinfo['wsend_num']-=$send_num;
                     $cgdinfo['send_num']+=$send_num;
                     $cgdinfo['send_status']=$cgdinfo['wsend_num']==0 ? 3:($cgdinfo['send_num']==0 ?1:2);
@@ -269,12 +266,12 @@ class Purchin extends Base
                                 Db::rollback();
                                 return error_show(1004,"新建失败");
                             }
-                            $good_data[]=['good_log_code'=>$cgdNo,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1,'stock'=>$send_num,"stock_name"=>"wait_in_stock"];
+                            $good_data[]=['good_log_code'=>$wsm_in_code,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1,'stock'=>$send_num,"stock_name"=>"wait_in_stock"];
                             GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
-                            ActionLog::logAdd($this->post['token'],$order,"RKD", 1,$good  );
                         }
 
 
+                            ActionLog::logAdd($this->post['token'],$order,"CGD", $cgdinfo['status'],$cgdinfo);
                             $process=["order_code"=>$cgdNo,"order_id"=>$cgdinfo['id'],"order_status"=>$cgdinfo['status'],"order_type"=>'CGD'];
                             ProcessOrder::AddProcess($this->post['token'],$process);
                             Db::commit();
@@ -295,10 +292,6 @@ class Purchin extends Base
                         Db::rollback();
                         return error_show(1004,"新建失败");
                     }
-                    $order = ["order_code"=>$cgdNo,"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
-                    ActionLog::logAdd($this->post['token'],$order,"CGD", $cgdinfo['status'],$cgdinfo);
-                    $process=["order_code"=>$cgdNo,"order_id"=>$cgdinfo['id'],"order_status"=>$cgdinfo['status'],"order_type"=>'CGD'];
-                    ProcessOrder::AddProcess($this->post['token'],$process);
                     $good = Db::name("good_stock")->where(["wsm_code"=>$cgdinfo['wsm_code'],"spuCode"=>$cgdinfo['spuCode'],"is_del"=>0])->find();
                     if(empty($good)) {
                         $good=[
@@ -321,11 +314,10 @@ class Purchin extends Base
                     $good['updatetime'] = date("Y-m-d H:i:s");
                     $upd=  Db::name("good_stock")->save($good);
                     //商品变动日志表,good_log_code字段存储采购单单号
-                    $good_data[]=['good_log_code'=>$cgdNo,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1,'stock'=>$send_num,"stock_name"=>"usable_stock"];
-                    $good_data[]=['good_log_code'=>$cgdNo,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>2,'stock'=>$send_num,"stock_name"=>"wait_in_stock"];
+                    $good_data[]=['good_log_code'=>$wsm_in_code,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1,'stock'=>$send_num,"stock_name"=>"usable_stock"];
+                    $good_data[]=['good_log_code'=>$wsm_in_code,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>2,'stock'=>$send_num,"stock_name"=>"wait_in_stock"];
                     if($upd){
                         GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
-                        ActionLog::logAdd($this->post['token'],$order,"RKD", 1,$good  );
                         if($cgdinfo['order_type']==1){
                             $bk =Db::name("order_bk")->where(['cgdNo'=>$cgdinfo['cgdNo']])->lock(true)->find();
                             if($bk==false){
@@ -399,6 +391,9 @@ class Purchin extends Base
                                         Db::rollback();
                                         return error_show(1004,"库存数量更新失败");
                                     }
+                                    $good_data[]=['good_log_code'=>$wsm_in_code,"stock_id"=>isset($good['id'])?$good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1,'stock'=>$send_num,"stock_name"=>"wait_out_stock"];
+                                    $good_data[]=['good_log_code'=>$wsm_in_code,"stock_id"=>isset($good['id'])?$good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1,'stock'=>$send_num,"stock_name"=>"usable_stock"];
+                                    GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
                                     $sendp=Db::name("order_send")->where(["cgdNo"=>$cgdNo,"outCode"=>$send,"status"=>1])->save (["status"=>2]);
                                     if($sendp==false){
                                         Db::rollback();
@@ -407,6 +402,9 @@ class Purchin extends Base
                                 }
                             }
                         }
+                        ActionLog::logAdd($this->post['token'],$order,"CGD", $cgdinfo['status'],$cgdinfo);
+                        $process=["order_code"=>$cgdNo,"order_id"=>$cgdinfo['id'],"order_status"=>$cgdinfo['status'],"order_type"=>'CGD'];
+                        ProcessOrder::AddProcess($this->post['token'],$process);
                         Db::commit();
                         return app_show(0,'商品入库成功',["wsm_in_code"=>$wsm_in_code]);
                     }else{
@@ -676,9 +674,10 @@ class Purchin extends Base
                     $upd=  Db::name("good_stock")->save($good);
                     //商品变动日志表,good_log_code字段存储入库单编号
                     $good_data[] = ['good_log_code' => $incode, "stock_id" => isset($good['id']) ? $good['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $info['wsm_num'], "stock_name" => "usable_stock"];
+                    $good_data[] = ['good_log_code' => $incode, "stock_id" => isset($good['id']) ? $good['id'] :
+                        Db::name("good_stock")->getLastInsID(), "type" => 2, 'stock' => $info['wsm_num'], "stock_name" => "wait_in_stock"];
                     if($upd){
                         GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
-                        ActionLog::logAdd($this->post['token'],$order,"RKD", 1,$good);
                         Db::commit();
                         return app_show(0,'商品入库成功');
                     }else{
@@ -744,7 +743,7 @@ class Purchin extends Base
         $userinfo = $result['data'];
         Db::startTrans();
        try{
-
+           $sto = ["order_code"=>$incode,"status"=>$info['status'],"action_remark"=>'',"action_type"=>"edit"];
 //        $info['status'] =$info['wsm_num']==$wsm_num ? 4 :5;
        $info['status'] = $info['send_num'] == $wsm_num ? 4 : 5;//艳蓉说,这里不能用入库数量比较,应该是用入库数量,即总数来比较
         $info['is_th'] =$return_num>0 ?1:0;
@@ -784,7 +783,8 @@ class Purchin extends Base
                     Db::rollback();
                     return error_show(1002,"库存更新失败");
                 }
-                $good_data[]=["stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1, 'stock'=>$info['wsm_num'],"stock_name"=>"usable_stock"];
+                $good_data[]=['good_log_code' => $incode,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1, 'stock'=>$info['wsm_num'],"stock_name"=>"usable_stock"];
+                $good_data[]=['good_log_code' => $incode,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>2, 'stock'=>$info['wsm_num'],"stock_name"=>"wait_in_stock"];
                 GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
 
                 $bk =Db::name("order_bk")->where(['cgdNo'=>$cgdinfo['cgdNo']])->lock(true)->find();
@@ -813,7 +813,7 @@ class Purchin extends Base
 
 
             }
-
+            ActionLog::logAdd($this->post['token'],$sto,"RKD", $info['status'],$this->post);
             $process=["order_code"=>$info['wsm_in_code'],"order_id"=>$info['id'],"order_status"=>$info['status'],"order_type"=>'RKD'];
             ProcessOrder::AddProcess($this->post['token'],$process);
 
@@ -844,9 +844,8 @@ class Purchin extends Base
                 }
 
                 $sto = ["order_code"=>$incode,"status"=>0,"action_remark"=>'',"action_type"=>"create"];
-                ActionLog::logAdd($this->post['token'],$sto,"RKTHD",0,$sto);
-                $process = ["order_code" => $info['wsm_in_code'], "order_id" => $res, "order_status" => 0, "order_type" => 'RKTHD'];
-                ProcessOrder::AddProcess($this->post['token'],$process);
+                ActionLog::logAdd($this->post['token'],$sto,"RKTHD",0,$data);
+
 //            }
 
             Db::commit();
@@ -897,18 +896,16 @@ class Purchin extends Base
         try{
             $up =Db::name("purchease_return")->where($return)->save($data);
             if($up){
-                $sto = ["order_code"=>$info['wsm_in_code'],"status"=>1,"action_remark"=>'',"action_type"=>"edit"];
-                ActionLog::logAdd($this->post['token'],$sto,"RKTHD",1,$sto);
-                $process=["order_code"=>$info['wsm_in_code'],"order_id"=>$return['id'],"order_status"=>1,"order_type"=>'RKTHD'];
-                ProcessOrder::AddProcess($this->post['token'],$process);
+                $sto = ["order_code"=>$info['wsm_in_code'],"status"=>$return['status'],"action_remark"=>'', "action_type"=>"edit"];
+                ActionLog::logAdd($this->post['token'],$sto,"RKTHD",1,$this->post);
                 $ark=$info['status'];
                 $info['status']=6;
                 $info['updatetime']=date("Y-m-d H:i:s");
                 $sa=Db::name("purchease_in")->save($info);
                 if($sa){
                     $stn = ["order_code"=>$info['wsm_in_code'],"status"=>$ark,"action_remark"=>'',"action_type"=>"edit"];
-                    ActionLog::logAdd($this->post['token'],$stn,"RKD",5,$stn);
-                    $process=["order_code"=>$info['wsm_in_code'],"order_id"=>$info['id'],"order_status"=>5,"order_type"=>'RKD'];
+                    ActionLog::logAdd($this->post['token'],$stn,"RKD",6,$info);
+                    $process=["order_code"=>$info['wsm_in_code'],"order_id"=>$info['id'],"order_status"=>6,"order_type"=>'RKD'];
                     ProcessOrder::AddProcess($this->post['token'],$process);
                     if($info['status']==6){
                         $good = Db::name("good_stock")->where(["wsm_code"=>$info['wsm_code'], "spuCode"=>$cgdinfo['spuCode'],"is_del"=>0])->find();
@@ -938,9 +935,11 @@ class Purchin extends Base
                             Db::rollback();
                             return error_show(1002,"库存更新失败");
                         }
-                        $good_data[]=["stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1, 'stock'=>$info['wsm_num'],"stock_name"=>"usable_stock"];
+                        $good_data[]=['good_log_code' => $incode,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1, 'stock'=>$info['wsm_num'],"stock_name"=>"usable_stock"];
+                        $good_data[]=['good_log_code' => $incode,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>2, 'stock'=>$good['wait_in_stock'],"stock_name"=>"wait_in_stock"];
                         GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
                     }
+                    $order = ["order_code"=>$cgdinfo['cgdNo'],"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                     $cgdinfo['wsend_num']+=$return['reissue_num'];
                     $cgdinfo['send_num']-=$return['return_num'];
                     $cgdinfo['good_num']-=$return['return_num']-$return['reissue_num'];
@@ -953,6 +952,7 @@ class Purchin extends Base
                         Db::rollback();
                         return error_show(1004,"采购单数量更新失败");
                     }
+
                     $bk =Db::name("order_bk")->where(['cgdNo'=>$cgdinfo['cgdNo']])->lock(true)->find();
                     if($bk==false){
                         $bk=[
@@ -976,7 +976,6 @@ class Purchin extends Base
                         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'];
                     ProcessOrder::AddProcess($this->post['token'],$process);

+ 52 - 30
app/admin/controller/Reorder.php

@@ -78,8 +78,8 @@ class Reorder extends Base
             $create = Db::name("sale_return")->insert($in,true);
             if($create>0){
                 $stn = ["order_code"=>$returnCode,"status"=>0,"action_remark"=>'',"action_type"=>"create"];
-                ActionLog::logAdd($this->post['token'],$stn,"QRTHD",0,$stn);
-                $process=["order_code"=>$returnCode,"order_id"=>$create,"order_status"=>0,"order_type"=>'QRTHD'];
+                ActionLog::logAdd($this->post['token'],$stn,"XSTHD",$in['status'],$in);
+                $process=["order_code"=>$returnCode,"order_id"=>$create,"order_status"=>$in['status'],"order_type"=>'XSTHD'];
                 ProcessOrder::AddProcess($this->post['token'],$process);
                 if($returnadr!=""){
                     $inf=[];
@@ -91,7 +91,7 @@ class Reorder extends Base
                             return error_show(1005,"地址信息未找到");
                         }
                         $send =Db::name('order_out')->where([["addrid","=",$val['id']],["status",">=",2]])->find();
-                        if($send!=false && $send['send_num']<$val['return_num']){
+                        if($send!=false){
                             Db::rollback();
                             return error_show(1005,"地址已发货");
                         }
@@ -113,7 +113,7 @@ class Reorder extends Base
                                     Db::rollback();
                                     return error_show(1004, "地址发货单数据未找到");
                                 }
-                                if ($send!=false) {
+//                                if ($send!=false) {
                                     if ($out['status'] >= 2) {
                                         Db::rollback();
                                         return error_show(1004, "地址发货单已发货");
@@ -123,7 +123,6 @@ class Reorder extends Base
                                         return error_show(1004, "地址发货单发货数量不足");
                                     }
                                     $out['send_num'] -= $val['return_num'];
-                                    $out['is_del'] = $out['send_num'] <= 0 ? 1 : 0;
                                     $out['updatetime'] = date("Y-m-d H:i:s");
                                     $outup = Db::name("order_out")->save($out);
                                     if ($outup == false) {
@@ -144,7 +143,7 @@ class Reorder extends Base
                                         return error_show(1004, "发货单更新失败");
                                     }
 
-                                }
+//                                }
                         }
                         $temp['returnCode']=$returnCode;
                         $temp['orderCode']=$ordeCode;
@@ -165,19 +164,16 @@ class Reorder extends Base
                 }
 
                 if($order['is_stock']==1){
-                    if ($is_addr == 0) {
+
                         if ($order['wsend_num'] < $order['num']) {
                             Db::rollback();
                             return error_show(1004, "销售单未发货数量不足退货");
                         }
-                        $order['wsend_num'] -= $thnum;
-                        $order['send_num'] += $thnum;
-                    } else {
-                        if ($order['send_num'] < $thnum) {
-                            Db::rollback();
-                            return error_show(1004, "销售单已发货数量不足退货");
-                        }
-                    }
+                        $lor=$order['status'] ;
+                    $order['wsend_num'] -= $thnum;
+                    $order['send_num'] += $thnum;
+                    $order['status'] = $order['wsend_num']==0?2:($order['send_num']==0?0:1);
+                    $order['send_status'] =$order['wsend_num']==0?3:($order['send_num']==0?1:2);
                     $order['th_num'] += $thnum;
                     $order['th_fee'] += round($thnum * $order['sale_price'], 2);
                     $order['updatetime'] = date("Y-m-d H:i:s");
@@ -186,6 +182,20 @@ class Reorder extends Base
                         Db::rollback();
                         return error_show(1005, '销售单订单更新失败');
                     }
+                    ActionLog::logAdd($this->post['token'], [
+                        "order_code" => $order["orderCode"],//出库单号
+                        "status" => $lor,//这里的status是之前的值
+                        "action_remark" => '',//备注
+                        "action_type" => "status"//新建create,编辑edit,更改状态status
+                    ], "XSQRD", $order['status'], $order);
+
+                    ProcessOrder::AddProcess($this->post['token'], [
+                        "order_type" => 'XSQRD',
+                        "order_code" =>$order["orderCode"],//出库单号
+                        "order_id" => $order["id"],
+                        "order_status" =>$order['status']
+                    ]);
+
                     $ordernum = Db::name("order_num")->where(['orderCode' => $ordeCode])->find();
                     if ($ordernum == false) {
                         Db::rollback();
@@ -249,12 +259,14 @@ class Reorder extends Base
                         ];
                     }
                     $stock['usable_stock'] += $thnum;
+                    $stock['wait_out_stock'] -= $thnum;
                     $stock['updatetime'] = date("Y-m-d H:i:s");
                     $st_up = Db::name("good_stock")->save($stock);
                     if ($st_up == false) {
                         return error_show(1005, '可售商品入库失败');
                     }
-                    $good_data = ['good_log_code' => $returnCode, "stock_id" => isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $thnum, "stock_name" => "usable_stock"];
+                    $good_data[]= ['good_log_code' => $returnCode, "stock_id" => isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $thnum, "stock_name" => "usable_stock"];
+                    $good_data[]= ['good_log_code' => $returnCode, "stock_id" => isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID(), "type" => 2, 'stock' => $thnum, "stock_name" => "wait_out_stock"];
                     GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
                 }
 
@@ -475,8 +487,8 @@ class Reorder extends Base
         $del = Db::name("sale_return")->save($info);
         if($del){
             $ste = ["order_code"=>$code,"status"=>0,"action_remark"=>'',"action_type"=>"delete"];
-            ActionLog::logAdd($this->post['token'],$ste,$info['order_type'] == 2?"ZXTHD":"QRTHD",0,$ste);
-            $process=["order_code"=>$code,"order_id"=>$info['id'],"order_status"=>0,"order_type"=>$info['order_type'] == 2?"ZXTHD":"QRTHD"];
+            ActionLog::logAdd($this->post['token'],$ste,"XSTHD",0,$ste);
+            $process=["order_code"=>$code,"order_id"=>$info['id'],"order_status"=>0,"order_type"=>"XSTHD"];
             ProcessOrder::workdel($process);
             return app_show(0,"删除成功");
         }else{
@@ -559,10 +571,10 @@ class Reorder extends Base
             $info["updatetime"]=date("Y-m-d H:i:s");
             $up = Db::name("sale_return")->save($info);
             if($up) {
-                $process = ["order_code" => $code, "order_id" => $info['id'], "order_status" => $status, "order_type" => $info['order_type'] == 2 ? "ZXTHD" : "QRTHD"];
+                $process = ["order_code" => $code, "order_id" => $info['id'], "order_status" => $status,  "XSTHD"];
                 ProcessOrder::AddProcess($this->post['token'], $process);
                 $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);
+                ActionLog::logAdd($this->post['token'], $ste,  "XSTHD", $status, $info);
                 if ($status == 4) {
                     if ($info['is_addr'] == 1) {
                         if (isset($addr) && !empty($addr)) {
@@ -625,19 +637,16 @@ class Reorder extends Base
                             }
                         }
                     }
-                    if ($info['is_addr'] == 0) {
+
                         if ($orderinfo['wsend_num'] < $info['num']) {
                             Db::rollback();
                             return error_show(1004, "销售单未发货数量不足退货");
                         }
+                        $lor=$orderinfo['status'];
                         $orderinfo['wsend_num'] -= $info['num'];
                         $orderinfo['send_num'] += $info['num'];
-                    } else {
-                        if ($orderinfo['send_num'] < $info['num']) {
-                            Db::rollback();
-                            return error_show(1004, "销售单已发货数量不足退货");
-                        }
-                    }
+                        $orderinfo['status'] = $orderinfo['wsend_num']==0?2:($orderinfo['send_num']==0?0:1);
+                        $orderinfo['send_status'] =$orderinfo['wsend_num']==0?3:($orderinfo['send_num']==0?1:2);
                     if ($orderinfo['is_stock'] == 1) {
                         $orderinfo['th_num'] += $info['num'];
                         $orderinfo['th_fee'] += round($info['num'] * $orderinfo['sale_price'], 2);
@@ -754,12 +763,27 @@ class Reorder extends Base
                             }
                         }
                     }
+                    ActionLog::logAdd($this->post['token'], [
+                        "order_code" => $orderinfo["orderCode"],//出库单号
+                        "status" => $lor,//这里的status是之前的值
+                        "action_remark" => '',//备注
+                        "action_type" => "status"//新建create,编辑edit,更改状态status
+                    ], "XSQRD", $orderinfo['status'], $orderinfo);
+
+                    ProcessOrder::AddProcess($this->post['token'], [
+                        "order_type" => 'XSQRD',
+                        "order_code" =>$orderinfo["orderCode"],//出库单号
+                        "order_id" => $orderinfo["id"],
+                        "order_status" =>$orderinfo['status']
+                    ]);
 
                     $wsmcode = $orderinfo['is_stock'] == 1 ? $cgd['wsm_code'] : $info['return_wsm'];
                     if ($wsmcode == "") {
                         Db::rollback();
                         return error_show(1005, '未找到退货仓库');
                     }
+                    //::todo 非库存品订单退货 采购单退货 虚拟仓如何减库存
+
                     $stock = Db::name("good_stock")->where(["spuCode" => $info['good_code'], 'wsm_code' => $wsmcode])->find();
                     if (empty($stock)) {
                         $stock = [
@@ -779,9 +803,7 @@ class Reorder extends Base
                     if ($st_up == false) {
                         return error_show(1005, '可售商品入库失败');
                     }
-                    $good_data = ['good_log_code' => $info['returnCode'], "stock_id" => isset($stock['id']) ?
-                        $stock['id'] : Db::name
-                        ("good_stock")->getLastInsID(), "type" => 1, 'stock' => $info['num'], "stock_name" => "usable_stock"];
+                    $good_data = ['good_log_code' => $info['returnCode'], "stock_id" => isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $info['num'], "stock_name" => "usable_stock"];
                     GoodLog::LogAdd($this->post['token'], $good_data, 'QRTHD');
                 }
             }