Files
citrus-cms/resources/views/guide/mobile-field-data-entry-user-guide.md
T
2026-04-28 21:15:09 +03:00

194 lines
6.2 KiB
Markdown

# Mobile Field Data Entry - User Guide
## Overview
This guide explains how to use the mobile app screens for field data entry and updates.
The mobile flows are module-based and optimized for fast, on-site updates.
## What's Included in This Branch
- Added a dedicated **Weld Log Entry** flow that consolidates fit-up, welding, WPS, welder, and NDT fields in one form.
- Added new module screens for **Punch**, **Repair**, **NDT Request**, **RFI Create**, **RFI Update**, **Ferrite**, **PMI**, and **Spool/NDT/Paint Release** entry/update.
- Implemented consistent **mobile list + bottom sheet edit** pattern across modules.
- Refactored photo upload using standard **InspectionDockedFab** for unified photo uploads.
- Added **bulk update** support in Weld Log Entry (multi-select joints).
- Added **filtering** (status/ISO) in list screens where applicable.
- Standardized **API endpoints** to direct table endpoints (`/api/{table}/read|update|create`).
- Added **field coverage** for NDT report/test metadata and welding report date.
- Standardized **snackbar feedback** for save results and validation errors.
## Navigation
Open the left sidebar menu or the Home grid and use the following entries:
- Weld Log Entry
- Punch Update
- Repair Status Entry
- NDT Request
- RFI Create
- RFI Update
- Ferrite Entry
- PMI Entry
- Spool/NDT/Paint Release
- Test Pack Base Status
Each screen opens a list view. Tap a record to edit it. Some screens use a bottom sheet form.
## Common Behaviors
- **List + Tap to Edit:** All modules load a list of records. Tap a row to open the form.
- **Filters:** Some screens include filters (status or ISO).
- **Bulk Update (Weld Log):** Enable bulk mode, select multiple joints, and update once.
- **Save Feedback:** Success and error feedback is shown via bottom snackbars.
- **Photo Upload:** Modules like Test Pack and Spool Release use the docked Floating Action Button (`InspectionDockedFab`) for standardized photo uploads directly to `/api/inspection-history`.
- **iOS UI:** iOS uses native Cupertino pickers and action sheets for date and dropdowns.
## 1) Weld Log Entry
Use this screen to update welding-related fields from a single form.
### Fields
Required:
- Fit-up Date (`fit_up_date`)
- Fit-up Report Number (`fit_up_report_no`)
Optional:
- Welding Date (`welding_date`)
- Welding Report Number (`welding_report_no`)
- Welding Report Date (`welding_report_date`)
- WPS No (`wps_no`)
- WPS Approval Date (`wps_approval_date`)
- Welder 1 (`welder_1`)
- Welder 2 (`welder_2`)
NDT:
- RT Result (`rt_result`)
- RT Report (`rt_report`)
- RT Test Date (`rt_test_date`)
- UT Result (`ut_result`)
- UT Report (`ut_report`)
- UT Test Date (`ut_test_date`)
- PT Result (`pt_result`)
- PT Report (`pt_report`)
- PT Test Date (`pt_test_date`)
- MT Result (`mt_result`)
- MT Report (`mt_report`)
- MT Test Date (`mt_test_date`)
- VT Result (`vt_result`)
- VT Report (`vt_report`)
- VT Test Date (`date_of_vt`)
### Validation
- Fit-up Date is required and cannot be in the future.
- Welding Date cannot be before Fit-up Date.
- WPS Approval Date cannot be before Fit-up Date or Welding Date.
- NDT test dates should be on or after welding dates.
### Save
Tap Save to update the record in `weld_logs`.
### Bulk Update
Use the bulk icon to select multiple joints, then tap **Update Selected**.
## 2) Punch Update
Use this screen to close or update punch items.
### Fields
- Status (`status`)
- Cleared By Name (`items_cleared_by_name`)
- Cleared Date (`items_cleared_by_close_date`)
### Save
Tap Save to update the record in `punch_lists`.
## 3) Repair Status Entry
Use this screen to track repair progress.
### Fields
- Repair Status (`repair_status`)
- Repair Qty (`repair_qty`)
- Repair Completed (`repair_completed`)
- Repair Remaining (`repair_remaining`)
- Repair Date (`repair_date`)
### Save
Tap Save to update the record in `repair_logs`.
## 4) NDT Request
Use this screen to update joint-based NDT results.
### Fields
- RT Result (`rt_result`)
- UT Result (`ut_result`)
- PT Result (`pt_result`)
- MT Result (`mt_result`)
- VT Result (`vt_result`)
### Save
Tap Save to update the record in `weld_logs`.
## 5) RFI Create
Use this screen to create a new RFI record.
### Fields
- Project No (`project_no`)
- Discipline (`discipline`)
- RFI No (`rfi_no`)
- Inspection Date (`inspection_date`)
### Save
Tap Create to add a record in `r_f_i_s`.
## 6) RFI Update
Use this screen to update existing RFIs.
### Fields
- Status (`status`)
- Result Date (`result_date`)
### Save
Tap Save to update the record in `r_f_i_s`.
## 7) Ferrite Entry
Use this screen for ferrite test updates.
### Fields
- Ferrite Request Date (`ferrite_request_date`)
- Tester Name (`tester_name`)
- Ferrite Result (`result_ferrite`)
### Save
Tap Save to update the record in `ferrits`.
## 8) PMI Entry
Use this screen for PMI test updates.
### Fields
- PMI Request Date (`pmi_request_date`)
- Tester Name (`tester_name`)
- PMI Result (`pmi_result`)
### Save
Tap Save to update the record in `p_m_i_tests`.
## 9) Spool/NDT/Paint Release
Use this unified screen to manage spool area, NDT, and paint releases from a single view.
### Process
- Instead of finding separate menus for each release step, select the target record.
- Tapping a record row directly edits the specific release stage data via bottom sheets.
- Manage Spool, Paint, and Area Release states respectively.
### Save
Tap Save inside the respective step's modal bottom sheet.
## Notes
- If you do not see changes, fully restart the mobile app.
- Some fields are optional and can be left empty.
- If permissions block access, contact your admin to enable the module.
## Backend Endpoints Used
- `POST /api/weld_logs/read`, `POST /api/weld_logs/update`, `POST /api/weld_logs/summary` (totalCount + SUM(nps_1) for footer)
- `POST /api/punch_lists/read` and `POST /api/punch_lists/update`
- `POST /api/repair_logs/read` and `POST /api/repair_logs/update`
- `POST /api/r_f_i_s/read`, `POST /api/r_f_i_s/create`, `POST /api/r_f_i_s/update`
- `POST /api/ferrits/read` and `POST /api/ferrits/update`
- `POST /api/p_m_i_tests/read` and `POST /api/p_m_i_tests/update`
- `POST /api/spools/read` and `POST /api/spools/update`
- `POST /api/construction_paint_logs/read` and `POST /api/construction_paint_logs/update`
- `GET /api/inspection-history/list` and `POST /api/inspection-history/upload`