diff --git a/app/Console/Commands/DailySalesReport.php b/app/Console/Commands/DailySalesReport.php index 2226550..9567ef2 100644 --- a/app/Console/Commands/DailySalesReport.php +++ b/app/Console/Commands/DailySalesReport.php @@ -170,6 +170,7 @@ class DailySalesReport extends Command $s => $sVal, $sRate => $sRateVal, 'already_cancel_number' => $datum['total_already_cancel_number'], + 'goal_rate' => $goodsSkus[$externalSkuId]['goal_rate'], ]); } } diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 2818a03..9a570d5 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -2,6 +2,7 @@ namespace App\Console; +use App\Console\Commands\DailySalesReport; use App\Console\Commands\GoodsSkuDailyReport; use App\Console\Commands\Inventory; use Illuminate\Console\Scheduling\Schedule; @@ -30,9 +31,19 @@ class Kernel extends ConsoleKernel { // 服务器/etc/crontab添加cron入口 // * * * * * cd /home/wwwroot/erp.chutang66.com && php artisan schedule:run >> /dev/null 2>&1 + $schedule->command(KttOrderQuery::class)->everyMinute(); + $schedule->command(GoodsSkuDailyReport::class)->dailyAt('06:00'); $schedule->command(Inventory::class)->dailyAt('07:00'); - $schedule->command(KttOrderQuery::class)->everyMinute(); + + $schedule->command(DailySalesReport::class, ['S1'])->dailyAt('12:00'); + $schedule->command(DailySalesReport::class, ['S2'])->dailyAt('13:30'); + $schedule->command(DailySalesReport::class, ['S3'])->dailyAt('15:00'); + $schedule->command(DailySalesReport::class, ['S4'])->dailyAt('16:00'); + $schedule->command(DailySalesReport::class, ['S5'])->dailyAt('17:30'); + $schedule->command(DailySalesReport::class, ['S6'])->dailyAt('20:00'); + $schedule->command(DailySalesReport::class, ['S7'])->dailyAt('09:30'); + $schedule->command(DeleteKttQuery::class)->daily(); } diff --git a/app/Http/Controllers/Goods/GoodsSkusController.php b/app/Http/Controllers/Goods/GoodsSkusController.php index d75befd..b2910fb 100644 --- a/app/Http/Controllers/Goods/GoodsSkusController.php +++ b/app/Http/Controllers/Goods/GoodsSkusController.php @@ -121,6 +121,7 @@ class GoodsSkusController extends Controller $sku['order_detail'] = []; $sku['order_goods_num'] = 0; } + $sku['order_goods_num'] -= $sku['daily']['reissue_num']; $sku['inventory_time'] = $lastInventoryTime; if ('销售' === $rolesName[0]) { $sku['cost'] = 0; @@ -436,7 +437,7 @@ class GoodsSkusController extends Controller $rules = [ 'updateField' => [ 'required', - Rule::in(['reference_price', 'reserve', 'loss_num', 'status']) + Rule::in(['reference_price', 'reserve', 'loss_num', 'status', 'goal_rate']) ], 'reference_price' => [ 'sometimes', @@ -460,7 +461,13 @@ class GoodsSkusController extends Controller 'sometimes', 'required', 'integer', - Rule::in([0, 1, 2])], + Rule::in([0, 1, 2]) + ], + 'goal_rate' => [ + 'sometimes', + 'numeric', + 'gt:0' + ], ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { @@ -477,6 +484,9 @@ class GoodsSkusController extends Controller $this->log->message = $request->get('reason'); $this->setBeforeUpdateForLog($record->loss_num); $record->loss_num += $request->loss_num; + if ('补发' === $request->get('reason')) { + $record->reissue_num += $request->loss_num; + } $record->save(); $this->setAfterUpdateForLog($record->loss_num); $sku->stock -= $request->loss_num; diff --git a/app/Http/Requests/GoodsSkuRequest.php b/app/Http/Requests/GoodsSkuRequest.php index 2af032a..7031e44 100644 --- a/app/Http/Requests/GoodsSkuRequest.php +++ b/app/Http/Requests/GoodsSkuRequest.php @@ -41,6 +41,11 @@ class GoodsSkuRequest extends FormRequest 'sometimes', 'integer', ], + 'goal_rate' => [ + 'sometimes', + 'numeric', + 'gt:0' + ], 'loss_num' => [ 'sometimes', 'integer', diff --git a/database/migrations/2024_03_15_161327_add_goal_rate_to_goods_skus_table.php b/database/migrations/2024_03_15_161327_add_goal_rate_to_goods_skus_table.php new file mode 100644 index 0000000..c3964bf --- /dev/null +++ b/database/migrations/2024_03_15_161327_add_goal_rate_to_goods_skus_table.php @@ -0,0 +1,35 @@ +decimal('goal_rate', 8, 4)->default(0)->comment('目标去化率'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('goods_skus', function (Blueprint $table) { + $table->dropColumn('goal_rate'); + }); + } +} diff --git a/database/migrations/2024_03_15_164632_add_reissue_num_to_daily_stock_records_table.php b/database/migrations/2024_03_15_164632_add_reissue_num_to_daily_stock_records_table.php new file mode 100644 index 0000000..99b9f15 --- /dev/null +++ b/database/migrations/2024_03_15_164632_add_reissue_num_to_daily_stock_records_table.php @@ -0,0 +1,35 @@ +unsignedInteger('reissue_num')->default(0)->comment('补发数量'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('daily_stock_records', function (Blueprint $table) { + $table->dropColumn('reissue_num'); + }); + } +} diff --git a/resources/frontend/src/views/goods/goods.vue b/resources/frontend/src/views/goods/goods.vue index caf121a..092cd7c 100644 --- a/resources/frontend/src/views/goods/goods.vue +++ b/resources/frontend/src/views/goods/goods.vue @@ -22,28 +22,30 @@ - + - + - - + + - + 筛选 - 重置筛选 + 重置筛选 @@ -57,22 +59,23 @@  玫瑰合计: {{ rose_num }}  其它合计: {{ other_num }}
- 订单重置 - 上新 + 订单重置 + 上新 上新导入 - + 盘点导入 新增商品 - 导入商品 - 表格导出 - 库存盘点 + 导入商品 + 表格导出 + 库存盘点
@@ -88,34 +91,25 @@

{{ scope.row.name }}

-

- {{ scope.row.goods.goods_code + "_" + scope.row.sku_code }} -

-

- {{ scope.row.goods.updated_at }} -

+

{{ scope.row.external_sku_id }}

+

{{ scope.row.goods.updated_at }}

- - + - + + + + + + - - + +