bill_code_facade.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /**
  2. * Created by zhang on 2018/9/3.
  3. */
  4. import mongoose from "mongoose";
  5. const uuidV1 = require('uuid/v1');
  6. let moment = require("moment");
  7. let billCodeLibModel = mongoose.model('std_bill_code_lib');
  8. let billCodeItemModel = mongoose.model('std_bill_code_item');
  9. let compilationModel = mongoose.model('compilation');
  10. let billCodeLib = {
  11. findByCondition:async function(conditions,options,single=true){
  12. if(single == true){
  13. return await billCodeLibModel.findOne(conditions,options);
  14. }else {
  15. return await billCodeLibModel.find(conditions,options);
  16. }
  17. },
  18. findItemsByCondition:async function(conditions,options){
  19. return await billCodeItemModel.find(conditions,options).lean();
  20. },
  21. addLib : async function (data){
  22. let now = new Date().getTime();
  23. let dateStr = moment(now).format('YYYY-MM-DD HH:mm:ss');
  24. //取编办信息
  25. let compilation = await compilationModel.findOne({_id:data.compilationId});
  26. if(compilation){
  27. let newLib = {
  28. creator: data.userAccount,
  29. createDate: now,
  30. recentOpr: [{operator: data.userAccount, operateDate: dateStr}],
  31. name: data.name,
  32. compilationID: data.compilationId,
  33. compilationName: compilation.name,
  34. };
  35. newLib.ID = uuidV1();
  36. return await billCodeLibModel.create(newLib);
  37. }else {
  38. throw new Error("没有找到该编办!");
  39. }
  40. },
  41. saveLib:async function(param) {
  42. await billCodeItemModel.deleteMany({libID:param.query.ID});
  43. const items = param.data.data.map((item) => {
  44. item.libID = param.query.ID;
  45. item.ID = uuidV1();
  46. return item;
  47. });
  48. return await billCodeItemModel.insertMany(items);
  49. },
  50. deleteLibByID:async function(ID){
  51. await billCodeItemModel.deleteMany({libID:ID});
  52. return await billCodeLibModel.deleteOne({ID:ID});
  53. },
  54. };
  55. export default billCodeLib