gljMapModel.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. /**
  2. * Created by Zhong on 2017/8/11.
  3. */
  4. import {gljMapModel} from "./schemas";
  5. import moment from "moment";
  6. import counter from "../../../public/counter/counter";
  7. import async from "async";
  8. class OprDao {
  9. static updateOprArr(findSet, oprtor, date, cb){
  10. let oprDate = moment(date).format('YYYY-MM-DD HH:mm:ss');
  11. gljMapModel.find(findSet, function (err, result) {
  12. if(err){
  13. cb(err);
  14. }
  15. else{
  16. if(result.length === 1){
  17. let recentOprArr = result[0].recentOpr;
  18. let isExist = false;
  19. for(let i =0 ; i<recentOprArr.length; i++){
  20. if(recentOprArr[i].operator === oprtor){
  21. recentOprArr[i].operateDate = oprDate;
  22. isExist = true;
  23. }
  24. }
  25. if(!isExist){
  26. if(recentOprArr.length < 5){
  27. recentOprArr.push({operator: oprtor, operateDate: oprDate});
  28. }
  29. else if(recentOprArr.length === 5){
  30. recentOprArr.sort(function (a, b) {
  31. if(a.operateDate > b.operateDate){
  32. return -1;
  33. }else {
  34. return 1;
  35. }
  36. return 0;
  37. });
  38. recentOprArr.splice(recentOprArr.length -1, 1);
  39. recentOprArr.splice(0, 1, {operator: oprtor, operateDate: oprDate});
  40. }
  41. }
  42. gljMapModel.update(findSet, {$set: {recentOpr: recentOprArr}}, function (err) {
  43. if(err){
  44. cb(err);
  45. }
  46. else{
  47. cb(null);
  48. }
  49. });
  50. }
  51. else{
  52. cb(err);
  53. }
  54. }
  55. });
  56. };
  57. }
  58. class GljMapDao extends OprDao{
  59. static createNewLibModel(gljLibObj){
  60. var rst = {};
  61. rst.dispName = gljLibObj.dispName;
  62. rst.appType = gljLibObj.appType?gljLibObj.appType:'construct';
  63. rst.compilationId = gljLibObj.compilationId?gljLibObj.compilationId: -1;
  64. rst.compilationName = gljLibObj.compilationName?gljLibObj.compilationName:'';
  65. rst.creator = gljLibObj.creator;
  66. rst.createDate = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss');
  67. rst.recentOpr = [{operator: gljLibObj.creator, operateDate: rst.createDate}];
  68. rst.deleted = false;
  69. return rst;
  70. }
  71. getGljLib(libId, callback){
  72. gljMapModel.find({ID: libId}, function (err, result) {
  73. if(err){
  74. callback(err, '没有数据!', null);
  75. }
  76. else{
  77. callback(null, '成功', result);
  78. }
  79. })
  80. }
  81. getAllGljLib(callback){
  82. gljMapModel.find({deleted: false}, function (err, result) {
  83. if(err){
  84. callback(err, '没有定额库数据!', null);
  85. }
  86. else{
  87. callback(null, '成功', result);
  88. }
  89. })
  90. }
  91. createGljLib(gljLibObj, callback){
  92. counter.counterDAO.getIDAfterCount(counter.moduleName.stdGljLib, 1, function (err, result) {
  93. if(err){
  94. callback(err, '获取新ID失败!');
  95. }
  96. else{
  97. let newGljLib = GljMapDao.createNewLibModel(gljLibObj);
  98. newGljLib.ID = result.value.sequence_value;
  99. gljMapModel.create(newGljLib, function (err, result) {
  100. if(err){
  101. callback(err, '创建新工料机库失败!', null);
  102. }
  103. else{
  104. callback(null, '创建成功!', result);
  105. }
  106. });
  107. }
  108. })
  109. }
  110. renameGljLib(oprtor, renameObj, callback){
  111. gljMapModel.update({ID: renameObj.ID, deleted: false}, {$set: {dispName: renameObj.newName}}, function (err) {
  112. if(err){
  113. callback(err, '重命名失败!');
  114. }
  115. else{
  116. GljMapDao.updateOprArr({ID: renameObj.ID, deleted: false}, oprtor, Date.now(), function (err) {
  117. if(err){
  118. callback(err, '更新最近操作者失败!');
  119. }
  120. else{
  121. callback(null, '成功!');
  122. }
  123. });
  124. }
  125. });
  126. }
  127. removeGljLib(oprtor, libId, callback){
  128. GljMapDao.updateOprArr({ID: libId, deleted: false}, oprtor, Date.now(), function (err) {
  129. if(err){
  130. callback(err, '失败!')
  131. }
  132. else{
  133. gljMapModel.update({ID: libId, deleted: false}, {$set: {deleted: true}}, function (err) {
  134. if(err){
  135. callback(err, '移除工料机库失败!');
  136. }
  137. else{
  138. callback(null, '成功!');
  139. }
  140. });
  141. }
  142. });
  143. }
  144. }
  145. export {OprDao, GljMapDao};