java.lang.Object
br.com.intersys.systextil.function.pcpc.rotinarecalculo.dao.RotinaRecalculoDAO

public class RotinaRecalculoDAO extends Object
DAO responsável pelas operações de banco de dados da rotina de recálculo de ordens de produção (PCPC).

Corresponde à lógica originalmente implementada em rotina_recalculo e insere_pacotes_recalculo no Vision (pcpc_f123).

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    buscaComponentesBasi050(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Atualiza o ultimo_estagio da ordem na PCPC_020 com o último estágio inserido após o recálculo.
    buscaDadosPcpc020(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Retorna os dados básicos da ordem de produção na PCPC_020, necessários para localizar o roteiro no MQOP_050.
    int
    buscaLoteBasi020(br.com.intersys.systextil.connection.AppConnection conn, String referencia_peca, String tamanho)
    Retorna o lote de fabricação configurado na BASI_020 para a referência e tamanho informados.
    int
    buscaMaxOrdemConfeccaoPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao)
    Verifica se já existe um registro na PCPC_040 para o período e ordem de confecção informados.
    buscaOrdemPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_inicial, int periodo_final)
     
    buscaOrdensMudarasBasi050(br.com.intersys.systextil.connection.AppConnection conn, int periodo_inicial, int periodo_final)
    Retorna os números de ordem de produção presentes na PCPC_040 dentro de um intervalo de períodos.
    buscaOrdensMudarasPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_inicial, int periodo_final)
     
    buscaOrdensPorReferencia(br.com.intersys.systextil.connection.AppConnection conn, String referencia_peca)
     
    buscaPcpc032PorOrdem(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
     
    int[]
    buscaTmrp615Pacote(br.com.intersys.systextil.connection.AppConnection conn, int nr_solicitacao, int codigo_usuario, String nivel, String referencia, String tamanho, String sortimento)
    Busca na TMRP_615 um pacote salvo anteriormente para reaproveitar o número de ordem de confecção, evitando gerar um novo número desnecessariamente.
    int
    buscaUltimoNumeroPcpc010(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao)
    Retorna o último número de ordem de confecção utilizado para o período (PCPC_010.ultimo_numero), usado como base para gerar o próximo número disponível.
    int
    codEstagioLibOrdem(br.com.intersys.systextil.connection.AppConnection conn, int cod_empresa)
    Retorna o código do estágio de liberação da ordem configurado na FATU_503 para a empresa.
    copiaEstruturaBasi050(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Retorna a estrutura de pacotes da PCPC_040 para uma ordem de produção, agrupada por produto/confecção/período — equivalente ao cursor de cópia do Vision.
    copiaEstruturaPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
     
    void
    deletePcpc040(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Exclui todos os estágios da PCPC_040 pertencentes à ordem de produção.
    void
    deletePcpc045(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Exclui os registros da PCPC_045 vinculados aos estágios da ordem de produção.
    boolean
    estagioPrepAberto(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao, int cod_estagio)
    Verifica se o estágio de preparação da ordem ainda possui saldo a produzir (qtde_pecas_prog - qtde_pecas_prod - qtde_conserto - qtde_pecas_2a - qtde_perdas > 0).
    boolean
    existeBasi010(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String sub, String item)
    Verifica se o SKU (nivel/grupo/subgrupo/item) existe na basi_010.
    boolean
    existeMqop045(br.com.intersys.systextil.connection.AppConnection conn, int codigo_operacao)
     
    boolean
    existeMqop050(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String subgrupo, String item, int alternativa, int roteiro)
    Verifica se existe roteiro configurado no MQOP_050 para a combinação produto/alternativa/roteiro informada.
    boolean
    existeOrdemConfeccaoPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao, int ordem_confeccao)
     
    int
    forEachPcpc021(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao, Consumer<br.com.intersys.systextil.connection.AppConnection> action)
    Itera os itens de confecção da ordem (PCPC_021 + PCPC_020) com quantidade positiva, aplicando action a cada linha — equivalente ao cursor EXECUTING do Vision.
    int
    forEachRoteiroPorMqop(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String subgrupo, String item, int alternativa, int roteiro, Consumer<br.com.intersys.systextil.connection.AppConnection> action)
    Itera os estágios do roteiro no MQOP_050/MQOP_040, na ordem de execução, aplicando action a cada estágio — equivalente ao cursor EXECUTING do Vision.
    void
    insertPcpc040ComEstagio(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao, int ordem_confeccao, int codigo_estagio, int ordem_producao, String referencia, String tamanho, String sortimento, int qtde_lote, int estagio_anterior, int codigo_familia, int seq_operacao, int estagio_depende, int sequencia_estagio)
    Insere um estágio na PCPC_040 para um pacote com roteiro definido no MQOP_050.
    void
    insertPcpc040SemEstagio(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao, int ordem_confeccao, int tipo_ordem, int estagio_devolucao, int ordem_producao, String referencia, String tamanho, String sortimento, int qtde_lote)
    Insere um registro padrão na PCPC_040 para quando não existe roteiro no MQOP_050.
    void
    insertTmrp615(br.com.intersys.systextil.connection.AppConnection conn, RotinaRecalculoDTO dto, String nome_programa, int nr_solicitacao, int codigo_usuario, int seq_registro)
    Insere um registro de pacote na TMRP_615 com tipo_registro = 347 e situacao = 'X'.
    listaRoteiroPorMqop(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String subgrupo, String item, int alternativa, int roteiro)
    Retorna todos os passos do roteiro da MQOP_050 em uma lista, fechando o cursor antes de retornar.
    void
    updatePcpc032(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao, int seqorcor, ComponenteDTO comp)
     
    void
    updatePcpc040(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Marca os registros da PCPC_040 da ordem como executa_trigger = 3, preparando-os para exclusão via trigger.
    void
    updatePcpc045(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Marca os registros da PCPC_045 relacionados à ordem como executa_trigger = 3, preparando-os para exclusão via trigger.
    void
    updateSituacaoTmrp615(br.com.intersys.systextil.connection.AppConnection conn, int nr_solicitacao, int codigo_usuario, String nivel, String referencia, String tamanho, String sortimento, int ordem_confeccao)
    Marca um pacote da TMRP_615 como consumido (situacao = 'C'), após seu número de ordem de confecção ter sido reaproveitado.
    void
    updateUltimoEstagioPcpc020(br.com.intersys.systextil.connection.AppConnection conn, int ultimo_estagio, int ordem_producao)
     
    void
    updateUltimoNumeroPcpc010(br.com.intersys.systextil.connection.AppConnection conn, int ordem_confeccao, int periodo_producao)
    Atualiza o ultimo_numero em PCPC_010 com a maior ordem de confecção gerada, garantindo que o próximo processo parta do número correto.
    void
    zeraUltimoEstagioPcpc020(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    Zera o ultimo_estagio da ordem na PCPC_020 para que seja recalculado após a reinserção dos estágios.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RotinaRecalculoDAO

      public RotinaRecalculoDAO()
  • Method Details

    • buscaOrdensMudarasBasi050

      public List<Integer> buscaOrdensMudarasBasi050(br.com.intersys.systextil.connection.AppConnection conn, int periodo_inicial, int periodo_final)
      Retorna os números de ordem de produção presentes na PCPC_040 dentro de um intervalo de períodos.
      Parameters:
      conn - conexão ativa
      periodo_inicial - período de produção inicial (inclusive)
      periodo_final - período de produção final (inclusive)
      Returns:
      lista de ordem_producao encontradas no intervalo
    • buscaOrdensMudarasPcpc040

      public List<Integer> buscaOrdensMudarasPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_inicial, int periodo_final)
    • buscaOrdensPorReferencia

      public List<Integer> buscaOrdensPorReferencia(br.com.intersys.systextil.connection.AppConnection conn, String referencia_peca)
    • buscaOrdemPcpc040

      public List<Integer> buscaOrdemPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_inicial, int periodo_final)
    • copiaEstruturaBasi050

      public List<RotinaRecalculoDTO> copiaEstruturaBasi050(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Retorna a estrutura de pacotes da PCPC_040 para uma ordem de produção, agrupada por produto/confecção/período — equivalente ao cursor de cópia do Vision.

      Mapeamento de colunas:

      1. proconf_nivel99RotinaRecalculoDTO.nivel_recal()
      2. proconf_grupoRotinaRecalculoDTO.grupo_recal()
      3. proconf_subgrupoRotinaRecalculoDTO.subrgrupo_recal()
      4. proconf_itemRotinaRecalculoDTO.item_recal()
      5. ordem_confeccaoRotinaRecalculoDTO.ordem_confeccao()
      6. periodo_producaoRotinaRecalculoDTO.periodo_producao_real()
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
      Returns:
      lista de RotinaRecalculoDTO com os pacotes da ordem
    • copiaEstruturaPcpc040

      public List<RotinaRecalculoDTO> copiaEstruturaPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    • updatePcpc045

      public void updatePcpc045(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Marca os registros da PCPC_045 relacionados à ordem como executa_trigger = 3, preparando-os para exclusão via trigger.
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
    • deletePcpc045

      public void deletePcpc045(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Exclui os registros da PCPC_045 vinculados aos estágios da ordem de produção.
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
    • updatePcpc040

      public void updatePcpc040(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Marca os registros da PCPC_040 da ordem como executa_trigger = 3, preparando-os para exclusão via trigger.
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
    • deletePcpc040

      public void deletePcpc040(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Exclui todos os estágios da PCPC_040 pertencentes à ordem de produção.
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
    • estagioPrepAberto

      public boolean estagioPrepAberto(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao, int cod_estagio)
      Verifica se o estágio de preparação da ordem ainda possui saldo a produzir (qtde_pecas_prog - qtde_pecas_prod - qtde_conserto - qtde_pecas_2a - qtde_perdas > 0).
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
      cod_estagio - código do estágio de preparação a verificar
      Returns:
      true se o estágio ainda tem saldo aberto
    • codEstagioLibOrdem

      public int codEstagioLibOrdem(br.com.intersys.systextil.connection.AppConnection conn, int cod_empresa)
      Retorna o código do estágio de liberação da ordem configurado na FATU_503 para a empresa.
      Parameters:
      conn - conexão ativa
      cod_empresa - código da empresa
      Returns:
      código do estágio de liberação, ou 0 se não configurado
    • insertTmrp615

      public void insertTmrp615(br.com.intersys.systextil.connection.AppConnection conn, RotinaRecalculoDTO dto, String nome_programa, int nr_solicitacao, int codigo_usuario, int seq_registro)
      Insere um registro de pacote na TMRP_615 com tipo_registro = 347 e situacao = 'X'.
      Parameters:
      conn - conexão ativa
      dto - dados do pacote (nível, grupo, subgrupo, item, ordem de confecção, período)
      nome_programa - identificador do programa chamador (ex: "tmrp_f010")
      nr_solicitacao - número de solicitação gerado por SequenciaNrSolicitacao
      codigo_usuario - código do usuário que disparou o processo
      seq_registro - sequência do registro dentro da solicitação
    • buscaTmrp615Pacote

      public int[] buscaTmrp615Pacote(br.com.intersys.systextil.connection.AppConnection conn, int nr_solicitacao, int codigo_usuario, String nivel, String referencia, String tamanho, String sortimento)
      Busca na TMRP_615 um pacote salvo anteriormente para reaproveitar o número de ordem de confecção, evitando gerar um novo número desnecessariamente.
      Parameters:
      conn - conexão ativa
      nr_solicitacao - número da solicitação
      codigo_usuario - código do usuário
      nivel - nível do produto ("1")
      referencia - referência da peça (grupo)
      tamanho - tamanho do pacote (subgrupo)
      sortimento - sortimento do pacote (item)
      Returns:
      array int[]{ordem_confeccao, periodo_producao} se encontrado, ou null se não há pacote disponível
    • updateSituacaoTmrp615

      public void updateSituacaoTmrp615(br.com.intersys.systextil.connection.AppConnection conn, int nr_solicitacao, int codigo_usuario, String nivel, String referencia, String tamanho, String sortimento, int ordem_confeccao)
      Marca um pacote da TMRP_615 como consumido (situacao = 'C'), após seu número de ordem de confecção ter sido reaproveitado.
      Parameters:
      conn - conexão ativa
      nr_solicitacao - número da solicitação
      codigo_usuario - código do usuário
      nivel - nível do produto
      referencia - referência da peça
      tamanho - tamanho do pacote
      sortimento - sortimento do pacote
      ordem_confeccao - número da ordem de confecção a marcar como consumida
    • forEachPcpc021

      public int forEachPcpc021(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao, Consumer<br.com.intersys.systextil.connection.AppConnection> action)
      Itera os itens de confecção da ordem (PCPC_021 + PCPC_020) com quantidade positiva, aplicando action a cada linha — equivalente ao cursor EXECUTING do Vision.

      Colunas disponíveis no Consumer:

      1. referencia_peca (pcpc_020)
      2. tamanho (pcpc_021)
      3. sortimento (pcpc_021)
      4. quantidade (pcpc_021)
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
      action - ação a executar para cada item; use uma flag externa para interromper antecipadamente
      Returns:
      número de linhas processadas
    • buscaDadosPcpc020

      public Pcpc020DTO buscaDadosPcpc020(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Retorna os dados básicos da ordem de produção na PCPC_020, necessários para localizar o roteiro no MQOP_050.
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
      Returns:
      Pcpc020DTO com referência, período, alternativa e roteiro, ou null se não encontrado
    • zeraUltimoEstagioPcpc020

      public void zeraUltimoEstagioPcpc020(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Zera o ultimo_estagio da ordem na PCPC_020 para que seja recalculado após a reinserção dos estágios.
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
    • buscaComponentesBasi050

      public List<ComponenteDTO> buscaComponentesBasi050(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
      Atualiza o ultimo_estagio da ordem na PCPC_020 com o último estágio inserido após o recálculo.
      Parameters:
      conn - conexão ativa
      ordem_producao - número da ordem de produção
      ultimo_estagio - código do último estágio inserido
    • buscaPcpc032PorOrdem

      public List<Pcpc032DTO> buscaPcpc032PorOrdem(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao)
    • updatePcpc032

      public void updatePcpc032(br.com.intersys.systextil.connection.AppConnection conn, int ordem_producao, int seqorcor, ComponenteDTO comp)
    • updateUltimoEstagioPcpc020

      public void updateUltimoEstagioPcpc020(br.com.intersys.systextil.connection.AppConnection conn, int ultimo_estagio, int ordem_producao)
    • buscaUltimoNumeroPcpc010

      public int buscaUltimoNumeroPcpc010(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao)
      Retorna o último número de ordem de confecção utilizado para o período (PCPC_010.ultimo_numero), usado como base para gerar o próximo número disponível.
      Parameters:
      conn - conexão ativa
      periodo_producao - período de produção
      Returns:
      último número utilizado, ou 0 se o período não existir em PCPC_010
    • updateUltimoNumeroPcpc010

      public void updateUltimoNumeroPcpc010(br.com.intersys.systextil.connection.AppConnection conn, int ordem_confeccao, int periodo_producao)
      Atualiza o ultimo_numero em PCPC_010 com a maior ordem de confecção gerada, garantindo que o próximo processo parta do número correto.
      Parameters:
      conn - conexão ativa
      ordem_confeccao - novo valor do último número
      periodo_producao - período de produção correspondente
    • buscaLoteBasi020

      public int buscaLoteBasi020(br.com.intersys.systextil.connection.AppConnection conn, String referencia_peca, String tamanho)
      Retorna o lote de fabricação configurado na BASI_020 para a referência e tamanho informados.
      Parameters:
      conn - conexão ativa
      referencia_peca - referência do produto
      tamanho - tamanho do pacote
      Returns:
      lote de fabricação, ou 0 se não encontrado (chamador deve tratar como 99999999)
    • existeMqop050

      public boolean existeMqop050(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String subgrupo, String item, int alternativa, int roteiro)
      Verifica se existe roteiro configurado no MQOP_050 para a combinação produto/alternativa/roteiro informada.
      Parameters:
      conn - conexão ativa
      nivel - nível da estrutura ("1")
      grupo - grupo da estrutura (referência da peça)
      subgrupo - subgrupo (tamanho)
      item - item (sortimento)
      alternativa - número da alternativa
      roteiro - número do roteiro
      Returns:
      true se o roteiro existe no MQOP_050
    • existeBasi010

      public boolean existeBasi010(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String sub, String item)
      Verifica se o SKU (nivel/grupo/subgrupo/item) existe na basi_010. Usado para pular pacotes cujo produto foi removido (evita ORA-02291 na pcpc_040).
    • existeMqop045

      public boolean existeMqop045(br.com.intersys.systextil.connection.AppConnection conn, int codigo_operacao)
    • forEachRoteiroPorMqop

      public int forEachRoteiroPorMqop(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String subgrupo, String item, int alternativa, int roteiro, Consumer<br.com.intersys.systextil.connection.AppConnection> action)
      Itera os estágios do roteiro no MQOP_050/MQOP_040, na ordem de execução, aplicando action a cada estágio — equivalente ao cursor EXECUTING do Vision.

      Colunas disponíveis no Consumer:

      1. codigo_estagio
      2. codigo_operacao
      3. codigo_familia
      4. seq_operacao
      5. sequencia_estagio
      6. estagio_depende
      7. pede_produto
      Parameters:
      conn - conexão ativa
      nivel - nível da estrutura
      grupo - grupo (referência da peça)
      subgrupo - subgrupo (tamanho)
      item - item (sortimento)
      alternativa - número da alternativa
      roteiro - número do roteiro
      action - ação a executar para cada estágio
      Returns:
      número de estágios processados (0 = nenhum estágio no roteiro)
    • listaRoteiroPorMqop

      public List<PassoRoteiroDTO> listaRoteiroPorMqop(br.com.intersys.systextil.connection.AppConnection conn, String nivel, String grupo, String subgrupo, String item, int alternativa, int roteiro)
      Retorna todos os passos do roteiro da MQOP_050 em uma lista, fechando o cursor antes de retornar. Use este método quando for fazer DML dentro do loop para evitar ORA-01002 causado por trigger com commit autônomo.
    • buscaMaxOrdemConfeccaoPcpc040

      public int buscaMaxOrdemConfeccaoPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao)
      Verifica se já existe um registro na PCPC_040 para o período e ordem de confecção informados. Usado para encontrar o próximo número de ordem de confecção disponível.
      Parameters:
      conn - conexão ativa
      periodo_producao - período de produção
      ordem_confeccao - número de ordem de confecção a verificar
      Returns:
      true se a combinação período/ordem já está ocupada
    • existeOrdemConfeccaoPcpc040

      public boolean existeOrdemConfeccaoPcpc040(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao, int ordem_confeccao)
    • insertPcpc040ComEstagio

      public void insertPcpc040ComEstagio(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao, int ordem_confeccao, int codigo_estagio, int ordem_producao, String referencia, String tamanho, String sortimento, int qtde_lote, int estagio_anterior, int codigo_familia, int seq_operacao, int estagio_depende, int sequencia_estagio)
      Insere um estágio na PCPC_040 para um pacote com roteiro definido no MQOP_050.
      Parameters:
      conn - conexão ativa
      periodo_producao - período de produção
      ordem_confeccao - número da ordem de confecção
      codigo_estagio - código do estágio a inserir
      ordem_producao - número da ordem de produção
      referencia - referência da peça (proconf_grupo)
      tamanho - tamanho do pacote (proconf_subgrupo)
      sortimento - sortimento do pacote (proconf_item)
      qtde_lote - quantidade do lote (usada em qtde_pecas_prog e qtde_programada)
      estagio_anterior - código do estágio anterior na sequência
      codigo_familia - código da família do estágio
      seq_operacao - sequência da operação
      estagio_depende - estágio do qual este depende
      sequencia_estagio - sequência do estágio dentro da operação
    • insertPcpc040SemEstagio

      public void insertPcpc040SemEstagio(br.com.intersys.systextil.connection.AppConnection conn, int periodo_producao, int ordem_confeccao, int tipo_ordem, int estagio_devolucao, int ordem_producao, String referencia, String tamanho, String sortimento, int qtde_lote)
      Insere um registro padrão na PCPC_040 para quando não existe roteiro no MQOP_050. O codigo_estagio é derivado de decode(tipo_ordem, 4, estagio_devolucao, 0).
      Parameters:
      conn - conexão ativa
      periodo_producao - período de produção
      ordem_confeccao - número da ordem de confecção
      tipo_ordem - tipo da ordem (field pcpc_f120#tipo_ordem)
      estagio_devolucao - estágio de devolução (field pcpc_f120#estagio_devolucao)
      ordem_producao - número da ordem de produção
      referencia - referência da peça
      tamanho - tamanho do pacote
      sortimento - sortimento do pacote
      qtde_lote - quantidade do lote