From 05dfb9a39e50c08bc83640c315781997896c9b72 Mon Sep 17 00:00:00 2001 From: x2Skyz Date: Mon, 17 Nov 2025 14:36:32 +0700 Subject: [PATCH] .... --- exthernal-ttc-api/.env | 4 ++-- .../src/controllers/budgetAddController.js | 9 ++++++--- exthernal-ttc-api/src/interfaces/Interface.js | 12 ++++++++---- exthernal-ttc-api/src/services/budgetAddService.js | 8 ++++---- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/exthernal-ttc-api/.env b/exthernal-ttc-api/.env index b94ec4d..c93c6dd 100644 --- a/exthernal-ttc-api/.env +++ b/exthernal-ttc-api/.env @@ -2,9 +2,9 @@ PJ_NAME=exthernal-ttc-api # database -PG_HOST=localhost +PG_HOST=10.9.0.0 PG_USER=postgres -PG_PASS=123456 +PG_PASS=ttc@2026 PG_DB=ttc PG_PORT=5432 diff --git a/exthernal-ttc-api/src/controllers/budgetAddController.js b/exthernal-ttc-api/src/controllers/budgetAddController.js index 3b0e3af..6b3b01d 100644 --- a/exthernal-ttc-api/src/controllers/budgetAddController.js +++ b/exthernal-ttc-api/src/controllers/budgetAddController.js @@ -33,17 +33,20 @@ export class budgetAdd { let id = req.body.request.bdgseq; database = decoded.organization - aryResult = await this.budgetAddService.getBudgetAdd(database, id, name); // เช็คกับ db กลาง ส่ง jwttoken ออกมา + aryResult = await this.budgetAddService.getBudgetAdd(database, name); // เช็คกับ db กลาง ส่ง jwttoken ออกมา // this.generalService.devhint(1, 'budgetSearch.js', 'Login success'); } catch (error) { idx = 1; } finally { if (idx === 1) return sendError('เกิดข้อผิดพลาดไม่คาดคิดเกิดขึ้น', 'Unexpected error'); - if (!aryResult) return sendError('ไม่พบการมีอยู่ของข้อมูล', 'Cannot Find Any Data'); - + // if (!aryResult) return sendError('ไม่พบการมีอยู่ของข้อมูล', 'Cannot Find Any Data'); + if (aryResult == 0){ let prommis = await this.makeArySave(req); return prommis + } else { + return sendError('คีย์หลักซ้ำในระบบ', 'Duplicate Primary Key'); + } } } diff --git a/exthernal-ttc-api/src/interfaces/Interface.js b/exthernal-ttc-api/src/interfaces/Interface.js index cc7047e..2b0f2b4 100644 --- a/exthernal-ttc-api/src/interfaces/Interface.js +++ b/exthernal-ttc-api/src/interfaces/Interface.js @@ -2,6 +2,10 @@ import jwt from 'jsonwebtoken' import { BdgmstInterface } from './table/bdgmstInterface.js' // import { ActmstInterface } from './actmstInterface.js' +// ------------------------------- +// GLOBAL FILE +// ----------------------------- + export class Interface { constructor() { @@ -21,7 +25,7 @@ export class Interface { // ------------------------------ const handler = this.map[tableName.toLowerCase()] if (!handler) { - throw new Error(`Interface not found for table: ${tableName}`) + return new Error(`Interface not found for table: ${tableName}`) } // ------------------------------ @@ -29,18 +33,18 @@ export class Interface { // ------------------------------ const token = req.headers.authorization?.split(' ')[1] if (!token) { - throw new Error('Missing token in request header') + return new Error('Missing token in request header') } let decoded try { decoded = jwt.verify(token, process.env.JWT_SECRET) } catch (err) { - throw new Error('Invalid token: ' + err.message) + return new Error('Invalid token: ' + err.message) } const schema = decoded.organization // ⭐ ได้ schema ที่ต้องการ - if (!schema) throw new Error("Token missing 'organization' field") + if (!schema) return new Error("Token missing 'organization' field") // ------------------------------ // ✔ 3) ส่งงานไปยัง interface ของ table นั้น ๆ diff --git a/exthernal-ttc-api/src/services/budgetAddService.js b/exthernal-ttc-api/src/services/budgetAddService.js index 2c6d51d..23e77cc 100644 --- a/exthernal-ttc-api/src/services/budgetAddService.js +++ b/exthernal-ttc-api/src/services/budgetAddService.js @@ -6,15 +6,15 @@ export class BudgetAddService { this.generalService = new GeneralService() } - async getBudgetAdd(database, id, name) { + async getBudgetAdd(database, name) { const sql = ` SELECT bdgseq, bdgnam FROM ${database}.bdgmst - WHERE bdgseq = $1 AND bdgnam = $2 - ` - const params = [id, name] + WHERE bdgnam = $1 +s ` + const params = [name] const result = await this.generalService.executeQueryParam(database, sql, params); return result }