voucher_approval_dao.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. from utils.UpdateOwnId import updateOwnId
  2. def updateSeniorDataMaster(insert_obj, mongo):
  3. _id = ""
  4. try:
  5. UpdateResult = mongo["v_tbl_voucher_senior_master"].update_one(
  6. {'emp_key': str(insert_obj['emp_key'])}, {'$set': insert_obj},
  7. upsert=True)
  8. _id = UpdateResult.raw_result['upserted']
  9. updateOwnId("v_tbl_voucher_senior_master", _id, mongo)
  10. except Exception as identifier:
  11. print(identifier)
  12. return _id
  13. def getVoucherSeniorListDao(emp_key, mongo):
  14. voucher_senior_list = []
  15. try:
  16. voucher_senior_list = list(mongo["v_tbl_voucher_senior_master"].find(
  17. {'emp_key': emp_key}, {'_id': 0}))
  18. except Exception as err:
  19. print('getVoucherSeniorListDao', err)
  20. return voucher_senior_list
  21. def getVoucherDetailsDao(id, mongo):
  22. vouchers = []
  23. try:
  24. vouchers = list(mongo["v_tbl_voucher_master"].find({'id': id},
  25. {'_id': 0}))
  26. except Exception as err:
  27. print('getVoucherDetailsDao', err)
  28. return vouchers
  29. def updateVoucherApprovalStatus(requestObject, voucher_id, mongo):
  30. try:
  31. mongo["v_tbl_voucher_master"].update_one({'id': str(voucher_id)},
  32. {'$set': requestObject})
  33. except Exception as identifier:
  34. print(identifier)
  35. def insertVoucherStatusLog(status_obj, mongo):
  36. try:
  37. mongo["v_voucher_status_log"].insert(status_obj)
  38. except Exception as err:
  39. print(err)
  40. def getPendingVoucherForApprovalDao(u_id, mongo):
  41. vouchers = []
  42. try:
  43. vouchers = list(mongo["v_tbl_voucher_master"].find(
  44. {
  45. 'voucher_status':'PENDING',
  46. '$or': [{
  47. 'approval_track.senior_level_1.id': u_id,
  48. 'approval_track.senior_level_1.status': 'PENDING'
  49. }, {
  50. 'approval_track.senior_level_2.id': u_id,
  51. 'approval_track.senior_level_2.status': 'PENDING'
  52. }, {
  53. 'approval_track.senior_level_3.id': u_id,
  54. 'approval_track.senior_level_3.status': 'PENDING'
  55. }, {
  56. 'approval_track.finance_level_1.id': u_id,
  57. 'approval_track.finance_level_1.status': 'PENDING'
  58. }, {
  59. 'approval_track.finance_level_2.id': u_id,
  60. 'approval_track.finance_level_2.status': 'PENDING'
  61. }]
  62. }, {'_id': 0}))
  63. except Exception as err:
  64. print('getPendingVoucherForApprovalDao', err)
  65. return vouchers
  66. def getArchiveVoucherForApprovalDao(u_id, mongo):
  67. vouchers = []
  68. try:
  69. vouchers = list(mongo["v_tbl_voucher_master"].find(
  70. {
  71. '$or': [{
  72. 'approval_track.senior_level_1.id': u_id,
  73. 'approval_track.senior_level_1.status': {'$ne':'PENDING'}
  74. }, {
  75. 'approval_track.senior_level_2.id': u_id,
  76. 'approval_track.senior_level_2.status': {'$ne':'PENDING'}
  77. }, {
  78. 'approval_track.senior_level_3.id': u_id,
  79. 'approval_track.senior_level_3.status': {'$ne':'PENDING'}
  80. }, {
  81. 'approval_track.finance_level_1.id': u_id,
  82. 'approval_track.finance_level_1.status': {'$ne':'PENDING'}
  83. }, {
  84. 'approval_track.finance_level_2.id': u_id,
  85. 'approval_track.finance_level_2.status': {'$ne':'PENDING'}
  86. }]
  87. }, {'_id': 0},sort=[('voucher_created_on', -1)]).limit(100))
  88. except Exception as err:
  89. print('getPendingVoucherForApprovalDao', err)
  90. return vouchers