dhpgemrdhs92092 1.250815.12029 → 1.250816.11509
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +8 -8
- package/package.json +1 -1
package/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! [dist-pg-services.js]; ===WEBPACK BUILD: 1.25.
|
1
|
+
/*! [dist-pg-services.js]; ===WEBPACK BUILD: 1.25.0816.1509=== */
|
2
2
|
(() => {
|
3
3
|
var e = {
|
4
4
|
4466: (e, n, t) => {
|
@@ -2275,10 +2275,10 @@
|
|
2275
2275
|
},
|
2276
2276
|
logError: u,
|
2277
2277
|
logStarted: function() {
|
2278
|
-
return O("🚀- ".concat(p, "; 🅥:").concat("1.25.
|
2278
|
+
return O("🚀- ".concat(p, "; 🅥:").concat("1.25.0816.1509"))
|
2279
2279
|
},
|
2280
2280
|
logEnded: function() {
|
2281
|
-
return O("🔜 - ".concat(p, "; 🅥:").concat("1.25.
|
2281
|
+
return O("🔜 - ".concat(p, "; 🅥:").concat("1.25.0816.1509", " 🔚"))
|
2282
2282
|
},
|
2283
2283
|
DirectoryPathLogs: c,
|
2284
2284
|
logInfoObject: function(e) {
|
@@ -3437,7 +3437,7 @@
|
|
3437
3437
|
name: "badt_dhs.insertTPPrescription",
|
3438
3438
|
para: ["input_json"],
|
3439
3439
|
returns: "JSONB",
|
3440
|
-
codesql: "\n\n\nCREATE TABLE IF NOT EXISTS badt_dhs.insert_log (\n id SERIAL PRIMARY KEY,\n tpc_code TEXT, -- Mã tờ điều trị (iddienbien)\n patient_code TEXT, -- Mã bệnh nhân\n admission_code TEXT, -- Mã tiếp nhận\n error_message TEXT, -- Nội dung lỗi\n error_detail TEXT, -- Chi tiết lỗi nếu cần\n log_time TIMESTAMP DEFAULT now(), -- Thời gian lỗi\n raw_json JSONB -- Dữ liệu đầu vào\n);\n\nCREATE OR REPLACE FUNCTION badt_dhs.insertTPPrescription(input_json JSONB)\nRETURNS JSONB AS $$\nDECLARE\n-- Lastest commit: author:onghaup; date: 2025-08-13 15:47:37\n-- ===============================================================\n-- Thực hiện: NGUYỄN TRIỀU VƯƠNG - 2025-06-10\n-- Hàm: badt_dhs.insertTPPrescription(input_json JSONB)\n-- Mô tả:\n-- - input_json: nội dung file json được get về từ ...\n-- Sử dụng:\n-- SELECT badt_dhs.insertTPPrescription(input_json JSONB); --Insert,update vào current.chungtu, current.pshdxn, current.pstonkho từ DHS\n-- ===============================================================\n--json mẫu\n-- ===============================================================\n-- Tạo bảng ghi log lỗi\n--================================================================\n--ngay_uong INT := COALESCE((input_json->>'DatOfUse')::NUMERIC, 0);\n--voucherdate TIMESTAMP:= input_json->>'VoucherDate'; --VoucherDate: Ngày phiếu thuốc. => ngayhd\n-- Kiểm tra IDDienBien\n--RETURN FALSE;\n-- lấy pcchandoan\n-- Lấy madt\n-- Lấy ngày giờ diễn biến\n--Lấy tài khoản bs\n-- Lấy tháng/năm kế toán\n-- Kiểm tra trùng chứng từ\n-- Gọi hàm xóa toa\n-- Duyệt qua từng thuốc trong đơn\n-- Lấy ngày uống\n-- Kiểm tra tất cả thuốc trong toa còn đủ xuất thì mới tiến hành xuất thuốc\n-- soluong := COALESCE((pres_item->>'OriDispenseQty')::NUMERIC, 0);\n-- [ÔNG TRIỆU HẬU - 2025-08-13] Chỉnh lại lấy cột số lượng đúng theo qui ước EMR \n--Lây khochan\n-- Lặp qua các lô tồn kho còn hạn dùng\n-- In dữ liệu từng dòng để kiểm tra\n-- IN số lượng còn lại\n--sl_lay NUMERIC := soluong;\n--sl_lay NUMERIC := LEAST(so_con_lai, r_stock.toncuoi);\n-- Ghi chi tiết vào pshdxh (mỗi lô 1 dòng)\n-- Cập nhật tồn kho\n-- Cộng vào tổng\n-- In dữ liệu từng dòng để kiểm tra\n-- Trừ số còn lại\n-- Nếu vẫn còn thiếu thuốc, ghi log lỗi\n--RETURN FALSE;\n-- Chèn 1 dòng tổng vào CHUNGTU\n--Lấy chẩn đoán chứng từ\n TPCode TEXT := input_json->>'TPCode'; --mã tờ điều trị: iddienbien\n AdmissionCode TEXT := input_json->>'AdmissionCode'; --makb\n MedicalRecordNo TEXT := input_json->>'MedicalRecordNo'; -- maba\n PatientCode TEXT := input_json->>'PatientCode'; --mabn\n EmployeeCode TEXT := input_json->>'EmployeeCode'; --manv\n TreatmentDoctorCode TEXT:= input_json->>'TreatmentDoctorCode'; --manv: chỉ định diễn biến\n PresCode TEXT := input_json->>'PresCode'; --sohd\n ngay TIMESTAMP:= input_json->>'Ngay';\n voucherdate_text TEXT:= input_json->>'VoucherDate'; --VoucherDate: Ngày phiếu thuốc. => ngayhd\n isdischarge BOOLEAN:= input_json->>'IsDischarge'; --\x3e> TRUE: Toa xuất viện, FALSE: toa bình thường\n\n madt_nt TEXT; -- mã đối tượng, lấy cho đủ số liệu, toa thuốc mới lên module\n madv_nt TEXT; -- mã khoa, lấy cho đủ số liệu, toa thuốc mới lên module\n maicd_nt TEXT; --maicd, lấy cho đủ số liệu, toa thuốc mới lên module\n kqcdoan_nt TEXT;--kqcdoan, lấy cho đủ số liệu, toa thuốc mới lên module\n maicdp_nt TEXT; --maicdp , lấy cho đủ số liệu, toa thuốc mới lên module\n kqcdoanp_nt TEXT;--kqcdoanp , lấy cho đủ số liệu, toa thuốc mới lên module\n \n mayhct_nt TEXT; --mayhct\n tenyhct_nt TEXT;--tenyhct\n pcchandoan TEXT := ';';\n chandoan_ct TEXT;\n cdoan TEXT := '';\n cdoanp TEXT := '';\n\n thangnam TEXT;\n thangkt_S TEXT; -- thangkt, lấy cho đủ số liệu, toa thuốc mới lên module\n namkt_S TEXT; --namkt, lấy cho đủ số liệu, toa thuốc mới lên module\n\n ngayhd DATE;\n ngaylap DATE;\n giolap TIMESTAMP;\n toaxv NUMERIC := 0;\n\n\n pres JSONB;\n pres_item JSONB;\n idx INT;\n soluong NUMERIC;\n ngay_uong INT:= 0;\n sang NUMERIC := 0;\n trua NUMERIC := 0;\n chieu NUMERIC := 0;\n toi NUMERIC := 0;\n lieu_dung TEXT;\n cachuong TEXT;\n inv_code TEXT; --sohd\n khoCode TEXT; --khole\n khochan_ct TEXT; --khochan\n so_con_lai NUMERIC;\n tong_thanhtien NUMERIC := 0;\n tong_thanhtienbhyt NUMERIC := 0;\n tong_thanhtienvat NUMERIC := 0;\n loaitoa_ct NUMERIC := 0;\n noitru_nt NUMERIC := 1; --noitru, lấy cho đủ số liệu, toa thuốc mới lên module\n loaixn_nt TEXT := 'xbb'; --loaixn, lấy cho đủ số liệu, toa thuốc mới lên module\n\n taikhoan_nt TEXT;--taikhoan: lập phiếu\n manv_nt TEXT;--manv: lập phiếu\n mathe_nt TEXT;--manv: lập phiếu\n\n db_ngaygio TIMESTAMP;\n r_stock RECORD;\n stt_nt INT;\n pres_success BOOLEAN := TRUE;\n ct_thanhtoan TEXT := ''; --'': Toa BH, '1': Toa thu phí\n ishi BOOLEAN := TRUE; --\x3e> TRUE: Toa BHYT, FALSE: Toa thu phí\n\n toncuoi_ps NUMERIC:= 0;\n \nBEGIN\n\n IF NOT EXISTS (SELECT 1 FROM current.qtdieutri WHERE iddienbien = TPCode) THEN\n INSERT INTO badt_dhs.insert_log(tpc_code, patient_code, admission_code,\n error_message, error_detail, raw_json)\n VALUES (TPCode, PatientCode, AdmissionCode,\n 'Không tìm thấy IDdienbien', format('TPCode %s không tồn tại trong qtdieutri', TPCode), input_json);\n \t\t pres_success := FALSE;\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('IDdienbien %s không tồn tại', TPCode)\n );\n END IF;\n\t\t\n SELECT giatri INTO pcchandoan from current.system where tents = 'pcchandoan';\n SELECT madt, madv, maicd, kqcdoan, maicdp, kqcdoanp, mathe, mayhct, tenyhct INTO madt_nt, madv_nt, maicd_nt, kqcdoan_nt, maicdp_nt, kqcdoanp_nt, mathe_nt, mayhct_nt, tenyhct_nt -- lấy cho đủ số liệu\n FROM current.bnnoitru\n WHERE mabn = PatientCode AND maba = MedicalRecordNo AND makb = AdmissionCode;\n\n /*\n SELECT ngaygio INTO db_ngaygio\n FROM current.qtdieutri\n WHERE iddienbien = TPCode;\n */\n ngayhd := CASE WHEN voucherdate_text = '' THEN ngay::DATE ELSE voucherdate_text::DATE END; --Vuong chỉnh 05/08/2025\n toaxv := CASE WHEN isdischarge::BOOLEAN = FALSE THEN 0 ELSE 1 END; --Toa xuất viện\n ngaylap := ngay::DATE;\n giolap := CASE WHEN voucherdate_text = '' THEN ngay::TIMESTAMP ELSE voucherdate_text::TIMESTAMP END; --Vuong chỉnh 06/08/2025\n SELECT taikhoan, manv INTO taikhoan_nt, manv_nt\n FROM current.dmnhanvien\n WHERE manv = EmployeeCode OR manv = TreatmentDoctorCode;\n\n IF madt_nt IS NULL THEN\n \tpres_success := FALSE;\n RAISE EXCEPTION 'Không tìm thấy mã điều trị';\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('Không tìm thấy bệnh nhân %s', PatientCode)\n );\n END IF;\n\n SELECT giatri INTO thangnam FROM current.system WHERE tents = 'thanglv';\n thangkt_S := SPLIT_PART(thangnam, '/', 1);\n namkt_S := SPLIT_PART(thangnam, '/', 2);\n\n IF EXISTS (SELECT 1 FROM current.chungtu WHERE sohd = PresCode AND mabn = PatientCode AND makh = MedicalRecordNo AND iddienbien = TPCode) THEN\n PERFORM badt_dhs.deletetpprescription(input_json);\n END IF;\n\n pres := input_json->'Prescriptions';\n ngay_uong := (input_json->'Prescriptions'->0->>'DateOfUse')::INT;\n RAISE NOTICE 'Ngày uống 1: %',\n ngay_uong;\n FOR idx IN 0 .. jsonb_array_length(pres) - 1 LOOP\n pres_item := pres->idx;\n inv_code := pres_item->>'InventoryCode';\n khoCode := pres_item->>'StoreHouse';\n soluong := COALESCE((pres_item->>'DispenseQty')::NUMERIC, 0);\n toncuoi_ps := 0;\n SELECT khocpc INTO khochan_ct FROM current.dmkhocp WHERE khocp = khoCode;\n\n SELECT SUM(COALESCE(tk.toncuoi - tk.tamxuat,0)) as ps_toncuoi INTO toncuoi_ps\n FROM current.pstonkho tk\n WHERE tk.mahh = inv_code\n AND tk.khocp = khoCode\n AND tk.thangkt = thangkt_S\n AND tk.namkt = namkt_S\n AND COALESCE(tk.xoa, 0) = 0 ;\n\n IF toncuoi_ps < soluong THEN\n pres_success := FALSE;\n INSERT INTO badt_dhs.insert_log(tpc_code, patient_code, admission_code,\n error_message, error_detail, raw_json)\n VALUES(TPCode, PatientCode, AdmissionCode,\n format('Số lượng thuốc %s: tồn kho %s không đủ xuất', inv_code, toncuoi_ps), '', input_json);\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('Số lượng thuốc %s: tồn kho %s không đủ xuất', inv_code,toncuoi_ps));\n END IF;\n END LOOP;\n IF pres_success THEN\n FOR idx IN 0 .. jsonb_array_length(pres) - 1 LOOP\n pres_item := pres->idx;\n ishi := pres_item->>'IsHI'; --True: Toa BH, False: Toa thu phí\n inv_code := pres_item->>'InventoryCode';\n khoCode := pres_item->>'StoreHouse';\n soluong := COALESCE((pres_item->>'DispenseQty')::NUMERIC, 0); -- Đổi từ OriDispenseQty --\x3e DispenseQty\n so_con_lai := soluong;\n stt_nt := COALESCE((pres_item->>'OrderNo')::INT, idx + 1);\n\n sang := COALESCE((pres_item->>'MorningQty')::NUMERIC, 0);\n trua := COALESCE((pres_item->>'MiddayQty')::NUMERIC, 0);\n chieu := COALESCE((pres_item->>'AfternoonQty')::NUMERIC, 0);\n toi := COALESCE((pres_item->>'EveningQty')::NUMERIC, 0);\n\n lieu_dung := pres_item->>'Sudung';\n cachuong := pres_item->>'Cachuong';\n \n\t\t \n IF ishi THEN\n ct_thanhtoan := '';\n loaitoa_ct = 1; --BH\n ELSE\n ct_thanhtoan := '1';\n madt_nt := '06';\n loaitoa_ct = 0; --TP\n END IF;\n \n FOR r_stock IN\n SELECT tk.mahh, tk.handung, tk.solo, tk.visa, tk.toncuoi - tk.tamxuat as toncuoi, tk.giavat, k.giaxuat, k.giabhyt, k.bhyt\n FROM current.pstonkho tk\n JOIN current.dmkho k ON tk.mahh = k.mahh\n WHERE tk.mahh = inv_code\n AND tk.khocp = khoCode\n AND tk.thangkt = thangkt_S\n AND tk.namkt = namkt_S\n AND COALESCE(tk.xoa, 0) = 0\n\t\t AND COALESCE(tk.uutien, '') != '2' --2: Cấm xuất\n AND tk.toncuoi > 0\n AND tk.toncuoi - tk.tamxuat > 0\n ORDER BY tk.uutien ASC, tk.handung DESC\n\n LOOP\n RAISE NOTICE 'Lô: %, Hạn dùng: %, SL tồn: %, Giá xuất: %',\n r_stock.solo, r_stock.handung, r_stock.toncuoi, r_stock.giaxuat;\n RAISE NOTICE 'SL: %',\n soluong;\n\n DECLARE\n sl_lay NUMERIC := LEAST(so_con_lai, r_stock.toncuoi);\n\n BEGIN\n RAISE NOTICE '--SỐ Lượng lấy: %',sl_lay;\n IF pres_success AND sl_lay > 0 THEN\n INSERT INTO current.pshdxn(\n sohd, iddienbien, mabn, makh,\n mahh, ngayhd, ngaylap, giolap, madv,\n soluong, sang, trua, chieu, toi, lieu_dung, cachuong,\n giaban, giavat,giabhyt, thanhtien, thanhtienbhyt, bhyt,\n handung, solo, visa, thangkt, namkt,\n stt, loaixn,noitru,khole, toaxv,\n madt, khochan,theodon,tienvat,tenmay,loaitoa,thanhtoan ) --them 06/08/2025\n VALUES (\n PresCode, tpcode, PatientCode, MedicalRecordNo,\n inv_code, ngayhd, ngaylap, giolap, madv_nt,\n sl_lay, sang, trua, chieu, toi, lieu_dung, cachuong,\n r_stock.giaxuat, r_stock.giavat, r_stock.giabhyt, r_stock.giaxuat * sl_lay, r_stock.giabhyt * sl_lay, r_stock.bhyt,\n r_stock.handung, r_stock.solo, r_stock.visa, thangkt_S, namkt_S,\n stt_nt,loaixn_nt,noitru_nt,khoCode, toaxv,\n madt_nt,khochan_ct,sl_lay,r_stock.giavat * sl_lay,'',loaitoa_ct, ct_thanhtoan --thêm 06/08/2025\n );\n\n RAISE NOTICE 'Tồn kho mahh: %, khocp: %, Giá vat: %, HD: %, số lô:%',\n inv_code, khoCode, r_stock.giavat, r_stock.handung, r_stock.solo;\n\n UPDATE current.pstonkho\n SET tamxuat = COALESCE(tamxuat, 0) + COALESCE(sl_lay,0)\n WHERE COALESCE(mahh,'') = COALESCE(inv_code,'')\n AND COALESCE(giavat,0) = COALESCE(r_stock.giavat,0)\n AND COALESCE(khocp,'') = COALESCE(khoCode,'')\n AND COALESCE(handung,'') = COALESCE(r_stock.handung,'')\n AND COALESCE(solo,'') = COALESCE(r_stock.solo,'')\n\t\t\t AND COALESCE(thangkt,'') = COALESCE(thangkt_S,'')\n AND COALESCE(namkt,'') = COALESCE(namkt_S,'');\n\n RAISE NOTICE '--Tính tổng';\n tong_thanhtien := tong_thanhtien + (r_stock.giaxuat * soluong);\n tong_thanhtienbhyt := tong_thanhtienbhyt + (r_stock.giabhyt * soluong);\n tong_thanhtienvat := tong_thanhtienvat + (r_stock.giavat * soluong);\n RAISE NOTICE 'Tổng thành tiền: %, Giá xuất: %, SL: %, SL còn lại: %',\n tong_thanhtien, r_stock.giaxuat, soluong, so_con_lai;\n so_con_lai := so_con_lai - sl_lay;\n RAISE NOTICE '--Cập nhật thành công';\n END IF;\n END;\n END LOOP;\n\n IF so_con_lai > 0 THEN\n pres_success := FALSE;\n INSERT INTO badt_dhs.insert_log(tpc_code, patient_code, admission_code,\n error_message, error_detail, raw_json)\n VALUES(TPCode, PatientCode, AdmissionCode,\n format('Không đủ thuốc %s: thiếu %s đơn vị', inv_code, so_con_lai), '', input_json);\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('Không đủ thuốc %s: thiếu %s đơn vị', inv_code,so_con_lai)\n );\n END IF;\n END LOOP;\n END IF;\n\n\tBEGIN\n \tIF pres_success THEN\n IF ishi THEN\n ct_thanhtoan := '';\n loaitoa_ct = 1; --BH\n ELSE\n ct_thanhtoan := '1';\n madt_nt := '06';\n loaitoa_ct = 0; --TP\n END IF;\n IF tenyhct_nt != '' THEN\n cdoan := tenyhct_nt || ' [' || kqcdoan_nt || ']';\n cdoanp := CASE WHEN kqcdoanp_nt = '' THEN '' ELSE pcchandoan || kqcdoanp_nt END;\n chandoan_ct := cdoan || cdoanp;\n ELSE\n cdoan := kqcdoan_nt;\n cdoanp := CASE WHEN kqcdoanp_nt = '' THEN '' ELSE pcchandoan || kqcdoanp_nt END;\n chandoan_ct := cdoan || cdoanp;\n END IF;\n \n RAISE NOTICE 'Chứng từ ngày uống: %',\n ngay_uong;\n INSERT INTO current.chungtu(\n sohd, iddienbien, mabn, makh, madt, madv,\n manv, ngayuong, ghichu, khole,\n ngayhd, ngaylap, giolap, thanhtien, thangkt, namkt,\n loaixn,noitru, taikhoan, maicd, kqcdoan, maicdp, kqcdoanp, api, thanhtoan, toaxv,\n khochan,tienvat,tenmay,taikham,loaitoa,mathe,thanhtienbhyt,mayhct, tenyhct) --them 06/08/2025\n VALUES (\n PresCode, tpcode, PatientCode, MedicalRecordNo, madt_nt, madv_nt,\n manv_nt, ngay_uong, '', khoCode,\n ngayhd, ngaylap, giolap, tong_thanhtien, thangkt_S, namkt_S,\n loaixn_nt,noitru_nt,taikhoan_nt,maicd_nt,chandoan_ct,maicdp_nt,kqcdoanp_nt,1, ct_thanhtoan, toaxv,\n khochan_ct,tong_thanhtienvat,'',0,loaitoa_ct,mathe_nt,tong_thanhtienbhyt,mayhct_nt,tenyhct_nt --them 06/08/2025\n );\n\n RETURN jsonb_build_object(\n 'status', 'success',\n 'message', format('Thêm thành công chứng từ %s',PresCode)\n );\n END IF;\n EXCEPTION\n WHEN SQLSTATE '22001' THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM -- trả toàn bộ ngữ cảnh\n );\n WHEN OTHERS THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM\n );\n END;\n\n EXCEPTION\n WHEN SQLSTATE '22001' THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM\n );\n WHEN OTHERS THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM\n );\nEND;\n$$ LANGUAGE plpgsql;\n\n\n\n\n\n\n\n"
|
3440
|
+
codesql: "\n\n\nCREATE TABLE IF NOT EXISTS badt_dhs.insert_log (\n id SERIAL PRIMARY KEY,\n tpc_code TEXT, -- Mã tờ điều trị (iddienbien)\n patient_code TEXT, -- Mã bệnh nhân\n admission_code TEXT, -- Mã tiếp nhận\n error_message TEXT, -- Nội dung lỗi\n error_detail TEXT, -- Chi tiết lỗi nếu cần\n log_time TIMESTAMP DEFAULT now(), -- Thời gian lỗi\n raw_json JSONB -- Dữ liệu đầu vào\n);\n\nCREATE OR REPLACE FUNCTION badt_dhs.insertTPPrescription(input_json JSONB)\nRETURNS JSONB AS $$\nDECLARE\n-- Lastest commit: author:onghaup; date: 2025-08-15 21:42:05\n-- ===============================================================\n-- Thực hiện: NGUYỄN TRIỀU VƯƠNG - 2025-06-10\n-- Hàm: badt_dhs.insertTPPrescription(input_json JSONB)\n-- Mô tả:\n-- - input_json: nội dung file json được get về từ ...\n-- Sử dụng:\n-- SELECT badt_dhs.insertTPPrescription(input_json JSONB); --Insert,update vào current.chungtu, current.pshdxn, current.pstonkho từ DHS\n-- ===============================================================\n--json mẫu\n-- ===============================================================\n-- Tạo bảng ghi log lỗi\n--================================================================\n--ngay_uong INT := COALESCE((input_json->>'DatOfUse')::NUMERIC, 0);\n--voucherdate TIMESTAMP:= input_json->>'VoucherDate'; --VoucherDate: Ngày phiếu thuốc. => ngayhd\n-- Kiểm tra IDDienBien\n--RETURN FALSE;\n-- lấy pcchandoan\n-- Lấy madt\n-- Lấy ngày giờ diễn biến\n--Lấy tài khoản bs\n-- Lấy tháng/năm kế toán\n-- Kiểm tra trùng chứng từ\n-- Gọi hàm xóa toa\n-- Duyệt qua từng thuốc trong đơn\n-- Lấy ngày uống\n-- Kiểm tra tất cả thuốc trong toa còn đủ xuất thì mới tiến hành xuất thuốc\n-- soluong := COALESCE((pres_item->>'OriDispenseQty')::NUMERIC, 0);\n-- [ÔNG TRIỆU HẬU - 2025-08-13] Chỉnh lại lấy cột số lượng đúng theo qui ước EMR \n--Lây khochan\n-- Lặp qua các lô tồn kho còn hạn dùng\n-- In dữ liệu từng dòng để kiểm tra\n-- IN số lượng còn lại\n--sl_lay NUMERIC := soluong;\n--sl_lay NUMERIC := LEAST(so_con_lai, r_stock.toncuoi);\n-- Ghi chi tiết vào pshdxh (mỗi lô 1 dòng)\n-- Cập nhật tồn kho\n-- Cộng vào tổng\n-- In dữ liệu từng dòng để kiểm tra\n-- Trừ số còn lại\n-- Nếu vẫn còn thiếu thuốc, ghi log lỗi\n--RETURN FALSE;\n-- Chèn 1 dòng tổng vào CHUNGTU\n--Lấy chẩn đoán chứng từ\n TPCode TEXT := input_json->>'TPCode'; --mã tờ điều trị: iddienbien\n AdmissionCode TEXT := input_json->>'AdmissionCode'; --makb\n MedicalRecordNo TEXT := input_json->>'MedicalRecordNo'; -- maba\n PatientCode TEXT := input_json->>'PatientCode'; --mabn\n EmployeeCode TEXT := input_json->>'EmployeeCode'; --manv\n TreatmentDoctorCode TEXT:= input_json->>'TreatmentDoctorCode'; --manv: chỉ định diễn biến\n PresCode TEXT := input_json->>'PresCode'; --sohd\n ngay TIMESTAMP:= input_json->>'Ngay';\n voucherdate_text TEXT:= input_json->>'VoucherDate'; --VoucherDate: Ngày phiếu thuốc. => ngayhd\n isdischarge BOOLEAN:= input_json->>'IsDischarge'; --\x3e> TRUE: Toa xuất viện, FALSE: toa bình thường\n\n madt_nt TEXT; -- mã đối tượng, lấy cho đủ số liệu, toa thuốc mới lên module\n madv_nt TEXT; -- mã khoa, lấy cho đủ số liệu, toa thuốc mới lên module\n maicd_nt TEXT; --maicd, lấy cho đủ số liệu, toa thuốc mới lên module\n kqcdoan_nt TEXT;--kqcdoan, lấy cho đủ số liệu, toa thuốc mới lên module\n maicdp_nt TEXT; --maicdp , lấy cho đủ số liệu, toa thuốc mới lên module\n kqcdoanp_nt TEXT;--kqcdoanp , lấy cho đủ số liệu, toa thuốc mới lên module\n \n mayhct_nt TEXT; --mayhct\n tenyhct_nt TEXT;--tenyhct\n pcchandoan TEXT := ';';\n chandoan_ct TEXT;\n cdoan TEXT := '';\n cdoanp TEXT := '';\n\n thangnam TEXT;\n thangkt_S TEXT; -- thangkt, lấy cho đủ số liệu, toa thuốc mới lên module\n namkt_S TEXT; --namkt, lấy cho đủ số liệu, toa thuốc mới lên module\n\n ngayhd DATE;\n ngaylap DATE;\n giolap TIMESTAMP;\n toaxv NUMERIC := 0;\n\n\n pres JSONB;\n pres_item JSONB;\n idx INT;\n soluong NUMERIC;\n ngay_uong INT:= 0;\n sang NUMERIC := 0;\n trua NUMERIC := 0;\n chieu NUMERIC := 0;\n toi NUMERIC := 0;\n lieu_dung TEXT;\n cachuong TEXT;\n inv_code TEXT; --sohd\n khoCode TEXT; --khole\n khochan_ct TEXT; --khochan\n so_con_lai NUMERIC;\n tong_thanhtien NUMERIC := 0;\n tong_thanhtienbhyt NUMERIC := 0;\n tong_thanhtienvat NUMERIC := 0;\n loaitoa_ct NUMERIC := 0;\n noitru_nt NUMERIC := 1; --noitru, lấy cho đủ số liệu, toa thuốc mới lên module\n loaixn_nt TEXT := 'xbb'; --loaixn, lấy cho đủ số liệu, toa thuốc mới lên module\n\n taikhoan_nt TEXT;--taikhoan: lập phiếu\n manv_nt TEXT;--manv: lập phiếu\n mathe_nt TEXT;--manv: lập phiếu\n\n db_ngaygio TIMESTAMP;\n r_stock RECORD;\n stt_nt INT;\n pres_success BOOLEAN := TRUE;\n ct_thanhtoan TEXT := ''; --'': Toa BH, '1': Toa thu phí\n ishi BOOLEAN := TRUE; --\x3e> TRUE: Toa BHYT, FALSE: Toa thu phí\n\n toncuoi_ps NUMERIC:= 0;\n \nBEGIN\n\n IF NOT EXISTS (SELECT 1 FROM current.qtdieutri WHERE iddienbien = TPCode) THEN\n INSERT INTO badt_dhs.insert_log(tpc_code, patient_code, admission_code,\n error_message, error_detail, raw_json)\n VALUES (TPCode, PatientCode, AdmissionCode,\n 'Không tìm thấy IDdienbien', format('TPCode %s không tồn tại trong qtdieutri', TPCode), input_json);\n \t\t pres_success := FALSE;\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('IDdienbien %s không tồn tại', TPCode)\n );\n END IF;\n\t\t\n SELECT giatri INTO pcchandoan from current.system where tents = 'pcchandoan';\n SELECT madt, madv, maicd, kqcdoan, maicdp, kqcdoanp, mathe, mayhct, tenyhct INTO madt_nt, madv_nt, maicd_nt, kqcdoan_nt, maicdp_nt, kqcdoanp_nt, mathe_nt, mayhct_nt, tenyhct_nt -- lấy cho đủ số liệu\n FROM current.bnnoitru\n WHERE mabn = PatientCode AND maba = MedicalRecordNo AND makb = AdmissionCode;\n\n /*\n SELECT ngaygio INTO db_ngaygio\n FROM current.qtdieutri\n WHERE iddienbien = TPCode;\n */\n ngayhd := CASE WHEN voucherdate_text = '' THEN ngay::DATE ELSE voucherdate_text::DATE END; --Vuong chỉnh 05/08/2025\n toaxv := CASE WHEN isdischarge::BOOLEAN = FALSE THEN 0 ELSE 1 END; --Toa xuất viện\n ngaylap := ngay::DATE;\n giolap := CASE WHEN voucherdate_text = '' THEN ngay::TIMESTAMP ELSE voucherdate_text::TIMESTAMP END; --Vuong chỉnh 06/08/2025\n SELECT taikhoan, manv INTO taikhoan_nt, manv_nt\n FROM current.dmnhanvien\n WHERE manv = EmployeeCode OR manv = TreatmentDoctorCode;\n\n IF madt_nt IS NULL THEN\n \tpres_success := FALSE;\n RAISE EXCEPTION 'Không tìm thấy mã điều trị';\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('Không tìm thấy bệnh nhân %s', PatientCode)\n );\n END IF;\n\n SELECT giatri INTO thangnam FROM current.system WHERE tents = 'thanglv';\n thangkt_S := SPLIT_PART(thangnam, '/', 1);\n namkt_S := SPLIT_PART(thangnam, '/', 2);\n\n IF EXISTS (SELECT 1 FROM current.chungtu WHERE sohd = PresCode AND mabn = PatientCode AND makh = MedicalRecordNo AND iddienbien = TPCode) THEN\n PERFORM badt_dhs.deletetpprescription(input_json);\n END IF;\n\n pres := input_json->'Prescriptions';\n ngay_uong := (input_json->'Prescriptions'->0->>'DateOfUse')::INT;\n RAISE NOTICE 'Ngày uống 1: %',\n ngay_uong;\n FOR idx IN 0 .. jsonb_array_length(pres) - 1 LOOP\n pres_item := pres->idx;\n inv_code := pres_item->>'InventoryCode';\n khoCode := pres_item->>'StoreHouse';\n soluong := COALESCE((pres_item->>'DispenseQty')::NUMERIC, 0);\n toncuoi_ps := 0;\n SELECT khocpc INTO khochan_ct FROM current.dmkhocp WHERE khocp = khoCode;\n\n SELECT SUM(COALESCE(tk.toncuoi - tk.tamxuat,0)) as ps_toncuoi INTO toncuoi_ps\n FROM current.pstonkho tk\n WHERE tk.mahh = inv_code\n AND tk.khocp = khoCode\n AND tk.thangkt = thangkt_S\n AND tk.namkt = namkt_S\n AND COALESCE(tk.xoa, 0) = 0 ;\n\n IF toncuoi_ps < soluong THEN\n pres_success := FALSE;\n INSERT INTO badt_dhs.insert_log(tpc_code, patient_code, admission_code,\n error_message, error_detail, raw_json)\n VALUES(TPCode, PatientCode, AdmissionCode,\n format('Số lượng thuốc %s: tồn kho %s không đủ xuất', inv_code, toncuoi_ps), '', input_json);\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('Số lượng thuốc %s: tồn kho %s không đủ xuất', inv_code,toncuoi_ps));\n END IF;\n END LOOP;\n IF pres_success THEN\n FOR idx IN 0 .. jsonb_array_length(pres) - 1 LOOP\n pres_item := pres->idx;\n ishi := pres_item->>'IsHI'; --True: Toa BH, False: Toa thu phí\n inv_code := pres_item->>'InventoryCode';\n khoCode := pres_item->>'StoreHouse';\n soluong := COALESCE((pres_item->>'DispenseQty')::NUMERIC, 0); -- Đổi từ OriDispenseQty --\x3e DispenseQty\n so_con_lai := soluong;\n stt_nt := COALESCE((pres_item->>'OrderNo')::INT, idx + 1);\n\n sang := COALESCE((pres_item->>'MorningQty')::NUMERIC, 0);\n trua := COALESCE((pres_item->>'MiddayQty')::NUMERIC, 0);\n chieu := COALESCE((pres_item->>'AfternoonQty')::NUMERIC, 0);\n toi := COALESCE((pres_item->>'EveningQty')::NUMERIC, 0);\n\n lieu_dung := pres_item->>'Sudung';\n cachuong := pres_item->>'Cachuong';\n \n\t\t \n IF ishi THEN\n ct_thanhtoan := '';\n loaitoa_ct = 1; --BH\n ELSE\n ct_thanhtoan := '1';\n madt_nt := '06';\n loaitoa_ct = 0; --TP\n END IF;\n \n FOR r_stock IN\n SELECT tk.mahh, tk.handung, tk.solo, tk.visa, tk.toncuoi - tk.tamxuat as toncuoi, tk.giavat, k.giaxuat, k.giabhyt, k.bhyt\n FROM current.pstonkho tk\n JOIN current.dmkho k ON tk.mahh = k.mahh\n WHERE tk.mahh = inv_code\n AND tk.khocp = khoCode\n AND tk.thangkt = thangkt_S\n AND tk.namkt = namkt_S\n AND COALESCE(tk.xoa, 0) = 0\n\t\t AND COALESCE(tk.uutien, '') != '2' --2: Cấm xuất\n AND tk.toncuoi > 0\n AND tk.toncuoi - tk.tamxuat > 0\n ORDER BY tk.uutien ASC, tk.handung DESC\n\n LOOP\n RAISE NOTICE 'Lô: %, Hạn dùng: %, SL tồn: %, Giá xuất: %',\n r_stock.solo, r_stock.handung, r_stock.toncuoi, r_stock.giaxuat;\n RAISE NOTICE 'SL: %',\n soluong;\n\n DECLARE\n sl_lay NUMERIC := LEAST(so_con_lai, r_stock.toncuoi);\n\n BEGIN\n RAISE NOTICE '--SỐ Lượng lấy: %',sl_lay;\n IF pres_success AND sl_lay > 0 THEN\n INSERT INTO current.pshdxn(\n sohd, iddienbien, mabn, makh,\n mahh, ngayhd, ngaylap, giolap, madv,\n soluong, sang, trua, chieu, toi, lieu_dung, cachuong,\n giaban, giavat,giabhyt, thanhtien, thanhtienbhyt, bhyt,\n handung, solo, visa, thangkt, namkt,\n stt, loaixn,noitru,khole, toaxv,\n madt, khochan,theodon,tienvat,tenmay,loaitoa,thanhtoan ) --them 06/08/2025\n VALUES (\n PresCode, tpcode, PatientCode, MedicalRecordNo,\n inv_code, ngayhd, ngaylap, giolap, madv_nt,\n sl_lay, sang, trua, chieu, toi, lieu_dung, cachuong,\n r_stock.giaxuat, r_stock.giavat, r_stock.giabhyt, r_stock.giaxuat * sl_lay, r_stock.giabhyt * sl_lay, r_stock.bhyt,\n r_stock.handung, r_stock.solo, r_stock.visa, thangkt_S, namkt_S,\n stt_nt,loaixn_nt,noitru_nt,khoCode, toaxv,\n madt_nt,khochan_ct,sl_lay,r_stock.giavat * sl_lay,'',loaitoa_ct, ct_thanhtoan --thêm 06/08/2025\n );\n\n RAISE NOTICE 'Tồn kho mahh: %, khocp: %, Giá vat: %, HD: %, số lô:%',\n inv_code, khoCode, r_stock.giavat, r_stock.handung, r_stock.solo;\n\n UPDATE current.pstonkho\n SET tamxuat = COALESCE(tamxuat, 0) + COALESCE(sl_lay,0)\n WHERE COALESCE(mahh,'') = COALESCE(inv_code,'')\n AND COALESCE(giavat,0) = COALESCE(r_stock.giavat,0)\n AND COALESCE(khocp,'') = COALESCE(khoCode,'')\n AND COALESCE(handung,'') = COALESCE(r_stock.handung,'')\n AND COALESCE(solo,'') = COALESCE(r_stock.solo,'')\n\t\t\t AND COALESCE(thangkt,'') = COALESCE(thangkt_S,'')\n AND COALESCE(namkt,'') = COALESCE(namkt_S,'');\n\n RAISE NOTICE '--Tính tổng';\n tong_thanhtien := tong_thanhtien + (r_stock.giaxuat * soluong);\n tong_thanhtienbhyt := tong_thanhtienbhyt + (r_stock.giabhyt * soluong);\n tong_thanhtienvat := tong_thanhtienvat + (r_stock.giavat * soluong);\n RAISE NOTICE 'Tổng thành tiền: %, Giá xuất: %, SL: %, SL còn lại: %',\n tong_thanhtien, r_stock.giaxuat, soluong, so_con_lai;\n so_con_lai := so_con_lai - sl_lay;\n RAISE NOTICE '--Cập nhật thành công';\n END IF;\n END;\n END LOOP;\n\n IF so_con_lai > 0 THEN\n pres_success := FALSE;\n INSERT INTO badt_dhs.insert_log(tpc_code, patient_code, admission_code,\n error_message, error_detail, raw_json)\n VALUES(TPCode, PatientCode, AdmissionCode,\n format('Không đủ thuốc %s: thiếu %s đơn vị', inv_code, so_con_lai), '', input_json);\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', format('Không đủ thuốc %s: thiếu %s đơn vị', inv_code,so_con_lai)\n );\n END IF;\n END LOOP;\n END IF;\n\n\tBEGIN\n \tIF pres_success THEN\n IF ishi THEN\n ct_thanhtoan := '';\n loaitoa_ct = 1; --BH\n ELSE\n ct_thanhtoan := '1';\n madt_nt := '06';\n loaitoa_ct = 0; --TP\n END IF;\n IF tenyhct_nt != '' THEN\n cdoan := tenyhct_nt || ' [' || kqcdoan_nt || ']';\n cdoanp := CASE WHEN kqcdoanp_nt = '' THEN '' ELSE pcchandoan || kqcdoanp_nt END;\n chandoan_ct := cdoan || cdoanp;\n ELSE\n cdoan := kqcdoan_nt;\n cdoanp := CASE WHEN kqcdoanp_nt = '' THEN '' ELSE pcchandoan || kqcdoanp_nt END;\n chandoan_ct := cdoan || cdoanp;\n END IF;\n \n RAISE NOTICE 'Chứng từ ngày uống: %',\n ngay_uong;\n INSERT INTO current.chungtu(\n sohd, iddienbien, mabn, makh, madt, madv,\n manv, ngayuong, ghichu, khole,\n ngayhd, ngaylap, giolap, thanhtien, thangkt, namkt,\n loaixn,noitru, taikhoan, maicd, kqcdoan, maicdp, kqcdoanp, api, thanhtoan, toaxv,\n khochan,tienvat,tenmay,taikham,loaitoa,mathe,thanhtienbhyt,mayhct, tenyhct) --them 06/08/2025\n VALUES (\n PresCode, tpcode, PatientCode, MedicalRecordNo, madt_nt, madv_nt,\n manv_nt, ngay_uong, '', khoCode,\n ngayhd, ngaylap, giolap, tong_thanhtien, thangkt_S, namkt_S,\n loaixn_nt,noitru_nt,taikhoan_nt,maicd_nt,chandoan_ct,maicdp_nt,kqcdoanp_nt,1, ct_thanhtoan, toaxv,\n khochan_ct,tong_thanhtienvat,'',0,loaitoa_ct,mathe_nt,tong_thanhtienbhyt,mayhct_nt,tenyhct_nt --them 06/08/2025\n );\n\n RETURN jsonb_build_object(\n 'status', 'success',\n 'message', format('Thêm thành công chứng từ %s',PresCode)\n );\n END IF;\n EXCEPTION\n WHEN SQLSTATE '22001' THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM -- trả toàn bộ ngữ cảnh\n );\n WHEN OTHERS THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM\n );\n END;\n\n EXCEPTION\n WHEN SQLSTATE '22001' THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM\n );\n WHEN OTHERS THEN\n RETURN jsonb_build_object(\n 'status', 'error',\n 'message', SQLERRM\n );\nEND;\n$$ LANGUAGE plpgsql;\n\n\n\n\n\n\n\n"
|
3441
3441
|
},
|
3442
3442
|
"badt_dhs.GetSyncDepartment": {
|
3443
3443
|
name: "badt_dhs.GetSyncDepartment",
|
@@ -3515,13 +3515,13 @@
|
|
3515
3515
|
name: "badt_dhs.getSyncMedicalServiceItem",
|
3516
3516
|
para: ["macls"],
|
3517
3517
|
returns: "text",
|
3518
|
-
codesql: "\n\n\n\n\nCREATE OR REPLACE FUNCTION badt_dhs.getSyncMedicalServiceItem(macls text DEFAULT NULL)\nRETURNS text\nLANGUAGE plpgsql\nAS $$\nDECLARE\n-- Lastest commit: author:onghaup; date: 2025-08-
|
3518
|
+
codesql: "\n\n\n\n\nCREATE OR REPLACE FUNCTION badt_dhs.getSyncMedicalServiceItem(macls text DEFAULT NULL)\nRETURNS text\nLANGUAGE plpgsql\nAS $$\nDECLARE\n-- Lastest commit: author:onghaup; date: 2025-08-16 14:33:07\n-- Thực hiện: NGUYỄN QUỐC HOÀ - 2025-05-22\n-- Hàm: badt_dhs.getSyncMedicalServiceItem(macls TEXT DEFAULT NULL)\n-- Mô tả: Danh mục CLS\n-- - Nếu macls IS NULL hoặc rỗng ('') => trả toàn bộ dữ liệu\n-- - Nếu macls có giá trị cụ thể => lọc theo maloai\n--\n-- Sử dụng:\n-- SELECT badt_dhs.getSyncMedicalServiceItem(); -- Trả toàn bộ CLS\n-- SELECT badt_dhs.getSyncMedicalServiceItem(''); -- Trả toàn bộ CLS\n-- SELECT badt_dhs.getSyncMedicalServiceItem('XN'); -- Chỉ loại CLS mã 'XN'\n-- ===============================================================\n-- Gửi thành công [](https://i.ibb.co/TMMk33ZZ/e-MJQT7-Va1o.png)\n--[ÔNG TRIỆU HẬU: 2025-08-09] Nếu tt37 khác 1 thì Khóa lại\n--https://docs.google.com/spreadsheets/d/1guIZ-cWoBRHd_9Kmv0G2gK82LvGR_VZEed0s6VybRq4/edit?gid=0#gid=0\n result text;\n p_macls ALIAS FOR macls;\nBEGIN\n SELECT json_agg(row_data)::text\n INTO result\n FROM (\n SELECT\n cls.macls AS \"MedSerCode\", \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t-- Mã dịch vụ\n CASE WHEN cls.kho IN ('MU','PT','TT','XN','OX','HA','CN') THEN cls.maloai ELSE cls.maloai END AS \"MSTypeCode\", \t-- Mã loại\n cls.tencls AS \"MedSerName\",\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t-- Tên dịch vụ\n CASE WHEN (cls.sudung = 1 AND COALESCE(tt37,0)=1) THEN FALSE ELSE TRUE END AS \"IsBlocked\", -- Khoá\n COALESCE(cls.bhyt,0) AS \"IsHI\", --[ÔNG TRIỆU HẬU - 2025-07-09] EMR có yêu cầu bổ sung IsHI để nhận diện đối tượng Dịch vụ, \n COALESCE(cls.tt37,0) AS TT37 --[ÔNG TRIỆU HẬU: 2025-08-09] Thêm dấu hiệu để biết TT37\n FROM current.dmcls cls \n WHERE\n p_macls IS NULL OR p_macls = '' OR cls.macls = p_macls\n ) AS row_data;\n RETURN result;\nEND;\n$$;\n\n"
|
3519
3519
|
},
|
3520
3520
|
"badt_dhs.getSyncMedSerType": {
|
3521
3521
|
name: "badt_dhs.getSyncMedSerType",
|
3522
3522
|
para: ["maloai"],
|
3523
3523
|
returns: "text",
|
3524
|
-
codesql: "\n\n\n\n\nCREATE OR REPLACE FUNCTION badt_dhs.getSyncMedSerType(maloai text DEFAULT NULL)\nRETURNS text\nLANGUAGE plpgsql\nAS $$\nDECLARE\n-- Lastest commit: author:
|
3524
|
+
codesql: "\n\n\n\n\nCREATE OR REPLACE FUNCTION badt_dhs.getSyncMedSerType(maloai text DEFAULT NULL)\nRETURNS text\nLANGUAGE plpgsql\nAS $$\nDECLARE\n-- Lastest commit: author:onghaup; date: 2025-08-16 14:33:07\n-- Thực hiện: NGUYỄN QUỐC HOÀ - 2025-05-22\n-- Hàm: badt_dhs.getSyncMedSerType(maloai TEXT DEFAULT NULL)\n-- Mô tả: Danh mục loại CLS\n-- - Nếu maloai IS NULL hoặc rỗng ('') => trả toàn bộ dữ liệu\n-- - Nếu maloai có giá trị cụ thể => lọc theo maloai\n--\n-- Sử dụng:\n-- SELECT badt_dhs.getSyncMedSerType(); -- Trả toàn bộ loại CLS\n-- SELECT badt_dhs.getSyncMedSerType(''); -- Trả toàn bộ loại CLS\n-- SELECT badt_dhs.getSyncMedSerType('XN'); -- Chỉ loại CLS mã 'XN'\n-- ===============================================================\n-- Gửi thành công [](https://i.ibb.co/LDzhJGgx/LUt-Z5-CLm-QR.png)\n--MAU - Máu\n--PTTT - Phẫu thuật/ thủ thuật\n--XN - Xét nghiệm\n--OXY - Ô xy\n--CDHA - Chẩn đoán hình ảnh\n--VLTL - Vật lý trị liệu\n--CCUU - Châm cứu\n--HC - Hội chẩn\n--TDCN - Thăm dò chắc năng\n--loai.kho NOT IN ('KB','CV','CV2','DV','GB','SO')\n result text;\n p_maloai ALIAS FOR maloai;\nBEGIN\n SELECT json_agg(row_data)::text\n INTO result\n FROM (\n SELECT\n NULL AS \"PMSTypeCode\",\t\t\t\t\t\t--Mã Cha\n loai.maloai AS \"MSTypeCode\", -- Mã loại\n loai.tenloai AS \"MSTypeName\", \t-- Tên loại\n FALSE AS \"IsBlocked\",\t \t\t\t\t\t-- Khoá\n CASE WHEN loai.kho = 'MU' THEN 'MAU'\n \t\t WHEN loai.kho IN ('PT','TT') THEN 'PTTT'\n WHEN loai.kho = 'XN' THEN 'XN'\n WHEN loai.kho = 'OX' THEN 'OXY'\n WHEN loai.kho = 'HA' THEN 'CDHA'\n WHEN loai.kho = 'CN' THEN 'TDCN'\n\t\t\t ELSE '' END AS \"V_ServiceKind\" \t\t\t--Nhóm :\n FROM current.dmloaicls loai\n WHERE\n p_maloai IS NULL OR p_maloai = '' OR loai.maloai = p_maloai\n ) AS row_data;\n RETURN result;\nEND;\n$$;\n\n"
|
3525
3525
|
},
|
3526
3526
|
"badt_dhs.InsertCUTPParaClinRequest": {
|
3527
3527
|
name: "badt_dhs.InsertCUTPParaClinRequest",
|
@@ -31524,7 +31524,7 @@
|
|
31524
31524
|
return t.apply(this, arguments)
|
31525
31525
|
}, e.next = 4, n();
|
31526
31526
|
case 4:
|
31527
|
-
l.logInfo("pg-services-emr-dhs, version: ".concat("1.25.
|
31527
|
+
l.logInfo("pg-services-emr-dhs, version: ".concat("1.25.0816.1509")), l.logInfoObject({
|
31528
31528
|
PGDATA_HOST: f,
|
31529
31529
|
PGDATA_DATABASE: q,
|
31530
31530
|
PGDATA_PORT: W
|
@@ -31582,4 +31582,4 @@
|
|
31582
31582
|
e.killed || (l.logInfo("psdangkySyncDCHG timeout after ".concat(n, "(ms), terminating...")), e.kill("SIGTERM"))
|
31583
31583
|
}), n)
|
31584
31584
|
}))
|
31585
|
-
})();/*! [dist-pg-services.js]; ===WEBPACK BUILD: 1.25.
|
31585
|
+
})();/*! [dist-pg-services.js]; ===WEBPACK BUILD: 1.25.0816.1509=== */
|