From a84467b47dd2be489abb343db0fe64b7438bded9 Mon Sep 17 00:00:00 2001 From: AnandaTon Date: Wed, 24 Jul 2024 18:56:50 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=20up=20static=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/ImportDataController.ts | 97 +++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/src/controllers/ImportDataController.ts b/src/controllers/ImportDataController.ts index f9230ec8..de4ca377 100644 --- a/src/controllers/ImportDataController.ts +++ b/src/controllers/ImportDataController.ts @@ -30,6 +30,7 @@ import { ProfileFamilyFather } from "../entities/ProfileFamilyFather"; import { ProfileEmployee } from "../entities/ProfileEmployee"; import { PosLevel } from "../entities/PosLevel"; import { PosType } from "../entities/PosType"; +import * as fs from "fs"; @Route("api/v1/org/upload") @Tags("UPLOAD") @@ -652,4 +653,100 @@ export class ImportDataController extends Controller { await this.profileRepo.save(profiles); return new HttpSuccess(getProFile); } + + @Get("uploadSQLStatic") + async uploadFileSQLStati() { + const filePath = "/src/controllers/backup-employee-temp-bmatest.xlsx"; // Corrected file path + if (!fs.existsSync(filePath)) { + throw new Error(`File not found: ${filePath}`); + } + const fileBuffer = fs.readFileSync(filePath); + const workbook = xlsx.read(fileBuffer, { type: "buffer" }); + const sheetName = workbook.SheetNames[0]; // Assuming we're reading the first sheet + const sheet = workbook.Sheets[sheetName]; + const getProFile = xlsx.utils.sheet_to_json(sheet); + let profiles: any = []; + await Promise.all( + getProFile.map(async (item: any) => { + // Create a new Profile entity and assign fields from the parsed data + + const profile = new ProfileEmployee(); + // Check if the profile already exists + // const existingProfile = await this.profileEmpRepo.findOne({ + // where: { id: item["id"] }, + // }); + // If profile exists, skip saving + // if (existingProfile) { + // return; + // } + // Assign fields from the item to the profile entity + profile.id = item["id"]; + // profile.createdAt = item["createdUserId"] == "NULL" ? null : new Date(item["createdAt"]); + profile.createdUserId = item["createdUserId"] == "NULL" ? null : item["createdUserId"]; + // profile.lastUpdatedAt = item["createdUserId"] == "NULL" ? null : new Date(item["lastUpdatedAt"]); + profile.lastUpdateUserId = + item["lastUpdateUserId"] == "NULL" ? null : item["lastUpdateUserId"]; + profile.createdFullName = + item["createdFullName"] == "NULL" ? null : item["createdFullName"]; + profile.lastUpdateFullName = + item["lastUpdateFullName"] == "NULL" ? null : item["lastUpdateFullName"]; + profile.prefix = item["prefix"] == "NULL" ? null : item["prefix"]; + profile.firstName = item["firstName"] == "NULL" ? null : item["firstName"]; + profile.lastName = item["lastName"] == "NULL" ? null : item["lastName"]; + profile.citizenId = item["citizenId"] == "NULL" ? null : item["citizenId"]; + profile.position = item["position"] == "NULL" ? null : item["position"]; + profile.posLevelId = item["posLevelId"] == "NULL" ? null : item["posLevelId"]; + profile.posTypeId = item["posTypeId"] == "NULL" ? null : item["posTypeId"]; + profile.email = item["email"] == "NULL" ? null : item["email"]; + profile.phone = item["phone"] == "NULL" ? null : item["phone"]; + profile.keycloak = item["keycloak"] == "NULL" ? null : item["keycloak"]; + profile.isProbation = item["isProbation"] == "NULL" ? null : item["isProbation"]; + // profile.dateRetire = item["dateRetire"] == "NULL" ? null : new Date(item["dateRetire"]); + // profile.birthDate = item["birthDate"] == "NULL" ? null : new Date(item["birthDate"]); + profile.salaryLevel = item["salaryLevel"] == "NULL" ? null : item["salaryLevel"]; + profile.ethnicity = item["ethnicity"] == "NULL" ? null : item["ethnicity"]; + profile.telephoneNumber = + item["telephoneNumber"] == "NULL" ? null : item["telephoneNumber"]; + profile.group = item["group"] == "NULL" ? null : item["group"]; + profile.gender = item["gender"] == "NULL" ? null : item["gender"]; + profile.relationship = item["relationship"] == "NULL" ? null : item["relationship"]; + profile.religion = item["religion"] == "NULL" ? null : item["religion"]; + profile.bloodGroup = item["bloodGroup"] == "NULL" ? null : item["bloodGroup"]; + profile.rank = item["rank"] == "NULL" ? null : item["rank"]; + profile.employeeClass = item["employeeClass"] == "NULL" ? null : item["employeeClass"]; + profile.avatar = item["avatar"] == "NULL" ? null : item["avatar"]; + // profile.dateRetireLaw = item["dateRetireLaw"] == "NULL" ? null : new Date(item["dateRetireLaw"]); + profile.registrationAddress = + item["registrationAddress"] == "NULL" ? null : item["registrationAddress"]; + profile.registrationProvinceId = + item["registrationProvinceId"] == "NULL" ? null : item["registrationProvinceId"]; + profile.registrationDistrictId = + item["registrationDistrictId"] == "NULL" ? null : item["registrationDistrictId"]; + profile.registrationSubDistrictId = + item["registrationSubDistrictId"] == "NULL" ? null : item["registrationSubDistrictId"]; + profile.registrationZipCode = + item["registrationZipCode"] == "NULL" ? null : item["registrationZipCode"]; + profile.currentAddress = item["currentAddress"] == "NULL" ? null : item["currentAddress"]; + profile.currentProvinceId = + item["currentProvinceId"] == "NULL" ? null : item["currentProvinceId"]; + profile.currentDistrictId = + item["currentDistrictId"] == "NULL" ? null : item["currentDistrictId"]; + profile.currentSubDistrictId = + item["currentSubDistrictId"] == "NULL" ? null : item["currentSubDistrictId"]; + profile.currentZipCode = item["currentZipCode"] == "NULL" ? null : item["currentZipCode"]; + profile.avatarName = item["avatarName"] == "NULL" ? null : item["avatarName"]; + profile.nationality = item["nationality"] == "NULL" ? null : item["nationality"]; + // profile.dateAppoint = item["dateAppoint"] == "NULL" ? null : new Date(item["dateAppoint"]); + // profile.dateStart = item["dateStart"] == "NULL" ? null : new Date(item["dateStart"]); + profile.govAgeAbsent = item["govAgeAbsent"] == "NULL" ? null : item["govAgeAbsent"]; + profile.govAgePlus = item["govAgePlus"] == "NULL" ? null : item["govAgePlus"]; + profile.reasonSameDate = item["reasonSameDate"] == "NULL" ? null : item["reasonSameDate"]; + profiles.push(profile); + }), + ); + // await this.profileEmpRepo.save(profiles); + console.log(profiles); + + return new HttpSuccess(getProFile); + } }