wugg 2 years ago
parent
commit
cd654d2e0a
2 changed files with 103 additions and 43 deletions
  1. 38 0
      app/admin/controller/Orderback.php
  2. 65 43
      app/admin/controller/Reorder.php

+ 38 - 0
app/admin/controller/Orderback.php

@@ -519,6 +519,25 @@ class Orderback extends Base
                                     return error_show(1005, '可售商品Bn库存数入库失败');
                         		}
                         	}
+                        }else{
+                        	if($sale['order_type']==1){
+                        	 $ordernum = Db::name("order_num")->where(['orderCode' =>$info['orderCode']])->find();
+					        if ($ordernum == false) {
+					        	Db::rollback();
+					            return error_show(1005, '未找到关联采购单');
+					        }
+					         $cgd = Db::name("purchease_order")->where(["cgdNo" => $ordernum['cgdNo'], "is_del" => 0])->find();
+					        if ($cgd == false) {
+					        	Db::rollback();
+					            return error_show(1005, '未找到采购单数据');
+					        }
+					        $bn =makeNo("BN");
+					        $yp=GoodStockInfo::AddBn($stock['id'],$bn,$param['can_sell_num'],$cgd['good_price']);
+					        if($yp==false){
+					        	Db::rollback();
+								return error_show(1005, '商品批次退货入库失败');
+					        }
+                        	}
                         }
                 $good_data=['good_log_code'=>$param['thNo'],"stock_id"=> $stockid,"type"=>1,'stock'=>$param['can_sell_num'],"stock_name"=>"usable_stock"];
                 GoodLog::LogAdd($this->post['token'],$good_data,'RKTHD');
@@ -580,6 +599,25 @@ class Orderback extends Base
                                     return error_show(1005, '可售商品Bn库存数入库失败');
                         		}
                         	}
+                        }else{
+	                        if($sale['order_type']==1){
+	                             $ordernum = Db::name("order_num")->where(['orderCode' =>$info['orderCode']])->find();
+						        if ($ordernum == false) {
+						            Db::rollback();
+						            return error_show(1005, '未找到关联采购单');
+						        }
+						         $cgd = Db::name("purchease_order")->where(["cgdNo" => $ordernum['cgdNo'], "is_del" => 0])->find();
+						        if ($cgd == false) {
+						            Db::rollback();
+						            return error_show(1005, '未找到采购单数据');
+						        }
+						        $bn =makeNo("BN");
+						        $yp=GoodStockInfo::AddBn($defective['id'],$bn,$param['defective_num'],$cgd['good_price']);
+						        if($yp==false){
+						            Db::rollback();
+									return error_show(1005, '商品批次退货入库失败');
+						        }
+	                            }
                         }
                 $good_data=['good_log_code'=>$param['thNo'],"stock_id"=>isset($defective['id'])? $defective['id']:Db::name("good_stock")->getLastInsID(),"type"=>1,'stock'=>$param['defective_num'],"stock_name"=>"usable_stock"];
                 GoodLog::LogAdd($this->post['token'],$good_data,'RKTHD');

+ 65 - 43
app/admin/controller/Reorder.php

@@ -976,14 +976,14 @@ class Reorder extends Base
                         		}
                         	}
                         }else{
-								if($orderinfo['order_type']!=1){
+
 									$bn=makeNo("BN");
 									$bnin=GoodStockInfo::AddBn($stockid,$bn,$info['num'],$cgd['good_price']??0);
 	                                if($bnin==false){
 	                                     Db::rollback();
 	                                    return error_show(1005, '可售商品Bn库存数入库失败');
 	                                }
-								}
+
                         }
                         $good_data = ['good_log_code' => $info['returnCode'], "stock_id" => $stockid, "type" => 1, 'stock'=> $info['num'], "stock_name" => "usable_stock"];
                         GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
