prod125njac/prod125njac-back-b/authsec_node/Backend/Functions/buildExtensionByFormCode.js

60 lines
2.4 KiB
JavaScript

const db = require("../config/database")
async function executeQuery(sql, values) {
const connection = await db.getConnection()
try {
const [rows] = await connection.execute(sql, values)
return rows
} finally {
connection.release()
}
}
async function buildExtensionByFormCode(acc_id, formId) {
const sql = `SELECT * FROM rn_ext_field_t WHERE account_id='${acc_id}' AND id='${formId}'`
const extension = await executeQuery(sql)
// console.log(extension)
let extension_entry_form = []
let extension_grid_form = []
if (!extension || extension.length === 0) {
return { message: "Extension Fields Not Found" }
} else {
// for (const extension of extensions) {
const data_type = extension[0].data_type
const mapping = extension[0].mapping
const f_code = extension[0].form_code
// console.log(mapping)
const field_name = extension[0].field_name
const ext = `,\"extValue\":\"${mapping}\"`
let fieldInfo = {}
if (data_type === "textfield") {
fieldInfo = `{\"fieldName\":\"" + ${field_name} + "\",\"fieldType\":\"text\",\"fieldValue\":\"\",\"formCode\":\"" + ${f_code} + "\"" + ${ext} + "},`
} else if (data_type === "date") {
fieldInfo = `{\"fieldName\":\"" + ${field_name} + "\",\"fieldType\":\"date\",\"fieldValue\":\"\",\"formCode\":\"" + ${f_code} + "\"" + ${ext} + "},`
} else if (data_type === "l_textfield") {
fieldInfo = `{\"fieldName\":\"" + ${field_name} + "\",\"fieldType\":\"textarea\",\"fieldValue\":\"\",\"formCode\":\"" + ${f_code} + "\"" + ${ext} + "},`
} else if (data_type === "checkbox") {
fieldInfo = `{\"fieldName\":\"" + ${field_name} + "\",\"fieldType\":\"checkbox\",\"fieldValue\":\"\",\"formCode\":\"" + ${f_code} + "\"" + ${ext} + "},`
} else if (data_type === "autocomplete") {
fieldInfo = `{\"fieldName\":\"" + ${field_name} + "\",\"fieldType\":\"text\",\"fieldValue\":\"\",\"formCode\":\"" + ${f_code} + "\"" + ${ext} + "},`
} else if (data_type === "text") {
fieldInfo = `{\"fieldName\":\"" + ${field_name} + "\",\"fieldType\":\"text\",\"fieldValue\":\"\",\"formCode\":\"" + ${f_code} + "\"" + ${ext} + "},`
}
extension_entry_form.push(fieldInfo)
// Extension grid-view code
extension_grid_form.push(
`{prop: \"" + ${mapping} + "\", name: \"" + ${field_name} + "\", width: 200},\n`
)
// }
}
return extension_entry_form
}
module.exports = { buildExtensionByFormCode }