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); } } }
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); } } }