3a7124386brefactor: Centralize `search` and `items_per_page` query parameters into `CommonParams` and remove redundant definitions from specific schema query classes.MrWaradana2026-03-06 15:58:55 +0700
33e85cfacefix master data Depends dependeciesMrWaradana2026-03-06 14:32:19 +0700
53cf29822brefactor: Update `QueryParams` to inherit from `DefaultBase` with an `itemsPerPage` alias and inject it as a dependency in the masterdata router.MrWaradana2026-03-05 15:24:51 +0700
760aa0229eMerge branch 'main' of 145.223.23.187:CIzz22/be-lccaCizz222026-02-26 11:45:57 +0700
0df6225624feat: Add admin notification functionality for rate limit exceedances and integrate it into the rate limit exception handler.Cizz222026-02-26 11:45:50 +0700
6e479406b9add export route and add image data on response for equipment masterMrWaradana2026-02-25 16:57:46 +0700
7a4050ee4afeat: Add request validation middleware to enforce security and data integrity checks on items_per_page limitationMrWaradana2026-02-25 10:59:23 +0700
6268859798Merge pull request 'chore: Comment out all test setup and fixtures in `conftest.py`.' (#3) from CIzz22/be-lcca:main into mainCIzz222026-02-24 08:28:19 +0000
f4fee20c1fchore: Comment out all test setup and fixtures in `conftest.py`.Cizz222026-02-24 15:26:05 +0700
1c6176c1f7Merge pull request 'fix dockerfile' (#2) from CIzz22/be-lcca:main into mainCIzz222026-02-24 08:22:56 +0000
20786afa06refactor: Update Pydantic schemas by removing redundant `nullable` attributes and add comprehensive test execution documentation.MrWaradana2026-02-23 16:23:46 +0700
8d9ce1ae90feat: Improve logging with user context and error IDs, enhance request tracing, and strengthen security middleware with RCE/path traversal detection and pagination validation.Cizz222026-02-23 15:46:13 +0700
090dd1ff64feat: Implement a simulation mode for equipment prediction and EAC, and extract execution time formatting into a helper function.MrWaradana2026-02-11 14:59:08 +0700
498244052bfeat: Implement reliability-based CM cost prediction using historical cost per failure and document the new prediction logic.MrWaradana2026-02-11 14:49:39 +0700
fbab85ff50fix: Correct double backslash escaping of newlines in SSE responses.MrWaradana2026-02-11 11:39:56 +0700
75bec015eafeat: Add token parameter to simulation endpoints and remove sign-in retry logic from Prediksi module.MrWaradana2026-02-10 18:25:36 +0700
4ce0ad9765feat: Set forecasting start year to acquisition year, archive historical data only when the acquisition year changes, and prevent duplicate history entries.MrWaradana2026-02-10 18:13:18 +0700
8797b8cd96feat: Enhance logging by defaulting request ID to SYSTEM, filtering internal attributes, and adding request lifecycle logs in the middleware.MrWaradana2026-02-10 13:10:03 +0700
c81bb21ef5feat: Implement ANSI color formatting for JSON log output when writing to a terminal.MrWaradana2026-02-10 11:44:59 +0700
dac589ad9arefactor: standardise API update and delete endpoints to use POST method with `/update` and `/delete` paths.MrWaradana2026-02-09 10:46:02 +0700
762460baa5feat: Introduce `DEV_USERNAME` and `DEV_PASSWORD` configuration variables and use them as default credentials for sign-in functions.
rest-api
MrWaradana2026-02-06 19:46:38 +0700
0c4e62a761feat: Compile XSS and SQLi string patterns into regex objects.MrWaradana2026-02-06 16:37:45 +0700
67342b463cfeat: Add JSON logging, centralize request ID context management, and introduce schema validation for year and sequence fields.MrWaradana2026-02-06 13:29:05 +0700
7bcc102f1bRefactor attribute access for clarity and robustness, and enhance subprocess command execution by using a list for arguments.MrWaradana2026-02-04 17:26:22 +0700
f381a46186feat: Introduce `EquipmentHistoricalMasterData` model and expose replacement history in equipment details.MrWaradana2026-02-04 16:48:35 +0700
8913ba6611feat: Localize server-sent event messages from English to Indonesian.MrWaradana2026-02-04 16:26:50 +0700
bc56649e0ffix: Add lowercase `Content-type` header to event-stream responses for improved compatibility.MrWaradana2026-02-04 16:20:36 +0700
27954e3a17fix: Add standard Server-Sent Events headers to StreamingResponse for improved client compatibility.MrWaradana2026-02-04 16:16:18 +0700
50153ef230refactor: reorder the `get_equipment` endpoint definition within the router.MrWaradana2026-02-04 15:44:08 +0700
3d0df4408brefactor: relocate the `get_equipment` endpoint to an earlier position in the router.MrWaradana2026-02-04 15:33:42 +0700
0af5cceabdfeat: Implement acquisition data change detection, historical archiving, and conditional re-insertion before simulation.MrWaradana2026-02-04 15:18:13 +0700
47c333b318fix: Re-insert actual data using `query_data` after database commit.MrWaradana2026-02-04 15:08:37 +0700
6995aca3dbFix: Corrected `raw_loss_output_MW` parameter to be a string literal in data insertion and service functions.MrWaradana2026-02-04 14:59:49 +0700
8f3a74c597feat: Implement historical data archiving for equipment when acquisition year or cost is updated.MrWaradana2026-02-04 14:41:20 +0700
151489a642feat: Stream real-time status updates during equipment processing, enhance prediction robustness by validating asset data, and remove `await` from EAC calculation calls.MrWaradana2026-02-04 13:12:16 +0700
9e9b526d46feat: Move and enhance `update_initial_simulation_data` to fetch acquisition year and cost from `wo_maximo` and update equipment records before simulation.MrWaradana2026-02-03 17:04:34 +0700
4a0fc31925feat: Include acquisition cost in equipment update logic and database updates.MrWaradana2026-02-02 16:49:18 +0700
c42c54aad1refactor: Switch to using `query_data` instead of `insert_actual_data` for retrieving equipment data.MrWaradana2026-02-02 16:02:47 +0700
1e27adfa31feat: Implement historical data archiving for equipment and transaction records when the acquisition year is updated.MrWaradana2026-02-02 14:59:58 +0700
e1db01f9a8feat: Add `acquisition_year_ref` column to the equipment model and update the historical data schema to use `HistoricalBase`.MrWaradana2026-02-02 14:08:28 +0700
d10f9a2bdefeat: Implement historical transaction records and refine actual data processing logic with acquisition year handling and targeted execution.MrWaradana2026-02-02 13:37:51 +0700
3fbf941cfdupdate for new acquisition year replacement calculation minimum eacMrWaradana2026-02-02 11:23:13 +0700
4ff7e29d31feat: Dynamically update equipment acquisition year from production data and link prediction records to this reference.MrWaradana2026-01-30 16:22:02 +0700
1f38f1a80ffeat: Standardize equipment API responses to `EquipmentDataMaster` and optimize LCC calculations by pre-fetching parameters and including new material cost fields.MrWaradana2026-01-29 15:15:50 +0700
b72e1ec51dfeat: Implement `/simulate-all` endpoint to run predictions and EAC for all equipment, and refine `is_actual` determination logic.MrWaradana2026-01-27 16:03:32 +0700
44a154c38dfix dynamic env database hostname and portMrWaradana2026-01-09 15:21:39 +0700
e3963ff5f2feat: Add field validator to convert empty strings to None for specific numeric fields.MrWaradana2026-01-07 12:09:47 +0700
25288d18f5refactor: improve EAC calculation output clarity and adjust Yeardata query year sorting from descending to ascending.MrWaradana2026-01-07 12:03:10 +0700
619969987aPerubahan run2.py -> proyeksi sf dan auxelary sesuai rumus pak Stefyariwahyunahar2026-01-06 21:22:34 +0700
3e7543d3adPerubahan run2.py -> proyeksi sf dan auxelary sesuai rumus pak Stefyariwahyunahar2026-01-06 20:24:55 +0700
13a0273b75refactor: rename `get_count_remaining_life` to `get_count_remaining_life_equipment` for clarity.MrWaradana2026-01-06 19:11:45 +0700
04bba31670feat: Add equipment remaining life count API, refine actual data insertion logging, and enhance prediction data fetching.MrWaradana2026-01-06 19:09:25 +0700
bd6efc2a3afeat: Add `get_where_query_sql_labour_cost` to filter out 'T' wonums and update `get_yearly_labour_cost_total_by_worktype` to use it.MrWaradana2026-01-06 11:20:13 +0700