|
@@ -190,5 +190,62 @@ module.exports = {
|
|
|
let responseData = error.err === 1 ? null : [];
|
|
|
callback(request, response, error.err, error.msg, responseData);
|
|
|
}
|
|
|
+ },
|
|
|
+ //拼接获取回收站数据
|
|
|
+ getGCDatas: async function(request, response) {
|
|
|
+ let userID = req.session.sessionUser.ssoId;
|
|
|
+ let engIdsSet = new Set(), rootIdsSet = new Set(), rst = [];
|
|
|
+ try{
|
|
|
+ let gc_unitPriceFiles = await ProjectsData.getGCFiles('UnitPriceFile', userID);
|
|
|
+ let gc_feeRateFiles = await ProjectsData.getGCFiles('FeeRateFile', userID);
|
|
|
+ let gc_tenderFiles = await ProjectsData.getGCFiles(projType.tender, userID);
|
|
|
+ if(gc_unitPriceFiles.length > 0){
|
|
|
+ gc_unitPriceFiles.forEach(function (obj) {
|
|
|
+ rootIdsSet.add(obj.rootProjectID);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(gc_feeRateFiles.length > 0){
|
|
|
+ gc_feeRateFiles.forEach(function (obj) {
|
|
|
+ rootIdsSet.add(obj.rootProjectID);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(gc_tenderFiles.length > 0){
|
|
|
+ rst = rst.concat(gc_tenderFiles);
|
|
|
+ gc_tenderFiles.forEach(function (obj) {
|
|
|
+ engIdsSet.add(obj.ParentID);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(engIdsSet.size > 0){
|
|
|
+ let engineerings = await ProjectsData.getProjectsByIds(Array.from(engIdsSet));
|
|
|
+ engineerings.forEach(function (obj) {
|
|
|
+ rst.push(obj);
|
|
|
+ rootIdsSet.add(obj.ParentID);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(rootIdsSet.size > 0){
|
|
|
+ let projects = await ProjectsData.getProjectsByIds(Array.from(rootIdsSet));
|
|
|
+ for(let i = 0, len = projects.length; i < len; i++){
|
|
|
+ projects[i].unitPriceFiles = [];
|
|
|
+ projects[i].feeRateFiles = [];
|
|
|
+ for(let j = 0, jLen = gc_unitPriceFiles.length; j < jLen; j++){
|
|
|
+ if(gc_unitPriceFiles[j].rootProjectID === projects[i].ID){
|
|
|
+ projects[i].unitPriceFiles.push(gc_unitPriceFiles);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let j = 0, jLen = gc_feeRateFiles.length; j < jLen; j++){
|
|
|
+ if(gc_feeRateFiles[j].rootProjectID === projects[i].ID){
|
|
|
+ projects[i].feeRateFiles.push(gc_feeRateFiles[j]);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ rst = rst.concat(projects);
|
|
|
+ }
|
|
|
+ callback(request, response, null, 'success', rst);
|
|
|
+ }
|
|
|
+ catch (error){
|
|
|
+ callback(request, response, true, 'fail', null);
|
|
|
+ }
|
|
|
}
|
|
|
};
|