gljRepository.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /**
  2. * Created by Tony on 2017/5/4.
  3. * 工料机的总库,根据不同定额库分类,参考原gljList表
  4. */
  5. var mongoose = require("mongoose");
  6. var dbm = require("../../../config/db/db_manager");
  7. var db = dbm.getCfgConnection("rationRepository")
  8. var async = require("async");
  9. var Schema = mongoose.Schema;
  10. var gljTypeSchema = mongoose.Schema({
  11. repositoryId: Number,
  12. ID: Number,
  13. ParentID: Number,
  14. NextSiblingID: Number,
  15. Name: String
  16. });
  17. var gljSchema = mongoose.Schema({
  18. repositoryId: Number,
  19. ID:Number,
  20. //以下是基于已有access库
  21. code: String,
  22. name: String,
  23. specs: String,
  24. unit: String,
  25. basePrice: Number,
  26. gljType: Number
  27. });
  28. var gljTypeModel = db.model("gljType",gljTypeSchema, "gljType");
  29. var gljItemModel = db.model("gljRepository",gljSchema, "gljRepository");
  30. var repositoryMap = require('./repositoryMap');
  31. var counter = require('../../../public/counter/counter');
  32. var gljItemDAO = function(){};
  33. gljItemDAO.prototype.getGljTypes = function(repositoryName, callback){
  34. repositoryMap.getRealLibName(repositoryName, function(err, rst){
  35. if (err || rst.length == 0) {
  36. callback("获取定额库错误!",false)
  37. } else {
  38. gljTypeModel.find({"repositoryId": rst[0].ID, "$or": [{"isDeleted": null}, {"isDeleted": false} ]},function(err,data){
  39. if(data.length) callback(false,data);
  40. else if(err) callback("获取工料机类型错误!",false)
  41. else callback(false,false);
  42. })
  43. }
  44. });
  45. };
  46. gljItemDAO.prototype.getGljItemsByRep = function(repositoryId,callback){
  47. gljItemModel.find({"repositoryId": repositoryId},function(err,data){
  48. if(err) callback(true, "获取工料机错误!", "")
  49. else callback(false,"获取工料机", data);
  50. })
  51. };
  52. gljItemDAO.prototype.getGljItemByType = function(repositoryId, type, callback){
  53. gljItemModel.find({"repositoryId": repositoryId, "gljType": type},function(err,data){
  54. if(err) callback(true, "获取工料机错误!", "")
  55. else callback(false,"获取工料机", data);
  56. })
  57. };
  58. gljItemDAO.prototype.getGljItem = function(repositoryId, code, callback){
  59. gljItemModel.find({"repositoryId": repositoryId, "code": code},function(err,data){
  60. if(err) callback(true, "获取工料机错误!", "")
  61. else callback(false,"获取工料机", data);
  62. })
  63. };
  64. module.exports = new gljItemDAO();