|
@@ -3241,31 +3241,33 @@ class Sale extends Base
|
|
|
->field('id,usable_stock,wait_out_stock')
|
|
|
->where(['spuCode' => $der['good_code'], 'wsm_code' => $cgd['wsm_code']])
|
|
|
->find();
|
|
|
- if ($temp == false) {
|
|
|
+ if (($temp == false ||($temp['usable_stock'] - $send_num) < 0) && $der['send_type']==1) {
|
|
|
Db::rollback();
|
|
|
return error_show(1004, '库存不足');
|
|
|
- }
|
|
|
+ }else{
|
|
|
+ if(($temp == false ||($temp['usable_stock'] - $send_num) < 0) && $der['send_type']==2){
|
|
|
+ $data['status']=0;
|
|
|
+ }else{
|
|
|
+ $up =Db::name('good_stock')
|
|
|
+ ->where('id', $temp['id'])
|
|
|
+ ->update([
|
|
|
+ 'usable_stock' => $temp['usable_stock'] - $send_num,
|
|
|
+ 'wait_out_stock' => $temp['wait_out_stock'] + $send_num,
|
|
|
+ 'updatetime' => date('Y-m-d H:i:s'),
|
|
|
+ ]);
|
|
|
+ if($up==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, '库存更新失败');
|
|
|
+ }
|
|
|
+ // ::todo
|
|
|
+ $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 1,'stock'=>$send_num, "stock_name" => "wait_out_stock"];
|
|
|
+ $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 2,'stock'=>$send_num, "stock_name" => "usable_stock"];
|
|
|
+ GoodLog::LogAdd($this->post['token'],$good_data,"CKD");
|
|
|
+ }
|
|
|
|
|
|
- if (($temp['usable_stock'] - $send_num) < 0) {
|
|
|
- Db::rollback();
|
|
|
- return error_show(1004, '库存不足');
|
|
|
}
|
|
|
|
|
|
- $up =Db::name('good_stock')
|
|
|
- ->where('id', $temp['id'])
|
|
|
- ->update([
|
|
|
- 'usable_stock' => $temp['usable_stock'] - $send_num,
|
|
|
- 'wait_out_stock' => $temp['wait_out_stock'] + $send_num,
|
|
|
- 'updatetime' => date('Y-m-d H:i:s'),
|
|
|
- ]);
|
|
|
- if($up==false){
|
|
|
- Db::rollback();
|
|
|
- return error_show(1004, '库存更新失败');
|
|
|
- }
|
|
|
- // ::todo
|
|
|
- $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 1,'stock'=>$send_num, "stock_name" => "wait_out_stock"];
|
|
|
- $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 2,'stock'=>$send_num, "stock_name" => "usable_stock"];
|
|
|
- GoodLog::LogAdd($this->post['token'],$good_data,"CKD");
|
|
|
+
|
|
|
}
|
|
|
|
|
|
$datainfo = Db::name('order_out')->insert($data,true);
|