feat(WEB): 생산/검사 기능 대폭 확장 및 작업자화면 검사입력 추가

생산관리:
- WipProductionModal 기능 개선
- WorkOrderDetail/Edit 확장 (+265줄)
- 검사성적서 콘텐츠 5종 대폭 확장 (벤딩/벤딩WIP/스크린/슬랫/슬랫조인트바)
- InspectionReportModal 기능 강화

작업자화면:
- WorkerScreen 기능 대폭 확장 (+211줄)
- WorkItemCard 개선
- InspectionInputModal 신규 추가 (작업자 검사입력)

공정관리:
- StepForm 검사항목 설정 기능 추가
- InspectionSettingModal 신규 추가
- InspectionPreviewModal 신규 추가
- process.ts 타입 확장 (+102줄)

자재관리:
- StockStatus 상세/목록/타입/목데이터 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-02-05 21:43:28 +09:00
parent 32d6e3bbbd
commit efcc645e24
21 changed files with 2559 additions and 328 deletions

View File

@@ -51,6 +51,7 @@ const rawMaterialItems: StockItem[] = [
actualQty: 500,
stockQty: 500,
safetyStock: 100,
wipQty: 30,
lotCount: 3,
lotDaysElapsed: 21,
status: 'normal',
@@ -70,6 +71,7 @@ const rawMaterialItems: StockItem[] = [
actualQty: 350,
stockQty: 350,
safetyStock: 80,
wipQty: 20,
lotCount: 2,
lotDaysElapsed: 15,
status: 'normal',
@@ -89,6 +91,7 @@ const rawMaterialItems: StockItem[] = [
actualQty: 280,
stockQty: 280,
safetyStock: 70,
wipQty: 15,
lotCount: 2,
lotDaysElapsed: 18,
status: 'normal',
@@ -108,6 +111,7 @@ const rawMaterialItems: StockItem[] = [
actualQty: 420,
stockQty: 420,
safetyStock: 90,
wipQty: 25,
lotCount: 4,
lotDaysElapsed: 12,
status: 'normal',
@@ -139,6 +143,7 @@ const bentPartItems: StockItem[] = Array.from({ length: 41 }, (_, i) => {
actualQty: stockQty,
stockQty,
safetyStock,
wipQty: seededInt(seed + 5, 0, 50),
lotCount: seededInt(seed + 2, 1, 5),
lotDaysElapsed: seededInt(seed + 3, 0, 45),
status: getStockStatus(stockQty, safetyStock),
@@ -172,6 +177,7 @@ const purchasedPartItems: StockItem[] = [
actualQty: stockQty,
stockQty,
safetyStock,
wipQty: seededInt(seed + 5, 0, 30),
lotCount: seededInt(seed + 2, 2, 5),
lotDaysElapsed: seededInt(seed + 3, 0, 40),
status: getStockStatus(stockQty, safetyStock),
@@ -202,6 +208,7 @@ const purchasedPartItems: StockItem[] = [
actualQty: stockQty,
stockQty,
safetyStock,
wipQty: seededInt(seed + 5, 0, 25),
lotCount: seededInt(seed + 2, 2, 4),
lotDaysElapsed: seededInt(seed + 3, 0, 35),
status: getStockStatus(stockQty, safetyStock),
@@ -234,6 +241,7 @@ const purchasedPartItems: StockItem[] = [
actualQty: stockQty,
stockQty,
safetyStock,
wipQty: seededInt(seed + 5, 0, 10),
lotCount: seededInt(seed + 2, 1, 3),
lotDaysElapsed: seededInt(seed + 3, 0, 30),
status: getStockStatus(stockQty, safetyStock),
@@ -264,6 +272,7 @@ const purchasedPartItems: StockItem[] = [
actualQty: stockQty,
stockQty,
safetyStock,
wipQty: seededInt(seed + 5, 0, 100),
lotCount: seededInt(seed + 2, 3, 6),
lotDaysElapsed: seededInt(seed + 3, 0, 25),
status: getStockStatus(stockQty, safetyStock),
@@ -292,6 +301,7 @@ const purchasedPartItems: StockItem[] = [
actualQty: stockQty,
stockQty,
safetyStock,
wipQty: seededInt(seed + 5, 0, 20),
lotCount: seededInt(seed + 2, 2, 4),
lotDaysElapsed: seededInt(seed + 3, 0, 20),
status: getStockStatus(stockQty, safetyStock),
@@ -322,6 +332,7 @@ const purchasedPartItems: StockItem[] = [
actualQty: stockQty,
stockQty,
safetyStock,
wipQty: seededInt(seed + 5, 0, 40),
lotCount: seededInt(seed + 2, 2, 5),
lotDaysElapsed: seededInt(seed + 3, 0, 30),
status: getStockStatus(stockQty, safetyStock),
@@ -346,6 +357,7 @@ const subMaterialItems: StockItem[] = [
actualQty: 5000,
stockQty: 5000,
safetyStock: 1000,
wipQty: 100,
lotCount: 3,
lotDaysElapsed: 28,
status: 'normal',
@@ -365,6 +377,7 @@ const subMaterialItems: StockItem[] = [
actualQty: 120,
stockQty: 120,
safetyStock: 30,
wipQty: 10,
lotCount: 1,
lotDaysElapsed: 5,
status: 'normal',
@@ -384,6 +397,7 @@ const subMaterialItems: StockItem[] = [
actualQty: 800,
stockQty: 800,
safetyStock: 200,
wipQty: 50,
lotCount: 2,
lotDaysElapsed: 12,
status: 'normal',
@@ -403,6 +417,7 @@ const subMaterialItems: StockItem[] = [
actualQty: 200,
stockQty: 200,
safetyStock: 50,
wipQty: 15,
lotCount: 5,
lotDaysElapsed: 37,
status: 'normal',
@@ -422,6 +437,7 @@ const subMaterialItems: StockItem[] = [
actualQty: 150,
stockQty: 150,
safetyStock: 40,
wipQty: 8,
lotCount: 2,
lotDaysElapsed: 10,
status: 'normal',
@@ -441,6 +457,7 @@ const subMaterialItems: StockItem[] = [
actualQty: 3000,
stockQty: 3000,
safetyStock: 500,
wipQty: 200,
lotCount: 4,
lotDaysElapsed: 8,
status: 'normal',
@@ -460,6 +477,7 @@ const subMaterialItems: StockItem[] = [
actualQty: 2500,
stockQty: 2500,
safetyStock: 400,
wipQty: 150,
lotCount: 3,
lotDaysElapsed: 15,
status: 'normal',
@@ -483,6 +501,7 @@ const consumableItems: StockItem[] = [
actualQty: 200,
stockQty: 200,
safetyStock: 50,
wipQty: 20,
lotCount: 2,
lotDaysElapsed: 8,
status: 'normal',
@@ -502,6 +521,7 @@ const consumableItems: StockItem[] = [
actualQty: 350,
stockQty: 350,
safetyStock: 80,
wipQty: 30,
lotCount: 3,
lotDaysElapsed: 5,
status: 'normal',