Subversion Repositories SmartDukaan

Rev

Rev 17027 | Rev 17030 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 17027 Rev 17029
Line 552... Line 552...
552
 
552
 
553
class RetailerDetail():
553
class RetailerDetail():
554
    global RETAILER_DETAIL_CALL_COUNTER
554
    global RETAILER_DETAIL_CALL_COUNTER
555
    def getRetryRetailer(self,failback=True):
555
    def getRetryRetailer(self,failback=True):
556
        status = RETRY_MAP.get(self.callType)
556
        status = RETRY_MAP.get(self.callType)
557
        retailer = session.query(Retailers).filter_by(status=status).filter(or_(Retailers.agent_id==self.agentId, Retailers.agent_id==None)).filter(Retailers.next_call_time<=datetime.now()).order_by(Retailers.call_priority).order_by(Retailers.next_call_time).with_lockmode("update").first()
557
        retailer = session.query(Retailers).filter_by(status=status).filter(Retailers.next_call_time<=datetime.now())\
-
 
558
        .filter(or_(Retailers.agent_id==self.agentId, Retailers.agent_id==None))\
-
 
559
        .Retailers.agent_id.desc().order_by(Retailers.call_priority).order_by(Retailers.next_call_time).with_lockmode("update").first()
-
 
560
        
558
        if retailer is not None:
561
        if retailer is not None:
559
            lgr.info( "getRetryRetailer " + str(retailer.id))
562
            lgr.info( "getRetryRetailer " + str(retailer.id))
560
        else:
563
        else:
561
            if failback:
564
            if failback:
562
                retailer = self.getNewRetailer(False)
565
                retailer = self.getNewRetailer(False)
Line 608... Line 611...
608
            while(retry):
611
            while(retry):
609
                lgr.info( "Calltype " + self.callType)
612
                lgr.info( "Calltype " + self.callType)
610
                status=self.callType
613
                status=self.callType
611
                query = session.query(Retailers).filter(Retailers.status==status).filter(or_(Retailers.agent_id==self.agentId, Retailers.agent_id==None))
614
                query = session.query(Retailers).filter(Retailers.status==status).filter(or_(Retailers.agent_id==self.agentId, Retailers.agent_id==None))
612
                if status=='fresh':
615
                if status=='fresh':
-
 
616
                    query = query.filter_by(is_or=False, is_std=False).filter(Retailers.pin==Pincodeavailability.code)/
613
                    query = query.filter_by(is_or=False, is_std=False).filter(Retailers.pin==Pincodeavailability.code).filter(Pincodeavailability.amount > 19999).order_by(Retailers.is_elavated.desc(), Retailers.agent_id.desc())
617
                    .filter(Pincodeavailability.amount > 19999).order_by(Retailers.is_elavated.desc(), Retailers.agent_id.desc())
614
                elif status=='followup':
618
                elif status=='followup':
615
                    query = query.filter(Retailers.next_call_time<=datetime.now()).order_by(Retailers.agent_id.desc(),Retailers.next_call_time)
619
                    query = query.filter(Retailers.next_call_time<=datetime.now()).order_by(Retailers.agent_id.desc(),Retailers.next_call_time)
616
                else:
620
                else:
617
                    query = query.filter(Retailers.modified<=datetime.now()).order_by(Retailers.agent_id.desc(), Retailers.modified)
621
                    query = query.filter(Retailers.modified<=datetime.now()).order_by(Retailers.agent_id.desc(), Retailers.modified)
618
                    
622