Пример #1
0
 private void bbProduzir_Click(object sender, EventArgs e)
 {
     if (bsOrdemProduzir.Current != null)
     {
         if ((bsOrdemProduzir.Current as TRegistro_OrdemProducao).St_registro.Trim().ToUpper() != "A")
         {
             MessageBox.Show("Permitido INICIAR PRODUÇÃO somente de ordem com status ABERTA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         try
         {
             bool st_serie = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("GERAR_SERIE_APONTAMENTO",
                                                                                  (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Cd_empresa, null).Equals("S") &&
                             new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarEscalar(
                 new Utils.TpBusca[]
             {
                 new Utils.TpBusca {
                     vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Cd_produto.Trim() + "'"
                 },
                 new Utils.TpBusca {
                     vNM_Campo = "isnull(a.st_exigirserie, 'N')", vOperador = "=", vVL_Busca = "'S'"
                 }
             }, "1") != null;
             if (st_serie)
             {
                 using (TFSerieProduto fSerie = new TFSerieProduto())
                 {
                     object obj = new TCD_SerieProduto().BuscarEscalar(
                         new Utils.TpBusca[]
                     {
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "ISNUMERIC(a.nr_serie)",
                             vOperador = "=",
                             vVL_Busca = "1"
                         }
                     }, "max(nr_serie)");
                     decimal numeroserie = decimal.Zero;
                     try
                     {
                         if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString()))
                         {
                             numeroserie = decimal.Parse(obj.ToString());
                         }
                         for (int i = 0; (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Qtd_saldoproduzir > i; i++)
                         {
                             fSerie.lSerie.Add(new TRegistro_SerieProduto()
                             {
                                 Cd_empresa = (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Cd_empresa,
                                 Cd_produto = (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Cd_produto,
                                 Ds_produto = (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Ds_produto,
                                 Nr_serie   = (numeroserie += 1).ToString()
                             });
                         }
                     }
                     catch
                     {
                         fSerie.lSerie.Add(
                             new TRegistro_SerieProduto
                         {
                             Cd_empresa = (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Cd_empresa,
                             Cd_produto = (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Cd_produto,
                             Ds_produto = (bsOrdemProduzir.Current as TRegistro_OrdemProducao).Ds_produto
                         });
                     }
                     if (fSerie.ShowDialog() == DialogResult.OK)
                     {
                         if (fSerie.lSerie != null)
                         {
                             if (fSerie.lSerie.Count > 0)
                             {
                                 (bsOrdemProduzir.Current as TRegistro_OrdemProducao).lSerie = fSerie.lSerie;
                             }
                         }
                     }
                     else
                     {
                         MessageBox.Show("Obrigatório informar Nº Série!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                 }
             }
             TCN_OrdemProducao.IniciarProducao(bsOrdemProduzir.Current as TRegistro_OrdemProducao, null);
             if (st_serie)
             {
                 ImprimirFichaProducao();
             }
             bbBuscarOrdem_Click(this, new EventArgs());
         }
         catch (Exception ex)
         {
             bbBuscarOrdem_Click(this, new EventArgs());
             MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
Пример #2
0
 private void IniciarProducao()
 {
     if (bsOrdemProducao.Current != null)
     {
         if ((bsOrdemProducao.Current as TRegistro_OrdemProducao).St_registro.Trim().ToUpper() != "A")
         {
             MessageBox.Show("Permitido INICIAR PRODUÇÃO somente de ordem com status ABERTA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         try
         {
             bool st_serie = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("GERAR_SERIE_APONTAMENTO",
                                                                                  (bsOrdemProducao.Current as TRegistro_OrdemProducao).Cd_empresa, null).Equals("S");
             if (st_serie)
             {
                 using (TFSerieProduto fSerie = new TFSerieProduto())
                 {
                     object obj = new TCD_SerieProduto().BuscarEscalar(
                         new Utils.TpBusca[]
                     {
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.Nr_serie",
                             vOperador = "<>",
                             vVL_Busca = "SEM SÉRIE"
                         }
                     }, "max(nr_serie)");
                     decimal numeroserie = decimal.Zero;
                     if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString()))
                     {
                         numeroserie = decimal.Parse(obj.ToString());
                     }
                     for (int i = 0; (bsOrdemProducao.Current as TRegistro_OrdemProducao).Qtd_saldoproduzir > i; i++)
                     {
                         fSerie.lSerie.Add(new TRegistro_SerieProduto()
                         {
                             Cd_empresa = (bsOrdemProducao.Current as TRegistro_OrdemProducao).Cd_empresa,
                             Cd_produto = (bsOrdemProducao.Current as TRegistro_OrdemProducao).Cd_produto,
                             Ds_produto = (bsOrdemProducao.Current as TRegistro_OrdemProducao).Ds_produto,
                             Nr_serie   = (numeroserie += 1).ToString()
                         });
                     }
                     if (fSerie.ShowDialog() == DialogResult.OK)
                     {
                         if (fSerie.lSerie != null)
                         {
                             if (fSerie.lSerie.Count > 0)
                             {
                                 (bsOrdemProducao.Current as TRegistro_OrdemProducao).lSerie = fSerie.lSerie;
                             }
                         }
                     }
                     else
                     {
                         MessageBox.Show("Obrigatório informar Nº Série!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                 }
             }
             TCN_OrdemProducao.IniciarProducao(bsOrdemProducao.Current as TRegistro_OrdemProducao, null);
             if (st_serie)
             {
                 TCN_OrdemProducao.GerarExcel(bsOrdemProducao.Current as TRegistro_OrdemProducao);
             }
             MessageBox.Show("Ordem Produção iniciada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             afterBusca();
         }
         catch (Exception ex)
         { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
     }
 }