فهرست منبع

导入导出加入设备购置

zhangweicheng 4 سال پیش
والد
کامیت
59089b70d5
1فایلهای تغییر یافته به همراه15 افزوده شده و 4 حذف شده
  1. 15 4
      modules/pm/facade/pm_facade.js

+ 15 - 4
modules/pm/facade/pm_facade.js

@@ -2541,6 +2541,7 @@ async function exportTenderData(data){
     result.evaluateList = await evaluateListModel.find({projectID:data.projectID}, '-_id').lean();
     result.bidList = await bidListModel.find({projectID:data.projectID}, '-_id').lean();
     result.contractorList = await contractorListModel.find({projectID:data.projectID}, '-_id').lean();
+    result.equipments = await equipmentPurchaseModel.findOne({projectID:data.projectID},'-_id').lean();
 
     return cipher.aesEncrypt(JSON.stringify(result));
 }
@@ -2785,9 +2786,9 @@ async function importProjects(data,req,updateData) {
             let [constructionProjectID,projectIDMap,labourCoeFileIDMap,calcProgramFileIDMap] = await handleMainProjectDatas(mainData,updateData,req.session.sessionUser.id);
             result.constructionProjectID = constructionProjectID;
             if(datas.length > 1 ){
-                let newProjectSettings=[],bills=[],rations=[],installationFees=[],projectGLJs=[],rationGLJs=[],rationCoes=[],quantityDetails=[],rationInstallations=[],rationTemplates=[],evaluateList=[],bidList=[],contractorList=[],newCalcProgramsFiles=[],newLabourCoes=[]
+                let newProjectSettings=[],bills=[],rations=[],installationFees=[],projectGLJs=[],rationGLJs=[],rationCoes=[],quantityDetails=[],rationInstallations=[],rationTemplates=[],evaluateList=[],bidList=[],contractorList=[],newCalcProgramsFiles=[],newLabourCoes=[],newEquipments = [];
                 for(let i = 1;i<datas.length;i++){
-                  let [tnewProjectSetting,tbills,trations,tinstallationFees,tprojectGLJs,trationGLJs,trationCoes,tquantityDetails,trationInstallations,trationTemplates,tevaluateList,tbidList,tcontractorList,tnewCalcProgramsFile,tnewLabourCoe] = await handleEachProject(datas[i],projectIDMap,labourCoeFileIDMap,calcProgramFileIDMap)
+                  let [tnewProjectSetting,tbills,trations,tinstallationFees,tprojectGLJs,trationGLJs,trationCoes,tquantityDetails,trationInstallations,trationTemplates,tevaluateList,tbidList,tcontractorList,tnewCalcProgramsFile,tnewLabourCoe,tnewEquipments] = await handleEachProject(datas[i],projectIDMap,labourCoeFileIDMap,calcProgramFileIDMap)
                   if(tnewProjectSetting) newProjectSettings.push(tnewProjectSetting);
                   if(tbills.length > 0) bills = bills.concat(tbills);
                   if(trations.length > 0) rations = rations.concat(trations);
@@ -2803,6 +2804,7 @@ async function importProjects(data,req,updateData) {
                   if(tcontractorList.length > 0)  contractorList = contractorList.concat(tcontractorList);
                   if(tnewCalcProgramsFile) newCalcProgramsFiles.push(tnewCalcProgramsFile);
                   if(tnewLabourCoe) newLabourCoes.push(tnewLabourCoe); 
+                  if(tnewEquipments) newEquipments.push(tnewEquipments); 
                 }
 
                 if(newProjectSettings.length > 0) await insertMany(newProjectSettings,projectSettingModel)
@@ -2820,6 +2822,7 @@ async function importProjects(data,req,updateData) {
                 if(contractorList.length > 0) await insertMany(contractorList,contractorListModel);
                 if(newCalcProgramsFiles.length > 0) await insertMany(newCalcProgramsFiles,calcProgramsModel);
                 if(newLabourCoes.length > 0) await insertMany(newLabourCoes,labourCoesModel); 
+                if(newEquipments.length > 0) await insertMany(newEquipments,equipmentPurchaseModel); 
 
             }
 
@@ -2833,7 +2836,7 @@ async function importProjects(data,req,updateData) {
 
 async function handleEachProject(data,projectIDMap,labourCoeFileIDMap,calcProgramFileIDMap){
     let bills = [],rations = [],projectGLJs = [],installationFees=[],rationGLJs=[],rationCoes=[],quantityDetails=[],rationInstallations=[],rationTemplates=[],evaluateList=[],bidList=[],contractorList=[];
-    let newProjectSetting =null,newCalcProgramsFile = null,newLabourCoe = null;
+    let newProjectSetting =null,newCalcProgramsFile = null,newLabourCoe = null,newEquipments = null;
     let billsIDMap = {},projectGLJIDMap={},rationIDMap = {};
     let newProjectID = projectIDMap[data.projectID];
     //生成安装增加费设置
@@ -2915,7 +2918,15 @@ async function handleEachProject(data,projectIDMap,labourCoeFileIDMap,calcProgra
         delete newLabourCoe._id;
     }
 
-    return [newProjectSetting,bills,rations,installationFees,projectGLJs,rationGLJs,rationCoes,quantityDetails,rationInstallations,rationTemplates,evaluateList,bidList,contractorList,newCalcProgramsFile,newLabourCoe]
+    if(data.equipments){
+        data.equipments.projectID = newProjectID;
+        newEquipments = data.equipments;
+        delete newEquipments._id; 
+    }
+
+
+
+    return [newProjectSetting,bills,rations,installationFees,projectGLJs,rationGLJs,rationCoes,quantityDetails,rationInstallations,rationTemplates,evaluateList,bidList,contractorList,newCalcProgramsFile,newLabourCoe,newEquipments]
 
 }
 function setMaterialList(datas,newProjectID,projectGLJIDMap){