|
@@ -1,23 +1,24 @@
|
|
/**
|
|
/**
|
|
* Created by jimiz on 2017/4/1.
|
|
* Created by jimiz on 2017/4/1.
|
|
|
|
+ * 工料机汇总
|
|
*/
|
|
*/
|
|
var mongoose = require("mongoose");
|
|
var mongoose = require("mongoose");
|
|
var db = require("../db/project_db");
|
|
var db = require("../db/project_db");
|
|
var Schema = mongoose.Schema;
|
|
var Schema = mongoose.Schema;
|
|
var deleteSchema = require('../../../public/models/delete_schema');
|
|
var deleteSchema = require('../../../public/models/delete_schema');
|
|
-var consts = require('project_consts');
|
|
|
|
|
|
+var consts = require('./project_consts');
|
|
var projectConsts = consts.projectConst;
|
|
var projectConsts = consts.projectConst;
|
|
var commonConsts = consts.commonConst;
|
|
var commonConsts = consts.commonConst;
|
|
-var unitPriceFile = require('../../glj/models/unit_price_file')
|
|
|
|
|
|
+var unitPriceFile = require('../../glj/models/unit_price_file');
|
|
|
|
+var upGLJList = require('../../glj/models/glj_list');
|
|
|
|
+var projectProperties = require('./project_properties.js')
|
|
|
|
|
|
var projectGLJSchema = new Schema({
|
|
var projectGLJSchema = new Schema({
|
|
ID: Number,
|
|
ID: Number,
|
|
|
|
+ code: String,
|
|
|
|
+ name: String,
|
|
projectID: Number,
|
|
projectID: Number,
|
|
- type: String,
|
|
|
|
amount: String, // Decimal
|
|
amount: String, // Decimal
|
|
- rationPrice: String, //Decimal
|
|
|
|
- adjustPrice: String, //Decimal
|
|
|
|
- price: String, //Decimal
|
|
|
|
isInterim: Boolean, // 是否暂估
|
|
isInterim: Boolean, // 是否暂估
|
|
provideType: Number, // 供货方式
|
|
provideType: Number, // 供货方式
|
|
partyAAmount: String, // Decimal 甲供数量
|
|
partyAAmount: String, // Decimal 甲供数量
|
|
@@ -32,11 +33,51 @@ var projectGLJ = db.model("projectGLJ", projectGLJSchema, "projectGLJ");
|
|
var projectGLJDAO = function(){};
|
|
var projectGLJDAO = function(){};
|
|
|
|
|
|
projectGLJDAO.prototype.getData = function(projectID, callback){
|
|
projectGLJDAO.prototype.getData = function(projectID, callback){
|
|
|
|
+
|
|
|
|
+ function combineGLJData(fileID, gljList){
|
|
|
|
+ var gljIndex = {};
|
|
|
|
+
|
|
|
|
+ upGLJList.getData(fileID, function (err, message, datas) {
|
|
|
|
+ if (!err) {
|
|
|
|
+ for (var i = 0; i < length(datas); i++){
|
|
|
|
+ var data = datas[i];
|
|
|
|
+ gljIndex[data.code + '_' + data.name] = data;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (var j = 0; j < length(gljList); j++){
|
|
|
|
+ var pGLJ = gljList[j];
|
|
|
|
+ var glj = gljIndex[pGLJ.code + '_' + pGLJ.name];
|
|
|
|
+ for (var p in data) {
|
|
|
|
+ if (p != 'ID' && p != 'fileID' && p != 'deleteInfo') {
|
|
|
|
+ pGLJ[p] = glj[p];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ callback(0, projectConsts.PROJECTGLJ, gljList);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ callback(3, 'can not get unitPriceFile gljList', null);
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function getGLJDatas(gljList){
|
|
|
|
+ projectProperties.getData(projectID, function (err, message, datas) {
|
|
|
|
+ if (!err) {
|
|
|
|
+ var fileID = datas[0];
|
|
|
|
+ combineGLJData(fileID, gljList);
|
|
|
|
+ } else {
|
|
|
|
+ callback(2, 'can not get unitPriceFileID', null);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
projectGLJ.find({'$or': [{projectID: projectID, deleteInfo: null}, {projectID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
|
|
projectGLJ.find({'$or': [{projectID: projectID, deleteInfo: null}, {projectID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
|
|
if (!err) {
|
|
if (!err) {
|
|
- callback(0, projectConsts.PROJECTGLJ, datas);
|
|
|
|
|
|
+ getGLJDatas(datas);
|
|
} else {
|
|
} else {
|
|
- callback(1, '', null);
|
|
|
|
|
|
+ callback(1, 'can not get projectGLJ', null);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
};
|
|
};
|
|
@@ -69,8 +110,11 @@ projectGLJDAO.prototype.save = function(projectID, datas, callback){
|
|
async.parallel(functions, callback);
|
|
async.parallel(functions, callback);
|
|
};
|
|
};
|
|
|
|
|
|
-projectGLJDAO.prototype.add = function(projectID, count, callback){
|
|
|
|
- unitPriceFile.add(count, callback);
|
|
|
|
|
|
+projectGLJDAO.prototype.add = function(projectID, fileID, count, callback){
|
|
|
|
+ function addGLJ(err, datas){
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ unitPriceFile.add(fileID, count, callback);
|
|
};
|
|
};
|
|
|
|
|
|
projectGLJDAO.prototype.syncData = function(projectID, datas, callback){
|
|
projectGLJDAO.prototype.syncData = function(projectID, datas, callback){
|