| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | 
							- /**
 
-  * Created by jimiz on 2017/4/1.
 
-  * 定额工料机
 
-  */
 
- var mongoose = require("mongoose");
 
- var db = require("../db/project_db");
 
- var Schema = mongoose.Schema;
 
- var counter = require("../../../public/counter/counter.js");
 
- var deleteSchema = require('../../../public/models/delete_schema');
 
- var consts = require('./project_consts');
 
- var projectGLJ = require('./project_glj');
 
- var projectConsts = consts.projectConst;
 
- var commonConsts = consts.commonConst;
 
- var GLJSchema = new Schema({
 
-     ID: Number,
 
-     GLJID: Number,
 
-     rGLJID: Number,
 
-     rationID: Number,
 
-     billsItemID: Number,
 
-     projectID: Number,
 
-     orgRQuantity: String, //Decimal
 
-     rQuantity: String, //Decimal
 
-     customQuantity: String, //Decimal
 
-     quantity: String, //Decimal
 
-     deleteInfo: deleteSchema
 
-     // to do
 
- });
 
- var GLJ = db.model("GLJ", GLJSchema, "GLJ");
 
- var GLJDAO = function(){};
 
- GLJDAO.prototype.getData = function(projectID, callback){
 
-     function combineGLJs(gljList){
 
-         var pGLJIndex = {};
 
-         projectGLJ.getData(projectID, function (err, message, datas) {
 
-             if (!err) {
 
-                 for (var i = 0; i < datas.length; i++){
 
-                     var data = datas[i];
 
-                     pGLJIndex[data.ID] = data;
 
-                 }
 
-                 for (var j = 0; j < gljList.length; j++){
 
-                     var glj = gljList[j];
 
-                     var pGLJ = pGLJIndex[glj.ID];
 
-                     for (var p in data) {
 
-                         if (p != 'ID' && p != 'code' && p != 'name' && p != 'projectID' && p != 'deleteInfo') {
 
-                             pGLJ[p] = glj[p];
 
-                         }
 
-                     }
 
-                 }
 
-                 callback(0, projectConsts.GLJ, gljList);
 
-             }
 
-             else {
 
-                 callback(2, 'can not get unitPriceFile gljList', null);
 
-             }
 
-         })
 
-     }
 
-     GLJ.find({'$or': [{projectID: projectID, deleteInfo: null}, {projectID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
 
-         if (!err) {
 
-             combineGLJs(datas);
 
-         } else {
 
-             callback(1, '', null);
 
-         };
 
-     });
 
- };
 
- GLJDAO.prototype.save = function(datas, callback){
 
-     var functions = [];
 
-     var data;
 
-     function saveOne(data) {
 
-         return function (cb) {
 
-             switch (data.updateType) {
 
-                 case commonConsts.UT_UPDATE:
 
-                     GLJ.update({ID: data.ID}, data, cb);
 
-                     break;
 
-                 case commonConsts.UT_CREATE:
 
-                     GLJ.create(data, cb);
 
-                     break;
 
-                 case commonConsts.UT_DELETE:
 
-                 /* 假删除
 
-                  var item = new GLJ(doc);
 
-                  item.remove(cb);
 
-                  */
 
-             }
 
-         }
 
-     }
 
-     for (var i = 0; i < datas.length; i++){
 
-         data = datas[i];
 
-         functions.push(saveOne(data));
 
-     }
 
-     async.parallel(functions, callback);
 
- };
 
- GLJDAO.prototype.getItemTemplate = function(callback){
 
-     var data = new bills;
 
-     /* to do: 需要根据标准配置库填充fees和flags字段,是否需要更多的参数? */
 
-     callback(0, '', data);
 
- };
 
- GLJDAO.prototype.allocIDs = function(IDStep, callback){
 
-     counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, IDStep, function(err, highID){
 
-         var lowID = highID - IDStep + 1;
 
-         callback(0, '', {lowID: lowID, highID: highID});
 
-     });
 
- };
 
- module.exports = new GLJDAO();
 
 
  |