bills_template_model.js 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /**
  2. * Created by Mai on 2017/4/14.
  3. * 清单模板,新建项目使用
  4. */
  5. import BaseModel from "../../common/base/base_model";
  6. import BillsTemplateSchema from "./schemas/bills_template";
  7. class BillsTemplateModel extends BaseModel {
  8. /**
  9. * 构造函数
  10. *
  11. * @return {void}
  12. */
  13. constructor() {
  14. let parent = super();
  15. parent.model = BillsTemplateSchema;
  16. parent.init();
  17. }
  18. async getTemplateData (valuationId) {
  19. // 筛选字段
  20. let field = {_id: 1, valuationId: 1, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1};
  21. let data = await this.findDataByCondition({valuationId: valuationId}, field, false);
  22. return data === null ? [] : data;
  23. }
  24. };
  25. export default BillsTemplateModel;
  26. /*
  27. var BillsTemplateDAO = function(){};
  28. BillsTemplateDAO.prototype.getTemplate = function (type, callback) {
  29. if (callback) {
  30. BillsTemplates.find({'$or': [{tempType: type, deleteInfo: null}, {tempType: type, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id').exec()
  31. .then(function (result, err) {
  32. if (err) {
  33. callback(1, '找不到模板', null);
  34. } else {
  35. callback(0, '', result);
  36. }
  37. });
  38. return null;
  39. } else {
  40. return BillsTemplates.find({'$or': [{tempType: type, deleteInfo: null}, {tempType: type, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id').exec();
  41. }
  42. };
  43. BillsTemplateDAO.prototype.updateTemplate = function (userID, tempType, datas, callback) {
  44. var data, project, updateLength = 0, hasError = false, deleteInfo = null;
  45. var updateAll = function (err) {
  46. if (!err){
  47. updateLength += 1;
  48. if (updateLength === datas.length) {
  49. callback(0, '', datas);
  50. }
  51. } else {
  52. hasError = true;
  53. callback(1, '升级数据出错', null);
  54. }
  55. };
  56. if (datas){
  57. for (var i = 0; i < datas.length && !hasError; i++){
  58. data = datas[i];
  59. if (data.type === 'update') {
  60. BillsTemplates.update({tempType: tempType, ID: data.data.ID}, data.data, updateAll)
  61. } else if (data.type === 'new') {
  62. data.data['tempType'] = tempType;
  63. newProject = new BillsTemplates(data.data);
  64. newProject.save(updateAll);
  65. } else if (data.type === 'delete') {
  66. deleteInfo = {};
  67. deleteInfo['deleted'] = true;
  68. deleteInfo['deleteDateTime'] = new Date();
  69. deleteInfo['deleteBy'] = userID;
  70. BillsTemplates.update({ID: data.data.ID}, {deleteInfo: deleteInfo}, updateAll);
  71. } else {
  72. hasError = true;
  73. callback(1, '升级数据出错', null)
  74. }
  75. }
  76. }
  77. };
  78. BillsTemplateDAO.prototype.getNewBillsTemplateID = function (count, callback) {
  79. counter.counterDAO.getIDAfterCount(counter.moduleName.template_bills, count, function (err, result) {
  80. var highID = result.value.sequence_value;
  81. if (!err) {
  82. callback(0, '', {lowID: highID - count + 1, highID: highID});
  83. } else {
  84. callback(1, '获取主键失败', null);
  85. }
  86. });
  87. };
  88. module.exports = new BillsTemplateDAO();*/