public static function updateConta() { $ContaBancariaTO = new ContaBancariaTO(); $ContaBancariaDao = new ContaBancariaDao(); $ContaBancariaTO->dsc_conta_bancaria = isset($_POST['dsc_conta_bancaria']) ? $_POST['dsc_conta_bancaria'] : NULL; $ContaBancariaTO->id_banco = isset($_POST['id_banco']) ? $_POST['id_banco'] : NULL; $ContaBancariaTO->num_agencia = isset($_POST['num_agencia']) ? $_POST['num_agencia'] : NULL; $ContaBancariaTO->num_conta_corrente = isset($_POST['num_conta_corrente']) ? $_POST['num_conta_corrente'] : NULL; $ContaBancariaTO->id_tipo_conta = isset($_POST['id_tipo_conta']) ? $_POST['id_tipo_conta'] : NULL; $ContaBancariaTO->perc_taxa_maquineta = isset($_POST['perc_taxa_maquineta']) ? $_POST['perc_taxa_maquineta'] : NULL; $ContaBancariaTO->id = isset($_POST['id']) ? $_POST['id'] : NULL; $ContaBancariaTO->pth_local = isset($_POST['pth_local']) ? $_POST['pth_local'] : NULL; $ContaBancariaTO->qtd_vias_impressao = isset($_POST['qtd_vias_impressao']) ? $_POST['qtd_vias_impressao'] : NULL; $ContaBancariaTO->id_deposito = isset($_POST['id_deposito']) ? $_POST['id_deposito'] : NULL; $ContaBancariaTO->id_ws_web = isset($_POST['id_ws_web']) ? $_POST['id_ws_web'] : NULL; $ContaBancariaTO->id_ws_dsk = isset($_POST['id_ws_dsk']) ? $_POST['id_ws_dsk'] : NULL; $ContaBancariaTO->flg_imprimir_sat_cfe = isset($_POST['flg_imprimir_sat_cfe']) ? $_POST['flg_imprimir_sat_cfe'] : 0; $ContaBancariaTO->cod_operacao_padrao_sat_cfe = isset($_POST['cod_operacao_padrao_sat_cfe']) ? $_POST['cod_operacao_padrao_sat_cfe'] : NULL; $ContaBancariaTO->mod_impressora = isset($_POST['mod_impressora']) ? $_POST['mod_impressora'] : NULL; $depositos = isset($_POST['depositos']) && is_array($_POST['depositos']) ? $_POST['depositos'] : array(); $validator = new DataValidator(); $validator->set_msg('O id é obrigatório')->set('id', $ContaBancariaTO->id)->is_required(); $validator->set_msg('A descrição é obrigatório')->set('dsc_conta_bancaria', $ContaBancariaTO->dsc_conta_bancaria)->is_required(); $validator->set_msg('O tipo da conta é obrigatório')->set('id_tipo_conta', $ContaBancariaTO->id_tipo_conta)->is_required(); /*if($ContaBancariaTO->id_tipo_conta == 5){ $validator->set_msg('O depósito é obrigatório') ->set('id_deposito',$ContaBancariaTO->id_deposito) ->is_required(); }*/ if ($ContaBancariaTO->id_tipo_conta == 5) { $validator->set_msg('Informe um IP válido')->set('pth_local', $ContaBancariaTO->pth_local)->is_ip(); } if ((int) $ContaBancariaTO->flg_imprimir_sat_cfe == 1) { $validator->set_msg('O código da operação é obrigatório')->set('cod_operacao_padrao_sat_cfe', $ContaBancariaTO->cod_operacao_padrao_sat_cfe)->is_required(); } /* $validator->set_msg('A escolha do banco é obrigatório') ->set('id_banco',$ContaBancariaTO->id_banco) ->is_required(); $validator->set_msg('O numero da agencia é obrigatório') ->set('num_agencia',$ContaBancariaTO->num_agencia) ->is_required(); $validator->set_msg('O numero da conta corrente é obrigatório') ->set('num_conta_corrente',$ContaBancariaTO->num_conta_corrente) ->is_required(); $validator->set_msg('O tipo da conta é obrigatório') ->set('id_tipo_conta',$ContaBancariaTO->id_tipo_conta) ->is_required(); $validator->set_msg('A taixa da maquineta é obrigatório') ->set('perc_taxa_maquineta',$ContaBancariaTO->perc_taxa_maquineta) ->is_required(); */ if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); } try { if ($ContaBancariaDao->updateConta($ContaBancariaTO)) { if ($ContaBancariaTO->id_tipo_conta == 5 && count($depositos > 0)) { $CaixaDepositoDao = new CaixaDepositoDao(); $ids = array(); foreach ($depositos as $key => $deposito) { $CaixaDepositoTO = new CaixaDepositoTO(); $deposito['id_caixa'] = $ContaBancariaTO->id; if (isset($deposito['id']) && is_numeric($deposito['id'])) { $deposito = $CaixaDepositoTO->__setAll($deposito, true); $CaixaDepositoDao->updateCaixaDeposito($deposito, 'id=' . $deposito->id); $ids[] = $deposito->id; } else { $CaixaDepositoTO->__setAll($deposito); $ids[] = $CaixaDepositoDao->saveCaixaDeposito($CaixaDepositoTO); } } $where = ' id_caixa = ' . $ContaBancariaTO->id . (count($ids > 0) ? ' AND id NOT IN (' . join($ids, ',') . ')' : ''); $CaixaDepositoDao->deleteCaixaDeposito($where); } Flight::halt(200); } else { Flight::halt(500, "error ao alterar conta"); } } catch (Exception $e) { Flight::halt(500, $e->getMessage()); } }