added accounting failing handles
This commit is contained in:
@@ -41,7 +41,19 @@ class TahesabController extends Controller
|
||||
|
||||
public function table(Request $request)
|
||||
{
|
||||
$view = (string) $request->input('view', 'all');
|
||||
$query = Tahesab::with('customer')->orderByDesc('id');
|
||||
|
||||
if ($view === 'ok') {
|
||||
$query->whereNotNull('tahesab_id')->where('tahesab_id', '!=', '');
|
||||
} elseif ($view === 'failed') {
|
||||
$query->where(function ($q) {
|
||||
$q->where(function ($inner) {
|
||||
$inner->whereNull('tahesab_id')->orWhere('tahesab_id', '');
|
||||
})->orWhere('sync_status', 'failed');
|
||||
});
|
||||
}
|
||||
|
||||
\App\DB\Te\TableEngine::create($query, $request)
|
||||
->initSearch(['desc', 'type'])
|
||||
->select(['*'])
|
||||
@@ -392,6 +404,46 @@ class TahesabController extends Controller
|
||||
return response()->json($result, ($result['ok'] ?? false) ? 200 : 422);
|
||||
}
|
||||
|
||||
public function pendingSummary(Request $request)
|
||||
{
|
||||
$customerId = $request->filled('customer_id') ? (int) $request->input('customer_id') : null;
|
||||
|
||||
return response()->json($this->sync()->pendingSummary($customerId));
|
||||
}
|
||||
|
||||
public function pendingDocs(Request $request)
|
||||
{
|
||||
$customerId = $request->filled('customer_id') ? (int) $request->input('customer_id') : null;
|
||||
$limit = max(1, min(500, (int) $request->input('limit', 200)));
|
||||
|
||||
return response()->json([
|
||||
'rows' => $this->sync()->pendingDocs($customerId, $limit),
|
||||
'summary' => $this->sync()->pendingSummary($customerId),
|
||||
]);
|
||||
}
|
||||
|
||||
public function syncOne(Request $request)
|
||||
{
|
||||
$type = (string) $request->input('type', '');
|
||||
$id = (int) $request->input('id', 0);
|
||||
if ($id <= 0 || ! in_array($type, ['row', 'withdraw', 'order'], true)) {
|
||||
return response()->json(['ok' => false, 'message' => 'پارامتر نامعتبر'], 422);
|
||||
}
|
||||
|
||||
$result = $this->sync()->syncOne($type, $id);
|
||||
|
||||
return response()->json($result, ($result['ok'] ?? false) ? 200 : 422);
|
||||
}
|
||||
|
||||
public function syncAllPending(Request $request)
|
||||
{
|
||||
$limit = max(1, min(200, (int) $request->input('limit', 80)));
|
||||
$customerId = $request->filled('customer_id') ? (int) $request->input('customer_id') : null;
|
||||
$result = $this->sync()->syncAllPending($limit, $customerId);
|
||||
|
||||
return response()->json($result, ($result['ok'] ?? false) ? 200 : 422);
|
||||
}
|
||||
|
||||
public function registerCustomer($customerId)
|
||||
{
|
||||
$customer = Customer::findOrFail($customerId);
|
||||
|
||||
Reference in New Issue
Block a user