empty value issue fixed in company profile bulk upload

This commit is contained in:
unknown 2025-12-03 14:49:05 +05:30
parent 423bbbb61e
commit 1410626697

View File

@ -1197,22 +1197,27 @@ exports.establishmentBulkUpload = async (req, res) => {
"establishment_code",
"factory_name",
"establishment_contact_email",
"industry_code_production"
"industry_code_production",
"permanent_factory_code",
"industry_code"
]
});
const existingEstSet = new Set(existing.map(e => e.establishment_code));
const existingFactorySet = new Set(existing.map(e => e.factory_name.toLowerCase()));
const existingEmailSet = new Set(existing.map(e => e.establishment_contact_email.toLowerCase()));
const existingIndustryCodeSet = new Set(
existing.map(e => e.industry_code_production).filter(Boolean)
);
const existingIndustryCodeSet = new Set( existing.map(e => e.industry_code_production).filter(Boolean));
const existingPermanentFactoryCodeSet = new Set( existing.map(e => e.permanent_factory_code).filter(Boolean));
const existingIndustryCodeBusinessSet = new Set( existing.map(e => e.industry_code).filter(Boolean));
// FILE duplicate trackers
const fileEstSet = new Set();
const fileFactorySet = new Set();
const fileEmailSet = new Set();
const fileIndustryCodeSet = new Set();
const filePermanentFactoryCodeSet = new Set();
const fileIndustryCodeBusinessSet = new Set();
const errors = [];
const prepared = [];
@ -1277,6 +1282,32 @@ exports.establishmentBulkUpload = async (req, res) => {
}
fileIndustryCodeSet.add(industryCodeProd);
}
const permanentFactoryCode = r.permanent_factory_code?.trim();
if (permanentFactoryCode) {
if (filePermanentFactoryCodeSet.has(permanentFactoryCode)) {
errors.push({ row: rowNum, error: `Duplicate Permanent Factory Code in file: ${permanentFactoryCode}` });
continue;
}
if (existingPermanentFactoryCodeSet.has(permanentFactoryCode)) {
errors.push({ row: rowNum, error: `Permanent Factory Code already exists in database: ${permanentFactoryCode}` });
continue;
}
filePermanentFactoryCodeSet.add(permanentFactoryCode);
}
// Check industry_code_business_register duplicates (if provided)
const industryCodeBusiness = r.industry_code_business_register?.trim();
if (industryCodeBusiness) {
if (fileIndustryCodeBusinessSet.has(industryCodeBusiness)) {
errors.push({ row: rowNum, error: `Duplicate Industry Code (Business Register) in file: ${industryCodeBusiness}` });
continue;
}
if (existingIndustryCodeBusinessSet.has(industryCodeBusiness)) {
errors.push({ row: rowNum, error: `Industry Code (Business Register) already exists in database: ${industryCodeBusiness}` });
continue;
}
fileIndustryCodeBusinessSet.add(industryCodeBusiness);
}
fileEstSet.add(estKey);
fileFactorySet.add(factoryKey);
@ -1379,21 +1410,20 @@ exports.establishmentBulkUpload = async (req, res) => {
factory_name: p.factory,
establishment_contact_email: p.email,
establishment_emirate_id: p.emirateId,
permanent_factory_code: r.permanent_factory_code,
industry_code: r.industry_code_business_register,
industry_code_production: r.industry_code_current_production,
industry_code_mismatch_remarks: r.industry_code_mismatch_remarks,
description: r.description,
establishment_address: r.establishment_address,
establishment_city_town_id: r.city_town_id,
establishment_postal_code: r.postal_code,
establishment_po_box: r.po_box,
establishment_makani_number: r.makani_number,
establishment_contact_person_name: r.contact_person_name,
establishment_contact_person_designation: r.contact_person_designation,
establishment_mobile_number: r.mobile_number,
establishment_website: r.website,
permanent_factory_code: r.permanent_factory_code || null,
industry_code: r.industry_code_business_register || null,
industry_code_production: r.industry_code_current_production || null,
industry_code_mismatch_remarks: r.industry_code_mismatch_remarks || null,
description: r.description || null,
establishment_address: r.establishment_address || null,
establishment_city_town_id: r.city_town_id || null,
establishment_postal_code: r.postal_code || null,
establishment_po_box: r.po_box || null,
establishment_makani_number: r.makani_number || null,
establishment_contact_person_name: r.contact_person_name || null,
establishment_contact_person_designation: r.contact_person_designation || null,
establishment_mobile_number: r.mobile_number || null,
establishment_website: r.website || null,
emirati_male: Number(r.number_of_emirati_male || 0),
emirati_female: Number(r.number_of_emirati_female || 0),
@ -1432,7 +1462,7 @@ exports.establishmentBulkUpload = async (req, res) => {
support_email: process.env.SUPPORT_EMAIL,
support_phone: process.env.SUPPORT_PHONE
};
await sendEmailService(p.email, "establishment_user_creation_to_user", placeHolderData);
// await sendEmailService(p.email, "establishment_user_creation_to_user", placeHolderData);
await EstablishmentProduct.bulkCreate(
p.productIds.map(pid => ({