projectGLJ.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. * Created by jimiz on 2017/4/1.
  3. */
  4. var mongoose = require("mongoose");
  5. var db = require("../db/project_db");
  6. var Schema = mongoose.Schema;
  7. var deleteSchema = require('../../../public/models/delete_schema');
  8. var consts = require('../../main/models/projectConsts');
  9. var projectConsts = consts.projectConst;
  10. var commonConsts = consts.commonConst;
  11. var unitPriceFile = require('../../GLJ/models/unitPriceFile.js')
  12. var projectGLJSchema = new Schema({
  13. ID: Number,
  14. projectID: Number,
  15. type: String,
  16. amount: String, // Decimal
  17. rationPrice: String, //Decimal
  18. adjustPrice: String, //Decimal
  19. price: String, //Decimal
  20. isInterim: Boolean, // 是否暂估
  21. provideType: Number, // 供货方式
  22. partyAAmount: String, // Decimal 甲供数量
  23. deliveryType: String, // 交货方式
  24. deliveryPlace: String, // 送达地点
  25. noTender: Boolean,
  26. deleteInfo: deleteSchema
  27. });
  28. var projectGLJ = db.model("projectGLJ", projectGLJSchema, "projectGLJ");
  29. var projectGLJDAO = function(){};
  30. projectGLJDAO.prototype.getData = function(projectID, callback){
  31. projectGLJ.find({'$or': [{projectID: projectID, deleteInfo: null}, {projectID: projectID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
  32. if (!err) {
  33. callback(0, projectConsts.PROJECTGLJ, datas);
  34. } else {
  35. callback(1, '', null);
  36. }
  37. });
  38. };
  39. // 工料机汇总的工料机不在这里新增,只能由add方法新增,删除需要在前端projectGLJ判断:1、是新工料机;2、没有定额引用,才可以删除
  40. projectGLJDAO.prototype.save = function(projectID, datas, callback){
  41. var functions = [];
  42. var data;
  43. function saveOne(data) {
  44. return function (cb) {
  45. switch (doc.updateType) {
  46. case commonConsts.UT_UPDATE:
  47. projectGLJ.update({ID: doc.ID}, doc, cb);
  48. break;
  49. case commonConsts.UT_DELETE:
  50. /* 假删除
  51. var item = new ration(doc);
  52. item.remove(cb);
  53. */
  54. }
  55. }
  56. }
  57. for (var i = 0; i < datas.length; i++){
  58. data = datas[i];
  59. functions.push(saveOne(data));
  60. }
  61. async.parallel(functions, callback);
  62. };
  63. projectGLJDAO.prototype.add = function(projectID, count, callback){
  64. unitPriceFile.add(count, callback);
  65. };
  66. projectGLJDAO.prototype.syncData = function(projectID, datas, callback){
  67. };
  68. module.exports = new projectGLJDAO();