project_dao.py 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. from utils.UpdateOwnId import updateOwnId
  2. from datetime import datetime
  3. from utils.error_log import insert_into_error_log
  4. def insertIntoProjectMaster(requestObject,mongo):
  5. _id=""
  6. try:
  7. UpdateResult =mongo["v_tbl_project_master"].update_one({'id':str(requestObject['id'])},{'$set':requestObject},upsert=True)
  8. _id=UpdateResult.raw_result['upserted']
  9. updateOwnId("v_tbl_project_master",_id,mongo)
  10. except Exception as identifier:
  11. print(identifier)
  12. return _id
  13. def getProjectListByUID(u_id,mongo):
  14. vendors=[]
  15. try:
  16. vendors=list(mongo["v_tbl_project_master"].find({'user_id':u_id},{'_id':0}))
  17. except Exception as err:
  18. print('getProjectListByUID',err)
  19. return vendors
  20. def getAllProjectListDao(mongo):
  21. vendors=[]
  22. try:
  23. vendors=list(mongo["v_tbl_project_master"].find({},{'_id':0}))
  24. except Exception as err:
  25. print('getProjectListByUID',err)
  26. return vendors
  27. def getPendingPOForApprovalDao(u_id,mongo):
  28. vendors=[]
  29. try:
  30. vendors=list(mongo["v_tbl_project_master"].find({'po_submitted':True,
  31. 'po_status':'PENDING','$or':[
  32. {'approval_track.senior_level_1.id':u_id,'approval_track.senior_level_1.status':'PENDING'},
  33. {'approval_track.senior_level_2.id':u_id,'approval_track.senior_level_2.status':'PENDING'},
  34. {'approval_track.senior_level_3.id':u_id,'approval_track.senior_level_3.status':'PENDING'}
  35. ]},{'_id':0}))
  36. except Exception as err:
  37. print('getProjectListByUID',err)
  38. return vendors
  39. def getArchivePOForApprovalDao(u_id,mongo):
  40. vendors=[]
  41. try:
  42. vendors=list(mongo["v_tbl_project_master"].find({'po_submitted':True,
  43. '$or':[
  44. {'approval_track.senior_level_1.id':u_id,'approval_track.senior_level_1.status':{'$ne':'PENDING'}},
  45. {'approval_track.senior_level_2.id':u_id,'approval_track.senior_level_2.status':{'$ne':'PENDING'}},
  46. {'approval_track.senior_level_3.id':u_id,'approval_track.senior_level_3.status':{'$ne':'PENDING'}}
  47. ]},{'_id':0},sort=[('created_on', -1)]).limit(100))
  48. except Exception as err:
  49. print('getArchivePOForApprovalDao',err)
  50. return vendors
  51. def getProjectDetailsDao(id,mongo):
  52. vendors=[]
  53. try:
  54. vendors=list(mongo["v_tbl_project_master"].find({'id':id},{'_id':0}))
  55. except Exception as err:
  56. print('getProjectDetailsDao',err)
  57. return vendors
  58. def submitProjectDao(requestObject,mongo):
  59. try:
  60. mongo["v_tbl_project_master"].update_one({'id':str(requestObject['p_id'])},{'$set':{'status':'SUBMITTED','submitted_on':int(datetime.now().timestamp()*1000)}})
  61. except Exception as identifier:
  62. print(identifier)
  63. def updatePurchaseOrder(requestObject,p_id,mongo):
  64. try:
  65. mongo["v_tbl_project_master"].update_one({'id':str(p_id),'po_submitted':False},{'$set':requestObject})
  66. except Exception as identifier:
  67. print(identifier)
  68. def getPOYear(mongo):
  69. years=''
  70. try:
  71. years=list(mongo["v_po_year"].find({},{'_id':0},sort=[('timestamp', 1)]).limit(1))
  72. except Exception as err:
  73. print('getProjectListByUID',err)
  74. return years
  75. def insertPOYear(po_year,mongo):
  76. try:
  77. mongo["v_po_year"].insert({'year':po_year})
  78. except Exception as err:
  79. print(err)
  80. def getInserterdPoCount(po_year,mongo):
  81. count=0
  82. try:
  83. count=mongo["v_tbl_project_master"].count({'po_submitted':True,'po_year':po_year})
  84. except Exception as err:
  85. print(err)
  86. return count
  87. def getUserDetailsFromMaster(user_id,mongo):
  88. users=[]
  89. try:
  90. users=list(mongo["users"].find({'key':user_id},{'_id':0,'access_points':0}).limit(1))
  91. except Exception as err:
  92. print('getUserDetailsFromMaster',err)
  93. return users
  94. def getAllUsersFromMaster(mongo):
  95. users=[]
  96. try:
  97. users=list(mongo["users"].find({"current_status" :{"$ne": "Resigned"}},{'_id':False,'key':True,'intervention':True,'first_name':True,'emp_id':True}))
  98. except Exception as err:
  99. print('getAllUsersFromMaster',err)
  100. return users
  101. def updatePurchaseOrderApprovalStatus(requestObject,po_id,mongo):
  102. try:
  103. mongo["v_tbl_project_master"].update_one({'id':str(po_id)},{'$set':requestObject})
  104. except Exception as identifier:
  105. print(identifier)
  106. def insertPOStatusLog(status_obj,mongo):
  107. try:
  108. mongo["v_po_status_log"].insert(status_obj)
  109. except Exception as err:
  110. print(err)
  111. def getPOStatusLog(po_id,mongo):
  112. po_status=[]
  113. try:
  114. po_status=list(mongo["v_po_status_log"].find({'po_id':po_id},{'_id':0}))
  115. except Exception as err:
  116. print('getProjectListByUID',err)
  117. return po_status
  118. def getPOList(mongo):
  119. po_list=[]
  120. try:
  121. po_list=list(mongo["v_tbl_project_master"].find({'po_submitted':True,'po_status':'APPROVED'},{'_id':0}))
  122. except Exception as err:
  123. print('getProjectListByUID',err)
  124. return po_list
  125. def getPOListForReport(mongo):
  126. po_list=[]
  127. try:
  128. po_list=list(mongo["v_tbl_project_master"].find({'po_submitted':True,'po_status':'APPROVED'},{'_id':0,'po_order_id':1,'id':1}))
  129. except Exception as err:
  130. print('getProjectListByUID',err)
  131. return po_list