feat: 자재 리비전 비교 및 구매 목록 시스템 구현
- 자재 리비전간 비교 기능 추가 (MaterialComparisonPage) - 버그 해결 필요 - 리비전간 추가 구매 필요 자재 분석 페이지 추가 (RevisionPurchasePage) - 자재 비교 결과 컴포넌트 구현 (MaterialComparisonResult) - 자재 비교 API 라우터 추가 (material_comparison.py) - 로직 개선 필요 - 자재 비교 시스템 데이터베이스 스키마 추가 - FileManager, FileUpload 컴포넌트 개선 - BOMManagerPage 제거 및 새로운 구조로 리팩토링 - 자재 분류기 및 스키마 개선 TODO: 자재 비교 알고리즘 정확도 향상 및 예외 처리 강화 필요
This commit is contained in:
@@ -131,4 +131,45 @@ export function generateSpoolIdentifier(dwgName, areaNumber, spoolNumber) {
|
||||
area_number: areaNumber,
|
||||
spool_number: spoolNumber
|
||||
});
|
||||
}
|
||||
|
||||
// 자재 비교 관련 API
|
||||
export function compareMaterialRevisions(jobNo, currentRevision, previousRevision = null, saveResult = true) {
|
||||
return api.post('/materials/compare-revisions', null, {
|
||||
params: {
|
||||
job_no: jobNo,
|
||||
current_revision: currentRevision,
|
||||
previous_revision: previousRevision,
|
||||
save_result: saveResult
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function getMaterialComparisonHistory(jobNo, limit = 10) {
|
||||
return api.get('/materials/comparison-history', {
|
||||
params: { job_no: jobNo, limit }
|
||||
});
|
||||
}
|
||||
|
||||
export function getMaterialInventoryStatus(jobNo, materialHash = null) {
|
||||
return api.get('/materials/inventory-status', {
|
||||
params: { job_no: jobNo, material_hash: materialHash }
|
||||
});
|
||||
}
|
||||
|
||||
export function confirmMaterialPurchase(jobNo, revision, confirmations, confirmedBy = 'user') {
|
||||
return api.post('/materials/confirm-purchase', null, {
|
||||
params: {
|
||||
job_no: jobNo,
|
||||
revision: revision,
|
||||
confirmed_by: confirmedBy
|
||||
},
|
||||
data: confirmations
|
||||
});
|
||||
}
|
||||
|
||||
export function getMaterialPurchaseStatus(jobNo, revision = null, status = null) {
|
||||
return api.get('/materials/purchase-status', {
|
||||
params: { job_no: jobNo, revision, status }
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user