|
@@ -165,7 +165,7 @@ class Reorder extends Base
|
|
|
|
|
|
if($order['is_stock']==1){
|
|
|
|
|
|
- if ($order['wsend_num'] < $order['num']) {
|
|
|
+ if ($order['wsend_num'] < $thnum) {
|
|
|
Db::rollback();
|
|
|
return error_show(1004, "销售单未发货数量不足退货");
|
|
|
}
|
|
@@ -731,6 +731,16 @@ class Reorder extends Base
|
|
|
Db::rollback();
|
|
|
return error_show(1005, '未找到采购单数据');
|
|
|
}
|
|
|
+ $lor=$cgd['status'];
|
|
|
+ if($cgd['wsend_num']<$info['num']){
|
|
|
+ $cgd['wsend_num']=0;
|
|
|
+ $cgd['send_num'] += $info['num']-$cgd['wsend_num'];
|
|
|
+ }else{
|
|
|
+ $cgd['wsend_num'] -= $info['num'];
|
|
|
+ $cgd['send_num'] += $info['num'];
|
|
|
+ }
|
|
|
+ $cgd['status'] = $cgd['wsend_num']==0?2:($cgd['send_num']==0?0:1);
|
|
|
+ $cgd['send_status'] =$cgd['wsend_num']==0?3:($cgd['send_num']==0?1:2);
|
|
|
$cgd['th_num'] += $info['num'];
|
|
|
$cgd['th_fee'] += round($info['num'] * $cgd['good_price'], 2);
|
|
|
$cgd['updatetime'] = date("Y-m-d H:i:s");
|
|
@@ -739,6 +749,23 @@ class Reorder extends Base
|
|
|
Db::rollback();
|
|
|
return error_show(1005, '采购单数据更新失败');
|
|
|
}
|
|
|
+ $stock = Db::name("good_stock")->where(["spuCode" => $info['good_code'], 'wsm_code' =>$cgd['wsm_code']])->find();
|
|
|
+ if ($stock==false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '商品仓库未找到');
|
|
|
+ }
|
|
|
+ if($stock['wait_in_stock']<$info['num']){
|
|
|
+ $stock['wait_in_stock']=0;
|
|
|
+ $stock['usable_stock'] -= $info['num']-$stock['wait_in_stock'];
|
|
|
+ $stock['total_stock']= $stock['usable_stock']+ $stock['wait_out_stock'];
|
|
|
+ }else{
|
|
|
+ $stock['wait_in_stock']-=$info['num'];
|
|
|
+ }
|
|
|
+ $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, '可售商品入库失败');
|
|
|
+ }
|
|
|
|
|
|
} else {
|
|
|
$orderinfo['th_num'] += $info['num'];
|
|
@@ -761,7 +788,30 @@ class Reorder extends Base
|
|
|
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, '未找到采购单数据');
|
|
|
+ }
|
|
|
+ $stock = Db::name("good_stock")->where(["spuCode" => $info['good_code'], 'wsm_code' =>$cgd['wsm_code']])->find();
|
|
|
+ if ($stock==false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '商品仓库未找到');
|
|
|
+ }
|
|
|
+ if($stock['usable_stock']<$info['num']){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '商品可用库存不足退回数量');
|
|
|
+ }else{
|
|
|
+ $stock['usable_stock'] -= $info['num'];
|
|
|
+ $stock['total_stock']= $stock['usable_stock']+ $stock['wait_out_stock'];
|
|
|
+ }
|
|
|
+ $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, '可售商品入库失败');
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
ActionLog::logAdd($this->post['token'], [
|
|
|
"order_code" => $orderinfo["orderCode"],//出库单号
|
|
@@ -804,7 +854,7 @@ class Reorder extends Base
|
|
|
return error_show(1005, '可售商品入库失败');
|
|
|
}
|
|
|
$good_data = ['good_log_code' => $info['returnCode'], "stock_id" => isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $info['num'], "stock_name" => "usable_stock"];
|
|
|
- GoodLog::LogAdd($this->post['token'], $good_data, 'QRTHD');
|
|
|
+ GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
|
|
|
}
|
|
|
}
|
|
|
Db::commit();
|