from utils.UpdateOwnId import updateOwnId from datetime import datetime from utils.error_log import insert_into_error_log def insertIntoProjectMaster(requestObject,mongo): _id="" try: UpdateResult =mongo["v_tbl_project_master"].update_one({'id':str(requestObject['id'])},{'$set':requestObject},upsert=True) _id=UpdateResult.raw_result['upserted'] updateOwnId("v_tbl_project_master",_id,mongo) except Exception as identifier: print(identifier) return _id def getProjectListByUID(u_id,mongo): vendors=[] try: vendors=list(mongo["v_tbl_project_master"].find({'user_id':u_id},{'_id':0})) except Exception as err: print('getProjectListByUID',err) return vendors def getAllProjectListDao(mongo): vendors=[] try: vendors=list(mongo["v_tbl_project_master"].find({},{'_id':0})) except Exception as err: print('getProjectListByUID',err) return vendors def getPendingPOForApprovalDao(u_id,mongo): vendors=[] try: vendors=list(mongo["v_tbl_project_master"].find({'po_submitted':True, 'po_status':'PENDING','$or':[ {'approval_track.senior_level_1.id':u_id,'approval_track.senior_level_1.status':'PENDING'}, {'approval_track.senior_level_2.id':u_id,'approval_track.senior_level_2.status':'PENDING'}, {'approval_track.senior_level_3.id':u_id,'approval_track.senior_level_3.status':'PENDING'} ]},{'_id':0})) except Exception as err: print('getProjectListByUID',err) return vendors def getArchivePOForApprovalDao(u_id,mongo): vendors=[] try: vendors=list(mongo["v_tbl_project_master"].find({'po_submitted':True, '$or':[ {'approval_track.senior_level_1.id':u_id,'approval_track.senior_level_1.status':{'$ne':'PENDING'}}, {'approval_track.senior_level_2.id':u_id,'approval_track.senior_level_2.status':{'$ne':'PENDING'}}, {'approval_track.senior_level_3.id':u_id,'approval_track.senior_level_3.status':{'$ne':'PENDING'}} ]},{'_id':0},sort=[('created_on', -1)]).limit(100)) except Exception as err: print('getArchivePOForApprovalDao',err) return vendors def getProjectDetailsDao(id,mongo): vendors=[] try: vendors=list(mongo["v_tbl_project_master"].find({'id':id},{'_id':0})) except Exception as err: print('getProjectDetailsDao',err) return vendors def submitProjectDao(requestObject,mongo): try: mongo["v_tbl_project_master"].update_one({'id':str(requestObject['p_id'])},{'$set':{'status':'SUBMITTED','submitted_on':int(datetime.now().timestamp()*1000)}}) except Exception as identifier: print(identifier) def updatePurchaseOrder(requestObject,p_id,mongo): try: mongo["v_tbl_project_master"].update_one({'id':str(p_id),'po_submitted':False},{'$set':requestObject}) except Exception as identifier: print(identifier) def getPOYear(mongo): years='' try: years=list(mongo["v_po_year"].find({},{'_id':0},sort=[('timestamp', 1)]).limit(1)) except Exception as err: print('getProjectListByUID',err) return years def insertPOYear(po_year,mongo): try: mongo["v_po_year"].insert({'year':po_year}) except Exception as err: print(err) def getInserterdPoCount(po_year,mongo): count=0 try: count=mongo["v_tbl_project_master"].count({'po_submitted':True,'po_year':po_year}) except Exception as err: print(err) return count def getUserDetailsFromMaster(user_id,mongo): users=[] try: users=list(mongo["users"].find({'key':user_id},{'_id':0,'access_points':0}).limit(1)) except Exception as err: print('getUserDetailsFromMaster',err) return users def getAllUsersFromMaster(mongo): users=[] try: users=list(mongo["users"].find({"current_status" :{"$ne": "Resigned"}},{'_id':False,'key':True,'intervention':True,'first_name':True,'emp_id':True})) except Exception as err: print('getAllUsersFromMaster',err) return users def updatePurchaseOrderApprovalStatus(requestObject,po_id,mongo): try: mongo["v_tbl_project_master"].update_one({'id':str(po_id)},{'$set':requestObject}) except Exception as identifier: print(identifier) def insertPOStatusLog(status_obj,mongo): try: mongo["v_po_status_log"].insert(status_obj) except Exception as err: print(err) def getPOStatusLog(po_id,mongo): po_status=[] try: po_status=list(mongo["v_po_status_log"].find({'po_id':po_id},{'_id':0})) except Exception as err: print('getProjectListByUID',err) return po_status def getPOList(mongo): po_list=[] try: po_list=list(mongo["v_tbl_project_master"].find({'po_submitted':True,'po_status':'APPROVED'},{'_id':0})) except Exception as err: print('getProjectListByUID',err) return po_list def getPOListForReport(mongo): po_list=[] try: po_list=list(mongo["v_tbl_project_master"].find({'po_submitted':True,'po_status':'APPROVED'},{'_id':0,'po_order_id':1,'id':1})) except Exception as err: print('getProjectListByUID',err) return po_list