public TRegistro_Requisicao() { Id_requisicao = null; Cd_empresa = string.Empty; Nm_empresa = string.Empty; id_tprequisicao = null; id_tprequisicaostr = string.Empty; Ds_tprequisicao = string.Empty; tp_requisicao = string.Empty; tipo_requisicao = string.Empty; dt_requisicao = DateTime.Now; dt_requisicaostr = DateTime.Now.ToString("dd/MM/yyyy"); Cd_clifor_requisitante = string.Empty; Nm_clifor_requisitante = string.Empty; Cd_clifor_aprovador = string.Empty; Nm_clifor_aprovador = string.Empty; Cd_clifor_comprador = string.Empty; Nm_clifor_comprador = string.Empty; Cd_produto = string.Empty; Ds_produto = string.Empty; Cd_local = string.Empty; Ds_local = string.Empty; Cd_referencia = string.Empty; Ds_marca = string.Empty; Cd_grupo = string.Empty; Sigla_unidade = string.Empty; st_requisicao = "AC"; status = "AGUARDANDO COTACAO"; Quantidade = decimal.Zero; Qtd_aprovada = decimal.Zero; Qtd_atendida = decimal.Zero; Vl_unitCotacao = decimal.Zero; Qtd_almox = decimal.Zero; Ds_observacao = string.Empty; Ds_motivorenegociar = string.Empty; St_integrar = false; Cd_condPgto = string.Empty; Ds_condPgto = string.Empty; Id_ordem = null; Nr_pedido = null; SaldoAtualAlmox = decimal.Zero; SaldoAtualEst = decimal.Zero; Vl_custoEst = decimal.Zero; Vl_ultimaCompraForn = decimal.Zero; Vl_ultimaCompraCon = decimal.Zero; Vl_ipi = decimal.Zero; Vl_icmssubst = decimal.Zero; Pc_icms = decimal.Zero; lReqneg = new TList_Requisicao_X_Negociacao(); lregnegdel = new TList_Requisicao_X_Negociacao(); lOrdemProd = new CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao(); lCotacoes = new TList_Cotacao(); }
private void LancarRequisicao() { if (bsMPrima.Current != null) { if ((bsMPrima.DataSource as CamadaDados.Producao.Producao.TList_MPrima).Exists(p => p.Qtd_saldonecessario < 0)) { try { //Buscar Tipo Requisicao Externa object obj = new CamadaDados.Compra.TCD_TpRequisicao().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.TP_Requisicao", vOperador = "=", vVL_Busca = "'E'" } }, "a.ID_TpRequisicao"); if (obj == null) { MessageBox.Show("Não existe Tipo Requisição cadastrada no sistema!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //Buscar Clifor Requisitante object objClifor = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_cmp_usuariocompra x " + "where x.cd_clifor_cmp = a.cd_clifor " + "and isnull(x.st_requisitar, 'N') = 'S' " + "and x.login = '******')" } }, "a.cd_clifor"); if (objClifor == null) { MessageBox.Show("Usuário: " + Utils.Parametros.pubLogin.Trim() + "\r\n" + "não possui clifor requisitante cadastrado", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } CamadaDados.Compra.Lancamento.TList_Requisicao lRequisicao = new CamadaDados.Compra.Lancamento.TList_Requisicao(); CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao lOrdemProducao = new CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao(); lOrdemProducao.Add(new CamadaDados.Producao.Producao.TRegistro_OrdemProducao_X_Requisicao() { Cd_empresa = CD_Empresa.Text, Id_ordem = Convert.ToDecimal(pId_ordem) }); (bsMPrima.DataSource as CamadaDados.Producao.Producao.TList_MPrima).FindAll(p => p.Qtd_saldonecessario < 0).ForEach(p => { if (new CamadaDados.Producao.Producao.TCD_OrdemProducao().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_PRD_OrdemProducao_X_Requisicao x " + "inner join TB_PRD_OrdemProducao y " + "on x.id_ordem = y.id_ordem " + "and x.cd_empresa = y.cd_empresa " + "inner join TB_PRD_FichaTec_MPrima h " + "on y.ID_Formulacao = h.ID_Formulacao " + "and y.cd_empresa = h.cd_empresa " + "where a.cd_empresa = x.cd_empresa " + "and a.ID_Ordem = x.ID_Ordem " + "and exists(select 1 from TB_CMP_Requisicao z " + " where h.cd_empresa = z.cd_empresa " + " and h.CD_Produto = z.CD_Produto " + " and x.ID_Requisicao = z.ID_Requisicao " + " and x.cd_empresa = z.cd_empresa " + " and z.ST_Requisicao <> 'CA') " + "and a.id_ordem = " + pId_ordem.Trim() + " " + "and h.CD_Produto = " + p.Cd_mprima.Trim() + ")" } }, "1") == null) { lRequisicao.Add(new CamadaDados.Compra.Lancamento.TRegistro_Requisicao() { St_integrar = true, Cd_empresa = CD_Empresa.Text, Id_tprequisicaostr = obj.ToString(), Dt_requisicao = CamadaDados.UtilData.Data_Servidor(), Cd_clifor_requisitante = objClifor.ToString(), Cd_produto = p.Cd_mprima, Ds_produto = p.Ds_mprima, Cd_local = p.Cd_local, Ds_local = p.Ds_local, Sigla_unidade = p.Sigla_unidade, St_requisicao = "AC", Quantidade = Math.Abs(p.Qtd_saldonecessario), lOrdemProd = lOrdemProducao }); } }); using (TFLanRequisicao fReq = new TFLanRequisicao()) { fReq.lRequisicao = lRequisicao; if (fReq.ShowDialog() == DialogResult.OK) { if (fReq.lRequisicao != null) { fReq.lRequisicao.ForEach(x => CamadaNegocio.Compra.Lancamento.TCN_Requisicao.GravarRequisicao(x, null)); } } } bsMPrima_PositionChanged(this, new EventArgs()); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }