repository_map.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /**
  2. * Created by Tony on 2017/4/24.
  3. * 重新构造,不适宜生成多个定额库db,还是得统一在一个表
  4. */
  5. var mongoose = require('mongoose');
  6. var counter = require('../../../public/counter/counter');
  7. var rationRepository = mongoose.model("std_ration_lib_map");
  8. function createNewLibModel(rationLibObj){
  9. var rst = {};
  10. rst.dispName = rationLibObj.dispName;
  11. rst.appType = rationLibObj.appType?rationLibObj.appType:'construct';
  12. rst.localeType = rationLibObj.localeType?rationLibObj.localeType:'';
  13. rst.descr = rationLibObj.descr;
  14. rst.deleted = false;
  15. return rst;
  16. }
  17. let rationRepositoryDao = function(){};
  18. rationRepositoryDao.prototype.getRealLibName = function(dispName,callback){
  19. if (callback) {
  20. rationRepository.find({"dispName": dispName}, function(err,data){
  21. if (err) {
  22. callback('Error', null);
  23. } else {
  24. callback(false, data);
  25. }
  26. });
  27. } else {
  28. var rst = rationRepository.find({"dispName": dispName}).exec();
  29. return rst;
  30. }
  31. };
  32. rationRepositoryDao.prototype.getLibIDByName = function(dispName, callback){
  33. rationRepository.findOne({"dispName": dispName}, function(err,data){
  34. if (err) {
  35. callback('Error', null);
  36. } else {
  37. callback(false, data.ID);
  38. }
  39. });
  40. };
  41. rationRepositoryDao.prototype.getRepositoryById = function(repId,callback){
  42. if (callback) {
  43. rationRepository.find({"ID": repId}, function(err,data){
  44. if (err) {
  45. callback('Error', null);
  46. } else {
  47. callback(false, data);
  48. }
  49. });
  50. } else {
  51. var rst = rationRepository.find({"ID": repId}).exec();
  52. return rst;
  53. }
  54. };
  55. rationRepositoryDao.prototype.addRationRepository = function( rationLibObj,callback){
  56. counter.counterDAO.getIDAfterCount(counter.moduleName.rationMap, 1, function(err, result){
  57. var rMap = createNewLibModel(rationLibObj);
  58. rMap.ID = result.sequence_value;
  59. new rationRepository(rMap).save(function(err, result) {
  60. if (err) callback("Error", null)
  61. else
  62. callback(false, result);
  63. });
  64. });
  65. };
  66. rationRepositoryDao.prototype.getDisplayRationLibs = function(callback) {
  67. rationRepository.find({"deleted": false}, function(err, data){
  68. if (err) {
  69. callback( 'Error', null);
  70. } else {
  71. callback( false, data);
  72. }
  73. });
  74. };
  75. rationRepositoryDao.prototype.updateName = function(orgName,newName,callback){
  76. rationRepository.find({"dispName":newName, "deleted": false}, function(err, data){
  77. if (data.length == 0) {
  78. rationRepository.update({dispName:orgName},{$set:{dispName:newName}},function(err){
  79. if(err) callback("err",false);
  80. else callback(false,"ok")
  81. })
  82. } else
  83. callback("不可重名!",false);
  84. });
  85. }
  86. rationRepositoryDao.prototype.deleteRationLib = function(rationName,callback){
  87. rationRepository.find({"dispName":rationName, "deleted": false}, function(err, data){
  88. if (data.length == 1) {
  89. rationRepository.update({dispName:rationName},{$set:{deleted: true}},function(err){
  90. if(err) callback("err",false);
  91. else callback(false,"ok")
  92. })
  93. } else
  94. callback("删除失败!",false);
  95. });
  96. }
  97. module.exports = {
  98. Dao: new rationRepositoryDao(),
  99. Model: rationRepository
  100. }