-แก้ไข search พร้อม fonction ใหม่
This commit is contained in:
33
@knowleadge/dbchange/11252025.txt
Normal file
33
@knowleadge/dbchange/11252025.txt
Normal 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;
|
||||||
@@ -60,7 +60,7 @@ export class projectAdd {
|
|||||||
prjusrseq: req.body.request.prjusrseq,
|
prjusrseq: req.body.request.prjusrseq,
|
||||||
prjwntbdg: req.body.request.prjwntbdg,
|
prjwntbdg: req.body.request.prjwntbdg,
|
||||||
prjacpbdg: '0.00',
|
prjacpbdg: '0.00',
|
||||||
prjbdgcod: req.body.request.prjbdgcod,
|
prjbdgcod: '',
|
||||||
prjcomstt: req.body.request.prjcomstt,
|
prjcomstt: req.body.request.prjcomstt,
|
||||||
prjacpdtm: req.body.request.prjacpdtm
|
prjacpdtm: req.body.request.prjacpdtm
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,13 +51,19 @@ export class projectSearch {
|
|||||||
prjnam,
|
prjnam,
|
||||||
usrthinam as prjusrnam,
|
usrthinam as prjusrnam,
|
||||||
prjwntbdg,
|
prjwntbdg,
|
||||||
bdgnam,
|
|
||||||
|
|
||||||
|
${database}.translatebdg(
|
||||||
|
(
|
||||||
|
SELECT string_agg(DISTINCT trnbdgcod, ',')
|
||||||
|
FROM ${database}.trnmst
|
||||||
|
WHERE trnprjseq = prjseq
|
||||||
|
)
|
||||||
|
) as bdgnam,
|
||||||
(
|
(
|
||||||
SELECT string_agg(DISTINCT trnbdgcod, ',')
|
SELECT string_agg(DISTINCT trnbdgcod, ',')
|
||||||
FROM ${database}.trnmst
|
FROM ${database}.trnmst
|
||||||
WHERE trnprjseq = p.prjseq
|
WHERE trnprjseq = prjseq
|
||||||
) as approved_bdg_codes,
|
) as bdgcod,
|
||||||
|
|
||||||
p.prjacpbdg,
|
p.prjacpbdg,
|
||||||
${database}.translatedtl('COMSTT', prjcomstt) as prjcomstt,
|
${database}.translatedtl('COMSTT', prjcomstt) as prjcomstt,
|
||||||
|
|||||||
Reference in New Issue
Block a user