|
@@ -129,9 +129,8 @@ class Sale extends BaseController
|
|
|
"order_type"=>$order_type,
|
|
|
];
|
|
|
}
|
|
|
-
|
|
|
+ $is_activity= isset($this->post['is_activity'])&&$this->post['is_activity']!=="" ?$this->post['is_activity']:"";
|
|
|
if($order_type==1){
|
|
|
- $is_activity= isset($this->post['is_activity'])&&$this->post['is_activity']!=="" ?$this->post['is_activity']:"";
|
|
|
if($is_activity===""){
|
|
|
return error_show(1002, "参数is_activity不能为空");
|
|
|
}
|
|
@@ -187,6 +186,8 @@ class Sale extends BaseController
|
|
|
"platform_order"=>$platform_order,
|
|
|
"platform_id"=>$platform_id,
|
|
|
"remark"=>$remark,
|
|
|
+ "is_stock"=>$is_stock,
|
|
|
+ "is_activity"=>$is_activity===""?0:$is_activity,
|
|
|
"proof_id"=>$proofid,
|
|
|
"order_type"=>$order_type,
|
|
|
"addtime"=>date("Y-m-d H:i:s"),
|
|
@@ -377,10 +378,13 @@ class Sale extends BaseController
|
|
|
$rela=[
|
|
|
"orderCode"=>$data['orderCode'],
|
|
|
"cgdNo"=>$cgdCode,
|
|
|
+ "spuCode"=>$data['spuCode'],
|
|
|
"good_num"=>$data['good_num'],
|
|
|
"wsend_num"=>$data['good_num'],
|
|
|
"send_num"=>0,
|
|
|
- "wait_num"=>0
|
|
|
+ "wait_num"=>0,
|
|
|
+ "status"=>1,
|
|
|
+ "source"=>2
|
|
|
];
|
|
|
$re =Db::name("order_num")->save($rela);
|
|
|
if($re==false){
|
|
@@ -1729,75 +1733,108 @@ class Sale extends BaseController
|
|
|
if ($der == "") {
|
|
|
return false;
|
|
|
}
|
|
|
- if($der[''])
|
|
|
- $cgd = Db::name("order_bk")->where([["spuCode","=",$der['spuCode']],["is_del","=",0],["balance_num",">",0]])
|
|
|
+ if($der['is_stock']==1){
|
|
|
+ $cgd = Db::name("order_bk")->where([["spuCode","=",$der['spuCode']],["is_del","=",0],["balance_num",">",0]])
|
|
|
->select()->toArray();
|
|
|
- if(empty($cgd)){
|
|
|
- return false;
|
|
|
- }
|
|
|
- $send =$outinfo['send_num'];
|
|
|
- $outsend=[];
|
|
|
- foreach ($cgd as $value){
|
|
|
- $temp=[];
|
|
|
- if($value['balance_num']>=$send){
|
|
|
- $value['balance_num']-=$send;
|
|
|
- $value['merge_num']+=$send;
|
|
|
- $send=0;
|
|
|
- $temp['send_num'] =$send;
|
|
|
- }else{
|
|
|
- $value['balance_num'] =0;
|
|
|
- $value['merge_num']+=$value['balance_num'];
|
|
|
- $send -= $value['balance_num'];
|
|
|
- $temp['send_num'] =$value['balance_num'];
|
|
|
- }
|
|
|
- $value['status'] = $value['balance_num']==0 ?2:$value['merge_num']==0?0:1 ;
|
|
|
- $value['updatetime'] = date("Y-m-d H:i:s");
|
|
|
- $bk = Db::name("order_bk")->save($value);
|
|
|
- if($bk==false){
|
|
|
+ if(empty($cgd)){
|
|
|
return false;
|
|
|
}
|
|
|
- $temp['cgdNo'] = $value['cgdNo'];
|
|
|
- $temp['outCode'] = $value['outCode'];
|
|
|
- $temp['status'] = 1;
|
|
|
- $temp['addtime']=date("Y-m-d H:i:s");
|
|
|
- $temp['updatetime']=date("Y-m-d H:i:s");
|
|
|
- $outsend[]=$temp;
|
|
|
- $order = Db::name("order_num")->where(["orderCode"=>$der['orderCode'],"cgdNo"=>$value['cgdNo'],"spuCode"=>$der['spuCode'],"status"=>1])->find();
|
|
|
- if($order==false){
|
|
|
- $order=[
|
|
|
- "orderCode"=>$der['orderCode'],
|
|
|
- "cgdNo"=>$value['cgdNo'],
|
|
|
- "spuCode"=>$der['spuCode'],
|
|
|
- "good_num"=>$der['good_num'],
|
|
|
- "wsend_num"=>$der['good_num']-$temp['send_num'],
|
|
|
- "send_num"=>$temp['send_num'],
|
|
|
- "status"=>1,
|
|
|
- "source"=>1
|
|
|
- ];
|
|
|
- }else{
|
|
|
- $order['wsend_num']-=$temp['send_num'];
|
|
|
- $order['send_num']+=$temp['send_num'];
|
|
|
+ $send =$outinfo['send_num'];
|
|
|
+ $outsend=[];
|
|
|
+ foreach ($cgd as $value){
|
|
|
+ $temp=[];
|
|
|
+ if($value['balance_num']>=$send){
|
|
|
+ $value['balance_num']-=$send;
|
|
|
+ $value['merge_num']+=$send;
|
|
|
+ $send=0;
|
|
|
+ $temp['send_num'] =$send;
|
|
|
+ }else{
|
|
|
+ $value['balance_num'] =0;
|
|
|
+ $value['merge_num']+=$value['balance_num'];
|
|
|
+ $send -= $value['balance_num'];
|
|
|
+ $temp['send_num'] =$value['balance_num'];
|
|
|
+ }
|
|
|
+ $value['status'] = $value['balance_num']==0 ?2:$value['merge_num']==0?0:1 ;
|
|
|
+ $value['updatetime'] = date("Y-m-d H:i:s");
|
|
|
+ $bk = Db::name("order_bk")->save($value);
|
|
|
+ if($bk==false){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $temp['cgdNo'] = $value['cgdNo'];
|
|
|
+ $temp['outCode'] = $outinfo['outCode'];
|
|
|
+ $temp['status'] = 1;
|
|
|
+ $temp['addtime']=date("Y-m-d H:i:s");
|
|
|
+ $temp['updatetime']=date("Y-m-d H:i:s");
|
|
|
+ $outsend[]=$temp;
|
|
|
+ $order = Db::name("order_num")->where(["orderCode"=>$der['orderCode'],"cgdNo"=>$value['cgdNo'],"spuCode"=>$der['spuCode'],"status"=>1])->find();
|
|
|
+ if($order==false){
|
|
|
+ $order=[
|
|
|
+ "orderCode"=>$der['orderCode'],
|
|
|
+ "cgdNo"=>$value['cgdNo'],
|
|
|
+ "spuCode"=>$der['spuCode'],
|
|
|
+ "good_num"=>$der['good_num'],
|
|
|
+ "wsend_num"=>$der['good_num']-$temp['send_num'],
|
|
|
+ "send_num"=>$temp['send_num'],
|
|
|
+ "status"=>1,
|
|
|
+ "source"=>1
|
|
|
+ ];
|
|
|
+ }else{
|
|
|
+ $order['wsend_num']-=$temp['send_num'];
|
|
|
+ $order['send_num']+=$temp['send_num'];
|
|
|
+ }
|
|
|
+ if($order['wsend_num']<0){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $up =Db::name("order_num")->save($order);
|
|
|
+ if($up==false){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if($send==0){
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- if($order['wsend_num']<0){
|
|
|
+ if(empty($temp)){
|
|
|
return false;
|
|
|
}
|
|
|
- $up =Db::name("order_num")->save($order);
|
|
|
- if($up==false){
|
|
|
+ $insert = Db::name("order_send")->insertAll($outsend);
|
|
|
+ if($insert){
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
return false;
|
|
|
}
|
|
|
- if($send==0){
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- if(empty($temp)){
|
|
|
- return false;
|
|
|
- }
|
|
|
- $insert = Db::name("order_send")->insertAll($outsend);
|
|
|
- if($insert){
|
|
|
- return true;
|
|
|
}else{
|
|
|
- return false;
|
|
|
+ $order = Db::name("order_num")->where(["orderCode"=>$der['orderCode'],"spuCode"=>$der['spuCode'],"status"=>1])->find();
|
|
|
+ if($order==false){
|
|
|
+ return false;
|
|
|
+ }else{
|
|
|
+ if($outinfo['send_num']> $order['wsend_num']){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $order['wsend_num']-=$outinfo['send_num'];
|
|
|
+ $order['send_num']+=$outinfo['send_num'];
|
|
|
+ if($order['wsend_num']<0){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $up =Db::name("order_num")->save($order);
|
|
|
+ if($up==false){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $temp=[];
|
|
|
+ $temp['cgdNo'] = $order['cgdNo'];
|
|
|
+ $temp['outCode'] = $outinfo['outCode'];
|
|
|
+ $temp['send_num'] =$outinfo['send_num'];
|
|
|
+ $temp['status'] = 1;
|
|
|
+ $temp['addtime']=date("Y-m-d H:i:s");
|
|
|
+ $temp['updatetime']=date("Y-m-d H:i:s");
|
|
|
+ $insert = Db::name("order_send")->insert($temp);
|
|
|
+ if($insert){
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|