fix: 프로젝트 전체 TypeScript 타입에러 408개 수정 (tsc --noEmit 0 errors)

- 공통 템플릿 타입 수정 (IntegratedDetailTemplate, UniversalListPage)
- 페이지(app/[locale]) 타입 호환성 수정 (80개)
- 재고/자재 모듈 타입 수정 (StockStatus, ReceivingManagement)
- 생산 모듈 타입 수정 (WorkOrders, WorkerScreen, WorkResults)
- 주문/출고 모듈 타입 수정 (ShipmentManagement, Orders)
- 견적/단가 모듈 타입 수정 (Quotes, Pricing)
- 건설 모듈 타입 수정 (49개, 17개 하위 모듈)
- HR 모듈 타입 수정 (CardManagement, VacationManagement 등)
- 설정 모듈 타입 수정 (PermissionManagement, AccountManagement 등)
- 게시판 모듈 타입 수정 (BoardManagement, BoardList 등)
- 회계 모듈 타입 수정 (VendorManagement, BadDebtCollection 등)
- 기타 모듈 타입 수정 (CEODashboard, clients, vehicle 등)
- 유틸/훅/API 타입 수정 (hooks, contexts, lib)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-30 10:07:58 +09:00
parent 8a5cbde5ef
commit a1f4c82cec
154 changed files with 832 additions and 536 deletions

View File

@@ -337,8 +337,8 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
<div className="grid grid-cols-2 md:grid-cols-4 gap-6">
<InfoItem label="발주처" value={order.client} />
<InfoItem label="현장명" value={order.siteName} />
<InfoItem label="담당자" value={order.manager} />
<InfoItem label="연락처" value={order.contact} />
<InfoItem label="담당자" value={order.manager || ""} />
<InfoItem label="연락처" value={order.contact || ""} />
</div>
</CardContent>
</Card>
@@ -352,12 +352,12 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
<div className="grid grid-cols-2 md:grid-cols-4 gap-6">
<InfoItem label="수주일자" value={order.orderDate} />
<InfoItem label="출고예정일" value={order.expectedShipDate || "미정"} />
<InfoItem label="납품요청일" value={order.deliveryRequestDate} />
<InfoItem label="배송방식" value={order.deliveryMethodLabel} />
<InfoItem label="운임비용" value={order.shippingCostLabel} />
<InfoItem label="수신(반장/업체)" value={order.receiver} />
<InfoItem label="수신처 연락처" value={order.receiverContact} />
<InfoItem label="수신처 주소" value={order.address} />
<InfoItem label="납품요청일" value={order.deliveryRequestDate || ""} />
<InfoItem label="배송방식" value={order.deliveryMethodLabel || ""} />
<InfoItem label="운임비용" value={order.shippingCostLabel || ""} />
<InfoItem label="수신(반장/업체)" value={order.receiver || ""} />
<InfoItem label="수신처 연락처" value={order.receiverContact || ""} />
<InfoItem label="수신처 주소" value={order.address || ""} />
</div>
</CardContent>
</Card>
@@ -397,7 +397,7 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
</TableRow>
</TableHeader>
<TableBody>
{order.items.map((item, index) => (
{(order.items || []).map((item, index) => (
<TableRow key={item.id}>
<TableCell className="text-center">{index + 1}</TableCell>
<TableCell>
@@ -415,7 +415,7 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
{formatAmount(item.unitPrice)}
</TableCell>
<TableCell className="text-right font-medium">
{formatAmount(item.amount)}
{formatAmount(item.amount ?? 0)}
</TableCell>
</TableRow>
))}
@@ -428,7 +428,7 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
<div className="flex items-center gap-4 text-sm">
<span className="text-muted-foreground">:</span>
<span className="w-32 text-right">
{formatAmount(order.subtotal)}
{formatAmount(order.subtotal ?? 0)}
</span>
</div>
<div className="flex items-center gap-4 text-sm">
@@ -438,7 +438,7 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
<div className="flex items-center gap-4 text-lg font-semibold">
<span>:</span>
<span className="w-32 text-right text-green-600">
{formatAmount(order.totalAmount)}
{formatAmount(order.totalAmount ?? 0)}
</span>
</div>
</div>
@@ -624,7 +624,7 @@ export function OrderSalesDetailView({ orderId }: OrderSalesDetailViewProps) {
<div className="flex justify-between">
<span className="text-muted-foreground"></span>
<span className="font-medium text-green-600">
{formatAmount(order.totalAmount)}
{formatAmount(order.totalAmount ?? 0)}
</span>
</div>
<div className="flex justify-between items-center">