diff --git a/app/Admin/Controllers/AgreementController.php b/app/Admin/Controllers/AgreementController.php index 7f32708..f1af458 100644 --- a/app/Admin/Controllers/AgreementController.php +++ b/app/Admin/Controllers/AgreementController.php @@ -44,7 +44,7 @@ class AgreementController extends AdminController ->placeholder(__('employee.name').'/'.__('employee.phone')) ->columnRatio(3) ->clearable(), - amis()->SelectControl()->name('check_status')->label(__('workflow_log.check_status'))->options(CheckStatus::options())->columnRatio(3)->clearable(), + amis()->SelectControl()->name('check_status')->label(__('workflow_log.check_status'))->options(Arr::except(CheckStatus::options(), [CheckStatus::Cancel->value]))->columnRatio(3)->clearable(), amisMake()->DateRangeControl() ->name('date_range') ->label(__('agreement.created_at')) diff --git a/app/Admin/Controllers/Finance/StoreMasterCommissionController.php b/app/Admin/Controllers/Finance/StoreMasterCommissionController.php index 8912496..330953a 100644 --- a/app/Admin/Controllers/Finance/StoreMasterCommissionController.php +++ b/app/Admin/Controllers/Finance/StoreMasterCommissionController.php @@ -6,6 +6,7 @@ use App\Admin\Controllers\AdminController; use App\Admin\Services\Finance\StoreMasterCommissionService; use App\Enums\CheckStatus; use App\Traits\HasCheckActions; +use Illuminate\Support\Arr; use Slowlyo\OwlAdmin\Admin; use Slowlyo\OwlAdmin\Renderers\Form; use Slowlyo\OwlAdmin\Renderers\Page; @@ -41,7 +42,7 @@ class StoreMasterCommissionController extends AdminController ->clearable(), amis()->SelectControl()->name('check_status')->label(__('workflow_log.check_status')) ->multiple() - ->options(CheckStatus::options()) + ->options(Arr::except(CheckStatus::options(), [CheckStatus::Cancel->value])) ->clearable(), ]), ])) diff --git a/app/Admin/Services/Plan/PlanService.php b/app/Admin/Services/Plan/PlanService.php index 7d2faf9..98d2b5d 100644 --- a/app/Admin/Services/Plan/PlanService.php +++ b/app/Admin/Services/Plan/PlanService.php @@ -8,16 +8,19 @@ use App\Admin\Services\BaseService; use App\Enums\PlanStatus; use App\Enums\TaskStatus; use App\Models\Keyword; +use App\Models\Ledger; use App\Models\Plan; use App\Models\PlanHygiene; use App\Models\PlanPerformance; use App\Models\Store; +use App\Models\Task; use App\Models\TaskHygiene; use App\Models\TaskPerformance; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; @@ -215,6 +218,12 @@ class PlanService extends BaseService 'level_id' => $plan->planable->store_level_id, ]; + $aggregates = Ledger::select(['store_id', DB::raw('SUM(`sales`) as sales')]) + ->whereBetween('date', [$startAt->format('Y-m-d'), $endAt->format('Y-m-d')]) + ->groupBy('store_id') + ->pluck('sales', 'store_id') + ->toArray(); + /** @var \Illuminate\Database\Eloquent\Collection */ $stores = Store::filter($input, StoreFilter::class)->get(['id', 'master_id']); @@ -224,15 +233,23 @@ class PlanService extends BaseService 'store_id' => $store->id, 'store_master_id' => $store->master_id, 'expected_performance' => $plan->planable->performance, - 'actual_performance' => 0, + 'actual_performance' => $aggregates[$store->id] ?? 0, ]); - $taskable->task()->create([ + + $task = new Task([ 'plan_id' => $plan->id, 'name' => '业绩指标', 'start_at' => $startAt, 'end_at' => $endAt, 'task_status' => TaskStatus::Pending, ]); + + if ($taskable->isSuccess()) { + $task->task_status = TaskStatus::Success; + $task->completed_at = now(); + } + + $taskable->task()->save($task); } break; diff --git a/app/Listeners/SendWorkflowCheckFailedNotification.php b/app/Listeners/SendWorkflowCheckFailedNotification.php index 9a983f7..9406989 100644 --- a/app/Listeners/SendWorkflowCheckFailedNotification.php +++ b/app/Listeners/SendWorkflowCheckFailedNotification.php @@ -45,7 +45,7 @@ class SendWorkflowCheckFailedNotification implements ShouldQueue }, 'template' => function($gateway) { if ($gateway->getName() == 'aliyun') { - return 'SMS_465890235'; + return 'SMS_465905330'; } }, 'data' => function($gateway) use ($applyAt, $subjectTypeText) { diff --git a/app/Listeners/SendWorkflowCheckNextNotification.php b/app/Listeners/SendWorkflowCheckNextNotification.php index 75e0b2a..770697c 100644 --- a/app/Listeners/SendWorkflowCheckNextNotification.php +++ b/app/Listeners/SendWorkflowCheckNextNotification.php @@ -59,7 +59,7 @@ class SendWorkflowCheckNextNotification implements ShouldQueue }, 'template' => function($gateway) { if ($gateway->getName() == 'aliyun') { - return 'SMS_465885234'; + return 'SMS_465900349'; } }, 'data' => function($gateway) use ($subjectTypeText) { diff --git a/app/Listeners/SendWorkflowCheckSuccessNotification.php b/app/Listeners/SendWorkflowCheckSuccessNotification.php index 2752b4a..c1bec14 100644 --- a/app/Listeners/SendWorkflowCheckSuccessNotification.php +++ b/app/Listeners/SendWorkflowCheckSuccessNotification.php @@ -45,7 +45,7 @@ class SendWorkflowCheckSuccessNotification implements ShouldQueue }, 'template' => function($gateway) { if ($gateway->getName() == 'aliyun') { - return 'SMS_465915258'; + return 'SMS_465955319'; } }, 'data' => function($gateway) use ($applyAt, $subjectTypeText) { diff --git a/config/easysms.php b/config/easysms.php index a411c9b..8b1d2a8 100644 --- a/config/easysms.php +++ b/config/easysms.php @@ -10,9 +10,7 @@ return [ 'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class, // 默认可用的发送网关 - 'gateways' => [ - 'aliyun', - ], + 'gateways' => explode(',', env('EASYSMS_GATEWAYS', 'errorlog')), ], // 可用的网关配置 'gateways' => [