@@ -1317,50 +1317,72 @@ class Reorder extends Base
 
                   	$saleinfo=Db::name("sale_info")->where([["orderCode","=",$orderCode],["num",">",0]])->select()->toArray();
 					if(empty($saleinfo)) {
-						Db::rollback();
-						return error_show(1005, '商品批次数据未找到');
-					}
-					$tempnum =$thnum;
-					foreach ( $saleinfo as $va){
-					if($tempnum ==0) break;
-					$stock = Db::name("good_stock")->where(["spuCode" => $order['good_code'], 'id' => $va['stockid']])->find();
-					if($stock==false) {
-						Db::rollback();
-						return error_show(1005, '商品库存数据未找到');
-					}
-					if($va['num']>=$tempnum) {
-						$tnm = $tempnum;
-						$va['num']-= $tempnum;
-						$tempnum=0;
+							$ordernum = Db::name("order_num")->where(['orderCode' => $orderCode])->find();
+					        if ($ordernum == false) {
+					        	Db::rollback();
+					            return error_show(1005, '未找到关联采购单');
+					        }
+					         $cgd = Db::name("purchease_order")->where(["cgdNo" => $ordernum['cgdNo'], "is_del" => 0])->find();
+					        if ($cgd == false) {
+					        	Db::rollback();
+					            return error_show(1005, '未找到采购单数据');
+					        }
+					        $bn =makeNo("BN");
+					        $stock = Db::name("good_stock")->where(["spuCode" => $order['good_code'], 'wsm_code'=>$cgd['wsm_code'],"is_del"=>0,"status"=>1])->find();
+					        if($stock==false){
+					        	Db::rollback();
+								return error_show(1005, '商品库存数据未找到');
+					        }
+					        $yp=GoodStockInfo::AddBn($stock['id'],$bn,$thnum,$cgd['good_price']);
+					        if($yp==false){
+					        	Db::rollback();
+								return error_show(1005, '商品批次退货入库失败');
+					        }
+
 					}else{
-						$tnm = $va['num'];
-						$tempnum -=$va['num'];
-						$va['num'] =0;
+						$tempnum =$thnum;
+					foreach ( $saleinfo as $va){
+						if($tempnum ==0) break;
+						$stock = Db::name("good_stock")->where(["spuCode" => $order['good_code'], 'id' => $va['stockid']])->find();
+						if($stock==false) {
+							Db::rollback();
+							return error_show(1005, '商品库存数据未找到');
+						}
+						if($va['num']>=$tempnum) {
+							$tnm = $tempnum;
+							$va['num']-= $tempnum;
+							$tempnum=0;
+						}else{
+							$tnm = $va['num'];
+							$tempnum -=$va['num'];
+							$va['num'] =0;
+						}
+	                    $stock['usable_stock']+=$tnm;
+	                    $stock['wait_out_stock'] -=$tnm;
+	                    $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, '可售商品入库失败');
+	                    }
+						$ps = GoodStockInfo::AddBn($va['stockid'],$va['bnCode'],$tnm);
+	                     if ($ps == false) {
+	                        return error_show(1005, '商品批次退货入库失败');
+	                    }
+	                     $ret = GoodStockInfo::ReturnBn($returnCode,$va['id'],$tnm);
+	                     if ($ret == false) {
+	                        return error_show(1005, '商品批次退货入库失败');
+	                    }
+	                      $va['updatetime']=date("Y-m-d H:i:s");
+	                     $sal= Db::name("sale_info")->save($va);
+						  if ($sal == false) {
+	                        return error_show(1005, '商品批次退货入库失败');
+	                    }
+						  $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 1, 'stock' => $tnm, "stock_name" => "usable_stock"];
+						  $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 2, 'stock' => $tnm, "stock_name" => "wait_out_stock"];
+	                       GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
 					}
-                    $stock['usable_stock']+=$tnm;
-                    $stock['wait_out_stock'] -=$tnm;
-                    $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, '可售商品入库失败');
-                    }
-					$ps = GoodStockInfo::AddBn($va['stockid'],$va['bnCode'],$tnm);
-                     if ($ps == false) {
-                        return error_show(1005, '商品批次退货入库失败');
-                    }
-                     $ret = GoodStockInfo::ReturnBn($returnCode,$va['id'],$tnm);
-                     if ($ret == false) {
-                        return error_show(1005, '商品批次退货入库失败');
-                    }
-                      $va['updatetime']=date("Y-m-d H:i:s");
-                     $sal= Db::name("sale_info")->save($va);
-					  if ($sal == false) {
-                        return error_show(1005, '商品批次退货入库失败');
-                    }
-                    $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 1, 'stock' => $thnum, "stock_name" => "usable_stock"];
-                    $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 2, 'stock' => $thnum, "stock_name" => "wait_out_stock"];
-                    GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
 					}
+
                     $data=[
                         "orderCode"=>$orderCode,
                         "th_type"=>1,