feat(API): 부실채권, 재고, 입고 기능 개선

- BadDebt 컨트롤러/서비스 기능 확장
- StockService 재고 조회 로직 개선
- ProcessReceivingRequest 검증 규칙 수정
- Item, Order, CommonCode, Shipment 모델 업데이트
- TodayIssueObserverService 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-23 21:32:23 +09:00
parent 5104a6641c
commit 09db0da43b
10 changed files with 282 additions and 73 deletions

View File

@@ -44,4 +44,42 @@ public function children()
{
return $this->hasMany(self::class, 'parent_id');
}
/**
* 코드 그룹과 코드로 라벨(name) 조회
*
* @param string $codeGroup 코드 그룹 (예: 'delivery_method')
* @param string|null $code 코드값 (예: 'direct')
* @return string 라벨 (없으면 코드값 반환)
*/
public static function getLabel(string $codeGroup, ?string $code): string
{
if (empty($code)) {
return '';
}
$commonCode = static::withoutGlobalScopes()
->where('code_group', $codeGroup)
->where('code', $code)
->where('is_active', true)
->first();
return $commonCode?->name ?? $code;
}
/**
* 코드 그룹의 전체 코드 목록 조회 (code => name 배열)
*
* @param string $codeGroup 코드 그룹
* @return array<string, string> [code => name] 형태의 배열
*/
public static function getCodeMap(string $codeGroup): array
{
return static::withoutGlobalScopes()
->where('code_group', $codeGroup)
->where('is_active', true)
->orderBy('sort_order')
->pluck('name', 'code')
->toArray();
}
}