private void Calcular() { CamadaDados.Estoque.Cadastros.TList_FichaTecProduto lFicha = CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.Buscar(Cd_produto, string.Empty, null); CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.MontarFichaTec(CD_Empresa.Text, cd_tabelapreco.Text, lFicha, null); bsFichaTec.DataSource = lFicha; vl_custototal.Value = lFicha.Sum(p => p.Vl_subtotalservico); tot_precovenda.Value = lFicha.Sum(p => p.Vl_precovendatotal); if (tot_precovenda.Value > decimal.Zero) { pc_lucro.Value = vl_custototal.Value * 100 / tot_precovenda.Value; } else { pc_lucro.Value = pc_lucro.Minimum; } }
private void bb_custoprod_Click(object sender, EventArgs e) { if (bsItens.Current != null && cbEmpresa.SelectedItem != null && cbTabPreco.SelectedItem != null) { if (new CamadaDados.Estoque.Cadastros.TCD_CadTpProduto().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = string.Empty, vVL_Busca = "(isnull(a.st_semente, 'N') = 'S') or (isnull(a.st_industrializado, 'N') = 'S')" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_est_produto x " + "where x.tp_produto = a.tp_produto " + "and x.cd_produto = '" + (bsItens.Current as CamadaDados.Estoque.TRegistro_ProdutoPreco).Cd_produto.Trim() + "')" } }, "1") != null) { //Buscar lista de formulas CamadaDados.Producao.Producao.TList_FormulaApontamento lFormula = CamadaNegocio.Producao.Producao.TCN_FormulaApontamento.Buscar(cbEmpresa.SelectedValue.ToString(), string.Empty, string.Empty, string.Empty, string.Empty, (bsItens.Current as CamadaDados.Estoque.TRegistro_ProdutoPreco).Cd_produto, string.Empty, 0, string.Empty, null); if (lFormula.Count > 0) { if (lFormula.Count.Equals(1)) { vl_custoprod.Value = CamadaNegocio.Producao.Producao.TCN_FormulaApontamento.CalcularCustoProducao(lFormula[0]); } else { using (Proc_Commoditties.TFDisponibilidadeMPrima fDisponibilidade = new Proc_Commoditties.TFDisponibilidadeMPrima()) { fDisponibilidade.pCd_empresa = cbEmpresa.SelectedValue.ToString(); fDisponibilidade.pCd_produto = (bsItens.Current as CamadaDados.Estoque.TRegistro_ProdutoPreco).Cd_produto; fDisponibilidade.ShowDialog(); vl_custoprod.Value = fDisponibilidade.Vl_custoProducao; } } } } else if (new CamadaDados.Estoque.Cadastros.TCD_CadTpProduto().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.st_composto, 'N')", vOperador = "=", vVL_Busca = "'S'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_est_produto x " + "where x.tp_produto = a.tp_produto " + "and x.cd_produto = '" + (bsItens.Current as CamadaDados.Estoque.TRegistro_ProdutoPreco).Cd_produto.Trim() + "')" } }, "1") != null) { //Calcular custo produto CamadaDados.Estoque.Cadastros.TList_FichaTecProduto lFicha = CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.Buscar((bsItens.Current as CamadaDados.Estoque.TRegistro_ProdutoPreco).Cd_produto, string.Empty, null); CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.MontarFichaTec(cbEmpresa.SelectedValue.ToString(), cbTabPreco.SelectedValue.ToString(), lFicha, null); vl_custoprod.Value = lFicha.Sum(p => p.Vl_subtotalservico); } } }