鲜花2.0-报失单导入和价格告警

This commit is contained in:
杨建炊 2024-07-27 17:13:02 +08:00
parent 6841435ea0
commit fa41ac4047
2 changed files with 7 additions and 6 deletions

View File

@ -115,7 +115,7 @@ class GoodsSkusController extends Controller
->paginate($request->get('per_page')); ->paginate($request->get('per_page'));
$rolesName = $request->user()->getRoleNames()->toArray(); $rolesName = $request->user()->getRoleNames()->toArray();
foreach ($goodsSkus as &$sku) { foreach ($goodsSkus as &$sku) {
$lastInventoryTime = $sku['daily']['inventory_time'] ?: date('Y-m-d 07:00:00'); $lastInventoryTime = !empty($sku['daily']['inventory_time']) ? $sku['daily']['inventory_time'] : date('Y-m-d 07:00:00');
if (isset($externals[$sku['external_sku_id']])) { if (isset($externals[$sku['external_sku_id']])) {
$sku['order_detail'] = $externals[$sku['external_sku_id']]; $sku['order_detail'] = $externals[$sku['external_sku_id']];
$sku['order_goods_num'] = array_sum(array_column($externals[$sku['external_sku_id']], 'number')); $sku['order_goods_num'] = array_sum(array_column($externals[$sku['external_sku_id']], 'number'));
@ -123,7 +123,7 @@ class GoodsSkusController extends Controller
$sku['order_detail'] = []; $sku['order_detail'] = [];
$sku['order_goods_num'] = 0; $sku['order_goods_num'] = 0;
} }
$sku['order_goods_num'] -= $sku['daily']['reissue_num']; $sku['order_goods_num'] -= $sku['daily']['reissue_num']??0;
$sku['inventory_time'] = $lastInventoryTime; $sku['inventory_time'] = $lastInventoryTime;
if ('销售' === $rolesName[0]) { if ('销售' === $rolesName[0]) {
$sku['cost'] = 0; $sku['cost'] = 0;
@ -221,7 +221,7 @@ class GoodsSkusController extends Controller
public function batchUpdate(Request $request) public function batchUpdate(Request $request)
{ {
$appendRules = [ $appendRules = [
'updateType' => ['required', 'string', Rule::in(['newest', 'inventory', 'stock',"stockManage"])], 'updateType' => ['required', 'string', Rule::in(['newest', 'inventory', 'stock', "stockManage"])],
'skus' => ['required', 'array'], 'skus' => ['required', 'array'],
'skus.*.id' => [ 'skus.*.id' => [
'required', 'required',
@ -252,7 +252,7 @@ class GoodsSkusController extends Controller
try { try {
$logs = []; $logs = [];
foreach ($request->skus as $sku) { foreach ($request->skus as $sku) {
$costLog = [ $costLog = [
'module' => 'goods', 'module' => 'goods',
'action' => $request->getMethod(), 'action' => $request->getMethod(),
'target_type' => 'goods_sku', 'target_type' => 'goods_sku',
@ -285,6 +285,7 @@ class GoodsSkusController extends Controller
return response($this->res, $this->res['httpCode']); return response($this->res, $this->res['httpCode']);
} }
/** /**
* 上新 * 上新
* *

View File

@ -49,8 +49,8 @@ class GoodSkuService
public static function computeSkuStock(array $goodsSkuItem, array $v): array public static function computeSkuStock(array $goodsSkuItem, array $v): array
{ {
$updateIds = []; $updateIds = [];
if (!empty($v['is_combination'])) { if (empty($goodsSkuItem['is_combination'])) {
GoodsSku::query()->where('external_sku_id', $v['external_sku_id'])->update([ GoodsSku::query()->where('external_sku_id', $goodsSkuItem['external_sku_id'])->update([
'stock' => $goodsSkuItem['stock'] + $v['num'], 'stock' => $goodsSkuItem['stock'] + $v['num'],
'sale_stock' => $goodsSkuItem['sale_stock'] + $v['num'], 'sale_stock' => $goodsSkuItem['sale_stock'] + $v['num'],
'cost' => number_format(($goodsSkuItem['stock'] * $goodsSkuItem['cost'] + $v['cost'] * $v['num']) 'cost' => number_format(($goodsSkuItem['stock'] * $goodsSkuItem['cost'] + $v['cost'] * $v['num'])