generated from liutk/owl-admin-base
Merge branch 'main' of https://gitea.hmily.club/pdkj/store-manage into main
commit
709dbeea57
|
|
@ -70,7 +70,7 @@ class TaskService extends BaseService
|
||||||
$endAt = $month->copy()->endOfMonth();
|
$endAt = $month->copy()->endOfMonth();
|
||||||
|
|
||||||
// 门店实际业绩
|
// 门店实际业绩
|
||||||
$actualPerformance = Ledger::where('store_id', $store->id)
|
$totalSales = Ledger::where('store_id', $store->id)
|
||||||
->whereBetween('date', [$startAt->format('Y-m-d'), $endAt->format('Y-m-d')])
|
->whereBetween('date', [$startAt->format('Y-m-d'), $endAt->format('Y-m-d')])
|
||||||
->sum('sales');
|
->sum('sales');
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ class TaskService extends BaseService
|
||||||
'store_id' => $store->id,
|
'store_id' => $store->id,
|
||||||
'store_master_id' => $store->master_id,
|
'store_master_id' => $store->master_id,
|
||||||
'expected_performance' => $payload['expected_performance'],
|
'expected_performance' => $payload['expected_performance'],
|
||||||
'actual_performance' => $actualPerformance,
|
'actual_performance' => $totalSales,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// 月份
|
// 月份
|
||||||
|
|
@ -172,7 +172,7 @@ class TaskService extends BaseService
|
||||||
'expected_performance' => $payload['expected_performance'],
|
'expected_performance' => $payload['expected_performance'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($taskable->isCompleted()) {
|
if ($taskable->isCompleted() && ! $task->isSuccess()) {
|
||||||
$task->update([
|
$task->update([
|
||||||
'task_status' => TaskStatus::Success,
|
'task_status' => TaskStatus::Success,
|
||||||
'completed_at' => now(),
|
'completed_at' => now(),
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ enum TaskStatus: int
|
||||||
self::Processing->value => '进行中',
|
self::Processing->value => '进行中',
|
||||||
self::Success->value => '已完成',
|
self::Success->value => '已完成',
|
||||||
self::Failed->value => '未完成',
|
self::Failed->value => '未完成',
|
||||||
self::Revoked->value => '已撤销',
|
// self::Revoked->value => '已撤销',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -33,7 +33,7 @@ enum TaskStatus: int
|
||||||
self::Processing->value => '<span class="label bg-pink-500">'.self::Processing->text().'</span>',
|
self::Processing->value => '<span class="label bg-pink-500">'.self::Processing->text().'</span>',
|
||||||
self::Success->value => '<span class="label label-success">'.self::Success->text().'</span>',
|
self::Success->value => '<span class="label label-success">'.self::Success->text().'</span>',
|
||||||
self::Failed->value => '<span class="label label-danger">'.self::Failed->text().'</span>',
|
self::Failed->value => '<span class="label label-danger">'.self::Failed->text().'</span>',
|
||||||
self::Revoked->value => '<span class="label bg-gray-300">'.self::Revoked->text().'</span>',
|
// self::Revoked->value => '<span class="label bg-gray-300">'.self::Revoked->text().'</span>',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,9 @@ use App\Models\Keyword;
|
||||||
use App\Models\Ledger;
|
use App\Models\Ledger;
|
||||||
use App\Models\LedgerItem;
|
use App\Models\LedgerItem;
|
||||||
use App\Models\TaskLedger;
|
use App\Models\TaskLedger;
|
||||||
|
use App\Models\TaskPerformance;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Carbon;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
|
|
@ -85,9 +87,11 @@ class LedgerController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$date = Carbon::createFromFormat('Y-m-d', $validated['date']);
|
||||||
|
|
||||||
/** @var \App\Models\Ledger|null */
|
/** @var \App\Models\Ledger|null */
|
||||||
$ledger = Ledger::where('store_id', $user->store_id)
|
$ledger = Ledger::where('store_id', $user->store_id)
|
||||||
->where('date', $validated['date'])
|
->where('date', $date->format('Y-m-d'))
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
if ($ledger && ! $ledger->allowReReport()) {
|
if ($ledger && ! $ledger->allowReReport()) {
|
||||||
|
|
@ -134,7 +138,8 @@ class LedgerController extends Controller
|
||||||
])->all()
|
])->all()
|
||||||
);
|
);
|
||||||
|
|
||||||
// 自动完成总账录入任务
|
// 总账录入任务
|
||||||
|
/** @var \App\Models\TaskLedger */
|
||||||
$taskLedger = TaskLedger::where('store_id', $user->store_id)
|
$taskLedger = TaskLedger::where('store_id', $user->store_id)
|
||||||
->where('date', $ledger->date)
|
->where('date', $ledger->date)
|
||||||
->first();
|
->first();
|
||||||
|
|
@ -145,6 +150,28 @@ class LedgerController extends Controller
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 业绩指标任务
|
||||||
|
/** @var \App\Models\TaskPerformance */
|
||||||
|
$taskPerformance = TaskPerformance::where('store_id', $ledger->store_id)
|
||||||
|
->where('month', $date->format('Y-m'))
|
||||||
|
->first();
|
||||||
|
if ($taskPerformance) {
|
||||||
|
$totalSales = Ledger::where('store_id', $ledger->store_id)
|
||||||
|
->whereBetween('date', [$date->copy()->startOfMonth()->format('Y-m-d'), $date->copy()->endOfMonth()->format('Y-m-d')])
|
||||||
|
->sum('sales');
|
||||||
|
|
||||||
|
$taskPerformance->update([
|
||||||
|
'actual_performance' => $totalSales,
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($taskPerformance->isCompleted() && ! $taskPerformance->task->isSuccess()) {
|
||||||
|
$taskPerformance->task->update([
|
||||||
|
'task_status' => TaskStatus::Success,
|
||||||
|
'completed_at' => now(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|
|
||||||
|
|
@ -46,4 +46,9 @@ class Task extends Model
|
||||||
{
|
{
|
||||||
return $this->morphTo();
|
return $this->morphTo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function isSuccess(): bool
|
||||||
|
{
|
||||||
|
return $this->task_status === TaskStatus::Success;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue