|
|
@@ -384,23 +384,65 @@ async function setSEILibData(property){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-async function getIndexReportData(projectID) {
|
|
|
+async function getIndexReportData(projectID,keyArr) {
|
|
|
let project = await projectsModel.findOne({ID:projectID});
|
|
|
let bills = await bill_model.getDataSync(projectID);
|
|
|
- let engineerCostList = getEngineerCostData(project.property,bills);
|
|
|
- let engineerEcoList = getEconomicDatas(project.property,bills);
|
|
|
- let mainMaterialList = await getMainMaterialDatas(projectID,project.property);
|
|
|
- let quantityList = await getQuantityDatas(project.property,bills);
|
|
|
- let result = {
|
|
|
- ProjectCostFields:engineerCostList,
|
|
|
- ProjectEcoFields:engineerEcoList,
|
|
|
- ProjectLabMaterialFields:mainMaterialList,
|
|
|
- ProjectQtyFields:quantityList
|
|
|
- };
|
|
|
+ let result = {};
|
|
|
+
|
|
|
+ for(let key of keyArr){
|
|
|
+ switch (key) {
|
|
|
+ case 'ProjectCostFields':
|
|
|
+ result[key] =getEngineerCostData(project.property,bills);
|
|
|
+ break;
|
|
|
+ case 'ProjectEcoFields':
|
|
|
+ result[key] = getEconomicDatas(project.property,bills);
|
|
|
+ break;
|
|
|
+ case 'ProjectLabMaterialFields':
|
|
|
+ result[key] = await getMainMaterialDatas(projectID,project.property);
|
|
|
+ break;
|
|
|
+ case 'ProjectQtyFields':
|
|
|
+ result[key] = await getQuantityDatas(project.property,bills);
|
|
|
+ break;
|
|
|
+ case 'ProjectInfoFields':
|
|
|
+ result[key] = getEngineerInfoData(project.property.engineerInfos);
|
|
|
+ break;
|
|
|
+ case 'ProjectFeatureFields':
|
|
|
+ result[key] = getEngineerFeaturesDatas(project.property.engineerFeatures);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
return result
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+function getEngineerInfoData(engineerInfos) {
|
|
|
+ let datas = [];
|
|
|
+ for(let info of engineerInfos){
|
|
|
+ let d = {
|
|
|
+ name:info.dispName,
|
|
|
+ value:info.value
|
|
|
+ };
|
|
|
+ datas.push(d);
|
|
|
+ }
|
|
|
+ return datas;
|
|
|
+}
|
|
|
+
|
|
|
+function getEngineerFeaturesDatas(engineerFeatures) {
|
|
|
+ let datas = [];
|
|
|
+ for(let f of engineerFeatures){
|
|
|
+ let tem = {
|
|
|
+ ID:f.ID,
|
|
|
+ name:f.name,
|
|
|
+ value:f.value,
|
|
|
+ ParentID:f.ParentID
|
|
|
+ }
|
|
|
+ datas.push(tem);
|
|
|
+ }
|
|
|
+ return datas;
|
|
|
+}
|
|
|
+
|
|
|
function getQuantityDatas(property,bills) {
|
|
|
return gljUtil.getQuantityDatas(property.engineerFeatures,property.mainQuantities,bills,fixedFlag,_,scMathUtil,property.decimal)
|
|
|
}
|