project_dao.py 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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,'deleted':{'$ne':True}},{'_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({'deleted':{'$ne':True}},{'_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. {'approval_track.senior_level_4.id':u_id,'approval_track.senior_level_4.status':'PENDING'},
  36. {'approval_track.senior_level_5.id':u_id,'approval_track.senior_level_5.status':'PENDING'},
  37. {'approval_track.senior_level_6.id':u_id,'approval_track.senior_level_6.status':'PENDING'}
  38. ]},{'_id':0}))
  39. except Exception as err:
  40. print('getProjectListByUID',err)
  41. return vendors
  42. def getArchivePOForApprovalDao(u_id,mongo):
  43. vendors=[]
  44. try:
  45. vendors=list(mongo["v_tbl_project_master"].find({'po_submitted':True,
  46. '$or':[
  47. {'approval_track.senior_level_1.id':u_id,'approval_track.senior_level_1.status':{'$ne':'PENDING'}},
  48. {'approval_track.senior_level_2.id':u_id,'approval_track.senior_level_2.status':{'$ne':'PENDING'}},
  49. {'approval_track.senior_level_3.id':u_id,'approval_track.senior_level_3.status':{'$ne':'PENDING'}},
  50. {'approval_track.senior_level_4.id':u_id,'approval_track.senior_level_4.status':{'$ne':'PENDING'}},
  51. {'approval_track.senior_level_5.id':u_id,'approval_track.senior_level_5.status':{'$ne':'PENDING'}},
  52. {'approval_track.senior_level_6.id':u_id,'approval_track.senior_level_6.status':{'$ne':'PENDING'}}
  53. ]},{'_id':0},sort=[('created_on', -1)]).limit(100))
  54. except Exception as err:
  55. print('getArchivePOForApprovalDao',err)
  56. return vendors
  57. def getProjectDetailsDao(id,mongo):
  58. vendors=[]
  59. try:
  60. vendors=list(mongo["v_tbl_project_master"].find({'id':id,'deleted':{'$ne':True}},{'_id':0}))
  61. except Exception as err:
  62. print('getProjectDetailsDao',err)
  63. return vendors
  64. def submitProjectDao(requestObject,mongo):
  65. try:
  66. mongo["v_tbl_project_master"].update_one({'id':str(requestObject['p_id']),'deleted':{'$ne':True}},{'$set':{'status':'SUBMITTED','submitted_on':int(datetime.now().timestamp()*1000)}})
  67. except Exception as identifier:
  68. print(identifier)
  69. def updatePurchaseOrder(requestObject,p_id,mongo):
  70. try:
  71. mongo["v_tbl_project_master"].update_one({'id':str(p_id),'deleted':{'$ne':True},'po_submitted':False},{'$set':requestObject})
  72. except Exception as identifier:
  73. print(identifier)
  74. def getPOYear(mongo):
  75. years=''
  76. try:
  77. years=list(mongo["v_po_year"].find({},{'_id':0},sort=[('timestamp', 1)]).limit(1))
  78. except Exception as err:
  79. print('getProjectListByUID',err)
  80. return years
  81. def insertPOYear(po_year,mongo):
  82. try:
  83. mongo["v_po_year"].insert_one({'year':po_year})
  84. except Exception as err:
  85. print(err)
  86. def getInserterdPoCount(po_year,mongo):
  87. count=0
  88. try:
  89. count=mongo["v_tbl_project_master"].count_documents({'po_submitted':True,'po_year':po_year})
  90. except Exception as err:
  91. print(err)
  92. return count
  93. def getUserDetailsFromMaster(user_id,mongo):
  94. users=[]
  95. try:
  96. users=list(mongo["users"].find({'key':user_id},{'_id':0,'access_points':0}).limit(1))
  97. except Exception as err:
  98. print('getUserDetailsFromMaster',err)
  99. return users
  100. def getAllUsersFromMaster(mongo):
  101. users=[]
  102. try:
  103. users=list(mongo["users"].find({"current_status" :{"$ne": "Resigned"}},{'_id':False,'key':True,'intervention':True,'first_name':True,'emp_id':True}))
  104. except Exception as err:
  105. print('getAllUsersFromMaster',err)
  106. return users
  107. def getAllResignedUsersFromMaster(mongo):
  108. users=[]
  109. try:
  110. users=list(mongo["users"].find({"current_status" : "Resigned"},{'_id':False,'key':True,'intervention':True,'first_name':True,'emp_id':True}))
  111. except Exception as err:
  112. print('getAllResignedUsersFromMaster',err)
  113. return users
  114. def updatePurchaseOrderApprovalStatus(requestObject,po_id,mongo):
  115. try:
  116. mongo["v_tbl_project_master"].update_one({'id':str(po_id)},{'$set':requestObject})
  117. except Exception as identifier:
  118. print(identifier)
  119. def insertPOStatusLog(status_obj,mongo):
  120. try:
  121. mongo["v_po_status_log"].insert_one(status_obj)
  122. except Exception as err:
  123. print(err)
  124. def getPOStatusLog(po_id,mongo):
  125. po_status=[]
  126. try:
  127. po_status=list(mongo["v_po_status_log"].find({'po_id':po_id},{'_id':0}))
  128. except Exception as err:
  129. print('getProjectListByUID',err)
  130. return po_status
  131. def getPOList(mongo):
  132. po_list=[]
  133. try:
  134. po_list=list(mongo["v_tbl_project_master"].find({'deleted':{'$ne':True},'po_submitted':True,'po_status':'APPROVED'},{'_id':0}))
  135. except Exception as err:
  136. print('getProjectListByUID',err)
  137. return po_list
  138. def getPOListForReport(mongo):
  139. po_list=[]
  140. try:
  141. po_list=list(mongo["v_tbl_project_master"].find({'deleted':{'$ne':True},'po_submitted':True,'po_status':'APPROVED'},{'_id':0,'po_order_id':1,'id':1}))
  142. except Exception as err:
  143. print('getProjectListByUID',err)
  144. return po_list