rationLibMap.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /**
  2. * Created by Syusuke on 2017/3/20.
  3. */
  4. var mongoose = require("mongoose");
  5. var dbm = require("../../../config/db/db_manager");
  6. var async = require("async");
  7. var db = dbm.getCfgConnection("rationLibMap");
  8. //var schema = mongoose.Schema;
  9. var rationLibMapSchema = mongoose.Schema({
  10. displayName:String,
  11. dbName:String
  12. })
  13. var rationLibMap = db.model("rationlibmaps", rationLibMapSchema);
  14. var rationLibMapDAO = function(){};
  15. rationLibMapDAO.prototype.getRealLibName = function(rationName,callback){
  16. rationLibMap.find({"displayName":rationName}, function(err,data){
  17. if (err) {
  18. callback('Error', null);
  19. } else {
  20. callback(0, data);
  21. }
  22. });
  23. };
  24. rationLibMapDAO.prototype.addRationLib = function(rationName,callback){
  25. rationLibMap.find({"risplayName":rationName},function(err,data){
  26. if(data.length == 0)
  27. new rationLibMap({"displayName":rationName,"dbName":rationName}).save(function(err) {
  28. if (err) callback("Error", null)
  29. else
  30. callback(false, "ok");
  31. })
  32. else
  33. callback("定额库重名!",null)
  34. })
  35. }
  36. rationLibMapDAO.prototype.getDisplayRationLibs = function(callback) {
  37. rationLibMap.find({}, function(err, data){
  38. if (err) {
  39. callback( 'Error', null);
  40. } else {
  41. callback( false, data);
  42. }
  43. });
  44. };
  45. rationLibMapDAO.prototype.deleteRationLib = function(rationName,callback){
  46. async.waterfall([
  47. function(cb){
  48. rationLibMap.find({"displayName":rationName},function(err,data){
  49. cb(err,data)
  50. })
  51. },
  52. function(data,cb){
  53. var db1 = dbm.getCfgConnection(data[0].dbName);
  54. db1.dropDatabase(function(err){
  55. cb(err,data)
  56. })
  57. },
  58. function(data,cb){
  59. RationLibMap.remove({"displayName":rationName},function(err,data){
  60. cb(err,data);
  61. })
  62. }
  63. ],
  64. function(err,result){
  65. if (err) {
  66. callback( 'Error', null);
  67. } else {
  68. callback( '', "ok");
  69. }
  70. })
  71. }
  72. rationLibMapDAO.prototype.editRationLib = function(rationName,newName,callback){
  73. rationLibMap.find({"displayName":newName}, function(err, data){
  74. if (data.length == 0) {
  75. rationLibMap.update({displayName:rationName},{$set:{displayName:newName}},function(err){
  76. if(err) callback("err",false);
  77. else callback(false,"ok")
  78. })
  79. } else
  80. callback("不可重名!",false);
  81. });
  82. }
  83. module.exports = new rationLibMapDAO();