/**
 * afterProcessCreate.js — Exemplo: Workflow Aprovacao de Compras
 * 
 * Executa quando o processo e criado pela primeira vez.
 * Uso: preencher dados iniciais automaticos (nrSolic, data, situacao).
 * 
 * API: hAPI.setCardValue("campo", "valor")
 * 
 * @param {string} processId - ID do processo criado
 */
function afterProcessCreate(processId) {
    var nrSolic = processId.toString();

    // Gravar numero da solicitacao (= numero do processo)
    hAPI.setCardValue("nrSolic", nrSolic);

    // Gravar data e hora de abertura
    hAPI.setCardValue("dtAberturaSolic", fnBuscarDataHora("data"));
    hAPI.setCardValue("hrAberturaSolic", fnBuscarDataHora("hora"));

    // Data em formato EN para ordenacao em relatorios
    var dataHoje = fnBuscarDataHora("data");
    var partes = dataHoje.split("/");
    hAPI.setCardValue("dtAberturaSolic_EN", partes[2] + "-" + partes[1] + "-" + partes[0]);

    // Situacao inicial
    hAPI.setCardValue("situacaoSolic", "Aberto");

    log.info("afterProcessCreate - Processo " + nrSolic + " criado com sucesso.");
}

/**
 * Helper: busca data ou hora atual do servidor
 */
function fnBuscarDataHora(tipo) {
    var agora = new java.util.Date();
    var formato;
    if (tipo == "data") {
        formato = new java.text.SimpleDateFormat("dd/MM/yyyy");
    } else {
        formato = new java.text.SimpleDateFormat("HH:mm");
    }
    return formato.format(agora);
}
