// se atende o estado if ($est_parc->select == 2) { // todo o estado gravaOrcamentoEnviado($orca, $parceiro); } else { if ($est_parc->select == 1) { // parcial // descobre a região de cada orçamento $ro = cidade::find($orca->cidade_origem); $regiao_origem = $ro->regioe_id; $rd = cidade::find($orca->cidade_destino); $regiao_destino = $rd->regioe_id; if ($orca->cidade_origem == $orca->cidade_destino) { // se as cidades de origem e destino sao a mesmas // busca pela cidade $cdd_parc = cdd_atendida::find('first', array('conditions' => array('parceiros_id = ? AND cidades_id = ?', $parceiro->id, $orca->cidade_origem))); // busca pela regiao da cidade $reg_parc = reg_atendida::find('first', array('conditions' => array('parceiros_id = ? AND estadosregioes_id = ?', $parceiro->id, $regiao_origem))); if ($cdd_parc && $cdd_parc->select == 1 || $reg_parc && $reg_parc->select == 2) { gravaOrcamentoEnviado($orca, $parceiro); } } else { // se as cidades de origem e destino forem diferentes if ($regiao_origem == $regiao_destino) { // se as regioes das cidades forem as mesmas $reg_parc = reg_atendida::find('first', array('conditions' => array('parceiros_id = ? AND estadosregioes_id = ?', $parceiro->id, $regiao_origem))); } else { $reg_parc = reg_atendida::find('first', array('conditions' => array('parceiros_id = ? AND estadosregioes_id in (?)', $parceiro->id, array($regiao_origem, $regiao_destino)))); } if ($reg_parc && $reg_parc->select == 2) { gravaOrcamentoEnviado($orca, $parceiro);