本文整理汇总了PHP中Conexao::beginTransaction方法的典型用法代码示例。如果您正苦于以下问题:PHP Conexao::beginTransaction方法的具体用法?PHP Conexao::beginTransaction怎么用?PHP Conexao::beginTransaction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Conexao
的用法示例。
在下文中一共展示了Conexao::beginTransaction方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: changeStatusPedido
public static function changeStatusPedido($id_pedido, $id_status_pedido, $id_deposito = null)
{
$PedidoVendaDao = new PedidoVendaDao();
$Conexao = new Conexao();
$Conexao->beginTransaction();
if ((int) $id_status_pedido == 2) {
$PedidoVendaDao = new PedidoVendaDao();
$EstoqueDao = new EstoqueDao();
$ItemPedidoVendaDao = new ItemPedidoVendaDao();
$pedido_venda = $PedidoVendaDao->getPedidoVenda($id_pedido);
$pedido_venda['itens'] = $ItemPedidoVendaDao->getItens($id_pedido, null, null);
$arr_qtd = array();
$out = array();
foreach ($pedido_venda['itens'] as $x => $y) {
if (!isset($arr_qtd[$y['id_produto']])) {
$arr_qtd[$y['id_produto']] = 0;
}
$arr_qtd[$y['id_produto']] += (int) $y['qtd'];
}
foreach ($arr_qtd as $id_produto => $value) {
$id_empreendimento = $pedido_venda['id_empreendimento'];
$qtd = (int) $value;
$estoque = $EstoqueDao->getQtdProduto($pedido_venda['id_empreendimento'], $id_produto, null, $id_deposito);
$estoque_real = $estoque - $qtd;
if ($estoque_real < 0) {
$out[] = array((double) $id_produto);
}
}
if (count($out) > 0) {
Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode(array('out_estoque' => $out)))->send();
return;
}
if (!$EstoqueDao->baixaEstoquePedido($id_empreendimento, $id_pedido, $pedido_venda['itens'], $id_deposito, $value['qtd'])) {
$Conexao->back();
Flight::halt(500, 'Erro ao dar baixa no estoque');
}
}
if (!$PedidoVendaDao->changeStatusPedido($id_pedido, $id_status_pedido)) {
$Conexao->back();
Flight::halt(500, 'Erro ao mudar status');
}
if ((int) $id_status_pedido == 4) {
$id_status_venda = 3;
} else {
if ((int) $id_status_pedido == 5) {
$id_status_venda = 4;
}
}
if (isset($id_status_venda)) {
$PedidoVendaDao->changeStatusVenda($id_pedido, $id_status_venda);
}
Flight::json($PedidoVendaDao->getStatusByid($id_status_pedido));
}
示例2: cadastrarCliente
public static function cadastrarCliente()
{
try {
$UsuarioDao = new UsuarioDao();
$ClienteDao = new ClienteDao();
$ClienteTO = new ClienteTO();
$PessoaFisicaTO = new PessoaFisicaTO();
$PessoaFisicaDao = new PessoaFisicaDao();
$EmpreendimentoDao = new EmpreendimentoDao();
$UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO();
$validator = new DataValidator();
$ClienteTO->__setAll($_POST);
$tipo_cadastro = "pf";
$PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : NULL;
$PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : NULL;
$UsuarioEmpreendimentoTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : array();
$validator->set_msg('O id_empreendimento é obrigatório')->set('nome', $UsuarioEmpreendimentoTO->id_empreendimento)->is_required();
if (empty($PessoaFisicaTO->cpf)) {
$validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required();
}
if (empty($ClienteTO->nome)) {
$validator->set_msg('O cpf do cliente é obrigatório')->set('cpf', $PessoaFisicaTO->cpf)->is_required();
}
if (!empty($ClienteTO->email)) {
$validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email();
}
if (!$validator->validate()) {
Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send();
return;
}
$Conexao = new Conexao();
$Conexao::getInstance();
$Conexao->beginTransaction();
$last_id = $ClienteDao->saveCliente($ClienteTO);
if ($last_id) {
$UsuarioEmpreendimentoTO->id_usuario = $last_id;
$PessoaFisicaTO->usuarios_id = $last_id;
if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) {
$Conexao->rollback();
Flight::halt(500, 'Erro ao cadastrar cpf do cliente');
}
$UsuarioEmpreendimentoTO->id_usuario = $last_id;
if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) {
$Conexao->rollback();
Flight::halt(500, 'erro ao lincar usuario ao empreendimento');
}
$dados_usuario = $UsuarioDao->getUsuario($UsuarioEmpreendimentoTO->id_empreendimento, $last_id);
Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('usuario' => $dados_usuario)))->send();
} else {
$Conexao->rollback();
Flight::halt(500, 'Erro ao cadastrar o cliente');
}
} catch (Exception $e) {
if (isset($Conexao)) {
$Conexao->rollback();
}
jsonException($e);
}
}
示例3: changeStatus
public static function changeStatus($id_ordem_producao, $id_status_change, $id_empreendimento, $id_usuario)
{
$OrdemProducaoDao = new OrdemProducaoDao();
$ItensOrdemProducaoDao = new ItensOrdemProducaoDao();
$EstoqueDao = new EstoqueDao();
$Dao = new Dao();
$ProdutoDao = new ProdutoDao();
$out = array();
$Dao->setTimeZone($id_empreendimento);
$dta_change = date('Y-m-d H:i:s');
$itens = $ItensOrdemProducaoDao->getItensOrdemProducao(null, null, array('tiop.id_ordem_producao' => $id_ordem_producao));
$aux = array();
$insumos = array();
$OrdensProducao = $OrdemProducaoDao->getOrdemProducao(NULL, NULL, array('top->id' => $id_ordem_producao));
$OrdensProducao = $OrdensProducao[0];
$status = $OrdemProducaoDao->getStatus(array("id" => $id_status_change));
$status = $status[0];
foreach ($itens as $key => $value) {
$item_aux = $value;
$item_aux['qtd_produzir'] = (int) $value['qtd'];
$item_aux['itens'] = $ProdutoDao->getInsumos($value['id_produto'], null);
$aux[$value['id_produto']] = $item_aux;
foreach ($item_aux['itens'] as $key_i => $value_i) {
$qtd_produzir = $item_aux['qtd_produzir'];
$qtd = $value_i['qtd'];
if (isset($insumos[$value_i['id']])) {
$insumos[$value_i['id']]['qtd'] += $qtd_produzir * $qtd;
} else {
$insumos[$value_i['id']] = array('qtd' => $qtd_produzir * $qtd);
}
}
}
if ((int) $id_status_change == 2 || (int) $id_status_change == 3) {
foreach ($insumos as $key => $value) {
$qtd = (int) $value['qtd'];
$estoque = $EstoqueDao->getQtdProduto($id_empreendimento, $key, null, $OrdensProducao['id_deposito']);
$estoque_real = $estoque - $qtd;
if ($estoque_real < 0) {
$out[] = array((double) $key);
}
}
}
if (count($out) > 0) {
Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode(array('out_estoque' => $out, 'lista' => $aux)))->send();
return;
}
try {
$Conexao = new Conexao();
$Conexao::$alto_commit = false;
$Conexao::getInstance();
$Conexao->beginTransaction();
if ((int) $id_status_change == 3) {
$EstoqueEntradaTO = new EstoqueEntradaTO();
$EstoqueEntradaDao = new EstoqueEntradaDao();
$EstoqueEntradaTO->id_empreendimento = $id_empreendimento;
$EstoqueEntradaTO->id_deposito = $OrdensProducao['id_deposito'];
$EstoqueEntradaTO->id_ordem_producao = $id_ordem_producao;
$EstoqueEntradaTO->dta_entrada = $dta_change;
$EstoqueEntradaTO->id_usuario = $id_usuario;
$id_estoque_entrada = $EstoqueEntradaDao->saveEstoqueEntrada($EstoqueEntradaTO);
if ($id_estoque_entrada) {
$ItemEstoqueEntradaTO = new ItemEstoqueEntradaTO();
$ItemEstoqueEntradaDao = new ItemEstoqueEntradaDao();
foreach ($itens as $key => $value) {
$ItemEstoqueEntradaTO->id_estoque_entrada = $id_estoque_entrada;
$ItemEstoqueEntradaTO->id_produto = $value['id_produto'];
$ItemEstoqueEntradaTO->qtd_item = $value['qtd'];
$ItemEstoqueEntradaTO->vlr_custo = NULL;
$ItemEstoqueEntradaTO->perc_imposto = NULL;
$ItemEstoqueEntradaTO->perc_desconto = NULL;
$ItemEstoqueEntradaTO->dta_validade = '2099-12-31';
$id_item_estoque_entrada = $ItemEstoqueEntradaDao->saveItemEstoqueEntrada($ItemEstoqueEntradaTO);
if ($id_item_estoque_entrada) {
$EstoqueTO = new EstoqueTO();
$EstoqueDao = new EstoqueDao();
$PrecoProdutoTO = new PrecoProdutoTO();
$PrecoProdutoDao = new PrecoProdutoDao();
$EstoqueTO->id_deposito = $EstoqueEntradaTO->id_deposito;
$EstoqueTO->id_produto = $ItemEstoqueEntradaTO->id_produto;
$EstoqueTO->qtd_item = $ItemEstoqueEntradaTO->qtd_item;
$EstoqueTO->dta_validade = $ItemEstoqueEntradaTO->dta_validade;
$dadosTrigger = new StdClass();
$dadosTrigger->qtd_entrada = $EstoqueTO->qtd_item;
$dadosTrigger->acao_movimentacao = 'ENTRADA';
$dadosTrigger->id_tipo_movimentacao_estoque = 4;
$dadosTrigger->id_estoque_entrada = $id_estoque_entrada;
$dadosTrigger->id_item_estoque_entrada = $id_item_estoque_entrada;
$dadosTrigger->id_responsavel = $id_usuario;
$dadosTrigger->id_empreendimento = $id_empreendimento;
$dadosTrigger->id_ordem_producao = $id_ordem_producao;
if (!$EstoqueDao->atualizaEstoque($EstoqueTO, 'update', $dadosTrigger)) {
$Conexao->back();
Flight::halt(500, 'erro ao atualizar estoque');
}
} else {
$Conexao->back();
Flight::halt(500, 'erro ao inserir itens da entrada');
}
}
} else {
//.........这里部分代码省略.........