330 Commits

Author SHA1 Message Date
Nut.ไปเรื่อย 540130f52c fix(form_1_2): guard null date/start_working before .Value to prevent 500
continuous-integration/drone/push Build is passing
GetForm2Report ("ร1. แบบฟอร์มเสนอขอปรับเปลี่ยนชื่อตำแหน่ง") called
.Value on nullable DateTime fields unconditionally, crashing with
InvalidOperationException whenever a record's date or start_working
was null — exactly what happened for form_1_2_uid
377a46dc-7131-4b58-ac7e-c9b54900ac34 (date is null in production).
Mirrors the null-check pattern the sibling GetForm3Report already
uses for the same kind of field.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0153wBt23EjW125ZsADwWVAs
2026-09-08 12:48:44 +07:00
Nut.ไปเรื่อย 3ce12e73fc feat(agency_report): แสดงข้อ 13.1-13.4 วิสัยทัศน์/ค่านิยม/เอกลักษณ์/อัตลักษณ์ ในรายงาน
continuous-integration/drone/push Build is passing
เดิมรายงานยังผูกกับ checkbox แบบเก่า 7 ตัวเลือก (bool_13_1-7) ที่หน้าเว็บไม่ได้ใช้แล้ว
เปลี่ยนเป็นแสดงชื่อ+ตัวชี้วัดที่เลือกจริงของแต่ละหมวด (รวมข้อความด้วยขึ้นบรรทัดใหม่)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyqMVwbVZLfTe8QJSmrUjQ
2026-09-02 07:27:13 +07:00
Nut.ไปเรื่อย 1dbec66fb2 style(kpi-finance): use colored / emoji for บรรลุ/ไม่บรรลุ
continuous-integration/drone/push Build is passing
Requested a rounder icon-badge look closer to a reference screenshot;
color glyph emoji render that way natively in Excel without needing
manual font-color styling (which colored ✓/✗ can't fully replicate).
2026-09-01 15:50:39 +07:00
Nut.ไปเรื่อย 413f141593 style(kpi-finance): make the บรรลุ/ไม่บรรลุ mark bolder and colored
continuous-integration/drone/push Build is passing
Was a plain black "√"/"X" at the same 16pt as the rest of the row.
Now: green ✓ (#2E7D32) for achieved, red ✗ (#C62828) for not achieved,
bold, 20pt.
2026-09-01 15:41:43 +07:00
Nut.ไปเรื่อย ebb67d536f style(kpi): change strategic-issue header band color to #CAD1EB
Was XLColor.PurpleX11; requested lighter blue-purple for the
kpi_performance_result Excel export section header bars.
2026-09-01 12:10:46 +07:00
Nut.ไปเรื่อย 966d34d1fe fix(kpi): don't number vision/values/uniqueness/identity as strategic issues
continuous-integration/drone/push Build is passing
Add is_reference_section flag to header_data/detail_kpi_data so the
kpi_performance_result and detail_kpi Excel exports render the 4
reference-indicator sections (วิสัยทัศน์/ค่านิยม/เอกลักษณ์/อัตลักษณ์)
with their bare category name instead of a "ประเด็นยุทธ์ศาสตร์ที่ N"
prefix, and skip them in the real strategic-issue numbering.
2026-08-31 15:34:23 +07:00
Nut.ไปเรื่อย 076f8ed4d7 fix(kpi): move vision/values/uniqueness/identity sections above the strategic indicator table
continuous-integration/drone/push Build is passing
Matches the field order on the budget policy form itself, where these
4 categories are entered before ประเด็นยุทธศาสตร์/เป้าหมายหลัก/ตัวชี้วัดกลยุทธ์.
2026-08-27 11:20:40 +07:00
Nut.ไปเรื่อย bbfcaa088e feat(kpi): render vision/values/uniqueness/identity indicator sections in budget policy Excel export
continuous-integration/drone/push Build is passing
Mirrors the existing indicator table layout for the 4 new reference
sections coming from rmutr-api (unit, target value, 3 responsible-role
columns), reusing the same 8-column styling as the strategic indicators.
2026-08-26 19:15:26 +07:00
Nut.ไปเรื่อย e2fcd26b8f feat: emit live Excel formulas for operating-expense subtotal rows
continuous-integration/drone/push Build is passing
Switch the xls/xlsx export in GetExpensesReport from FastReport's
Excel2007Export (which always writes static numbers) to a ClosedXML-
built workbook, so subtotal/header rows get real =SUM-style FormulaA1
formulas instead of pre-computed values. Row hierarchy is inferred
generically from the "no" field's dot-depth and the expenditure_budget
indentation prefix, so it works for any request, not just one record.
pdf/doc export still uses the FastReport .frx template, unchanged.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LvxSgUzvZcd4mXfDWGssxm
2026-08-26 12:04:26 +07:00
Nut.ไปเรื่อย ec4b99f53e feat: emit live Excel formulas for ร.15 revenue-estimate semester rows
continuous-integration/drone/push Build is passing
Replace static computed values for F/H/J/L/N/P/R with FormulaA1 cell
formulas (=B-D, =(F*10)/100, etc.) so the exported report is auditable
and recalculates in Excel, matching a reference ร15.xlsx. P/R now use
the per-row contribution/framework percent passed from rmutr-api
instead of a fixed 40%.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KhYYmBPw4LhYXoDnTNz2xV
2026-08-05 11:27:28 +07:00
Nut.ไปเรื่อย a9172dd5ef Add Excel SUM formulas for header rows in equipment five-year report
continuous-integration/drone/push Build is passing
Replace hardcoded aggregated values with Excel SUM formulas at each
hierarchy level: พื้นที่ (area) sums detail rows, คณะ (faculty) sums
area rows, ผลผลิต (output) sums faculty rows, แผนงาน (plan) sums
output rows — for columns I-M (price_1 through price_5).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 11:24:07 +07:00
kamonwan taengsuk 910cb84b09 Bug Fixed
continuous-integration/drone/push Build is passing
2025-08-06 16:16:44 +07:00
kamonwan taengsuk 6cf455d37b upgrade .net
continuous-integration/drone/push Build is passing
2025-08-06 13:17:28 +07:00
kamonwan taengsuk cf506ae3f9 Fix color
continuous-integration/drone/push Build is passing
2025-06-30 14:00:10 +07:00
kamonwan taengsuk 5d4509b121 Fix color
continuous-integration/drone/push Build is passing
2025-06-30 13:22:35 +07:00
kamonwan taengsuk d18005c6c5 Fix color 2025-06-19 14:15:30 +07:00
kamonwan taengsuk 667609ce73 Fix color
continuous-integration/drone/push Build is passing
2025-06-19 11:17:56 +07:00
kamonwan taengsuk 1fecc2fb9c Bug Fixed
continuous-integration/drone/push Build is passing
2025-05-28 16:24:55 +07:00
kamonwan taengsuk ab9de38b48 Bug Fixed 2025-03-19 16:15:25 +07:00
kamonwan taengsuk 5e9cdba67a Bug Fixed 2025-03-19 16:11:43 +07:00
kamonwan taengsuk 335c760260 Bug Fixed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2025-03-19 16:02:28 +07:00
kamonwan taengsuk fc127f2ab6 Bug Fixed
continuous-integration/drone/push Build is passing
2025-03-01 14:12:56 +07:00
kamonwan taengsuk c5e56063e2 Bug Fixed
continuous-integration/drone/push Build is passing
2025-02-25 19:09:42 +07:00
kamonwan taengsuk a4b9c896dd Bug Fixed
continuous-integration/drone/push Build is passing
2025-02-21 21:27:34 +07:00
kamonwan taengsuk 5d2d463a8c Bug Fixed
continuous-integration/drone/push Build is passing
2025-02-21 14:46:51 +07:00
kamonwan taengsuk 731803e190 Add สงป 301
continuous-integration/drone/push Build is passing
2025-02-20 11:59:31 +07:00
kamonwan taengsuk a49490890e Bug Fixed
continuous-integration/drone/push Build is passing
2025-02-05 17:55:31 +07:00
kamonwan taengsuk 5abb0843e4 Fix Report
continuous-integration/drone/push Build is passing
2025-01-27 12:01:44 +07:00
kamonwan taengsuk 9a4f0e95ea Change Name Report
continuous-integration/drone/push Build is passing
2025-01-27 11:49:16 +07:00
kamonwan taengsuk c0f203eef8 Add Report
continuous-integration/drone/push Build is passing
2025-01-27 11:11:12 +07:00
kamonwan taengsuk e298ba30cb add color font frx
continuous-integration/drone/push Build is passing
2024-11-25 17:32:27 +07:00
kamonwan taengsuk 2aa5821fff edit format excel
continuous-integration/drone/push Build is passing
2024-10-04 13:18:29 +07:00
kamonwan taengsuk ca8e2cd529 Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-25 11:02:59 +07:00
kamonwan taengsuk 70b81462ed Add ง4 v_1
continuous-integration/drone/push Build is passing
2024-09-24 11:07:23 +07:00
kamonwan taengsuk 767cd57cb5 Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-19 18:25:53 +07:00
kamonwan taengsuk 62b89761e4 Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-19 16:30:47 +07:00
kamonwan taengsuk 7a8a09e336 Update
continuous-integration/drone/push Build is passing
2024-09-19 14:22:51 +07:00
kamonwan taengsuk 106a978269 Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-19 13:09:51 +07:00
kamonwan taengsuk 8e237bbb5b Resize text
continuous-integration/drone/push Build is passing
2024-09-18 12:16:42 +07:00
kamonwan taengsuk 270216d8d7 Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-18 11:04:45 +07:00
kamonwan taengsuk f26091d1c7 Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-17 16:02:39 +07:00
kamonwan taengsuk 438286ba8b Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-04 15:27:55 +07:00
kamonwan taengsuk fe5bea66d7 Bug Fixed
continuous-integration/drone/push Build is passing
2024-09-04 14:20:02 +07:00
kamonwan taengsuk 6e62fa7286 Bug Fixed
continuous-integration/drone/push Build is passing
2024-08-30 11:18:04 +07:00
kamonwan taengsuk 47d0145272 Bug Fixed
continuous-integration/drone/push Build is passing
2024-08-30 10:45:51 +07:00
kamonwan taengsuk f3c022b8fb WrapText
continuous-integration/drone/push Build is passing
2024-08-29 18:30:39 +07:00
kamonwan taengsuk fa07e5428e Bug Fixed
continuous-integration/drone/push Build is passing
2024-08-29 16:15:00 +07:00
kamonwan taengsuk 053e87d51f Resize Font
continuous-integration/drone/push Build is passing
2024-08-29 16:03:50 +07:00
kamonwan taengsuk d36bb505e0 Bug Fixed
continuous-integration/drone/push Build is passing
2024-08-29 15:24:57 +07:00
kamonwan taengsuk e9e51a0dfc Bug Fixed
continuous-integration/drone/push Build is passing
2024-08-29 15:15:39 +07:00