script.js 3.2 KB
conn = new Mongo('10.1.2.146:27017');

company = conn.getDB("iot_partner_company");
workflow = conn.getDB("iot_partner_workflow");

companies = company.companies.find()
worksheets = workflow.worksheets.find().sort( { "createdDate": 1 } )

let movedFileList = []
while ( worksheets.hasNext() ) {
   worksheet = worksheets.next()
   // print(worksheet.supplierRegistration.taxId)

   let fileList = []

   // worksheet.files
   for(file of worksheet.files) {
      if(file.fileValue === 'companyFile') {
         if(worksheet.businessAgreement && worksheet.businessAgreement.companyFiles 
            && worksheet.businessAgreement.companyFiles.companies 
            && !worksheet.businessAgreement.companyFiles.companies.includes(file.fileId)) {
            worksheet.businessAgreement.companyFiles.companies.push(file.fileId)
         }
         fileList.push(file)
      }

      if(file.fileValue === 'CompanyProfilePresentation0') {
         if(worksheet.businessAgreement && worksheet.businessAgreement.companyFiles 
            && worksheet.businessAgreement.companyFiles.companies 
            && !worksheet.businessAgreement.companyFiles.companies.includes(file.fileId)) {
            worksheet.businessAgreement.companyFiles.companies.push(file.fileId)
         }
         fileList.push(file)
      }

      if(file.fileValue === 'vatFile') {
         if(worksheet.businessAgreement && worksheet.businessAgreement.companyFiles 
            && worksheet.businessAgreement.companyFiles.companies 
            && !worksheet.businessAgreement.companyFiles.companies.includes(file.fileId)) {
            worksheet.businessAgreement.companyFiles.companies.push(file.fileId)
         }
         fileList.push(file)
      }
   }

   if(worksheet.businessAgreement && worksheet.businessAgreement.companyFiles && worksheet.businessAgreement.companyFiles.companies) {
      workflow.worksheets.update({_id: worksheet._id}, {
         '$set': {'businessAgreement.companyFiles.companies' : worksheet.businessAgreement.companyFiles.companies}
      })
   }
   

   for(i = 0; i < companies.length(); i++) {
      companie = companies[i]
      // print(companie.taxId, worksheet.supplierRegistration.taxId, companie.taxId === worksheet.supplierRegistration.taxId)
      if(companie.taxId === worksheet.supplierRegistration.taxId) {
         if(companie.files && Array.isArray(companie.files) && companie.files.length > 0) {
            for(j = 0; j < fileList.length; j++) {
               let alreadyFileInList = false
               for(k = 0; k < companie.files.length; k++) {
                  if(companie.files[k].fileValue === fileList[j].fileValue) {
                     alreadyFileInList = true
                     break;
                  }
               }
               if(!alreadyFileInList) {
                  companie.files.push(fileList[j])
                  movedFileList.push(fileList[j])
               }
            }
         } else {
            companie.files = fileList
            movedFileList.concat(fileList)
         }
         break
      }
   }
}

for(i = 0; i < companies.length(); i++) {
   company.companies.update({_id: companies[i]._id}, {
      '$set': {files : companies[i].files}
   })
}

company.movedFiles.insert({
   files: movedFileList
})