unit_price_file.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. //这个好像没有用到了,先注释掉,运行如无错误后删除
  2. /*
  3. /!**
  4. * Created by jimiz on 2017/5/10.
  5. * 单价文件的GLJ列表,注意与项目GLJ区分
  6. *!/
  7. var mongoose = require("mongoose");
  8. var db = require("../db/unit_price_file_db");
  9. var Schema = mongoose.Schema;
  10. var deleteSchema = require('../../../public/models/delete_schema');
  11. var counter = require("../../../public/counter/counter.js");
  12. var consts = require('../../main/models/project_consts');
  13. var projectConsts = consts.projectConst;
  14. var commonConsts = consts.commonConst;
  15. var GLJListSchema = new Schema({
  16. ID: Number,
  17. fileID: Number,
  18. code: String,
  19. name: String,
  20. specs: String,
  21. unit: String,
  22. type: Number,
  23. adjustPrice: String,
  24. rationPrice: String,
  25. price: String, //Decimal
  26. deleteInfo: deleteSchema
  27. });
  28. var GLJList = db.model("GLJList", GLJListSchema, "GLJList");
  29. var GLJListDAO = function(){};
  30. GLJListDAO.prototype.getData = function(fileID, callback){
  31. var me = this;
  32. GLJList.find({'$or': [{fileID: fileID, deleteInfo: null}, {fileID: fileID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
  33. if (!err) {
  34. callback(0, projectConsts.GLJLIST, datas);
  35. } else {
  36. callback(1, '', null);
  37. }
  38. });
  39. };
  40. // 单价文件中的工料机不在这里新增,只能由add方法新增,删除需要在前端projectGLJ判断:1、是新工料机;2、没有定额引用,才可以删除
  41. GLJListDAO.prototype.save = function(fileId, datas, callback){
  42. var functions = [];
  43. var data;
  44. // cb中返回doc,以便进行同步
  45. function saveOne(doc) {
  46. return function (cb) {
  47. function updateCallback(err, data){
  48. cb(err, doc);
  49. }
  50. switch (doc.updateType) {
  51. case commonConsts.UT_UPDATE:
  52. ration.update({ID: doc.ID}, doc, updateCallback);
  53. break;
  54. case commonConsts.UT_DELETE:
  55. /!* 假删除
  56. var item = new ration(doc);
  57. item.remove(cb);
  58. *!/
  59. }
  60. }
  61. }
  62. for (var i = 0; i < datas.length; i++){
  63. data = datas[i];
  64. functions.push(saveOne(data));
  65. }
  66. async.parallel(functions, callback);
  67. };
  68. GLJListDAO.prototype.add = function(fileID, count, callback){
  69. function newCallback(err, lowID, highID){
  70. if (!err) {
  71. var datas = [];
  72. for (var i = lowID; i <= highID; i++){
  73. var GLJ = new GLJList;
  74. GLJ.ID = i;
  75. GLJ.fileID = fileID;
  76. datas.push(GLJ);
  77. }
  78. callback(err, datas);
  79. }
  80. else{
  81. callback(err, null);
  82. }
  83. }
  84. counter.counterDAO.getIDAfterCount(COUNTER_MODULE_NAME.unitPriceGLJ, IDStep, function(err, highID){
  85. var lowID = highID - IDStep + 1;
  86. newCallback(err, lowID, highID);
  87. });
  88. };
  89. module.exports = new GLJListDAO();*/