|
@@ -863,34 +863,37 @@ class Reorder extends Base
|
|
|
"order_status" =>$orderinfo['status'],"before_status"=>$lor
|
|
|
]);
|
|
|
|
|
|
- $wsmcode = $orderinfo['is_stock'] == 1 ? $cgd['wsm_code'] : $info['return_wsm'];
|
|
|
- if ($wsmcode == "") {
|
|
|
- Db::rollback();
|
|
|
- return error_show(1005, '未找到退货仓库');
|
|
|
+ if($orderinfo['is_stock'] == 1 || $info['is_th'] == 0){
|
|
|
+ $wsmcode = $orderinfo['is_stock'] == 1 ? $cgd['wsm_code'] : $info['return_wsm'];
|
|
|
+ if ($wsmcode == "") {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '未找到退货仓库');
|
|
|
+ }
|
|
|
+ //::todo 非库存品订单退货 采购单退货 虚拟仓如何减库存
|
|
|
+
|
|
|
+ $stock = Db::name("good_stock")->where(["spuCode" => $info['good_code'], 'wsm_code' => $wsmcode])->find();
|
|
|
+ if (empty($stock)) {
|
|
|
+ $stock = [
|
|
|
+ "spuCode" => $info['good_code'],
|
|
|
+ "wsm_code" => $wsmcode,
|
|
|
+ "usable_stock" => 0,
|
|
|
+ "wait_out_stock" => 0,
|
|
|
+ "wait_in_stock" => 0,
|
|
|
+ "total_stock" => 0,
|
|
|
+ "addtime" => date("Y-m-d H:i:s"),
|
|
|
+ "updatetime" => date("Y-m-d H:i:s"),
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $stock['usable_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, '可售商品入库失败');
|
|
|
+ }
|
|
|
+ $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, 'XSTHD');
|
|
|
}
|
|
|
- //::todo 非库存品订单退货 采购单退货 虚拟仓如何减库存
|
|
|
|
|
|
- $stock = Db::name("good_stock")->where(["spuCode" => $info['good_code'], 'wsm_code' => $wsmcode])->find();
|
|
|
- if (empty($stock)) {
|
|
|
- $stock = [
|
|
|
- "spuCode" => $info['good_code'],
|
|
|
- "wsm_code" => $wsmcode,
|
|
|
- "usable_stock" => 0,
|
|
|
- "wait_out_stock" => 0,
|
|
|
- "wait_in_stock" => 0,
|
|
|
- "total_stock" => 0,
|
|
|
- "addtime" => date("Y-m-d H:i:s"),
|
|
|
- "updatetime" => date("Y-m-d H:i:s"),
|
|
|
- ];
|
|
|
- }
|
|
|
- $stock['usable_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, '可售商品入库失败');
|
|
|
- }
|
|
|
- $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, 'XSTHD');
|
|
|
}
|
|
|
}
|
|
|
Db::commit();
|