|
@@ -8,11 +8,13 @@ let feeRateModel = mongoose.model('fee_rates');
|
|
|
let feeRateFileModel = mongoose.model('fee_rate_file');
|
|
|
let std_fee_rate_lib_model = mongoose.model('std_fee_rate_libs');
|
|
|
let project_feerate_temp = mongoose.model('project_feerate_temp');
|
|
|
+let projectsModel = require("../../pm/models/project_schema");
|
|
|
let consts = require('../../main/models/project_consts');
|
|
|
let _=require("lodash");
|
|
|
let template = require('../controllers/feerate_template');
|
|
|
let logger = require("../../../logs/log_helper").logger;
|
|
|
const uuidV1 = require('uuid/v1');
|
|
|
+let EngineeringLibModel = require("../../users/models/engineering_lib_model");
|
|
|
|
|
|
module.exports={
|
|
|
save:save,
|
|
@@ -186,14 +188,18 @@ async function getFeeRateData(projectID) {
|
|
|
}
|
|
|
try {
|
|
|
//
|
|
|
- let tem = await project_feerate_temp.findOne({projectID:projectID});//暂时取tem表的记录
|
|
|
- if (tem){
|
|
|
- let feeRateData = await feeRateFileModel.findOne({'ID':tem.feeRateFileID,deleteInfo:null});
|
|
|
- let feeRate = await feeRateModel.findOne({ID:feeRateData.feeRateID});
|
|
|
- feeRateData._doc.rates = feeRate.rates;
|
|
|
- //
|
|
|
- feeRateData._doc.usageProjects=getUsageProjects(feeRateData.ID);
|
|
|
- result.datas = feeRateData;
|
|
|
+ let project = await projectsModel.findOne({ID:projectID});
|
|
|
+ if (project&&project.property&&project.property.feeFile){
|
|
|
+ let feeRateData = await feeRateFileModel.findOne({'ID':project.property.feeFile,deleteInfo:null});
|
|
|
+ if(feeRateData===null){
|
|
|
+ result.datas=[];
|
|
|
+ }else {
|
|
|
+ let feeRate = await feeRateModel.findOne({ID:feeRateData.feeRateID});
|
|
|
+ feeRateData._doc.rates = feeRate?feeRate.rates:[];
|
|
|
+ //
|
|
|
+ feeRateData._doc.usageProjects=await getUsageProjects(feeRateData.ID);
|
|
|
+ result.datas = feeRateData;
|
|
|
+ }
|
|
|
}else {
|
|
|
result.datas=[];
|
|
|
}
|
|
@@ -206,12 +212,12 @@ async function getFeeRateData(projectID) {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-function getUsageProjects(feeRateID){
|
|
|
+async function getUsageProjects(feeRateID){
|
|
|
//从数据库中查,项目结构暂时还没做 todo
|
|
|
- var projects = [];
|
|
|
- projects.push({ID:99,name:'单价调整'});
|
|
|
+ let projects = await projectsModel.find({'property.feeFile':feeRateID,'deleteInfo':null});
|
|
|
+ /* projects.push({ID:99,name:'单价调整'});
|
|
|
projects.push({ID:100,name:'工程02'});
|
|
|
- projects.push({ID:101,name:'建筑工程'});
|
|
|
+ projects.push({ID:101,name:'建筑工程'});*/
|
|
|
return projects;
|
|
|
}
|
|
|
|
|
@@ -224,10 +230,8 @@ function commonCallback(callback,result,err) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function getFeeRateStandardsByProjectID(rootProjectID) {
|
|
|
- //这里应该从项目配置中读取 to do, 暂时使用模板文件里的数据
|
|
|
- let t1 = template.feerate_template1;
|
|
|
- let t2 = template.feerate_template2;
|
|
|
+async function getFeeRateStandardsByProjectID(rootProjectID) {
|
|
|
+ let project = await projectsModel.findOne({ID:rootProjectID});
|
|
|
|
|
|
let feeRateStandards=[];
|
|
|
feeRateStandards.push({ID:t1.ID,libName:t1.libName});
|
|
@@ -254,27 +258,33 @@ async function changeFeeRateStandard(jdata){
|
|
|
return doc;
|
|
|
}
|
|
|
|
|
|
-async function newFeeRateFile(data){
|
|
|
- /* data = {
|
|
|
- libID:2,
|
|
|
- rootProjectID:113,
|
|
|
- name:'费率1'
|
|
|
- }*/
|
|
|
- let template = await std_fee_rate_lib_model.findOne({"ID":data.libID});
|
|
|
- let newFeeRate = {};
|
|
|
- newFeeRate.ID =uuidV1();
|
|
|
- newFeeRate.rates=template.rates;
|
|
|
- await feeRateModel.create(newFeeRate);
|
|
|
- let doc={
|
|
|
- libID:data.libID,
|
|
|
- libName:template.libName,
|
|
|
- feeRateID: newFeeRate.ID,
|
|
|
- rootProjectID:data.rootProjectID,
|
|
|
- name:data.name
|
|
|
- };
|
|
|
- doc.ID = uuidV1();
|
|
|
- await feeRateFileModel.create(doc);
|
|
|
- return doc;
|
|
|
+async function newFeeRateFile(updateData){
|
|
|
+ if(updateData.property !== null){
|
|
|
+ let property = updateData.property;
|
|
|
+ logger.info("Create new feeRate file for project :"+updateData.ID);
|
|
|
+ let libID = property.feeFile;
|
|
|
+ let rootProjectID = property.rootProjectID;
|
|
|
+ let name = updateData.name;
|
|
|
+ let doc={
|
|
|
+ rootProjectID:rootProjectID,
|
|
|
+ name:name
|
|
|
+ };
|
|
|
+ if(libID!== ''){
|
|
|
+ let template = await std_fee_rate_lib_model.findOne({"ID":libID});
|
|
|
+ let newFeeRate = {};
|
|
|
+ newFeeRate.ID =uuidV1();
|
|
|
+ newFeeRate.rates=template.rates;
|
|
|
+ await feeRateModel.create(newFeeRate);
|
|
|
+ doc.libID = libID;
|
|
|
+ doc.libName = template.libName;
|
|
|
+ doc.feeRateID = newFeeRate.ID;
|
|
|
+ }
|
|
|
+
|
|
|
+ doc.ID = uuidV1();
|
|
|
+ await feeRateFileModel.create(doc);
|
|
|
+ return doc.ID;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
|