| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | 
							- /**
 
-  * Created by jimiz on 2017/5/10.
 
-  * 单价文件的GLJ列表,注意与项目GLJ区分
 
-  */
 
- var mongoose = require("mongoose");
 
- var db = require("../db/unit_price_file_db");
 
- var Schema = mongoose.Schema;
 
- var deleteSchema = require('../../../public/models/delete_schema');
 
- var counter = require("../../../public/counter/counter.js");
 
- var consts = require('../../main/models/project_consts');
 
- var projectConsts = consts.projectConst;
 
- var commonConsts = consts.commonConst;
 
- var GLJListSchema = new Schema({
 
-     ID: Number,
 
-     fileID: Number,
 
-     code: String,
 
-     name: String,
 
-     specs: String,
 
-     unit: String,
 
-     type: Number,
 
-     adjustPrice: String,
 
-     rationPrice: String,
 
-     price: String, //Decimal
 
-     deleteInfo: deleteSchema
 
- });
 
- var GLJList = db.model("GLJList", GLJListSchema, "GLJList");
 
- var GLJListDAO = function(){};
 
- GLJListDAO.prototype.getData = function(fileID, callback){
 
-     var me = this;
 
-     GLJList.find({'$or': [{fileID: fileID, deleteInfo: null}, {fileID: fileID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
 
-         if (!err) {
 
-             callback(0, projectConsts.GLJLIST, datas);
 
-         } else {
 
-             callback(1, '', null);
 
-         }
 
-     });
 
- };
 
- // 单价文件中的工料机不在这里新增,只能由add方法新增,删除需要在前端projectGLJ判断:1、是新工料机;2、没有定额引用,才可以删除
 
- GLJListDAO.prototype.save = function(fileId, datas, callback){
 
-     var functions = [];
 
-     var data;
 
-     // cb中返回doc,以便进行同步
 
-     function saveOne(doc) {
 
-         return function (cb) {
 
-             function updateCallback(err, data){
 
-                 cb(err, doc);
 
-             }
 
-             switch (doc.updateType) {
 
-                 case commonConsts.UT_UPDATE:
 
-                     ration.update({ID: doc.ID}, doc, updateCallback);
 
-                     break;
 
-                 case commonConsts.UT_DELETE:
 
-                 /* 假删除
 
-                  var item = new ration(doc);
 
-                  item.remove(cb);
 
-                  */
 
-             }
 
-         }
 
-     }
 
-     for (var i = 0; i < datas.length; i++){
 
-         data = datas[i];
 
-         functions.push(saveOne(data));
 
-     }
 
-     async.parallel(functions, callback);
 
- };
 
- GLJListDAO.prototype.add = function(fileID, count, callback){
 
-     function newCallback(err, lowID, highID){
 
-         if (!err) {
 
-             var datas = [];
 
-             for (var i = lowID; i <= highID; i++){
 
-                 var GLJ = new GLJList;
 
-                 GLJ.ID = i;
 
-                 GLJ.fileID = fileID;
 
-                 datas.push(GLJ);
 
-             }
 
-             callback(err, datas);
 
-         }
 
-         else{
 
-             callback(err, null);
 
-         }
 
-     }
 
-     counter.counterDAO.getIDAfterCount(COUNTER_MODULE_NAME.unitPriceGLJ, IDStep, function(err, highID){
 
-         var lowID = highID - IDStep + 1;
 
-         newCallback(err, lowID, highID);
 
-     });
 
- };
 
- module.exports = new GLJListDAO();
 
 
  |