2025-11-17 11:36:04 +07:00
|
|
|
import { BudgetSearchService } from '../services/budgetSearchService.js'
|
2025-11-17 09:03:36 +07:00
|
|
|
import { sendError } from '../utils/response.js'
|
|
|
|
|
// import { OftenError } from '../utils/oftenError.js'
|
|
|
|
|
import { GeneralService } from '../share/generalservice.js';
|
|
|
|
|
import { trim_all_array } from '../utils/trim.js'
|
|
|
|
|
import { verifyToken, generateToken } from '../utils/token.js'
|
|
|
|
|
|
2025-11-17 11:36:04 +07:00
|
|
|
export class budgetSearch {
|
2025-11-17 09:03:36 +07:00
|
|
|
|
|
|
|
|
constructor() {
|
|
|
|
|
this.generalService = new GeneralService();
|
2025-11-17 11:36:04 +07:00
|
|
|
this.budgetSearchService = new BudgetSearchService();
|
2025-11-17 09:03:36 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async onNavigate(req, res) {
|
2025-11-17 11:36:04 +07:00
|
|
|
this.generalService.devhint(1, 'budgetSearch.js', 'onNavigate() start');
|
2025-11-17 09:03:36 +07:00
|
|
|
let organization = req.body.organization;
|
2025-11-17 11:36:04 +07:00
|
|
|
const prommis = await this.onBudgetSearch(req, res, organization);
|
2025-11-17 09:03:36 +07:00
|
|
|
return prommis;
|
|
|
|
|
}
|
|
|
|
|
|
2025-11-17 11:36:04 +07:00
|
|
|
async onBudgetSearch(req, res, database) {
|
2025-11-17 09:03:36 +07:00
|
|
|
let idx = -1
|
|
|
|
|
let aryResult = []
|
|
|
|
|
try {
|
|
|
|
|
// let username = req.body.request.username;
|
|
|
|
|
// let password = req.body.request.password;
|
2025-11-17 15:21:33 +07:00
|
|
|
let token = req.headers.authorization?.split(' ')[1];
|
2025-11-17 09:03:36 +07:00
|
|
|
const decoded = verifyToken(token);
|
|
|
|
|
|
|
|
|
|
let id = decoded.id
|
|
|
|
|
let username = decoded.name
|
|
|
|
|
database = decoded.organization
|
2025-11-17 15:25:18 +07:00
|
|
|
let columnParams = req.query.column
|
2025-11-17 15:21:33 +07:00
|
|
|
var column = ""
|
|
|
|
|
if(columnParams == 'edit'){
|
|
|
|
|
column = `bdgseq, bdgnam, bdgcod, bdgttl`
|
|
|
|
|
} else if(columnParams == 'result' || columnParams == undefined || columnParams == ''){
|
|
|
|
|
column = `bdgnam, bdgttl`
|
|
|
|
|
}
|
2025-11-17 15:25:18 +07:00
|
|
|
aryResult = await this.budgetSearchService.getBudgetSearch(database, id, column);
|
|
|
|
|
|
2025-11-17 09:03:36 +07:00
|
|
|
} catch (error) {
|
|
|
|
|
idx = 1;
|
|
|
|
|
} finally {
|
|
|
|
|
if (idx === 1) return sendError('เกิดข้อผิดพลาดไม่คาดคิดเกิดขึ้น', 'Unexpected error');
|
|
|
|
|
if (!aryResult) return sendError('ไม่พบการมีอยู่ของข้อมูล', 'Cannot Find Any Data');
|
|
|
|
|
return aryResult
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|