|
@@ -548,9 +548,6 @@ class Sale extends Base
|
|
|
return error_show(1002, "未找到数据");
|
|
|
}
|
|
|
$arrtime = isset($this->post['arrtime'])&&$this->post['arrtime']!="" ?$this->post['arrtime']:"";
|
|
|
- if($arrtime==""){
|
|
|
- return error_show(1004,"参数arrtime不能为空");
|
|
|
- }
|
|
|
$token = isset($this->post['token']) && $this->post['token'] !=="" ?trim($this->post['token']):"";
|
|
|
$apply_id =GetUserInfo($token);
|
|
|
if(empty($apply_id)||$apply_id['code']!=0){
|
|
@@ -586,41 +583,30 @@ class Sale extends Base
|
|
|
$temp['is_del'] =0;
|
|
|
$temp['addtime'] =date("Y-m-d H:i:s");
|
|
|
$temp['updatetime'] =date("Y-m-d H:i:s");
|
|
|
- $temp['arrive_time']=$arrtime;
|
|
|
+ if($arrtime!=""){
|
|
|
+ $temp['arrive_time']=$arrtime;
|
|
|
+ }
|
|
|
$vmp = Db::name('order_addr')->insert($temp,true);
|
|
|
if($vmp>0){
|
|
|
-
|
|
|
- $order =Db::name("order_num")->where(["orderCode"=>$orderCode,"status"=>1])->where([["wsend_num",">=",0]])
|
|
|
- ->select()->toArray();
|
|
|
- if(empty($order)){
|
|
|
- return error_show(1004,"未找到可以发货得采购单数据");
|
|
|
- }
|
|
|
$num = $value['receipt_quantity'];
|
|
|
- $orsend=[];
|
|
|
- foreach ($order as $val){
|
|
|
- $outCode=makeNo("DF");
|
|
|
- $tep=[];
|
|
|
- $ornum=0;
|
|
|
- if($val['wsend_num']>=$num){
|
|
|
- $val['wsend_num']-=$num;
|
|
|
- $val['send_num']+=$num;
|
|
|
- $ornum =$num;
|
|
|
- $num=0;
|
|
|
- }else{
|
|
|
- $num-=$val['wsend_num'];
|
|
|
- $val['send_num']+=$val['wsend_num'];
|
|
|
- $ornum =$val['wsend_num'];
|
|
|
- $val['wsend_num']=0;
|
|
|
+ $order =Db::name("order_num")->where(["orderCode"=>$orderCode,"status"=>1])->where([["wsend_num",">=",0]])
|
|
|
+ ->find();
|
|
|
+ if(empty($order)||$order['wsend_num']<$num){
|
|
|
+ return error_show(1004,"未找到可以发货得采购单数据");
|
|
|
}
|
|
|
- $or =Db::name("order_num")->save($val);
|
|
|
+
|
|
|
+ $outCode=makeNo("DF");
|
|
|
+ $order['send_num']+=$num;
|
|
|
+ $order['wsend_num']-=$num;
|
|
|
+ $or =Db::name("order_num")->save($order);
|
|
|
if($or==false){
|
|
|
Db::rollback();
|
|
|
return error_show(1002,"发货地址添加创建失败");
|
|
|
}
|
|
|
$tep=[
|
|
|
- "cgdNo"=>$val['cgdNo'],
|
|
|
+ "cgdNo"=>$order['cgdNo'],
|
|
|
"outCode"=>$outCode,
|
|
|
- "send_num"=>$ornum,
|
|
|
+ "send_num"=>$num,
|
|
|
"status"=>1,
|
|
|
"addtime"=>date("Y-m-d H:i:s"),
|
|
|
"updatetime"=>date("Y-m-d H:i:s")
|
|
@@ -630,11 +616,71 @@ class Sale extends Base
|
|
|
Db::rollback();
|
|
|
return error_show(1002,"发货地址添加创建失败");
|
|
|
}
|
|
|
- $cgdinfo =Db::name("purchease_order")->where(["cgdNo"=>$val['cgdNo']])->find();
|
|
|
+ $cgdinfo =Db::name("purchease_order")->where(["cgdNo"=>$order['cgdNo']])->find();
|
|
|
if($cgdinfo==false){
|
|
|
Db::rollback();
|
|
|
return error_show(1002,"未匹配到采购数据");
|
|
|
}
|
|
|
+
|
|
|
+ //维护商品所在仓库的库存 --- start
|
|
|
+ $temp = Db::name('good_stock')
|
|
|
+ ->field('id,usable_stock,wait_out_stock')
|
|
|
+ ->where(['spuCode' => $order['spuCode'], 'wsm_code' => $cgdinfo['wsm_code']])
|
|
|
+ ->find();
|
|
|
+ if($etid['is_stock']==1){
|
|
|
+ if ($temp == false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, '库存不足');
|
|
|
+ }
|
|
|
+ if (($temp['usable_stock'] - $num) < 0) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, '库存不足');
|
|
|
+ }
|
|
|
+
|
|
|
+ $up =Db::name('good_stock')
|
|
|
+ ->where('id', $temp['id'])
|
|
|
+ ->update([
|
|
|
+ 'usable_stock' => $temp['usable_stock'] - $num,
|
|
|
+ 'wait_out_stock' => $temp['wait_out_stock'] + $num,
|
|
|
+ 'updatetime' => date('Y-m-d H:i:s'),
|
|
|
+ ]);
|
|
|
+ if($up==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, '库存更新失败');
|
|
|
+ }
|
|
|
+ $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 1,'stock'=>$num, "stock_name" => "wait_out_stock"];
|
|
|
+ $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 2,'stock'=>$num, "stock_name" => "usable_stock"];
|
|
|
+ GoodLog::LogAdd($this->post['token'],$good_data,"CKD");
|
|
|
+ $status=1;
|
|
|
+ }else{
|
|
|
+ if ($temp == false) {
|
|
|
+ $status=0;
|
|
|
+ }else{
|
|
|
+ if (($temp['usable_stock'] - $num) < 0) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, '库存不足');
|
|
|
+ }
|
|
|
+
|
|
|
+ $up =Db::name('good_stock')
|
|
|
+ ->where('id', $temp['id'])
|
|
|
+ ->update([
|
|
|
+ 'usable_stock' => $temp['usable_stock'] - $num,
|
|
|
+ 'wait_out_stock' => $temp['wait_out_stock'] + $num,
|
|
|
+ 'updatetime' => date('Y-m-d H:i:s'),
|
|
|
+ ]);
|
|
|
+ if($up==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1004, '库存更新失败');
|
|
|
+ }
|
|
|
+ $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 1,'stock'=>$num, "stock_name" => "wait_out_stock"];
|
|
|
+ $good_data[] = ['good_log_code' =>$outCode, "stock_id" =>$temp['id'], "type" => 2,'stock'=>$num, "stock_name" => "usable_stock"];
|
|
|
+ GoodLog::LogAdd($this->post['token'],$good_data,"CKD");
|
|
|
+ $status=1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$out=[
|
|
|
"orderCode"=>$orderCode,
|
|
|
"outCode"=>$outCode,
|
|
@@ -645,12 +691,12 @@ class Sale extends Base
|
|
|
"post_code"=>"",
|
|
|
"post_fee"=>0,
|
|
|
"sendtime"=>date("Y-m-d H:i:s"),
|
|
|
- "send_num"=>$ornum,
|
|
|
+ "send_num"=>$num,
|
|
|
"check_num"=>0,
|
|
|
"error_num"=>1,
|
|
|
"wsm_code"=>$cgdinfo['wsm_code'],
|
|
|
"order_type"=>$etid['order_type'],
|
|
|
- "status"=>0,
|
|
|
+ "status"=>$status,
|
|
|
"addtime"=>date("Y-m-d H:i:s"),
|
|
|
"updatetime"=>date("Y-m-d H:i:s")
|
|
|
];
|
|
@@ -671,42 +717,12 @@ class Sale extends Base
|
|
|
"order_type" => 'CKD',
|
|
|
"order_code" => $outCode,//出库单号
|
|
|
"order_id" => Db::name("order_out")->getLastInsID(),
|
|
|
- "order_status" => 0,"before_status"=> 0
|
|
|
+ "order_status" => $status,"before_status"=> 0
|
|
|
]);
|
|
|
}
|
|
|
|
|
|
- //维护商品所在仓库的库存 --- start
|
|
|
- $temp = Db::name('good_stock')
|
|
|
- ->field('id,usable_stock,wait_out_stock')
|
|
|
- ->where(['spuCode' => $val['spuCode'], 'wsm_code' => $cgdinfo['wsm_code']])
|
|
|
- ->find();
|
|
|
- if ($temp == false) {
|
|
|
- Db::rollback();
|
|
|
- return error_show(1004, '库存不足');
|
|
|
- }
|
|
|
-
|
|
|
- if (($temp['usable_stock'] - $ornum) < 0) {
|
|
|
- Db::rollback();
|
|
|
- return error_show(1004, '库存不足');
|
|
|
- }
|
|
|
-
|
|
|
- $up =Db::name('good_stock')
|
|
|
- ->where('id', $temp['id'])
|
|
|
- ->update([
|
|
|
- 'usable_stock' => $temp['usable_stock'] - $ornum,
|
|
|
- 'wait_out_stock' => $temp['wait_out_stock'] + $ornum,
|
|
|
- 'updatetime' => date('Y-m-d H:i:s'),
|
|
|
- ]);
|
|
|
- if($up==false){
|
|
|
- Db::rollback();
|
|
|
- return error_show(1004, '库存更新失败');
|
|
|
- }
|
|
|
//维护商品所在仓库的库存 --- end
|
|
|
|
|
|
- if($num==0){
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
}else{
|
|
|
Db::rollback();
|