단계 1-3 기초 - RETAIL, MORTGAGE, 임대 자산
단계 1 세부사항: - CommitmentContextType.SALE, ProcessOrderPaid : Commitment, Transaction, InventoryAllocation, FulfillmentOrder - checkInventoryFor주문 만들기/업데이트 - Crea...
Phase 1–2 implementation, order/app UI, rental foundation
- Order detail: Payment history and Fulfillments sections when PAID - Application detail: Approve button (SUBMITTED→APPROVED), commitment display - posApi: Orde...
Use AG Grid and flex-fill layout for pipeline and POS datagrids
- PipelineEngagementsTab, PipelineOrdersTab, PipelineApplicationsTab: flex-fill height for AgGrid - PipelineProductsTab: convert from MUI Table to AgGrid with p...
Date range filter, placeholder pages, dashboard/engagement UX
- Engagements tab: dateFrom/dateTo filter, engagement count, context-aware empty states - Placeholder pages: service, bookings, agreements, procurement (coming ...
주문 추가 (createdAt DESC) 및 날짜 범위 필터
- EngagementRepository: orderByDateCreatedDesc는 모든 방법을 찾아냅니다. - CommerceService: dateFrom/dateTo params, in-memory 날짜 필터 - Engagements API는 현재 풍부한 보고를 위한 날짜 범위를...
Use getDisplayName for domain, support WORK_ORDER/VENDOR_ORDER link labels
- Engagement detail: show friendly domain label (Retail vs RETAIL) - Engagements tab: domain column uses getDisplayName - Add link labels for WORK_ORDER, VENDOR...
VENDOR→SERVICE용 EngagementDomainTypeConverter 추가, 수동 SQL 없음
- JPA AttributeConverter 맵 레거시 VENDOR에서 DB에서 읽을 때 서비스 - Engagement.domain 및 OrgPOSConfig.enabledDomains에 적용 - 수동 이동을 위한 필요를 제거합니다; 봄 시동/JPA는 그것을 취급합니다
Add engagement endpoints GET /engagements and GET /engagements/{id}
Add Engagements tab, detail page, and dashboard integration
- posApi: add Engagement types, getEngagements, getEngagementById - posDomainLabels: add getEngagementStatusLabel - PipelineEngagementsTab: AG Grid with domain/...
Finish remaining plan items – low-stock warning, date filters, plan checkboxes
- Order Create: low-stock warning when adding product with trackInventory - Orders tab: date range filter (last 7 days, last 30 days) - Applications tab: date r...
Phase 4–5 – Dashboard reporting, error handling, a11y
Phase 4 – Dashboard & reporting: - Revenue by period (week, month, quarter) - Order count by status (DRAFT, AUTHORIZED, PAID, CANCELLED, REFUNDED) - Application...
Align Pipeline and Settings UI with commerce backend
- Update order status colors to match backend (DRAFT, AUTHORIZED, PAID, CANCELLED, REFUNDED) - Update application status colors (DRAFT, SUBMITTED, EXPIRED, CANC...
Pos 콩을 상업 패키지로 대체
- 커머스 패키지 추가 (주문, 의도, 오퍼링, 재고품목, InventoryPool 등) - POSService, RetailProductService, RetailInventoryStockService 교체 - 모든 donotmodify.dao.beans.pos 패키지 및 하위 패키지...
Full-page views, AG Grid, domain support, create screens
- Add getMortgageApplication(id) to posApi - Replace Orders tab: MUI Table -> AG Grid, row click -> /pipeline/orders/[id] - Replace Applications tab: cards -> A...
POSService의 엔터프라이즈 검증
- createRetailOrder : 요청에 대한 null 체크 - createLineItem: null, 수량 > 0, 단가 >= 0 유효성 검사
Enterprise-grade POS UI and API
- posApi: POSApiError class, fetchWithError, structured error handling - useToast + POSToast: centralized snackbar for success/error feedback - posUtils: format...
POS domain config, retail order line items, dynamic pipeline tabs
- Add getPOSConfig/updatePOSConfig to posApi, posDomainLabels utility - Extend createOrder with lineItems, add getOrder, RetailOrderLineItem type - PipelineOrde...
Add POS controllers for retail products, inventory, and orders
- RetailProductController: CRUD for products - RetailInventoryController: inventory stock management - POSController: orders and mortgage applications
POS/inventory 도메인 entities, DTOs, 저장소 및 서비스 추가
- POS 콩 추가 (리테일, 대여, 모기지, 구독, 공급 업체) - RetailProduct, RetailInventoryStock, RetailOrder, MortgageApp DTOs 추가 - RetailProductService, RetailInventoryStockService...
Fetching 리드 때 공급 업체 제품 관계
업데이트 getLeadsByOrganizationId() @Transient 공급 업체 제품 각 리드에 대한 필드는 납품업자ProductId. 이것은 납품업자를 지킵니다 및 제품 데이터는 LeadDTO 매핑에 사용할 수 있습니다.
Improve lead grid with base30 IDs, raven icon, All Markets tab, and Market column
- Add toBase30() function for consistent ID representation across LeadManager and DocManager - Fix Grim status icon in tabs to use raven.ico (matching the datag...
상태, subStatus, 소스 및 dateCreated 필드 추가
- 추가된 상태, subStatus, 소스, dateCreated, 그리고 isActive 필드에 리드 엔티티티 - frontend-compatible 필드 (status, subStatus, 소스, createdAt, primaryContact, 공급 업체, 제품, 에이전트 - fro...
String to Employee Reference에 대한 리드 할당
- 정의된 리드. 할당된User (String) 리드. 할당된Employee (Employee) - 할당 내역을 추적하는 LeadAssignment entity 추가 - 다양한 할당 유형과 LeadAssignmentType enum 추가 - 직원 리드 크레딧 추적을위한 LeadCredi...
Add default currency support and update currency handling in Revenue component
Add HTTP to HTTPS redirect middleware and IngressRoute
- Create redirect-to-https middleware for permanent redirects - Add catch-all IngressRoute on web entrypoint to redirect all kamocrm.com domains to HTTPS - Fixe...
Add automatic *** secret creation
- Create *** secret on both k1m1 and k2m1 - Secret contains MINIO_CURRENT_HOST pointing to k0m1 MinIO instance (http://10.8.0.1:9000) - Fixes kamowssecurity-dep...
Convert Add Lead button to tab and implement data persistence
Reorganize lead creation form into elegant two-column layout
- Split form fields into two columns: contact/personal info (left) and lead/business info (right) - Add visual separation with semi-transparent backgrounds, bor...
Redesign Lead Creation form with complete name 필드, 적절한 dropdown sizing, 국가 필드 및 향상된 전화 레이아웃
CreateLeadRequest, UpdateLeadRequest 및 LeadDTO에 전화 확장 지원 추가
LeadProspectType, 공급 업체/제품, bestContact 추가 시간, 전화 extension/isText 및 주거 모기장 필드를 리드 생성 양식
SalesSubType 필드를 Mortgage 필드 감지를 위한 LeadMarketDTO에 추가
- 판매SubType 필드를 추가하여 부모 SaleType과 하위 유형의 구별 - SaleType에는 부모(예, RESIDENTIAL MORTGAGE)가 있을 때, SalesType은 부모(SERVICE)와 SalesSubType이 아이(RESIDENTIAL MORTGAGE)가 됩니다....
Add missing Next.js API routes for leads endpoints
- Added /api/security/leads route for GET (all leads) and POST (create lead) - Added /api/security/leads/[id] route for GET, PUT, DELETE operations - Added ****...
Add backend validation for required fields in lead imports
- Add validateRequiredFields method to check required fields before import - Validate email, firstName, and lastName are present - Validate mortgage-specific fi...
Add validation for required fields in lead imports
- Mark email, firstName, and lastName as required fields in leadFields.ts - Add validation in handleStartImport to check all required fields are mapped - Add va...