add(self::METER_ID,$meterid); if ($contractid) $c->add(self::CONTRACT_ID,$contractid); $c->addDescendingOrderByColumn(self::NEWDATE); $reading = self::doSelectOne($c); if (!$reading) { $contract = ContractMeterPeer::getActiveContract($meterid); $reading = new Reading(); if ($contract) { $reading->setNewidx($contract->getInitialidx()); $reading->setNewdate($contract->getStartdate()); $reading->setSerialnb($contract->getSerialnb()); $reading->setMeterId($meterid); $reading->setContractId($contract->getContractId()); $rcycle = ReadingCyclePeer::retrieveByDate($contract->getStartdate()); if (!$rcycle) $rcycle = ReadingCyclePeer::getCurrentCycle(); if (!$rcycle) $rcycle = new ReadingCycle(); $reading->setReadingCycleId($rcycle->getId()); } } return $reading; } public static function getReadings($readingcycleid=null) { if ($readingcycleid == null) { $readingcycle = ReadingCyclePeer::getCurrentCycle(); $readingcycleid = $readingcycle->getId(); } $c = new Criteria(); $c->add(self::READING_CYCLE_ID,$readingcycleid); $c->add(self::IS_BILLED,0); $c->add(self::DONOTBILL,0); return self::doSelect($c); } public static function getAutocomplete($keyword) { $c = new Criteria(); $c->clearSelectColumns()->addSelectColumn(self::ID)->addSelectColumn(self::SERIALNB); $c->addSelectColumn(ReadingCyclePeer::NAME); $c->addJoin(self::READING_CYCLE_ID,ReadingcyclePeer::ID); $c->add(self::SERIALNB,'%'.$keyword.'%',Criteria::LIKE); $c->addDescendingOrderByColumn(self::READING_CYCLE_ID); return self::doSelectRS($c); } }