Skip to content

feat(finance): implement complete master batch (MB) costing suite, workflows, and BFF integration#64

Merged
ilramdhan merged 2 commits into
mutugading:mainfrom
ilramdhan:fix/master-batch-costing
Jul 14, 2026
Merged

feat(finance): implement complete master batch (MB) costing suite, workflows, and BFF integration#64
ilramdhan merged 2 commits into
mutugading:mainfrom
ilramdhan:fix/master-batch-costing

Conversation

@ilramdhan

Copy link
Copy Markdown
Member

Description

Pull Request ini menghadirkan suite fitur Master Batch (MB) Costing secara komprehensif pada modul Finance. Pembaruan berskala besar ini mencakup UI dan UX lengkap untuk manajemen MB Recipe (komposisi, parameter, dan log alur kerja), kapabilitas eksekusi MB Push-to-Head beserta pratinjaunya, dan halaman Master Data untuk MB Lusture dan MB Param.

Selain pengembangan antarmuka, PR ini juga membangun arsitektur lapisan BFF (Backend for Frontend) secara utuh untuk menangani siklus persetujuan (submit, approve, validate, revoke), eksekusi impor/ekspor data, serta mengintegrasikan Unlock Dialog langsung ke ekosistem Product Master. Pembaruan TypeScript proto types juga disertakan untuk sinkronisasi dengan goapps-shared-proto.

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 🎨 UI/UX improvement
  • ♻️ Refactor
  • 📚 Documentation
  • 🔧 Chore (deps, config)

Module/Component Affected

  • Dashboard
  • Finance (MB Costing / Product Master / Yarn Master)
  • HR / IT / CI / EXSIM
  • Components (common/)
  • Components (ui/)
  • Navigation
  • API Routes (BFF)

Changes Made

1. MB Recipe & Workflow Management:

  • Menambahkan halaman List dan Detail untuk MB Recipe yang dilengkapi dengan tab navigasi untuk Composition, Parameters, dan Workflow Log.
  • Membuat BFF routes dan UI untuk siklus alur kerja (workflow lifecycle) MB Head yang mencakup aksi: submit, approve, validate, unapprove, dan revoke.

2. MB Push-to-Head Execution:

  • Menambahkan kapabilitas MB Push-to-Head beserta halaman khusus yang menampilkan tabel riwayat push log, panel pratinjau (preview panel), dan aksi eksekusi push.

3. Master Data (Lusture & Param):

  • Membuat halaman Master Data terdedikasi untuk MB Lusture dan MB Param.
  • Mengimplementasikan fungsionalitas CRUD secara penuh, termasuk form input, tabel, dan integrasi dialog import/export/template.

4. BFF API, Hooks, & Proto Sync:

  • Chore: Mengenerate ulang ts-proto types untuk seluruh entitas MB costing suite (termasuk yarn_master, cost_product_master, dan pembaruan validasi dari goapps-shared-proto).
  • Menambahkan ekosistem TanStack Query hooks, servis API, dan gRPC clients untuk menjembatani komunikasi data dari client ke BFF untuk semua entitas MB.
  • Memperkenalkan palet Status Colors baru khusus untuk MB workflow.

5. Cross-Module UI Integrations:

  • Menambahkan komponen combobox interaktif untuk MB head ref dan RM group-head.
  • Memperluas tab parameter dan detail client pada Cost Product Master.
  • Mengintegrasikan Product Master Unlock Dialog ke dalam alur kerja, menyesuaikan komponen UserName, menu navigasi, dan merombak form dialog pada MB Head untuk mendukung ekosistem batch costing.

Related Issues

Fixes #
Related to #

Screenshots

Before

After

Testing Performed

Manual Testing

  • Desktop (1440px+)
  • Tablet (768px)
  • Mobile (375px)
  • Light mode
  • Dark mode

Browser Testing

  • Chrome
  • Firefox
  • Safari
  • Edge

Build Verification

  • npm run lint passes
  • npx tsc --noEmit passes
  • npm run build succeeds

Accessibility

  • Keyboard navigation works
  • Screen reader compatible
  • Proper ARIA labels
  • Color contrast adequate

Performance

  • No unnecessary re-renders
  • Images optimized
  • Heavy components lazy loaded

Pre-merge Checklist

  • I have read and followed RULES.md
  • I have read and followed CONTRIBUTING.md
  • Loading states implemented (if data fetching)
  • Error handling present
  • Component props typed properly
  • Uses semantic color classes
  • Responsive design tested
  • Dark mode compatible
  • Screenshots included (for UI changes)

Reviewer Notes

  • Workflow State Handling: Harap perhatikan secara saksama siklus hidup transisi pada MB Head Workflow (submit -> validate / approve -> revoke, dsb.). Semua aksi ini sudah dipetakan dengan rute BFF masing-masing dan dilengkapi dengan loading states.
  • Product Master Unlock Dialog: Terdapat integrasi cross-module di mana alur MB Costing dapat memicu Unlock Dialog pada Product Master. Validasi hak akses (permissions) dan sinkronisasi status (melalui query invalidation) harus dipastikan berjalan lancar saat unlock berhasil dilakukan.
  • Proto Types: Seluruh berkas biner/proto Typescript telah diperbarui. Tim QA diwajibkan melakukan smoke test pada fungsionalitas CRUD di Yarn Master untuk memastikan tidak ada kolom yang breaking akibat regenerasi protobuf ini.

ilramdhan and others added 2 commits July 14, 2026 16:25
Generated ts-proto types for the MB costing suite (yarn_master +
cost_product_master) and refreshed cost_product_request / buf.validate
from goapps-shared-proto.

Authored-By: Ilham R <ilhamram332@gmail.com>
Co-Authored-By: Ilham R <me@ilramdhan.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: IT Mutugading <it@mutugading.com>
Co-Authored-By: IT Mutu Gading <mutugadingapps@gmail.com>
Build the Master Batch (MB) costing frontend:

- Pages: mb-recipe list + detail (composition/parameters/workflow-log
  tabs), mb-push-to-head, and mb-lusture / mb-param master pages.
- Components: MB recipe tables/tabs/action bar, lusture and param
  tables with form + import dialogs, push log table + preview panel,
  MB head ref and RM group-head comboboxes, and the product-master
  unlock dialog.
- BFF API routes for MB head workflow (submit/approve/validate/
  unapprove/revoke/import/export/template), compositions, push
  (preview/execute) + push logs, workflow logs, mb-lusture, mb-param
  (+ options) and cost-product-master unlock.
- TanStack Query hooks and API services for composition, lusture,
  param, push and workflow-log; MB gRPC clients and status colors.

Also extend the cost-product-master parameters tab and detail client,
mb-head form dialog, user-name component and menu types to support the
MB flow.

Authored-By: Ilham R <ilhamram332@gmail.com>
Co-Authored-By: Ilham R <me@ilramdhan.dev>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: IT Mutugading <it@mutugading.com>
Co-Authored-By: IT Mutu Gading <mutugadingapps@gmail.com>
@ilramdhan ilramdhan added this to the Costing Release Milestone milestone Jul 14, 2026
@ilramdhan ilramdhan self-assigned this Jul 14, 2026
Copilot AI review requested due to automatic review settings July 14, 2026 09:32
@ilramdhan ilramdhan added bug Something isn't working enhancement New feature or request feat labels Jul 14, 2026
@ilramdhan ilramdhan added the fix label Jul 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ilramdhan
ilramdhan merged commit b0c7ad0 into mutugading:main Jul 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request feat fix

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants