<?php
include 'topo.php';

$msg = "";
$msgClass = "msgErro";
$titulo = "Pedidos > Alterar";
$pg_voltar = "pedido.php";
$msg_ok = "Alterado com sucesso";
$msg_erro = "Erro ao alterar";
$nomeClasse = "pedido";

##########################
# carregar
##########################
$idP = $_REQUEST['id'];
if(isPost($idP)){
	$obj = new Pedido();
	$obj->id = $_REQUEST['id'];
	$obj->carregar();
}

##########################
# alterar
##########################
if(isPost($_POST['ok'])){

	// trata valor
	if(isset($_POST[$nomeClasse]['freteValor'])) $_POST[$nomeClasse]['freteValor'] = trataCampoValor($_POST[$nomeClasse]['freteValor']);

	// verifica status do pedido
	$atualizaHistorico = false;
	if($obj->idPedidoStatus != $_POST[$nomeClasse]['idPedidoStatus']){
		$atualizaHistorico = true;
	}

	// atualiza valor total
	if($obj->freteValor != $_POST[$nomeClasse]['freteValor']){
		$obj->total = $obj->subtotal+$_POST[$nomeClasse]['freteValor']; 
	}

	$obj->carga($_POST[$nomeClasse]);
	if($obj->alterar()){

		// salva historico do pedido
		if($atualizaHistorico){
			$obj->inserirHistorico($_POST[$nomeClasse]['idPedidoStatus']);
		}
		
		// restaura estoque por cancelamento
		if($obj->idPedidoStatus == CANCELADO){
			$produtos = UtilObjeto::listar("pedidoproduto","WHERE id_pedido = ".$obj->id);
			if(is_array($produtos)){
				foreach($produtos as $dadosProdutoPedido){
					$objProdut = new Produto();
					$objProdut->id = $dadosProdutoPedido['id_produto'];
					$objProdut->carregar();
					$novaQtde = $objProdut->qtde+$dadosProdutoPedido['qtde'];
					if($novaQtde < 0) $novaQtde = 0;
					$objProdut->qtde = $novaQtde;
					$objProdut->alterar();
				}
			}
		}
		
                if ($obj->idPedidoStatus == ENTREGUE){
                    
                    // envia email (pedido entregue)
                    $objCliente = new Cliente();
                    $objCliente->id = $obj->idCliente;
                    $objCliente->carregar();
                    Email::enviar($objCliente->email,"Pedido #$obj->id enviado","pedido-entregue.html",array('nome'=>$objCliente->nome,'pedido'=>$obj->id,'rastreamento'=>$obj->rastreamento));

                    $msg = $msg_ok;
                    $msgClass = "msgSucesso";
                }
	}
	else{
		$msg = $msg_erro;
	}
}

##########################
# carga inicial do post
##########################
$arrAtributos = ${"arrinforz2$nomeClasse"};
foreach($arrAtributos[INFOCAMPOS] as $atributo){
	if(!isset($_POST[$nomeClasse][$atributo])) $_POST[$nomeClasse][$atributo] = $obj->{$atributo};
}
?>

<h1><?=$titulo?></h1>

<div class="boxAcao">
	<ul>
		<li class="border-none"><a href="<?=URLADMIN.$pg_voltar?>" title="Voltar">> Voltar</a></li>
	</ul>
</div>

<?php include PATHADMIN.'msg.php'; ?>

<form name="form1" id="form1" action="" method="post">

	<div class="boxForm">
		<div class="boxTitulo">Pedido #<?=$obj->id?></div>
		<div class="campo3"><label><b>Data:</b></label><?=mysql_to_data($_POST[$nomeClasse]['dtCadastro'],true,false)?></div>
		<div class="campo3">
			<label><b>Cliente:</b></label>
			<?php
			$objCliente = new Cliente();
			$objCliente->id = $obj->idCliente;
			$objCliente->carregar();
			echo $objCliente->nome;
			?>
		</div>
		<div class="campo3">
			<label for="status"><b>Status:</b> <span>(*)</span></label>
			<select id="status" name="<?=$nomeClasse?>[idPedidoStatus]" req="1" class="width-auto">
				<option value=""></option>
				<?php
				$listaStatus = UtilObjeto::listar("pedidostatus","ORDER BY nome");
				foreach($listaStatus as $idStatus => $dadosStatus){
					$selStatus = ($idStatus == $obj->idPedidoStatus) ? "selected" : "";
					?>
					<option value="<?=$idStatus?>" <?=$selStatus?>><?=$dadosStatus['nome']?></option>
					<?php
				}
				?>
			</select>
		</div>
		<div class="campo3">
			<label for="email">Código:</label>
			<input type="text" id="email" name="<?=$nomeClasse?>[rastreamento]" value="<?=$_POST[$nomeClasse]['rastreamento']?>" class="width-auto" size="40" />
			&nbsp;<span class="dica">(código de rastreamento dos Correios)</span>
		</div>
	</div>

	<div class="boxForm">
		<div class="boxTitulo">Valor</div>
		<div class="campo3"><label><b>Subtotal:</b></label>R$ <?=formata_valor($_POST[$nomeClasse]['subtotal'])?></div>
		<div class="campo1">
			<label for="freteValor">Frete: <span>(*)</span></label>
			R$ <input type="text" id="freteValor" name="<?=$nomeClasse?>[freteValor]" value="<?=formata_valor($_POST[$nomeClasse]['freteValor'])?>" req="1" class="width-auto" size="10" <?=MASCARA_VALOR?> />
		</div>
		<div class="campo2">
			<label for="freteTipo">Tipo: <span>(*)</span></label>
			<input type="text" id="freteTipo" name="<?=$nomeClasse?>[freteTipo]" value="<?=$_POST[$nomeClasse]['freteTipo']?>" req="1" />
		</div>
		<div class="campo3">
			<label><b>Total:</b></label>R$ <?=formata_valor($_POST[$nomeClasse]['total'])?>
			&nbsp;<span class="dica">(o valor total será recalculado se o valor do frete for modificado)</span>
		</div>
	</div>

	<div class="boxForm">		
		<div class="boxTitulo">Endereço de Entrega</div>
		<div class="campo3">
			<label for="endereco">Endereço: <span>(*)</span></label>
			<input type="text" id="endereco" name="<?=$nomeClasse?>[endereco]" value="<?=$_POST[$nomeClasse]['endereco']?>" req="1" />
		</div>
		<div class="campo1">
			<label for="numero">Número: <span>(*)</span></label>
			<input type="text" class="width-auto" size="5" id="numero" name="<?=$nomeClasse?>[numero]" value="<?=$_POST[$nomeClasse]['numero']?>" req="1" maxlength="8" <?=MASCARA_NUMERO?> />
		</div>
		<div class="campo2">
			<label for="complemento">Complemento:</label>
			<input type="text" id="complemento" name="<?=$nomeClasse?>[complemento]" value="<?=$_POST[$nomeClasse]['complemento']?>" />
		</div>
		<div class="campo1">
			<label for="bairro">Bairro: <span>(*)</span></label>
			<input type="text" id="bairro" name="<?=$nomeClasse?>[bairro]" value="<?=$_POST[$nomeClasse]['bairro']?>" req="1" />
		</div>
		<div class="campo2">
			<label for="cep">CEP: <span>(*)</span></label>
			<input type="text" id="cep" name="<?=$nomeClasse?>[cep]" value="<?=$_POST[$nomeClasse]['cep']?>" req="1" class="width-auto" size="9" maxlength="9" <?=MASCARA_CEP?> />
		</div>
		<div class="campo1">
			<label for="estado">Estado: <span>(*)</span></label>
			<select id="estado" name="<?=$nomeClasse?>[estado]" req="1">
				<option value=""></option>
				<?php
				$objCidade = new Cidade();
				$objCidade->id = $obj->idCidade;
				$objCidade->carregar();
				$listaEstado = UtilObjeto::listar("estado","ORDER BY nome");
				foreach($listaEstado as $idEstado => $dadosEstado){
					$selEstado = ($idEstado == $objCidade->idEstado) ? "selected" : "";
					?>
					<option value="<?=$idEstado?>" <?=$selEstado?>><?=$dadosEstado['nome']?></option>
					<?php
				}
				?>
			</select>
		</div>
		<div class="campo2">
			<label for="cidade">Cidade: <span>(*)</span></label>
			<select id="cidade" name="<?=$nomeClasse?>[idCidade]" req="1">
				<option value=""></option>
				<?php
				$listaCidade = UtilObjeto::listar("cidade","WHERE id_estado = ".$objCidade->idEstado." ORDER BY nome");
				foreach($listaCidade as $idCidade => $dadosCidade){
					$selCidade = ($idCidade == $objCidade->id) ? "selected" : "";
					?>
					<option value="<?=$idCidade?>" <?=$selCidade?>><?=$dadosCidade['nome']?></option>
					<?php
				}
				?>
			</select>
		</div>
		<div class="campo3 align-right">
			<span class="campo_obrigatorio">(*) Campos obrigatórios</span>
		</div>
		<div class="campo3 align-right">
			<input type="submit" class="botao" name="ok" value="Salvar" title="Salvar" validar="1" />
		</div>
		<input type="hidden" name="id" value="<?=$_REQUEST['id']?>" />
	</div>

</form>

<?php
include 'rodape.php';
?>