|
@@ -46,8 +46,10 @@ class Reorder extends \app\BaseController
|
|
|
}
|
|
|
$rm= isset($user["data"]['id']) ? $user["data"]['id'] : "";
|
|
|
$ri= isset($user["data"]['nickname']) ? $user["data"]['nickname'] : "";
|
|
|
-
|
|
|
- // var_dump($order['good_code']);
|
|
|
+ $returnadr =isset($this->post['returnAddr'])&&$this->post['returnAddr']!="" ? $this->post['returnAddr']:"";
|
|
|
+ if($returnadr!=''){
|
|
|
+ $thnum=array_sum(array_column($returnadr,"return_num"));
|
|
|
+ }
|
|
|
$returnCode=makeNo("RXS");
|
|
|
Db::startTrans();
|
|
|
try{
|
|
@@ -73,6 +75,31 @@ class Reorder extends \app\BaseController
|
|
|
ActionLog::logAdd($this->post['token'],$stn,"QRTHD",0,$stn);
|
|
|
$process=["order_code"=>$returnCode,"order_id"=>$create,"order_status"=>0,"order_type"=>'QRTHD'];
|
|
|
ProcessOrder::AddProcess($this->post['token'],$process);
|
|
|
+ if($returnadr!=""){
|
|
|
+ $inf=[];
|
|
|
+ foreach ($returnadr as $val){
|
|
|
+ $temp=[];
|
|
|
+ $addrinfo =Db::name("order_addr")->where(['id'=>$val['id'],"orderCode"=>$ordeCode])->find();
|
|
|
+ if($addrinfo==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005,"地址信息未找到");
|
|
|
+ }
|
|
|
+ $temp['returnCode']=$returnCode;
|
|
|
+ $temp['orderCode']=$ordeCode;
|
|
|
+ $temp['addrid']=$val['id'];
|
|
|
+ $temp['send_num']=$addrinfo['receipt_quantity'];
|
|
|
+ $temp['return_num']=$val['return_num'];
|
|
|
+ $temp['is_del']=0;
|
|
|
+ $temp['addtime']=date("Y-m-d H:i:s");
|
|
|
+ $temp['updatetime']=date("Y-m-d H:i:s");
|
|
|
+ $inf[]=$temp;
|
|
|
+ }
|
|
|
+ $inadd=Db::name("sale_returnaddr")->insertAll($inf);
|
|
|
+ if($inadd==0){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005,"退货单新建失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
Db::commit();
|
|
|
return app_show(0,"退货单新建成功",["returnCode"=>$returnCode]);
|
|
|
|
|
@@ -304,8 +331,17 @@ class Reorder extends \app\BaseController
|
|
|
return error_show(1004,"未找到订单数据");
|
|
|
}
|
|
|
if($status==5){
|
|
|
- $good_stock = Db::name("good_stock")->where(["spuCode"=>$orderinfo['good_code'],"is_del"=>0])->find();
|
|
|
- if($good_stock==false){
|
|
|
+ $cgd=Db::name("order_num")->where(['orderCode'=>$info["orderCode"]])->order("send_num asc")->column('cgdNo');
|
|
|
+ if(empty($cgd)){
|
|
|
+ return error_show(1004,"未找到商品库存数据");
|
|
|
+ }
|
|
|
+ $wsm =Db::name("purchease_order")->where(["cgdNo"=>$cgd])->column("wsm_code");
|
|
|
+ if(empty($wsm)){
|
|
|
+ return error_show(1004,"未找到商品仓库库存数据");
|
|
|
+ }
|
|
|
+ $good_stock = Db::name("good_stock")->where(["spuCode"=>$orderinfo['good_code'],"wsm_code"=>$wsm,"is_del"=>0])
|
|
|
+ ->select()->toArray();
|
|
|
+ if(empty($good_stock)){
|
|
|
return error_show(1004,"未找到商品库存数据");
|
|
|
}
|
|
|
}
|
|
@@ -332,14 +368,30 @@ class Reorder extends \app\BaseController
|
|
|
Db::rollback();
|
|
|
return error_show(1004,"更新失败");
|
|
|
}
|
|
|
- $good_stock['usable_stock']+=$info['num'];
|
|
|
- $good_stock['wait_out_stock']-=$info['num'];
|
|
|
- $good_stock['updatetime']=date("Y-m-d H:i:s");
|
|
|
- $stock = Db::name("good_stock")->save($good_stock);
|
|
|
- if($stock==false){
|
|
|
- Db::rollback();
|
|
|
- return error_show(1004,"更新失败");
|
|
|
+
|
|
|
+ foreach ($good_stock as $value){
|
|
|
+ if($value['wait_out_stock']>=$info['num']){
|
|
|
+ $value['usable_stock']+=$info['num'];
|
|
|
+ $value['wait_out_stock']-=$info['num'];
|
|
|
+ $value['updatetime']=date("Y-m-d H:i:s");
|
|
|
+ $info["num"]=0;
|
|
|
+ }else{
|
|
|
+ $value['usable_stock']+=$value['wait_out_stock'];
|
|
|
+ $value['wait_out_stock']=0;
|
|
|
+ $value['updatetime']=date("Y-m-d H:i:s");
|
|
|
+ $info["num"]-=$value['wait_out_stock'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $stock = Db::name("good_stock")->save($value);
|
|
|
+ if($stock==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004,"更新失败");
|
|
|
+ }
|
|
|
+ if($info['num']==0){
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
Db::commit();
|
|
|
return app_show(0,"更新成功");
|