-แก้ไข search พร้อม fonction ใหม่
All checks were successful
Build Docker Image / Build Docker Image (push) Successful in 3m10s
Build Docker Image / Restart Docker Compose (push) Successful in 0s

This commit is contained in:
x2Skyz
2025-11-25 16:10:10 +07:00
parent 0f176deb1b
commit 1cb3a2bc2d
3 changed files with 44 additions and 5 deletions

View File

@@ -0,0 +1,33 @@
-- FUNCTION: dbo.translatebdg(text)
-- DROP FUNCTION IF EXISTS dbo.translatebdg(text);
CREATE OR REPLACE FUNCTION dbo.translatebdg(
p_bdgcod text)
RETURNS text
LANGUAGE 'plpgsql'
COST 100
VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLARE
resultName TEXT;
BEGIN
-- ใช้ string_to_array เพื่อแยก text '24,33' เป็น array ['24','33']
-- ใช้ ANY เพื่อหาว่า bdgcod อยู่ใน array นั้นไหม
-- ใช้ string_agg เพื่อรวมชื่อที่ได้กลับมาเป็น text เดียว คั่นด้วย ', '
SELECT string_agg(bdgnam, ', ')
INTO resultName
FROM dbo.bdgmst
WHERE bdgcod = ANY(string_to_array(p_bdgcod, ','));
-- ถ้าหาไม่เจอเลย ให้คืนค่าเดิมกลับไป (Optional: หรือจะคืน NULL ก็ได้)
IF resultName IS NULL THEN
RETURN p_bdgcod;
END IF;
RETURN resultName;
END;
$BODY$;
ALTER FUNCTION dbo.translatebdg(text)
OWNER TO postgres;

View File

@@ -60,7 +60,7 @@ export class projectAdd {
prjusrseq: req.body.request.prjusrseq,
prjwntbdg: req.body.request.prjwntbdg,
prjacpbdg: '0.00',
prjbdgcod: req.body.request.prjbdgcod,
prjbdgcod: '',
prjcomstt: req.body.request.prjcomstt,
prjacpdtm: req.body.request.prjacpdtm
}

View File

@@ -50,14 +50,20 @@ export class projectSearch {
prjseq,
prjnam,
usrthinam as prjusrnam,
prjwntbdg,
bdgnam,
prjwntbdg,
${database}.translatebdg(
(
SELECT string_agg(DISTINCT trnbdgcod, ',')
FROM ${database}.trnmst
WHERE trnprjseq = prjseq
)
) as bdgnam,
(
SELECT string_agg(DISTINCT trnbdgcod, ',')
FROM ${database}.trnmst
WHERE trnprjseq = p.prjseq
) as approved_bdg_codes,
WHERE trnprjseq = prjseq
) as bdgcod,
p.prjacpbdg,
${database}.translatedtl('COMSTT', prjcomstt) as prjcomstt,