|
@@ -33,7 +33,7 @@ var FeeRate = {
|
|
|
}
|
|
|
return feeRate;
|
|
|
};
|
|
|
- FeeRate.prototype.getActivateFeeRateID = function(){
|
|
|
+ FeeRate.prototype.getActivateFeeRateFileID = function(){
|
|
|
var feeRate = this.getActivateFeeRate();
|
|
|
if(feeRate){
|
|
|
return feeRate.ID;
|
|
@@ -41,6 +41,14 @@ var FeeRate = {
|
|
|
return 0;
|
|
|
}
|
|
|
};
|
|
|
+ FeeRate.prototype.getActivateFeeRateID = function(){
|
|
|
+ var feeRate = this.getActivateFeeRate();
|
|
|
+ if(feeRate){
|
|
|
+ return feeRate.feeRateID;
|
|
|
+ }else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ };
|
|
|
FeeRate.prototype.getFeeRateByID=function (ID) {
|
|
|
var rates = this.getActivateFeeRate().rates;
|
|
|
return _.find(rates,{'ID':ID})
|
|
@@ -115,6 +123,7 @@ var FeeRate = {
|
|
|
rateIndex:params.sourceIndex,
|
|
|
rate:params.dataItem
|
|
|
}
|
|
|
+ doc.rate.rate =doc.rate.rate.toDecimal(feeRate_consts.decimal);
|
|
|
this.updateFeeRate(query,doc);
|
|
|
if(this.ifRateChange(params)){
|
|
|
this.synchronizeFeeRate();
|
|
@@ -130,7 +139,7 @@ var FeeRate = {
|
|
|
FeeRate.prototype.updateFeeRate=function (query,doc) {
|
|
|
var updateData = this.getUpdateData('ut_update',query,doc,'update_rates');
|
|
|
project.pushNow('updateFeeRate',[this.sourceType],updateData);
|
|
|
- socket.emit('feeRateChangeNotify', this.getActivateFeeRateID());
|
|
|
+ socket.emit('feeRateChangeNotify', this.getActivateFeeRateFileID());
|
|
|
};
|
|
|
FeeRate.prototype.updateStatusBySelected = function (updateTasks) {
|
|
|
var updateData = [];
|
|
@@ -173,7 +182,7 @@ var FeeRate = {
|
|
|
me.datas.libName=data.libName;
|
|
|
me.datas.feeRateID=data.feeRateID;
|
|
|
me.datas.rates=data.rates;
|
|
|
- socket.emit('feeRateChangeNotify', me.getActivateFeeRateID());
|
|
|
+ socket.emit('feeRateChangeNotify', me.getActivateFeeRateFileID());
|
|
|
callback();
|
|
|
}
|
|
|
});
|
|
@@ -198,7 +207,7 @@ var FeeRate = {
|
|
|
var updateData = this.getUpdateData('ut_update',{projectID:projectInfoObj.projectInfo.ID},this.datas,'feeRateFileSaveAs');
|
|
|
project.pushNow('updateFeeRate',[this.sourceType],updateData);
|
|
|
|
|
|
- socket.emit('feeRateChangeNotify', this.getActivateFeeRateID());
|
|
|
+ socket.emit('feeRateChangeNotify', this.getActivateFeeRateFileID());
|
|
|
return this.datas;
|
|
|
};
|
|
|
FeeRate.prototype.getChangeInfo = function (callback) {
|
|
@@ -216,17 +225,107 @@ var FeeRate = {
|
|
|
callback(data);
|
|
|
});
|
|
|
};
|
|
|
- FeeRate.prototype.setFeeRateToBill=function (rate,bills,callback) {
|
|
|
- var query={
|
|
|
- ID:bills.ID,
|
|
|
- projectID:bills.projectID,
|
|
|
- deleteInfo:null
|
|
|
+ FeeRate.prototype.updateFeeRateFromBills=function(value,node){
|
|
|
+ var me =this;
|
|
|
+ if(node.sourceType === project.Bills.getSourceType()){
|
|
|
+ var value= number_util.checkNumberValue(value,feeRate_consts.decimal);
|
|
|
+ if(value){
|
|
|
+ var bill = node.data;
|
|
|
+ var rate =me.getFeeRateByID(bill.feeRateID);
|
|
|
+ var data=me.getfbUpdateData(rate,bill,value);
|
|
|
+ this.setFeeRateToBill(data,function (result) {
|
|
|
+ if(data.hasOwnProperty('feeRate')){
|
|
|
+ me.refreshBillsByRateID(rate,value);
|
|
|
+ socket.emit('feeRateChangeNotify', me.getActivateFeeRateFileID());
|
|
|
+ }else {
|
|
|
+ bill.feeRate=value;
|
|
|
+ projectObj.mainController.refreshTreeNode([node])
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ projectObj.mainController.refreshTreeNode([node]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ FeeRate.prototype.refreshBillsByRateID=function(rate,value){
|
|
|
+ rate.rate=value;
|
|
|
+ var nodes = _.filter(projectObj.project.mainTree.items,function (n) {
|
|
|
+ if(n.sourceType==ModuleNames.bills&&n.data.feeRateID==rate.ID){
|
|
|
+ n.data.feeRate=value;
|
|
|
+ return true;
|
|
|
+ }else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(nodes.length>0){
|
|
|
+ projectObj.mainController.refreshTreeNode(nodes)
|
|
|
}
|
|
|
- var doc={
|
|
|
- feeRate:null,
|
|
|
- feeRateID:rate.ID
|
|
|
+ };
|
|
|
+
|
|
|
+ FeeRate.prototype.getfbUpdateData=function (rate,bill,value) {
|
|
|
+ var data={};
|
|
|
+ if(bill.feeRateID){
|
|
|
+ data.feeRate={
|
|
|
+ query:{
|
|
|
+ 'ID':this.getActivateFeeRateID(),
|
|
|
+ 'rates.ID':rate.ID
|
|
|
+ },
|
|
|
+ doc:{
|
|
|
+ 'rates.$.rate':value
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ data.bills={
|
|
|
+ query:{
|
|
|
+ ID:bill.ID,
|
|
|
+ projectID:bill.projectID,
|
|
|
+ deleteInfo:null
|
|
|
+ },
|
|
|
+ doc:{
|
|
|
+ feeRate:value
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- CommonAjax.post('/feeRates/setFeeRateToBill', {query:query,doc:doc}, function (data) {
|
|
|
+ return data;
|
|
|
+ };
|
|
|
+
|
|
|
+ FeeRate.prototype.cleanFeeRateID=function (node) {
|
|
|
+ var data ={
|
|
|
+ bills:{
|
|
|
+ query:{
|
|
|
+ ID:node.data.ID,
|
|
|
+ projectID:node.data.projectID,
|
|
|
+ deleteInfo:null
|
|
|
+ },
|
|
|
+ doc:{
|
|
|
+ feeRate:null,
|
|
|
+ feeRateID:null
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.setFeeRateToBill(data,function (result) {
|
|
|
+ node.data.feeRate=null;
|
|
|
+ node.data.feeRateID=null;
|
|
|
+ });
|
|
|
+ };
|
|
|
+ FeeRate.prototype.submitFeeRateFromBill=function (rate,bills,callback) {
|
|
|
+ var data ={
|
|
|
+ bills:{
|
|
|
+ query:{
|
|
|
+ ID:bills.ID,
|
|
|
+ projectID:bills.projectID,
|
|
|
+ deleteInfo:null
|
|
|
+ },
|
|
|
+ doc:{
|
|
|
+ feeRate:null,
|
|
|
+ feeRateID:rate.ID
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.setFeeRateToBill(data,callback);
|
|
|
+ };
|
|
|
+ FeeRate.prototype.setFeeRateToBill=function(data,callback){
|
|
|
+ CommonAjax.post('/feeRates/setFeeRateToBill', data, function (data) {
|
|
|
callback(data);
|
|
|
});
|
|
|
};
|
|
@@ -234,7 +333,7 @@ var FeeRate = {
|
|
|
if(node.data.feeRateID){
|
|
|
var feeRate = this.getFeeRateByID(node.data.feeRateID);
|
|
|
if(feeRate){
|
|
|
- node.data.feeRate=feeRate.rate.toString();
|
|
|
+ node.data.feeRate=parseFloat(feeRate.rate).toFixed(feeRate_consts.decimal);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
@@ -248,7 +347,7 @@ var FeeRate = {
|
|
|
CommonAjax.post('/feeRates/changeFeeRateFileFromCurrent', data, function (data) {
|
|
|
if (data) {
|
|
|
me.datas=data;
|
|
|
- socket.emit('feeRateChangeNotify', me.getActivateFeeRateID());
|
|
|
+ socket.emit('feeRateChangeNotify', me.getActivateFeeRateFileID());
|
|
|
callback();
|
|
|
}
|
|
|
});
|
|
@@ -266,7 +365,7 @@ var FeeRate = {
|
|
|
CommonAjax.post('/feeRates/changeFeeRateFileFromOthers', data, function (data) {
|
|
|
if (data) {
|
|
|
me.datas=data;
|
|
|
- socket.emit('feeRateChangeNotify', me.getActivateFeeRateID());
|
|
|
+ socket.emit('feeRateChangeNotify', me.getActivateFeeRateFileID());
|
|
|
callback();
|
|
|
}
|
|
|
});
|