b38f5957f2
구매관리 (wace 1:1) - backend: services/purchaseService.ts (7 list + 옵션 3종) + controllers/purchaseController.ts + routes/purchaseRoutes.ts (/api/purchase 마운트) - frontend: lib/api/purchase.ts + 7 page.tsx (list/quote-request/proposal/inbound/inbound-by-item/inbound-by-date/project-status) - 영업관리 4메뉴 DataGrid 패턴 통일 — pageSizeOptions=[10,15,20,50,100], emptyMessage, showColumnSettings/summaryStats/onRefresh/onDownload/showChart - 마스터단독 데이터(sales_request_master, project_mgmt+mbom_detail) 노출, detail/part 누락 테이블 의존은 빈 그리드 + UI 발주관리 (purchase/order/page.tsx) - EDataTable → DataGrid 교체 + logicstudio 6종 props + 날짜/숫자 pre-format M-BOM PR-B3 — 구매리스트 생성 (wace createPurchaseListFromMBom.do 1:1) - mbomService.createSalesRequest + controller + route POST /api/production/mbom/sales-request - 단건 체크 + 1:1 강제 + R-YYYYMMDD-NNN 채번 + sales_request_master 단건 INSERT - production/mbom/page.tsx 에 [구매리스트 생성] 버튼 M-BOM PR-B5 — BOM 할당 (mBomEbomSelectPopup.do) - mbomService.searchAssignableEboms/assignBom + controller + routes - MbomAssignDialog 신규, MbomDetailDialog 통합 생산관리 4메뉴 라우트 (생산계획&실적, 소요량) - prodPlanResultService/Controller + productionPlanResultRoutes (planResult/mbomReq) - mbomRequirementService + 4 page.tsx (prod-plan-result, prod-plan-result-equip, raw-material-requirement, semi-product-requirement) - lib/api/prodPlanResult.ts Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
// ============================================================
|
|
// 구매관리 — 7개 메뉴 + 공통 옵션 라우트.
|
|
// app.ts: app.use("/api/purchase", purchaseRoutes)
|
|
// ============================================================
|
|
|
|
import { Router } from "express";
|
|
import { authenticateToken } from "../middleware/authMiddleware";
|
|
import * as ctrl from "../controllers/purchaseController";
|
|
|
|
const router = Router();
|
|
router.use(authenticateToken);
|
|
|
|
// 그리드 7종
|
|
router.get("/purchase-request", ctrl.getPurchaseRequest); // 구매리스트관리
|
|
router.get("/quotation-request", ctrl.getQuotationRequest); // 견적요청서관리
|
|
router.get("/proposal", ctrl.getProposal); // 품의서관리
|
|
router.get("/inbound", ctrl.getInbound); // 입고관리
|
|
router.get("/inbound-by-item", ctrl.getInboundByItem); // 품목별 입고관리
|
|
router.get("/inbound-by-date", ctrl.getInboundByDate); // 입고일별 입고관리
|
|
router.get("/project-status", ctrl.getProjectStatus); // 프로젝트별 발주/입고 현황
|
|
|
|
// 공통 옵션
|
|
router.get("/options/suppliers", ctrl.getSuppliers);
|
|
router.get("/options/users", ctrl.getUsers);
|
|
router.get("/options/projects", ctrl.getProjects);
|
|
|
|
export default router;
|