![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/keeview_app/html/ |
Upload File : |
'use strict'; data_module.makeDatabaseCommon = function(content){ var i, keys; keys = Object.keys(content); keys.forEach(function(item){ data_module[item] = {}; data_module[item].items = content[item]; data_module[item].getIndex = function(id){ for (var i = 0; i < data_module[item].items.length; i++){ if (data_module[item].items[i].id == id) return i; } return -1; } if (item == "processes"){ var x = contentModule.getProcessesSystem(); var index; for (var i = 0; i < x.length; i++){ index = data_module.processes.getIndex(x[i].id); if (index < 0){ data_module.processes.items.unshift(x[i]); } else { data_module.processes.items[index].name = x[i].name; data_module.processes.items[index].value = x[i].value; } } } }); }; data_module.loadInputFormList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); // rs(form_module.defaultInputFormForPrimitiveType().concat(content)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadMobileInputFormList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_mobile_load_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); // rs(form_module.defaultInputFormForPrimitiveType().concat(content)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadMobileOutputFormList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'output_form_mobile_load_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); // rs(form_module.defaultInputFormForPrimitiveType().concat(content)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOutputFormList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'output_form_load_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); // rs(form_module.defaultOutputFormForPrimitiveType().concat(content)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadType_listsList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["typelists"], function(){ var content = data_module.getDataTablesFromCache("typelists"); content.forEach((cur) => { cur.content = EncodingClass.string.toVariable(cur.content); }); rs(content); }); }); }; data_module.loadFormConfig = function(){ return new Promise(function(rs, rj){ data_module.loadTables( ["configs"], function () { var configs = data_module.getDataTablesFromCache("configs"); var content = []; for (var i = 0; i < configs.length; i++){ if (configs[i].name == "form_config"){ content.push(configs[i]); break; } } var systemVariable = contentModule.getSystemVariable(); var dict = {}; if (content.length == 0){ systemVariable.forEach(function(elt){ dict[elt.task] = elt; if (hr.isMobile){ dict[elt.task].input_form = dict[elt.task].mobile_input_form dict[elt.task].output_form = dict[elt.task].mobile_output_form } }); } else { var form_config = EncodingClass.string.toVariable(content[0].content); systemVariable.forEach(function(elt){ dict[elt.task] = elt; if (form_config[elt.task]){ dict[elt.task].typeid = form_config[elt.task].typeid; if (hr.isMobile) { if (form_config[elt.task].mobile_input_form != 0) dict[elt.task].input_form = form_config[elt.task].mobile_input_form; if (form_config[elt.task].mobile_output_form != 0) dict[elt.task].output_form = form_config[elt.task].mobile_output_form; } else { if (form_config[elt.task].input_form != 0) dict[elt.task].input_form = form_config[elt.task].input_form; if (form_config[elt.task].output_form != 0) dict[elt.task].output_form = form_config[elt.task].output_form; } } }); } rs(dict); } ); }); }; data_module.loadDataCommon = function(){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_common"}, {name: "privSystem", value: systemconfig.privSystem} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); data_module.employeeOfMe = content.employeeOfMe; delete content.employeeOfMe; if (content.config_checkin.length > 0){ var x = EncodingClass.string.toVariable(content.config_checkin[0].content); hr.maximumDistance = x.distance_checkin; } else { hr.maximumDistance = 100; } delete content.config_checkin; if (systemconfig.privSystem < 2){ data_module.admin_rights_of_me = {}; for (var i = 0; i < content.admin_rights_of_me.length; i++){ data_module.admin_rights_of_me[content.admin_rights_of_me[i].priv] = true; } delete content.admin_rights_of_me; } data_module.makeDatabaseCommon(content); resolve(); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadTypeList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["typelists"], function(){ rs(data_module.getDataTablesFromCache("typelists")); }); }); }; data_module.loadFormContent = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: 'database_load.php', params: [ {name: 'task', value: 'input_form_load_by_id'}, {name: 'id', value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); if (content.length == 0) { ModalElement.alert({message: "error"}); reject("error"); } else { content[0].content = EncodingClass.string.toVariable(content[0].content); resolve(content[0].content); } } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadMobileFormContent = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: 'database_load.php', params: [ {name: 'task', value: 'input_form_mobile_load_by_id'}, {name: 'id', value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); if (content.length == 0) { ModalElement.alert({message: "error"}); reject("error"); } else { content[0].content = EncodingClass.string.toVariable(content[0].content); resolve(content[0].content); } } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadUsersList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_users_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPeoplesList = function(checkFunc){ return new Promise(function(rs, rj){ data_module.loadTables(["peoples"], function(){ rs(data_module.getDataTablesFromCache("peoples", checkFunc)); }); }); }; data_module.loadOrgsList = function(checkFunc){ return new Promise(function(rs, rj){ data_module.loadTables(["orgs"], function(){ rs(data_module.getOrgsFromCache(checkFunc)); }); }); }; data_module.loadEmployeesListByOrgid = function(orgid){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_employees_by_orgid'}, {name: "orgid", value: orgid} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadEmployeesList = function(checkFunc){ return new Promise(function(rs, rj){ data_module.loadTables(["employees"], function(){ rs(data_module.getEmpsFromCache(checkFunc)); }); }); }; data_module.loadTemplateGroupList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_template_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadEmployeeManagersList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["employee_managers"], function(){ rs(data_module.getDataTablesFromCache("employee_managers")); }); }); }; data_module.loadGeoposOrgsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'load_geopos_orgs_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadEmployeePositionsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'load_employee_position_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadEmployeePositions2List = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'load_employee_position_2_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPositionsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_positions_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPositions2List = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_positions_2_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadGeographiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_geographies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadWorktimeMachinesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_worktime_machines'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPositionsListByOrgid = function(orgid){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_positions_list_by_orgid'}, {name: "orgid", value: orgid}, ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPositionById2 = function(id){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_positions_by_id'}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; // data_module.loadPositionById = function(id){ // return new Promise(function(rs, rj){ // FormClass.api_call({ // url: "database_load.php", // params: [ // {name: "task", value: 'position_load_by_id'}, // {name: "orgid", value: 0}, // {name: "id", value: id}, // ], // func: function(success, message){ // if (success){ // if (message.substr(0, 2) == 'ok'){ // var content = EncodingClass.string.toVariable(message.substr(2)); // rs(content); // } // else { // ModalElement.alert({message: message}); // } // } // else { // ModalElement.alert({message: message}); // } // } // }) // }); // }; data_module.generateOrgSelectItems = function(){ return new Promise(function(resolve, reject){ data_module.loadOrgsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs}); contentModule.makeOrgsIndex(host); resolve(contentModule.getOrgsListSelectTreeMenu(host)); }, function(rj){ console.log(rj); reject(); }); }); }; data_module.generatePositionSelectItems = function(orgid){ return new Promise(function(resolve, reject){ data_module.loadPositionsListByOrgid(orgid).then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {positions: rs}); resolve(contentModule.getPositionsListSelectMenu(host)); }, function(rj){ console.log(rj); reject(); }); }); }; data_module.loadStaticFragmentClasses = function () { var module = hr.input_form.fragmentClasses; if (module.staticLoaded) return; module.staticLoaded = true; var OOP = absol.OOP; var FmFragment = absol.form.FmFragment; var NotLoadedLayout = { tag: 'LinearLayout', style: { width: 'auto', height: 'auto' }, children: { tag: 'text', style: { top: 5, left: 5, right: 5, bottom: 5 }, attributes: { text: 'Lỗi, nếu chưa tải layout!' } } } function SelectPositionInDepartment() { FmFragment.call(this); this.positionSyncCache = {}; } OOP.mixClass(SelectPositionInDepartment, FmFragment); SelectPositionInDepartment.tag = 'unset';//chưa tải về database, không biết tag nào SelectPositionInDepartment.prototype.contentViewData = NotLoadedLayout; SelectPositionInDepartment.prototype.onCreated = function () { //type_select_position_orgid chính là name của input, chỉ cần thêm $ để truy cập vì đã bind sẵn var thisFrg = this; data_module.generateOrgSelectItems().then(function (orgItems){ thisFrg.$type_select_position_orgid.domElt.items = orgItems; // thisFrg.$type_select_position_orgid.domElt.value = orgItems.length > 0 ? orgItems[0].value : 0; thisFrg.handleOrgChange(); }); this.$type_select_position_orgid.domElt.on('change', this.handleOrgChange.bind(this)); }; SelectPositionInDepartment.prototype.handleOrgChange = function () { var orgid = this.$type_select_position_orgid.domElt.value; var positionItemsSync = this.positionSyncCache[orgid]; if (!positionItemsSync) { positionItemsSync = data_module.generatePositionSelectItems(orgid); this.positionSyncCache[orgid] = positionItemsSync; } var thisFrg = this; positionItemsSync.then(function (positionItems){ thisFrg.$type_select_position_id.domElt.items = positionItems; // thisFrg.$type_select_position_id.domElt.value = positionItems.length > 0 ? positionItems[0].value : 0; }) }; module.SelectPositionInDepartment = SelectPositionInDepartment; function ValidTimeShift(){ FmFragment.call(this); } module.ValidTimeShift = ValidTimeShift; OOP.mixClass(ValidTimeShift, FmFragment); ValidTimeShift.tag = 'unset';//chưa tải về database, không biết tag nào ValidTimeShift.prototype.contentViewData = NotLoadedLayout; ValidTimeShift.prototype.onCreated = function(){ this._setupCheckboxTimeView( "type_shift_valid_time_check_in_for_first_half_shift_time_start", "type_shift_valid_time_check_in_for_first_half_shift_time_start_from", "type_shift_valid_time_check_in_for_first_half_shift_time_start_to", "type_shift_first_half_shift_time_start" ); this._setupCheckboxTimeView( "type_shift_valid_time_check_out_for_first_half_shift_time_finish", "type_shift_valid_time_check_out_for_first_half_shift_time_finish_from", "type_shift_valid_time_check_out_for_first_half_shift_time_finish_to", "type_shift_first_half_shift_time_finish" ); this._setupCheckboxTimeView( "type_shift_valid_time_check_in_for_second_half_shift_time_start", "type_shift_valid_time_check_in_for_second_half_shift_time_start_from", "type_shift_valid_time_check_in_for_second_half_shift_time_start_to", "type_shift_second_half_shift_time_start" ); this._setupCheckboxTimeView( "type_shift_valid_time_check_out_for_second_half_shift_finish", "type_shift_valid_time_check_out_for_second_half_shift_finish_from", "type_shift_valid_time_check_out_for_second_half_shift_finish_to", "type_shift_second_half_shift_time_finish" ); this._setupOvertimeAfterShiftAllowed( "type_shift_overtime_after_shift_allowed", "type_shift_overtime_after_shift_wage", "type_shift_overtime_after_shift_time_start", "type_shift_overtime_after_shift_time_finish", "type_shift_overtime_after_shift_min_time", "type_shift_overtime_after_shift_round_minute_to_hour" ); }; ValidTimeShift.prototype._setupCheckboxTimeView = function(checkboxName, startInputName, endInputName, eltDefautName){ var checkboxElt = this.findViewByName(checkboxName).$content; var startInputElt = this.findViewByName(startInputName).domElt; var endInputElt = this.findViewByName(endInputName).domElt; var eltDefautElt = this.findViewByName(eltDefautName).domElt; var oldChecked; checkboxElt.on('change', function(){ if (this.checked){ startInputElt.disabled = false; if (oldChecked !== undefined) startInputElt.dayOffset = eltDefautElt.dayOffset; endInputElt.disabled = false; if (oldChecked !== undefined) endInputElt.dayOffset = eltDefautElt.dayOffset; } else { startInputElt.disabled = true; startInputElt.dayOffset = null; endInputElt.disabled = true; endInputElt.dayOffset = null; } oldChecked = this.checked; }); }; ValidTimeShift.prototype._setupOvertimeAfterShiftAllowed = function(checkboxName, wageName, time_startName, time_finishName, min_timeName, round_minute_to_hourName){ var checkboxElt = this.findViewByName(checkboxName).$content; var wageElt = this.findViewByName(wageName).$content; var time_startElt = this.findViewByName(time_startName).domElt; var time_finishElt = this.findViewByName(time_finishName).domElt; var min_timeElt = this.findViewByName(min_timeName).domElt; var round_minute_to_hourElt = this.findViewByName(round_minute_to_hourName).domElt; checkboxElt.on('change', function(){ if (this.checked){ wageElt.disabled = false; time_startElt.disabled = false; time_finishElt.disabled = false; min_timeElt.disabled = false; round_minute_to_hourElt.disabled = false; } else { wageElt.disabled = true; wageElt.checked = false; time_startElt.disabled = true; time_startElt.dayOffset = null; time_finishElt.disabled = true; time_finishElt.dayOffset = null; min_timeElt.disabled = true; min_timeElt.value = 0; round_minute_to_hourElt.disabled = true; round_minute_to_hourElt.value = 0; } }); }; }; data_module.makeImageContent = function(id){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_image_content'}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); if (content.length == 0) rs(null); else { if (content[0].file_new) content[0].url = window.domainFilesNew + content[0].id + "_" + content[0].name + ".upload"; else content[0].url = window.domainFiles + content[0].id + "_" + content[0].name + ".upload"; rs(content[0]); } } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.makeFilesContent = function(id){ return new Promise(function(rs, rj){ var array = []; var arrayOld = []; id.forEach(function(elt){ if (elt instanceof Object != true) array.push(elt); else { if (elt.filename) { if (elt.type == "img"){ elt.url = window.domainImagesCD + elt.filename + ".upload"; } else { elt.url = window.domainFilesCD + elt.filename + ".upload"; } arrayOld.push(elt); } } }); if (array.length == 0){ rs(arrayOld); return; } FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_files_content'}, {name: "id", value: EncodingClass.string.fromVariable(array)} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); if (content.length == 0) rs(arrayOld); else { content.forEach(function(elt){ if (elt.file_new) elt.url = window.domainFilesNew + elt.id + "_" + elt.name + ".upload"; else elt.url = window.domainFiles + elt.id + "_" + elt.name + ".upload"; }); rs(arrayOld.concat(content)); } } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAssetsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_assets_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAssetsListByWarehouseid = function(warehouseid){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_assets_list_by_warehouseid'}, {name: "warehouseid", value: warehouseid} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadInstruments_and_toolsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_instruments_and_tools_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadWarehousesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_warehouses_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAllowance_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_allowance_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadBonus_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_bonus_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPiece_wage_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_piece_wage_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); console.log(content); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPiece_wage_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_piece_wage_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAttendance_clock_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_attendance_clock_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); console.log(content); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAttendance_clock_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_attendance_clock_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadStandard_workday_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_standard_workday_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadStandard_workday_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_standard_workday_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadWork_flow_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_work_flow_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadWork_flowsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_work_flows_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; // data_module.loadObjectsList = function(tag){ // console.log(tag, "load_api"); // return new Promise(function(rs, rj){ // FormClass.api_call({ // url: "database_load.php", // params: [ // {name: "task", value: 'input_form_load_objects_list'} // ], // func: function(success, message){ // console.log(tag, success, message); // if (success){ // if (message.substr(0, 2) == 'ok'){ // var content = EncodingClass.string.toVariable(message.substr(2)); // rs(content); // } // else { // ModalElement.alert({message: message}); // } // } // else { // ModalElement.alert({message: message}); // } // } // }) // }); // }; data_module.loadPayrollCycleList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_payroll_cycle_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadLesson_categoriesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_lesson_categories_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPartner_classList = function(checkFunc){ return new Promise(function(rs, rj){ data_module.loadTables(["partner_class"], function(){ rs(data_module.getDataTablesFromCache("partner_class", checkFunc)); }); }); }; data_module.loadPartnerList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["partner_class", "partners", "partner_class_links"], function(){ var host = {database: {}}; var content = { partner_class: data_module.getDataTablesFromCache("partner_class", function(record){ return { id: record.id, name: record.name, available: record.available }; }) }; var loadPartnerFunc = new Promise(function(rss, rjj){ data_module.cacheContent_partners.psearch({ searchFunc: function(record){ return { id: record.id, name: record.name }; }, callbackfunc: function(values){ content.partner = values; rss(); } }); }); var loadPartnerClassLinksFunc = new Promise(function(rss, rjj){ data_module.cacheContent_partner_class_links.psearch({ searchFunc: function(record){ return record; }, callbackfunc: function(values){ content.partner_class_links = values; rss(); } }); }); Promise.all([loadPartnerFunc, loadPartnerClassLinksFunc]).then(function(){ contentModule.makeDatabaseContent(host, content); contentModule.makePartnerClassLinksData(host); contentModule.makePartnerClassLinksDataText(host); host.database.partner_class.items = undefined; host.database.partner_class_links.items = undefined; rs(host.database.partner.items); }); }); }); }; data_module.loadTaskListLazySimpleData = function(){ return new Promise(function(rs, rj){ var task = []; var loadData = function(startIndex){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'view_column_load_task_single_list'}, {name: "startIndex", value: startIndex} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); task = task.concat(content.task); if (content.done){ rs(task); } else { loadData(task.length); } } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }; loadData(0); }); }; data_module.loadPartnerGPSList = function(host){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'checkin_load_partner_list'}, {name: "latLngScope", value: EncodingClass.string.fromVariable(host.latLngScope)} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); contentModule.makeDatabaseContent(host, content); rs(); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadContactList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["contacts"], function(){ rs(data_module.getDataTablesFromCache("contacts", function(record){ return { id: record.id, name: record.name } })); }); }); }; data_module.loadOther_liability_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_other_liability_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content1); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOther_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_other_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadSalary_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_salary_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadTrade_union_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_trade_union_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOvertime_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_overtime_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadStandard_workday_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_standard_workday_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadStandard_workday_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_standard_workday_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOffboardingTypeList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_offboarding_type_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOffboardingReasonList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_offboarding_reason_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPunishment_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_punishment_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAssetCategoryList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_asset_category_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadInstrumentsAndToolsCategoryList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_instruments_and_tools_category_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadTax_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_tax_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAdvance_payment_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_advance_payment_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadLate_early_checkin_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_late_early_checkin_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadBenefit_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_benefit_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadLeave_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_leave_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadInsurance_policy_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_insurance_policy_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadTrainingProgram_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_training_program_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadShiftsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_shifts_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadTimesheetsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_timesheets_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); console.log(content); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPayPercentageList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_pay_percentage_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadInsurance_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_insurance_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadTax_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_tax_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadTrade_union_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_trade_union_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadLeave_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_leave_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadBenefit_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_benefit_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAllowance_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_allowance_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadBonus_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_bonus_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOvertime_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_overtime_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPunishment_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_punishment_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadAdvance_payment_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_advance_payment_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadLate_early_checkin_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_late_early_checkin_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadSalary_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_salary_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOther_liability_policiesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_other_liability_policies_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadEmployment_contract_typesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_employment_contract_types_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadNationsList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["nations"], function(){ var content = data_module.getDataTablesFromCache("nations"); rs(content); }); }); }; data_module.loadCitiesList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["cities"], function(){ var content = data_module.getDataTablesFromCache("cities", function(record){ return { id: record.id, nationid: record.nationid, name: record.name, available: record.available } }); rs(content); }); }); }; data_module.loadEthnicsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_ethnics_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOffboardingList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_offboarding_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadEmploymentContractAndTypesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_employment_contract_and_types_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadReligionsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_religions_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadProjectsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_projects_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadDocument_typesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_document_types_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadDocument_groupsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_document_groups_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadDocument_foldersList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_document_folders_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadWelcomeTemplatesList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_welcome_templates_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadProductGroupList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_product_group_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPositionGroupList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_position_group_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); var dic = contentModule.makeDictionaryIndex(content); var systemData = contentModule.getPositionGroupsSystem(); systemData.forEach((cur) => { var idx = dic[cur.id]; if (idx === undefined) content.unshift(cur); }); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadProductsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_product_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.getOrgCompaniesFromCache = function(){ var keys = data_module.getIDList("orgs"); var res = []; var i, t; for (i = 0; i < keys.length; i++) { t = data_module.getContent("orgs", keys[i]); if ((t.parentid == 0) && (t.obsoletedby == 0) && (t.isdelete == 0)) { delete t.uts; res.push(t); } } return res; }; data_module.loadOrgCompanysList = function(){ return new Promise(function(rs, rj){ data_module.loadTables(["orgs"], function(){ rs(data_module.getOrgCompaniesFromCache()); }); }); }; data_module.loadOrgById = function(id){ return new Promise(function(rs, rj){ data_module.loadTables(["orgs"], function(){ var t; if (data_module.cacheContent_orgs.exists(id)) { t = data_module.getContent("orgs", id); delete t.uts; rs(t); } else { ModalElement.alert({message: "Lỗi dữ liệu"}); console.log("failed_id"); } }); }); }; data_module.loadEmployeeById = function(id){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'menu_quick_open_link_employee'}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadPositionById = function(id){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'menu_quick_open_link_position'}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadCommentList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'load_comment_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadChatList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'load_chat_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadCompanyInHrDB = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'hr_db_load_company'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadCompanyidFromEmployee_benefit_and_liability_requestById = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_load_employee_benefit_and_liability_request_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); var employeeid = content.employeeid; var eIndex = host.database.employees.getIndex(employeeid); if (eIndex >= 0){ var orgid = host.database.employees.items[eIndex].orgid; var oIndex = host.database.orgs.getIndex(orgid); while (host.database.orgs.items[oIndex].parentid > 0){ orgid = host.database.orgs.items[oIndex].parentid; oIndex = host.database.orgs.getIndex(orgid); } var items = host.company_select.items; for (var i = 0; i < items.length; i++){ if (items[i].value == orgid){ host.company_select.value = orgid; resolve(orgid); break; } } } } else if (message == "war_txt_failed_data"){ console.log(message); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadCompanyidFromAsset_transactionsById = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_load_asset_transactions_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); var employeeid = content.employeeid; var eIndex = host.database.employees.getIndex(employeeid); if (eIndex >= 0){ var orgid = host.database.employees.items[eIndex].orgid; var oIndex = host.database.orgs.getIndex(orgid); while (host.database.orgs.items[oIndex].parentid > 0){ orgid = host.database.orgs.items[oIndex].parentid; oIndex = host.database.orgs.getIndex(orgid); } var items = host.company_select.items; for (var i = 0; i < items.length; i++){ if (items[i].value == orgid){ host.company_select.value = orgid; resolve(orgid); break; } } } } else if (message == "war_txt_failed_data"){ console.log(message); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadCompanyidFromEmployment_ContractById = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_load_employment_contract_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); var employeeid = content.employeeid; var eIndex = host.database.employees.getIndex(employeeid); if (eIndex >= 0){ var orgid = host.database.employees.items[eIndex].orgid; var oIndex = host.database.orgs.getIndex(orgid); while (host.database.orgs.items[oIndex].parentid > 0){ orgid = host.database.orgs.items[oIndex].parentid; oIndex = host.database.orgs.getIndex(orgid); } var items = host.company_select.items; for (var i = 0; i < items.length; i++){ if (items[i].value == orgid){ host.company_select.value = orgid; resolve(orgid); break; } } } } else if (message == "war_txt_failed_data"){ console.log(message); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadCompanyidFromSalary_decisionById = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_load_salary_decision_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); host.type.value = "salary_decisions"; var employeeid = content.employeeid; var eIndex = host.database.employees.getIndex(employeeid); if (eIndex >= 0){ var orgid = host.database.employees.items[eIndex].orgid; var oIndex = host.database.orgs.getIndex(orgid); while (host.database.orgs.items[oIndex].parentid > 0){ orgid = host.database.orgs.items[oIndex].parentid; oIndex = host.database.orgs.getIndex(orgid); } var items = host.company_select.items; for (var i = 0; i < items.length; i++){ if (items[i].value == orgid){ host.company_select.value = orgid; resolve(orgid); break; } } } } else if (message == "war_txt_failed_data"){ console.log(message); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadCompanyidFromEmulationRewardById = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_load_emulation_reward_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); host.type.value = "emulation_and_reward"; var employeeid = content.employeeid; var eIndex = host.database.employees.getIndex(employeeid); if (eIndex >= 0){ var orgid = host.database.employees.items[eIndex].orgid; var oIndex = host.database.orgs.getIndex(orgid); while (host.database.orgs.items[oIndex].parentid > 0){ orgid = host.database.orgs.items[oIndex].parentid; oIndex = host.database.orgs.getIndex(orgid); } var items = host.company_select.items; for (var i = 0; i < items.length; i++){ if (items[i].value == orgid){ host.company_select.value = orgid; resolve(orgid); break; } } } } else if (message == "war_txt_failed_data"){ console.log(message); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadCompanyidFromDisciplineById = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_load_dicipline_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); host.type.value = "discipline"; var employeeid = content.employeeid; var eIndex = host.database.employees.getIndex(employeeid); if (eIndex >= 0){ var orgid = host.database.employees.items[eIndex].orgid; var oIndex = host.database.orgs.getIndex(orgid); while (host.database.orgs.items[oIndex].parentid > 0){ orgid = host.database.orgs.items[oIndex].parentid; oIndex = host.database.orgs.getIndex(orgid); } var items = host.company_select.items; for (var i = 0; i < items.length; i++){ if (items[i].value == orgid){ host.company_select.value = orgid; resolve(orgid); break; } } } } else if (message == "war_txt_failed_data"){ console.log(message); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadCompanyidFromOnboardingById = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "data_module_load_onboarding_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); var employeeid = content.employeeid; var eIndex = host.database.employees.getIndex(employeeid); if (eIndex >= 0){ var orgid = host.database.employees.items[eIndex].orgid; var oIndex = host.database.orgs.getIndex(orgid); while (host.database.orgs.items[oIndex].parentid > 0){ orgid = host.database.orgs.items[oIndex].parentid; oIndex = host.database.orgs.getIndex(orgid); } var items = host.company_select.items; for (var i = 0; i < items.length; i++){ if (items[i].value == orgid){ host.company_select.value = orgid; resolve(orgid); break; } } } } else if (message == "war_txt_failed_data"){ console.log(message); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadUserColumnConfigsByTypeList = function(typeList){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'load_user_column_config_by_typeList'}, {name: "typeList", value: EncodingClass.string.fromVariable(typeList)} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadInput_formsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_input_forms_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadOutput_formsList = function(){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'input_form_load_output_forms_list'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loaddObjectsById = function(id){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'objects_load_by_id'}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs(content); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.loadNumberOfChatUnread = function(){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'load_number_of_chat_unread'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var st = EncodingClass.string.toVariable(message.substr(2)); resolve(st.number_of); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadAllEmployeesList = function(){ return new Promise(function(resolve, reject){ data_module.loadTables( ["employees"], function () { var all_employees = data_module.getDataTablesFromCache("employees", function(record){ return { id: record.id, peopleid: record.peopleid, firstid: record.firstid, obsoletedby: record.obsoletedby, orgid: record.orgid } }); data_module.makeDatabaseCommon({all_employees: all_employees}); contentModule.makeAllEmployeesDic(); resolve(); console.log(22, new Date().getTime()); } ); }); }; data_module.loadUserTagEmployeeLogs = function() { return new Promise(function(rs, rj){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: 'comment_load_user_tag_employee_logs'} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var content = EncodingClass.string.toVariable(message.substr(2)); rs({user_tag_employee_logs: content}); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); }; data_module.employee_benefit_and_liability_list_load_details = function(host, id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "employee_benefit_and_liability_list_load_details"}, {name: "listid", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); contentModule.makeDatabaseContent(host, st); resolve(); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadSCLangNamespaceList = function(){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [{name: "task", value: "load_sclang_namespace_list"}], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); resolve(st); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadSCLangNodeInfoList = function(){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [{name: "task", value: "load_sclang_node_info_list"}], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); resolve(st); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadSCLangNamespaceById = function(id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "load_sclang_namespace_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); resolve(st); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadSCLangNodeContentList = function () { return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [{name: "task", value: "load_sclang_node_content_list"}], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); st.forEach(function(it){ it.content = EncodingClass.string.toVariable(it.content); }) resolve(st); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadSCLangNodeById = function(id){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "load_sclang_node_by_id"}, {name: "id", value: id} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); st.content = EncodingClass.string.toVariable(st.content); resolve(st); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadSCLangNodeByNamespaceId = function(namespaceid){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "load_sclang_node_by_namespaceid"}, {name: "namespaceid", value: namespaceid} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); resolve(st); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.loadConfigBsc = function(){ return new Promise(function(resolve, reject){ data_module.loadTables( ["configs"], function () { var configs = data_module.getDataTablesFromCache("configs"); var st = []; for (var i = 0; i < configs.length; i++){ if (configs[i].name == "config_bsc"){ st.push(configs[i]); break; } } if (st.length > 0){ // for (var x in systemconfig){ // if (x.startsWith("bsc_")){ // delete systemconfig[x]; // } // } var x = EncodingClass.string.toVariable(st[0].content); for (var i in x){ systemconfig["bsc_" + i] = x[i]; } } resolve(st); } ); }); }; data_module.onboardingDisplayStatusChange = function(id, value){ return new Promise(function(rs, rj){ ModalElement.show_loading(); FormClass.api_call({ url: "onboarding_change_display_status.php", params: [ {name: "id", value: id}, {name: "nodisplay", value: value} ], func: function(success, message){ ModalElement.close(-1); if (success) { if (message.substr(0, 2) == "ok"){ rs(); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }) }); } data_module.welcomeFunc = function(onboarding){ var employeeid = onboarding.employeeid; var callbackfunc = function(){ for (var i = 0; i < ModalElement.layerstatus.length; i++){ if ((ModalElement.layerstatus[i].index == -1) && (!ModalElement.layerstatus[i].visible)) ModalElement.show_loading(); } if (data_module.pendingData.status == "error"){ ModalElement.alert("Có lỗi trong quá trình khởi tạo dữ liệu"); return; } else if (data_module.pendingData.status == "pending") { setTimeout(function(){ callbackfunc(); }, 500); return; } FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "welcome_templates_load_template_data"}, {name: "employeeid", value: employeeid} ], func: function(success, message){ ModalElement.close(-1); if (success) { if (message.substr(0,2) == "ok"){ var value = EncodingClass.string.toVariable(message.substr(2)); var host = { database: {} }; host.employeeid = employeeid; contentModule.makeDatabaseContent(host, value); Promise.all([ data_module.loadCompanyInHrDB(), data_module.loadOrgsList(), data_module.loadEmployeesList(), data_module.loadGeographiesList(), data_module.loadEmployeeManagersList(), data_module.loadGeoposOrgsList(), data_module.loadPeoplesList(), data_module.loadUsersList(), data_module.loadPositions2List(), data_module.loadEmployeePositions2List() ]).then(function(rs){ contentModule.makeDatabaseContent(host, { hr_company: rs[0], orgs: rs[1], employees: rs[2], geopos: rs[3], employee_managers: rs[4], geopos_orgs: rs[5], peoples: rs[6], users: rs[7], positions: rs[8], employee_positions: rs[9] }); contentModule.makeOrgsIndex(host); contentModule.makeEmployeeData(host); contentModule.makeEmployeesIndex(host); contentModule.makeEmployeePosition2Data(host); // contentModule.makePositions2Index(host); contentModule.makeGeoposOrgsData(host); contentModule.makeEmployeeManagerData(host); host.database.peoples.items.forEach(function(elt){ elt.content = EncodingClass.string.toVariable(elt.content); elt.email = []; if (elt.content.work_email) elt.email.push(elt.content.work_email); if (elt.content.private_email) elt.email.push(elt.content.private_email); elt.phone = []; if (elt.content.phone_1) elt.email.push(elt.content.phone_1); if (elt.content.phone_2) elt.email.push(elt.content.phone_2); }); host.employeeDic = contentModule.makeDictionaryIndex(host.database.employees.items); host.peopleDic = contentModule.makeDictionaryIndex(host.database.peoples.items); host.positionDic = contentModule.makeDictionaryIndex(host.database.positions.items); host.orgDic = contentModule.makeDictionaryIndex(host.database.orgs.items); host.geoposDic = contentModule.makeDictionaryIndex(host.database.geopos.items); host.onboardingDisplayStatusChange = function(value){ data_module.onboardingDisplayStatusChange(onboarding.id, value); } host.onboardingNoDisplay = onboarding.nodisplay; theme.formWelcomeTemplatePreview(database.template[0], host); }); } else if (message == "no_onboarding_data"){ ModalElement.alert({message: "Nhân viên này chưa có dữ liệu onboarding"}); } else { console.log(message); } } else { console.log(message); } } }); }; callbackfunc(); }; data_module.loadProcessesList = function(){ return new Promise(function(resolve, reject){ FormClass.api_call({ url: "database_load.php", params: [{name: "task", value: "load_processes_list"}], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ var st = EncodingClass.string.toVariable(message.substr(2)); resolve(st); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; data_module.fixPartnerExtraDataForTPN = function(){ var pattern = { type: "struct", cond: "and", children: { type_3_1651584151929: { type: "array", cond: "true" }, type_3_1651584164420: { type: "array", cond: "true" }, type_3_1660616493114: { type: "string", cond: "true" }, type_3_1681790565300: { type: "array", cond: "true" } }, alwaysTrue: false } ModalElement.show_loading(); fconnector.search("extradata_partner", pattern, function(idList) { if (idList && idList.length > 0){ fconnector.read("extradata_partner", idList, function (success, value){ if (success){ var t = []; value.forEach((item, i) => { var hasChange = false; item.value.type_3_1651584164420.forEach((item2, i) => { if(item2.type_3_1651582892584 == "") { item2.type_3_1651582892584 = 0; hasChange = true; } }); item.value.type_3_1681790565300.forEach((item2, i) => { if(item2.type_3_1681790079160 == "") { item2.type_3_1681790079160 = 0; hasChange = true; } if(item2.type_3_1681790193600 == "") { item2.type_3_1681790193600 = 0; hasChange = true; } if(item2.type_3_1681790206782 == "") { item2.type_3_1681790206782 = 0; hasChange = true; } }); if (hasChange) t.push(item); }); var run = function(content){ return new Promise(function(rs,rj) { FormClass.api_call({ url: "fixPartnerExtraDataForTPN.php", params: [ {name: "content", value: EncodingClass.string.fromVariable(content)} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ rs(); } else { rj(); } } else { rj(); } } }); }) } var c = 0; var s = t.length; var run2 = function(){ run(t.splice(0, 200)).then(function(rs){ c+=200; console.log(c + "/" + s); if (t.length > 0) run2(); else { ModalElement.close(-1); } }, function(err){console.log(err);}) } if (t.length > 0) run2(); else ModalElement.close(-1); } else { console.log(success, value); } }); } else { console.log("failed", idList); } }); } data_module.exportData = {}; data_module.exportData.makeData = function(content) { var data = []; content.forEach((item, i) => { data.push({ row: i + 1, col: 0, value: item.id }); data.push({ row: i + 1, col: 1, value: item.name }); }); return data; } data_module.exportData.array = function(typeid, name) { var data = []; data.push({ row: 0, col: 0, value: name }); data.push({ row: 2, col: 0, backgroundcolor: "FFDDEBF7", value: "Chỉ nhập dữ liệu vào ô màu trắng, không nhập dữ liệu vào ô bôi màu", textcolor: "FFFF0000", border: "thin #FF000000" }); data.push({ row: 3, col: 0, backgroundcolor: "FFDDEBF7", value: "Để import thêm mới: để trống cột A (Mã tự động)", textcolor: "FFFF0000", border: "thin #FF000000" }); data.push({ row: 4, col: 0, backgroundcolor: "FFDDEBF7", value: "Để import cập nhật dữ liệu đã có: Nhập ID vào cột A (Mã tự động)", textcolor: "FFFF0000", border: "thin #FF000000" }); data.push({ row: 5, col: 0, rowSpan: 2, value: "Mã tự động (không nhập)", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 7, col: 0, value: "id", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 5, col: 1, colSpan: 2, value: "Nhân viên", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 6, col: 1, value: "Mã", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 6, col: 2, value: "Họ và tên", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 7, col: 1, value: "employee_code", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 7, col: 2, value: "", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); var getType = function(id){ var index = data_module.typelists.getIndex(id); var type = data_module.typelists.items[index].type; if (form_module.primitiveTypeList.indexOf(type) != -1){ type = data_module.typelists.items[index].type2; } return type; } var noExportArray = [ "structure", "extends_structure", "image_file", "any_file", "color_picker", "enum_multi", "extends_enum_multi", "nation_city", "userlist", "select_department_employee", "position_list", "employee_list", "multiselect_offboarding_reasons", "members_of_shifts", "members_of_partner_class", "members_of_locations", "array" ]; var noneSheetData = [ "string", "phonenumber", "website", "performance_chart", "gps", "variable_input", "variable_textarea", "number", "currency", "note", "html", "date", "datetime", "month", "week", "datemonth", "time", "hour_period", "boolean", "email_address", "date_level" ]; var sIndex = data_module.typelists.getIndex(typeid); var content = data_module.typelists.items[sIndex].content.details; var type, excelData, promiseList, colIdx, c_dict; c_dict = {}; excelData = []; promiseList = []; colIdx = 3; for (var i = 0; i < content.length; i++) { type = getType(content[i].type); content[i].t_type = type; if (noExportArray.indexOf(type) == -1){ if(noneSheetData.indexOf(type) == -1) { content[i].sheetName = content[i].key; excelData.push({ name: content[i].sheetName, data: data_module.exportData[type](content[i].type, content[i].name) }); } if (type == "boolean") { data.push({row: 3, col: colIdx, value: 1, backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 3, col: colIdx + 1, value: "Có", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 4, col: colIdx, value: 0, backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 4, col: colIdx + 1, value: "Không", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 5, col: colIdx, colSpan: 2, value: content[i].name, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 6, col: colIdx, value: "Mã", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 6, col: colIdx + 1, value: "Giá trị", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx, value: content[i].key, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx + 1, value: "", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); colIdx = colIdx + 2; } if (type == "enum") { var items = form_module.tag2OnCreated.enum(content[i].type); content[i].itemDict = {}; content[i].itemDict2 = {}; items.forEach(function(cur){ content[i].itemDict[cur.value] = cur; content[i].itemDict2[cur.key] = cur.value; }); data.push({row: 5, col: colIdx, colSpan: 2, value: content[i].name, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 6, col: colIdx, value: "Mã", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 6, col: colIdx + 1, value: "Giá trị", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx, value: content[i].key, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx + 1, value: "", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); colIdx = colIdx + 2; } else if (type == "date_level") { data.push({row: 2, col: colIdx, value: "D", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 2, col: colIdx + 1, value: "Ngày (dd/MM/yyyy)", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 3, col: colIdx, value: "M", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 3, col: colIdx + 1, value: "Tháng (MM/yyyy)", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 4, col: colIdx, value: "Y", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 4, col: colIdx + 1, value: "Năm (yyyy)", backgroundcolor: "FFDDEBF7", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 5, col: colIdx, colSpan: 3, value: content[i].name, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 6, col: colIdx, value: "Mã kiểu ngày", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 6, col: colIdx + 1, value: "Mô tả", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 6, col: colIdx + 2, value: content[i].name, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx, value: "date_level_" + content[i].key + "_code", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx + 1, value: "", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx + 2, value: "date_level_" + content[i].key, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); colIdx = colIdx + 3; } else { data.push({row: 5, col: colIdx, rowSpan: 2, value: content[i].name, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); data.push({row: 7, col: colIdx, value: content[i].key, backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000"}); colIdx = colIdx + 1; } } c_dict[content[i].key] = content[i]; } return { data: data, excelData: excelData, content: content, c_dict: c_dict }; } data_module.exportData.enum = function(id, name) { var content = form_module.tag2OnCreated.enum(id); var dict = {}; content.forEach((item, i) => { dict[item.localid] = item.key; }); var data = []; data.push({ row: 0, col: 0, value: name }); data.push({ row: 2, col: 0, backgroundcolor: "FFDDEBF7", value: "Không thay đổi nội dung trong sheet này", textcolor: "FFFF0000", border: "thin #FF000000" }); data.push({ row: 3, col: 0, backgroundcolor: "FFDDEBF7", value: "Bạn thay đổi trực tiếp trong phần mềm, rồi export lại", textcolor: "FFFF0000", border: "thin #FF000000" }); data.push({ row: 5, col: 0, value: "ID", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 5, col: 1, value: LanguageModule.text("txt_name"), backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); var idx = 0; content.forEach((item, i) => { if (i == 0) return; data.push({ row: idx + 6, col: 0, value: item.key, backgroundcolor: "FFDDEBF7", border: "thin #FF000000" }); data.push({ row: idx + 6, col: 1, value: item.text, backgroundcolor: "FFDDEBF7", border: "thin #FF000000" }); idx++; }); return data; }; data_module.exportData.enum_multi = function(id, name) { return new Promise(function(rs, rj){ form_module.tag2OnCreated.enum_multi(id).then(function(content){ var data = []; data.push({ row: 0, col: 0, value: name }); data.push({ row: 2, col: 0, backgroundcolor: "FFDDEBF7", value: "Không thay đổi nội dung trong sheet này", textcolor: "FFFF0000", border: "thin #FF000000" }); data.push({ row: 3, col: 0, backgroundcolor: "FFDDEBF7", value: "Bạn thay đổi trực tiếp trong phần mềm, rồi export lại", textcolor: "FFFF0000", border: "thin #FF000000" }); data.push({ row: 5, col: 0, value: "ID", backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); data.push({ row: 5, col: 1, value: LanguageModule.text("txt_name"), backgroundcolor: "FFC6E0B4", horizontal: "center", vertical: "middle", border: "thin #FF000000" }); var idx = 0; content.forEach((item, i) => { if (i == 0) return; data.push({ row: idx + 6, col: 0, value: item.value, backgroundcolor: "FFDDEBF7", border: "thin #FF000000" }); data.push({ row: idx + 6, col: 1, value: item.text, backgroundcolor: "FFDDEBF7", border: "thin #FF000000" }); idx++; }); rs(data); }, function(err){rj(err)}); }) }; data_module.exportData.member_of_assets = function() { return new Promise(function(rs, rj){ data_module.loadAssetsList().then(function(content){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {assets: content}); var data = data_module.exportData.makeData(host.database.assets.items); data.push({ row: 0, col: 0, value: "ID" }); data.push({ row: 0, col: 1, value: LanguageModule.text("txt_asset") }); data.push({ row: 0, col: 2, value: "Không thay đổi nội dung trong sheet này", textcolor: "FFFF0000" }); data.push({ row: 1, col: 2, value: "Bạn thay đổi trực tiếp trong phần mềm, rồi export lại", textcolor: "FFFF0000" }); rs(data); }, function(err){rj(err)}); }) }; data_module.exportData.member_of_religions = function() { return new Promise(function(rs, rj){ data_module.loadReligionsList().then(function(content){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {religions: content}); var data = data_module.exportData.makeData(host.database.religions.items); data.push({ row: 0, col: 0, value: "ID" }); data.push({ row: 0, col: 1, value: LanguageModule.text("txt_religion") }); data.push({ row: 0, col: 2, value: "Không thay đổi nội dung trong sheet này", textcolor: "FFFF0000" }); data.push({ row: 1, col: 2, value: "Bạn thay đổi trực tiếp trong phần mềm, rồi export lại", textcolor: "FFFF0000" }); rs(data); }, function(err){rj(err)}); }) }; data_module.dataDataInitPrevMenu = function(){ return new Promise(function(resolve, reject){ console.log("a", new Date().getTime()); data_module.loadTables( ["employees", "typelists", "configs"], function () { console.log("b", new Date().getTime()); var typelists = data_module.getDataTablesFromCache("typelists"); var content = { typelists: typelists }; var loadAllEmployeesFunc = new Promise(function(rs, rj){ data_module.cacheContent_employees.psearch({ searchFunc: function(record){ return { id: record.id, peopleid: record.peopleid, firstid: record.firstid, obsoletedby: record.obsoletedby, orgid: record.orgid }; }, callbackfunc: function(all_employees){ content.all_employees = all_employees; rs(); } }); }); Promise.all([loadAllEmployeesFunc, data_module.loadConfigsByNameWorker("form_config"), data_module.loadConfigsByNameWorker("config_bsc")]).then(function(values){ var contentForm_config = values[1]; var config_bsc = values[2]; data_module.makeDatabaseCommon(content); data_module.typelists.items.forEach(function(item){ item.content = EncodingClass.string.toVariable(item.content); }); data_module.typelists.items = contentModule.getDatatypePrimitiveList().concat(data_module.typelists.items); contentModule.makeTypelistsIndex(); contentModule.makeAllEmployeesDic(); data_module.all_employees = null; if (config_bsc.length > 0){ var x = EncodingClass.string.toVariable(config_bsc[0].content); for (var i in x){ systemconfig["bsc_" + i] = x[i]; } } data_module.form_config = contentModule.configVariable2(contentForm_config); resolve(); }); } ); }); };