private bool ValidaDI(belDI obj) { try { int icoun = 0; if (obj.nDI == null) { icoun++; } if (obj.DDI == null) { icoun++; } if (obj.xLocDesemb == null) { icoun++; } if (obj.UFDesemb == null) { icoun++; } if (obj.dDesemb == null) { icoun++; } if (obj.cExportador == null) { icoun++; } if (icoun > 0) { KryptonMessageBox.Show(null, "Verifique os Campos em Vermelho da DI selecionada, pois são obrigatórios!!", "A T E N Ç Ã O", MessageBoxButtons.OK, MessageBoxIcon.Information); return false; } else { return true; } } catch (Exception ex) { throw; } }
public List<belDet> BuscaItem(string sEmp, string sNF, belDest objdest) { List<belDet> dets = new List<belDet>(); Globais LeRegWin = new Globais(); string psNM_Banco = LeRegWin.LeRegConfig("BancoDados"); List<CamposSelect> lCampos = new List<CamposSelect>(); bool bAgrupaCampos = VerificaSeAgrupaItens(Conn); StringBuilder sCampos = new StringBuilder(); StringBuilder sInnerJoin = new StringBuilder(); StringBuilder sWhere = new StringBuilder(); StringBuilder sGroup = new StringBuilder(); try { #region Campos do Select //sSql.Append("Select "); lCampos.Add(new CamposSelect { sCampo = "coalesce(tpdoc.st_pauta,'N')", sAlias = "st_pauta" });//OS_25969 lCampos.Add(new CamposSelect { sCampo = "coalesce(tpdoc.st_frete_entra_ipi_s,'N')", sAlias = "st_frete_entra_ipi_s" });//OS_26866 lCampos.Add(new CamposSelect { sCampo = "coalesce(tpdoc.ST_FRETE_ENTRA_ICMS_S,'N')", sAlias = "ST_FRETE_ENTRA_ICMS_S" });//OS_26866 lCampos.Add(new CamposSelect { sCampo = "coalesce(MOVITEM.vl_baseicm,0)", sAlias = "vBC_Pauta" });//OS_25969 lCampos.Add(new CamposSelect { sCampo = "coalesce(MOVITEM.vl_icms,0)", sAlias = "vl_icms_Pauta" });//OS_25969 lCampos.Add(new CamposSelect { sCampo = "coalesce(MOVITEM.cd_pedcli,'')", sAlias = "xPed" });//OS_25977 lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.nr_item_ped_compra,'')", sAlias = "nItemPed" });//OS_25977 lCampos.Add(new CamposSelect { sCampo = "coalesce(opereve.st_servico,'')", sAlias = "st_servico" }); lCampos.Add(new CamposSelect { sCampo = "movitem.cd_oper", sAlias = "cd_oper" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(nf.st_soma_dev_tot_nf,'N')", sAlias = "st_soma_dev_tot_nf" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(produto.cd_orig_sittrib,0)", sAlias = "Orig" }); //os_26467 lCampos.Add(new CamposSelect { sCampo = "coalesce(EMPRESA.ST_SUPERSIMPLES,'N')", sAlias = "ST_SUPERSIMPLES" }); //os_26817 //ST_SUPERSIMPLES if (objdest.Uf.Equals("EX")) { lCampos.Add(new CamposSelect { sCampo = "coalesce(MOVITEM.VL_BASEIPI,0)", sAlias = "VL_BASEIPI" }); //os_26467 } if ((psNM_Banco.ToUpper().IndexOf("COMERCIOC") == -1) && (psNM_Banco.ToUpper().IndexOf("CERAMICAC") == -1)) //SE FOR INDUSTRIA { lCampos.Add(new CamposSelect { sCampo = "coalesce(tpdoc.st_compoe_vl_totprod_nf,'A')", sAlias = "st_compoe_vl_totprod_nf" }); } if (objbelGeraXml.nm_Cliente != "MOGPLAST") { lCampos.Add(new CamposSelect { sCampo = "case when empresa.st_codprodnfe = 'C' then produto.cd_prod else produto.cd_alter end", sAlias = "cProd" }); } else { lCampos.Add(new CamposSelect { sCampo = "case when empresa.nm_empresa containing 'MOGPLAST' then " + "produto.ds_detalhe " + "else " + "case when empresa.st_codprodnfe = 'C' then " + "movitem.cd_prod else " + "movitem.cd_alter end " + "End ", sAlias = "cProd" }); } if (belStaticPastas.CBARRAS == "True") { lCampos.Add(new CamposSelect { sCampo = "produto.cd_barras", sAlias = "cEAN" }); } else { lCampos.Add(new CamposSelect { sCampo = "produto.cd_alter", sAlias = "cEAN" }); } if (objbelGeraXml.nm_Cliente != "NAVE_THERM") { lCampos.Add(new CamposSelect { sCampo = "movitem.ds_prod", sAlias = "xProd" }); } else { lCampos.Add(new CamposSelect { sCampo = "case when produto.ds_prod_compl is not null then " + "substring(produto.ds_prod_compl from 1 for 120) " + "else " + "produto.ds_prod end ", sAlias = "xProd" }); } lCampos.Add(new CamposSelect { sCampo = "substring(clas_fis.ds_clasfis from 1 for 15)", sAlias = "NCM" });// Diego - 21/10 Lorenzon lCampos.Add(new CamposSelect { sCampo = "movitem.cd_cfop", sAlias = "CFOP" }); lCampos.Add(new CamposSelect { sCampo = "unidades.cd_unfat", sAlias = "uCom" });//Diego - OS_ 25/08/10 lCampos.Add(new CamposSelect { sCampo = "movitem.qt_prod", sAlias = "qCom", bAgrupa = bAgrupaCampos }); if (objbelGeraXml.nm_Cliente.Equals("MAD_STA_RITA")) { lCampos.Add(new CamposSelect { sCampo = "movitem.vl_comprimento", sAlias = "vl_comprimento", bAgrupa = bAgrupaCampos }); // Diego - OS_25550 } if (objbelGeraXml.nm_Cliente.Equals("ZINCOBRIL")) //os_25787 { lCampos.Add(new CamposSelect { sCampo = "coalesce(opereve.tp_industrializacao,'')", sAlias = "tp_industrializacao" }); } lCampos.Add(new CamposSelect { sCampo = "coalesce(vl_uniprod_sem_desc,0)", sAlias = "vl_uniprod_sem_desc" });//cast -> OS_25771 // 6 casas decimais if (objdest.Uf != "EX") { //cast(movitem.vl_uniprod as numeric (15,5)) lCampos.Add(new CamposSelect { sCampo = "movitem.vl_uniprod", sAlias = "vUnCom" });//cast -> OS_25771 // 6 casas decimais } else { lCampos.Add(new CamposSelect { sCampo = "(case when movitem.vl_uniprod_ii = 0 then movitem.vl_uniprod else movitem.vl_uniprod_ii end)", sAlias = "vUnCom", bAgrupa = bAgrupaCampos }); } if (objdest.Uf == "EX") //DIEGO - OS_24730 { lCampos.Add(new CamposSelect { sCampo = "(case when movitem.vl_uniprod_ii = 0 then movitem.vl_totbruto else (movitem.vl_uniprod_ii * movitem.qt_prod) end)", sAlias = "vProd", bAgrupa = bAgrupaCampos }); } else { lCampos.Add(new CamposSelect { sCampo = "movitem.vl_totbruto", sAlias = "vProd", bAgrupa = bAgrupaCampos }); //2 casas decimais }//DIEGO - OS_24730 - FIM lCampos.Add(new CamposSelect { sCampo = "movitem.vl_totliq", sAlias = "vl_totliq", bAgrupa = bAgrupaCampos });// Diego 0S_24595 if (LeRegWin.LeRegConfig("CodBarrasXml") == "True") { lCampos.Add(new CamposSelect { sCampo = "produto.cd_barras", sAlias = "cEANTrib" }); } else { lCampos.Add(new CamposSelect { sCampo = "produto.cd_alter", sAlias = "cEANTrib" }); } lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_descsuframa,0) + coalesce(movitem.vl_desccofinssuframa,0) + coalesce(movitem.vl_descpissuframa,0)", sAlias = "vDescSuframa", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "coalesce(nf.st_desc,'U')", sAlias = "st_desc" }); lCampos.Add(new CamposSelect { sCampo = "movitem.cd_tpunid", sAlias = "uTrib" }); lCampos.Add(new CamposSelect { sCampo = "movitem.qt_prod", sAlias = "qTrib", bAgrupa = bAgrupaCampos }); if (objdest.Uf != "EX") { lCampos.Add(new CamposSelect { sCampo = "movitem.vl_uniprod", sAlias = "vUnTrib" }); } else { // lCampos.Add(new CamposSelect { sCampo = "movitem.vl_uniprod_ii", sAlias = "vUnTrib" }); lCampos.Add(new CamposSelect { sCampo = "(case when movitem.vl_uniprod_ii = 0 then movitem.vl_uniprod else movitem.vl_uniprod_ii end)", sAlias = "vUnTrib", bAgrupa = bAgrupaCampos }); } lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_ii,0)", sAlias = "vl_ii" }); lCampos.Add(new CamposSelect { sCampo = "movitem.cd_sittrib", sAlias = "CST" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(nf.st_ipi,'S')", sAlias = "st_ipi" }); //OS_25673 lCampos.Add(new CamposSelect { sCampo = "movitem.vl_alicredicms", sAlias = "pCredSN" });//NFe_2.0 lCampos.Add(new CamposSelect { sCampo = "movitem.vl_credicms", sAlias = "vCredICMSSN", bAgrupa = bAgrupaCampos }); // ** #region BC_ICMS if (objdest.Uf != "EX") { //if (objbelGeraXml.nm_Cliente != "TORCETEX") OS_27040 //{ lCampos.Add(new CamposSelect { sCampo = "case when coalesce(tpdoc.st_nfcompl, 'N') = 'N' then " + "case when coalesce(tpdoc.st_nfcompl, 'N') = 'N' then " + "case when coalesce(nf.st_ipi,'N') = 'N' then " + "CASE when (SELECT SUM(VL_TOTBRUTO) FROM movitem where ((movitem.cd_empresa = nf.cd_empresa) and (MOVITEM.cd_nfseq = NF.cd_nfseq))) > NF.vl_totprod then " + "((case when movitem.vl_redbase <> 0 then " + "case when coalesce((select first 1 ST_ESTTERC from opereve where ((ST_ESTTERC = 'S') and ((TPDOC.cd_operval) containing cd_oper ))),'N') = 'N' then " + "(movitem.vl_totliq - ((SELECT SUM(VL_TOTBRUTO) FROM movitem where ((movitem.cd_empresa = nf.cd_empresa) and (MOVITEM.cd_nfseq = NF.cd_nfseq))) - NF.vl_totprod) / ((SELECT COUNT(NR_LANC) FROM movitem where movitem.cd_empresa = nf.cd_empresa and MOVITEM.cd_nfseq = NF.cd_nfseq) )) - (((100-coalesce(movitem.vl_redbase, 100)) * (movitem.vl_totliq - ((SELECT SUM(VL_TOTBRUTO) FROM movitem where ((movitem.cd_empresa = nf.cd_empresa) and (MOVITEM.cd_nfseq = NF.cd_nfseq))) - NF.vl_totprod) / ((SELECT COUNT(NR_LANC) FROM movitem where movitem.cd_empresa = nf.cd_empresa and MOVITEM.cd_nfseq = NF.cd_nfseq) )))/ 100) " + "else " + "movitem.vl_totliq - (((100-coalesce(movitem.vl_redbase, 100)) * movitem.vl_totliq)/ 100) " + "end " + "else " + "movitem.vl_totliq " + "end +(case when (coalesce(tpdoc.ST_FRETE_ENTRA_ICMS_S,'N') <> 'N') AND (UF.VL_ALIICMSFRETE > 0) then movitem.vl_frete else 0 end))) " +//OS 25385 "else " + "((case when movitem.vl_redbase <> 0 then " + "movitem.vl_totliq - (((100-coalesce(movitem.vl_redbase, 100)) * movitem.vl_totliq)/ 100) " + "else " + "movitem.vl_totliq " + "end + (case when (coalesce(tpdoc.ST_FRETE_ENTRA_ICMS_S,'N') <> 'N') AND (UF.VL_ALIICMSFRETE > 0) then movitem.vl_frete else 0 end))) " + "end " + "else " + "(CASE when (SELECT SUM(VL_TOTBRUTO) FROM movitem where movitem.cd_empresa = nf.cd_empresa and MOVITEM.cd_nfseq = NF.cd_nfseq) > NF.vl_totprod then " + "((case when movitem.vl_redbase <> 0 then " + "(movitem.vl_totliq - ((SELECT SUM(VL_TOTBRUTO) FROM movitem where movitem.cd_empresa = nf.cd_empresa and MOVITEM.cd_nfseq = NF.cd_nfseq) - NF.vl_totprod) / ((SELECT COUNT(NR_LANC) FROM movitem where movitem.cd_empresa = nf.cd_empresa and MOVITEM.cd_nfseq = NF.cd_nfseq) )) - (((100-coalesce(movitem.vl_redbase, 100)) * (movitem.vl_totliq - ((SELECT SUM(VL_TOTBRUTO) FROM movitem where movitem.cd_empresa = nf.cd_empresa and MOVITEM.cd_nfseq = NF.cd_nfseq) - NF.vl_totprod) / ((SELECT COUNT(NR_LANC) FROM movitem where movitem.cd_EMPRESA = NF.CD_EMPRESA AND MOVITEM.cd_nfseq = NF.cd_nfseq) )))/ 100) " + "else " + "movitem.vl_totliq " + "end " + " + (case when (coalesce(tpdoc.ST_FRETE_ENTRA_ICMS_S,'N') <> 'N') AND (UF.VL_ALIICMSFRETE > 0) then movitem.vl_frete else 0 end))) " + "else " + "((case when movitem.vl_redbase <> 0 then " + "movitem.vl_totliq - (((100-coalesce(movitem.vl_redbase, 100)) * movitem.vl_totliq)/ 100) " + "else " + "movitem.vl_totliq " + "end + (case when (coalesce(tpdoc.ST_FRETE_ENTRA_ICMS_S,'N') <> 'N') AND (UF.VL_ALIICMSFRETE > 0) then movitem.vl_frete else 0 end))) " + "end) + movitem.vl_ipi " + " end " + " end " + " else " + " nf.vl_baseicm " + " end ", sAlias = " vBC", bAgrupa = bAgrupaCampos }); // } // else // { // lCampos.Add(new CamposSelect // { // sCampo = // "case when coalesce(tpdoc.st_nfcompl, 'N') = 'N' then " + // "case when coalesce(tpdoc.st_nfcompl, 'N') = 'N' then " + // "case when coalesce(nf.st_ipi,'N') = 'N' then" + // "((movitem.vl_totliq * movitem.vl_coefdesc) + (case when (coalesce(tpdoc.ST_FRETE_ENTRA_ICMS_S,'N') <> 'N') AND (UF.VL_ALIICMSFRETE > 0) then movitem.vl_frete else 0 end)) " + // "else " + // "((movitem.vl_totliq * movitem.vl_coefdesc) + (case when (coalesce(tpdoc.ST_FRETE_ENTRA_ICMS_S,'N') <> 'N') AND (UF.VL_ALIICMSFRETE > 0) then movitem.vl_frete else 0 end)) + movitem.vl_ipi " + // "end " + // "end " + // "else " + // "nf.vl_baseicm " + // "end ", // sAlias = "vBC", // bAgrupa = bAgrupaCampos // }); // } } else { lCampos.Add(new CamposSelect { sCampo = "movitem.vl_baseicm", sAlias = "vBC", bAgrupa = bAgrupaCampos }); } #endregion lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_bicmproprio_subst,0) ", sAlias = "vBCProp", bAgrupa = bAgrupaCampos });// Diego OS_25278 lCampos.Add(new CamposSelect { sCampo = "movitem.vl_aliicms", sAlias = "pICMS" });//Diego - OS_24730 //CODIGO COMENTADO OS_26817 //if (objbelGeraXml.nm_Cliente == "PAVAX") //{ // if (objdest.Uf == "EX") // { // lCampos.Add(new CamposSelect { sCampo = "coalesce(MOVITEM.vl_icms_ii,0)", sAlias = "vICMS" }); // } // else // { // lCampos.Add(new CamposSelect { sCampo = "movitem.vl_icms", sAlias = "vICMS" }); // } //} //else if (objbelGeraXml.nm_Cliente == "EMEB") //{ // if (objdest.Uf == "EX") // { // lCampos.Add(new CamposSelect { sCampo = "coalesce(MOVITEM.vl_icms_ii,0)", sAlias = "vICMS", bAgrupa = bAgrupaCampos }); // } // else // { // lCampos.Add(new CamposSelect { sCampo = "(movitem.vl_icms + movitem.vl_icmproprio_subst)", sAlias = "vICMS", bAgrupa = bAgrupaCampos }); // } //} //else //{ //lCampos.Add(new CamposSelect { sCampo = "(movitem.vl_icms + movitem.vl_icmproprio_subst)", sAlias = "vICMS", bAgrupa = bAgrupaCampos }); //} //Diego - OS_24730 - FIM //os_26817 - inicio if (objdest.Uf == "EX") { lCampos.Add(new CamposSelect { sCampo = "movitem.vl_icms", sAlias = "vICMS", bAgrupa = bAgrupaCampos }); } else { lCampos.Add(new CamposSelect { sCampo = "(movitem.vl_icms + movitem.vl_icmproprio_subst)", sAlias = "vICMS", bAgrupa = bAgrupaCampos }); } //os_26817 - FIM lCampos.Add(new CamposSelect { sCampo = "case when tpdoc.st_nfcompl = 'N' then " + "coalesce(movitem.vl_bicmssubst, 0) " + "else " + "nf.VL_BICMSSU " + "end ", sAlias = "vBCST", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "coalesce(icm.vl_aliinte, 0)", sAlias = "pICMSST" }); lCampos.Add(new CamposSelect { sCampo = "case when tpdoc.st_nfcompl = 'N' then " + "coalesce(movitem.vl_icmretsubst, 0) " + "else " + "nf.VL_ICMSSUB " + "end ", sAlias = "vICMSST", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "(100-coalesce(movitem.vl_redbase, 0)) ", sAlias = "pRedBC", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "coalesce(icm.vl_alisubs, 0)", sAlias = "pMVAST" }); lCampos.Add(new CamposSelect { sCampo = "(100-coalesce(movitem.vl_redbase, 0))", sAlias = "pRedBCST", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_aliipi, 0)", sAlias = "pIPI" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_ipi, 0)", sAlias = "vIPI", bAgrupa = bAgrupaCampos }); if (bAgrupaCampos == false) { lCampos.Add(new CamposSelect { sCampo = "nf.ds_anota", sAlias = "infAdProd", }); } lCampos.Add(new CamposSelect { sCampo = "coalesce(clas_fis.st_tributacao, '1')", sAlias = "Tributa_ipi" }); lCampos.Add(new CamposSelect { sCampo = "tpdoc.tp_doc", sAlias = "tp_doc" }); lCampos.Add(new CamposSelect { sCampo = "case when tpdoc.tp_doc = 'NS' then " + "opereve.ST_CALCIPI_FA " + "else " + "opereve.st_ipi " + "end ", sAlias = "Calcula_IPI" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(opereve.st_hefrete, 'N')", sAlias = "st_hefrete" }); lCampos.Add(new CamposSelect { sCampo = "opereve.st_piscofins", sAlias = "st_piscofins" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_frete, 0)", sAlias = "vFrete", bAgrupa = bAgrupaCampos }); if (bAgrupaCampos == false) { lCampos.Add(new CamposSelect { sCampo = "movitem.nr_lanc", sAlias = "nr_lanc" }); } else { lCampos.Add(new CamposSelect { sCampo = "0", sAlias = "nr_lanc", bAgrupa = bAgrupaCampos }); } if (objdest.Uf.Equals("EX")) { lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_aliqcofins_cif , 0)", sAlias = "vl_aliqcofins_suframa", bAgrupa = bAgrupaCampos });//DIEGO - 24730 - 02/08 lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.VL_ALIQPIS_CIF , 0)", sAlias = "vl_aliqpis_suframa", bAgrupa = bAgrupaCampos }); } else { lCampos.Add(new CamposSelect { sCampo = "coalesce(empresa.vl_aliqcofins_suframa, 0)", sAlias = "vl_aliqcofins_suframa", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "coalesce(empresa.vl_aliqpis_suframa, 0)", sAlias = "vl_aliqpis_suframa", bAgrupa = bAgrupaCampos }); } lCampos.Add(new CamposSelect { sCampo = "endentr.ds_endent", sAlias = "xLgr" }); lCampos.Add(new CamposSelect { sCampo = "endentr.ds_endent", sAlias = "xLgr" }); lCampos.Add(new CamposSelect { sCampo = "endentr.nr_endent", sAlias = "nro" }); lCampos.Add(new CamposSelect { sCampo = "endentr.nm_bairroent", sAlias = "xBairro" }); lCampos.Add(new CamposSelect { sCampo = "endentr.nm_cident", sAlias = "cMun" }); lCampos.Add(new CamposSelect { sCampo = "endentr.cd_ufent", sAlias = "UF" }); lCampos.Add(new CamposSelect { sCampo = "listaserv.ds_codigo", sAlias = "cListserv" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_aliqserv, 0)", sAlias = "vAliqISS", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "(movitem.vl_totliq * coalesce(movitem.vl_aliqserv, 0))/100", sAlias = "vIssqn", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "movitem.vl_totliq", sAlias = "vBCISS", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "cidades.cd_municipio", sAlias = "cMunFG" }); //if (objbelGeraXml.nm_Cliente == "TORCETEX") OS_27040 //{ // lCampos.Add(new CamposSelect { sCampo = "movitem.VL_COEFDESC", sAlias = "VL_COEFDESC" }); // lCampos.Add(new CamposSelect { sCampo = "movitem.vl_cofins", sAlias = "vl_cofins" }); // lCampos.Add(new CamposSelect { sCampo = "movitem.vl_pis", sAlias = "vl_pis" }); // lCampos.Add(new CamposSelect { sCampo = "((cast((cast((movitem.qt_prod * movitem.vl_uniprod) as numeric(15,4)) * movitem.vl_coefdesc) as numeric(15,2)) + movitem.vl_frete))", sAlias = "vl_basePisCofins", bAgrupa = bAgrupaCampos }); //} //else //{ lCampos.Add(new CamposSelect { sCampo = "movitem.VL_COEF", sAlias = "VL_COEF" }); if (objdest.Uf.Equals("EX")) //Diego - 02/08 - 24730 { //lCampos.Add(new CamposSelect { sCampo = "movitem.VL_COFINS_CIF", sAlias = "vl_cofins" }); //lCampos.Add(new CamposSelect { sCampo = "movitem.VL_PIS_CIF", sAlias = "vl_pis" }); lCampos.Add(new CamposSelect { sCampo = "movitem.VL_COFINS", sAlias = "vl_cofins", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "movitem.VL_PIS", sAlias = "vl_pis", bAgrupa = bAgrupaCampos }); //lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.VL_BASECOFINS_CIF, 0)", sAlias = "vl_basePisCofins" }); lCampos.Add(new CamposSelect { sCampo = "movitem.vl_basecofins", sAlias = "vl_basecofins", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "movitem.vl_basepis", sAlias = "vl_basepis", bAgrupa = bAgrupaCampos }); } else { lCampos.Add(new CamposSelect { sCampo = "movitem.vl_cofins", sAlias = "vl_cofins", bAgrupa = bAgrupaCampos }); lCampos.Add(new CamposSelect { sCampo = "movitem.vl_pis", sAlias = "vl_pis", bAgrupa = bAgrupaCampos }); //lCampos.Add(new CamposSelect { sCampo = "((cast((cast((movitem.qt_prod * movitem.vl_uniprod) as numeric(15,2))*movitem.vl_coef) as numeric(15,2)) + movitem.vl_frete))", sAlias = "vl_basePisCofins", bAgrupa = bAgrupaCampos }); // Conceito alterado pela OS_26866, de acordo com Hamilton lCampos.Add(new CamposSelect { sCampo = "(cast((movitem.qt_prod * movitem.vl_uniprod) as numeric(15,2)))", sAlias = "vl_basePisCofins", bAgrupa = bAgrupaCampos }); } //} string sBanco = LeRegWin.LeRegConfig("BancoDados"); if ((sBanco.ToUpper().IndexOf("COMERCIOC") == -1) && (sBanco.ToUpper().IndexOf("CERAMICAC") == -1)) //Claudinei - o.s. - 25/09/2009 { lCampos.Add(new CamposSelect { sCampo = "case when empresa.ST_RASTREABILIDADE = '1' " + "then " + "coalesce(movitem.nr_lote,'') " + "else '' " + "end", sAlias = "nr_lote" }); lCampos.Add(new CamposSelect { sCampo = "movitem.cd_prodcli", sAlias = "cd_prodcli" }); } if (objbelGeraXml.nm_Cliente == "MARPA") { lCampos.Add(new CamposSelect { sCampo = "nf.vl_desccomer ", sAlias = "Desconto_Valor" }); lCampos.Add(new CamposSelect { sCampo = "((nf.vl_desccomer / nf.vl_totnf)*100)", sAlias = "Desconto_Percentual" }); } lCampos.Add(new CamposSelect { sCampo = "movitem.CD_SITTRIBCOF", sAlias = "CD_SITTRIBCOF" }); lCampos.Add(new CamposSelect { sCampo = "movitem.CD_SITTRIBIPI", sAlias = "CD_SITTRIBIPI" }); lCampos.Add(new CamposSelect { sCampo = "movitem.CD_SITTRIBPIS", sAlias = "CD_SITTRIBPIS" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(movitem.vl_outras,'0') ", sAlias = "vOutro" }); //lCampos.Add(new strucCamposSelect { sCampo = "", sAlias = "" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(opereve.st_tpoper,'0')", sAlias = "st_tpoper" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(opereve.ST_ESTTERC,'N')", sAlias = "ST_ESTTERC" });//NFe_2.0 OS_25346 lCampos.Add(new CamposSelect { sCampo = "tpdoc.cd_operval", sAlias = "cd_operval" }); lCampos.Add(new CamposSelect { sCampo = "coalesce(Empresa.st_imp_cdpedcli, 'N')", sAlias = "st_imp_cdpedcli" }); lCampos.Add(new CamposSelect { sCampo = "transpor.nm_trans", sAlias = "Redespacho" }); lCampos.Add(new CamposSelect { sCampo = "transpor.ds_endnor", sAlias = "xLgrRedes" }); lCampos.Add(new CamposSelect { sCampo = "transpor.nr_endnor", sAlias = "nroRedes" }); lCampos.Add(new CamposSelect { sCampo = "transpor.ds_bairronor", sAlias = "xBairroRedes" }); lCampos.Add(new CamposSelect { sCampo = "transpor.nm_cidnor", sAlias = "cmunRedes" }); lCampos.Add(new CamposSelect { sCampo = "transpor.cd_ufnor", sAlias = "UFRedes" }); #endregion sCampos.Append(Environment.NewLine + "Select " + Environment.NewLine); lCampos = lCampos.OrderBy(c => c.bAgrupa).ToList(); for (int i = 0; i < lCampos.Count; i++) { CamposSelect camp = lCampos[i]; string sFormat = "Sum({0}) "; sCampos.Append((camp.bAgrupa ? string.Format(sFormat, camp.sCampo) : camp.sCampo) + " " + camp.sAlias + ((i + 1) != lCampos.Count() ? "," : "") + Environment.NewLine); } #region Inner Join //Tabelas sInnerJoin.Append("From MOVITEM "); //Relacionamentos sInnerJoin.Append("inner join nf on (nf.cd_empresa = movitem.cd_empresa)"); sInnerJoin.Append(" and "); sInnerJoin.Append("(nf.cd_nfseq = movitem.cd_nfseq) "); sInnerJoin.Append("inner join empresa on (empresa.cd_empresa = movitem.cd_empresa) "); sInnerJoin.Append("inner join unidades on (movitem.cd_tpunid = unidades.cd_tpunid) "); // Diego - OS_ 25/08/10 sInnerJoin.Append("left join clas_fis on (clas_fis.cd_empresa = movitem.cd_empresa)"); sInnerJoin.Append(" and "); sInnerJoin.Append("(clas_fis.cd_cf = movitem.cd_cf) "); sInnerJoin.Append("left join icm on (icm.cd_ufnor = nf.cd_ufnor) "); sInnerJoin.Append("And "); sInnerJoin.Append("(icm.cd_aliicms = movitem.cd_aliicms) "); sInnerJoin.Append("left join opereve on (opereve.cd_oper = movitem.cd_oper) "); sInnerJoin.Append("left join tpdoc on (tpdoc.cd_tipodoc = nf.cd_tipodoc) "); sInnerJoin.Append("left join produto "); sInnerJoin.Append("on (produto.cd_empresa = movitem.cd_empresa) "); sInnerJoin.Append("and "); sInnerJoin.Append("(produto.cd_prod = movitem.cd_prod) "); sInnerJoin.Append("left join linhapro "); sInnerJoin.Append("on (linhapro.cd_empresa = produto.cd_empresa) "); sInnerJoin.Append("and "); sInnerJoin.Append("(linhapro.cd_linha = produto.cd_linha) "); sInnerJoin.Append("left join listaserv "); sInnerJoin.Append("on (listaserv.nr_lanc = linhapro.nr_lanclistaserv) "); sInnerJoin.Append("inner join clifor "); sInnerJoin.Append("on (clifor.cd_clifor = nf.cd_clifor) "); sInnerJoin.Append("left join cidades "); sInnerJoin.Append("on (cidades.nm_cidnor = clifor.nm_cidnor) "); sInnerJoin.Append("and "); sInnerJoin.Append("(cidades.cd_ufnor = clifor.cd_ufnor) "); sInnerJoin.Append("inner join uf on (clifor.cd_ufnor = uf.cd_uf) ");//25385 sInnerJoin.Append("left join endentr on (endentr.cd_cliente = nf.cd_clifor) "); sInnerJoin.Append("and "); sInnerJoin.Append(" (endentr.cd_endent = nf.cd_endent) "); if ((objbelGeraXml.nm_Cliente == "NAVE_THERM") || (objbelGeraXml.nm_Cliente == "MOGPLAST")) { sInnerJoin.Append("left join produto on (produto.cd_empresa = movitem.cd_empresa) "); sInnerJoin.Append("And "); sInnerJoin.Append("(produto.cd_prod = movitem.cd_prod)"); } sInnerJoin.Append("left join transpor on (transpor.cd_trans = nf.cd_redes) "); #endregion #region Where sWhere.Append("Where "); sWhere.Append("(movitem.cd_empresa ='"); sWhere.Append(sEmp); sWhere.Append("')"); sWhere.Append(" and "); sWhere.Append("(nf.cd_nfseq = '"); sWhere.Append(sNF); sWhere.Append("') "); sWhere.Append((bAgrupaCampos == false ? "Order by movitem.nr_lanc" : "")); #endregion if (bAgrupaCampos) { sGroup.Append(Environment.NewLine + " Group by " + Environment.NewLine); lCampos = lCampos.Where(c => c.bAgrupa == false).ToList(); for (int i = 0; i < lCampos.Count; i++) { CamposSelect camp = lCampos[i]; sGroup.Append((camp.bAgrupa == false ? camp.sCampo + ((i + 1) < lCampos.Count() ? ", " : "") + Environment.NewLine : "")); } } string sNr_Lanc; string sql = "select max(nr_lanc) from movitem where (movitem.cd_empresa ='" + sEmp + "') and " + "(movitem.cd_nfseq = '" + sNF + "') "; using (FbCommand cmd = new FbCommand(sql, Conn)) { sNr_Lanc = cmd.ExecuteScalar().ToString(); } System.Globalization.Calendar bla; string sQueryItens = sCampos.ToString() + sInnerJoin + sWhere + (bAgrupaCampos ? sGroup.ToString() : ""); FbCommand cmdItem = new FbCommand(sQueryItens, Conn); cmdItem.ExecuteNonQuery(); FbDataReader drIItem = cmdItem.ExecuteReader(); int iSeqItem = 0; dTotPis = 0; dTotCofins = 0; //ITem while (drIItem.Read()) { int indTot = 1; //indTot = (VerificaItemEntraTotalNf(drIItem["st_servico"].ToString(), // drIItem["cd_oper"].ToString(), // drIItem["st_soma_dev_tot_nf"].ToString(), // drIItem["st_compoe_vl_totprod_nf"].ToString(), // Conn) == true ? 1 : 0); //OS_25346 INICIO if ((psNM_Banco.ToUpper().IndexOf("COMERCIOC") == -1) && (psNM_Banco.ToUpper().IndexOf("CERAMICAC") == -1)) { if (drIItem["st_compoe_vl_totprod_nf"].ToString().Equals("A")) //Verifica se ambos os produtos vão entrar no total da nota { indTot = 1; } else if (drIItem["st_compoe_vl_totprod_nf"].ToString().Equals("D")) // verifica se movimenta estoque terceiro!! S - SIM / N-NÃO { indTot = (drIItem["ST_ESTTERC"].ToString().Equals("S") ? 1 : 0); } else if (drIItem["st_compoe_vl_totprod_nf"].ToString().Equals("P")) { indTot = (drIItem["st_tpoper"].ToString().Equals("0") ? 1 : 0); // verifica se representa faturamento!! 0- SIM - 1 -NÃO } //OS_25346 INICIO - FIM } else { indTot = 1; } belDet objdet = new belDet(); belImposto objimp = new belImposto(); belProd objprod = new belProd(); iSeqItem++; objdet.Nitem = Convert.ToDecimal(iSeqItem.ToString().Trim()); objprod.Cprod = belUtil.TiraSimbolo(drIItem["cProd"].ToString().Trim(), ""); if (objbelGeraXml.nm_Cliente == "ZINCOBRIL") // OS_25787 { objdet.tp_industrializacao = drIItem["tp_industrializacao"].ToString(); } if (objbelGeraXml.nm_Cliente == "ESTACAHC") { objprod.Xprod = drIItem["qCom"].ToString() + " " + drIItem["xProd"].ToString().Trim(); } else { objprod.Xprod = drIItem["xProd"].ToString().Trim(); } if (drIItem["NCM"].ToString() != "") { objprod.Ncm = ((belUtil.TiraSimbolo(drIItem["NCM"].ToString(), "")).PadRight(8, '0')).Substring(0, 8); } objprod.Cean = (Util.Util.IsNumeric(drIItem["cEAN"].ToString()) ? (Util.Util.ValidacEAN(drIItem["cEAN"].ToString()) ? drIItem["cEAN"].ToString() : "") : ""); if (!belUtil.ValidaCean13(objprod.Cean)) { throw new Exception(string.Format("Código de Barras inválido!!{3}{3}Produto: {1}{3}Codigo: {2}{3}Codigo de barras: {0}.{3}Favor acertar o cadastro.{3}", objprod.Xprod, objprod.Cprod, objprod.Cean, Environment.NewLine)); } objprod.Cfop = drIItem["CFOP"].ToString(); objprod.Ucom = belUtil.TiraSimbolo(drIItem["uCom"].ToString(), ""); if (objbelGeraXml.nm_Cliente.Equals("ESTACAHC")) { decimal dqCom = Math.Round(Convert.ToDecimal(drIItem["qCom"].ToString()) * Convert.ToDecimal(drIItem["vl_coef"].ToString()), 4); objprod.Qcom = dqCom; } else if (objbelGeraXml.nm_Cliente.Equals("MAD_STA_RITA")) { decimal dqCom = Math.Round(Convert.ToDecimal(drIItem["qCom"].ToString()), 4); decimal dComprimento = Math.Round(Convert.ToDecimal(drIItem["vl_comprimento"].ToString()), 4); if (dComprimento == 0) { objprod.Qcom = dqCom; } else { objprod.Qcom = dqCom * dComprimento; } } else { decimal dqCom = Math.Round(Convert.ToDecimal(drIItem["qCom"].ToString()), 4); //Claudinei - o.s. 24248 - 26/03/2010 objprod.Qcom = dqCom; } string sCasasVlUnit = LeRegWin.LeRegConfig("QtdeCasasVlUnit"); sCasasVlUnit = (sCasasVlUnit == "" ? "1" : sCasasVlUnit); decimal dvUnCom = Math.Round(Convert.ToDecimal(drIItem["vUnCom"].ToString()), Convert.ToInt32(sCasasVlUnit)); //Claudinei - o.s. 24248 - 26/03/2010 objprod.Vuncom = dvUnCom; ///Campo vl_totliq decimal dvProd = 0; decimal vl_prodDesc = 0; decimal vl_desconto = 0; if (objbelGeraXml.nm_Cliente == "ESTACAHC") // Diego - OS_24595 { dvProd = Math.Round(Convert.ToDecimal(drIItem["vl_totliq"].ToString()), 2); } else { dvProd = Math.Round(Convert.ToDecimal(drIItem["vProd"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 } //if (objbelGeraXml.nm_Cliente == "TORCETEX") os_27040 //{ // vl_prodDesc = Math.Round(dvProd * Convert.ToDecimal(drIItem["VL_COEFDESC"].ToString()), 2); //OS_25339 - DIEGO //} //else //{ if (drIItem["st_desc"].ToString().Equals("U")) //25368 { vl_prodDesc = dvProd; // Math.Round(dvProd * Convert.ToDecimal(drIItem["VL_COEF"].ToString()), 2); } else { if (objbelGeraXml.nm_Cliente == "LORENZON") { decimal dValorProdSemDesc; if (drIItem["vl_uniprod_sem_desc"].ToString() != "0") { dValorProdSemDesc = Convert.ToDecimal(drIItem["vl_uniprod_sem_desc"].ToString()) * objprod.Qcom; } else { dValorProdSemDesc = dvProd; } vl_prodDesc = Math.Round((dValorProdSemDesc) * Convert.ToDecimal(drIItem["VL_COEF"].ToString()), 2); } else { vl_prodDesc = Math.Round(dvProd * Convert.ToDecimal(drIItem["VL_COEF"].ToString()), 2); } } // } pbIndustri = bIndustrializacao(drIItem["cd_operval"].ToString(), Conn); if (VerificaNotaComSuframa(sEmp, sNF, Conn)) //NFe_2.0 { vl_desconto = Convert.ToDecimal(drIItem["vDescSuframa"].ToString()); } else { vl_desconto = dvProd - vl_prodDesc; } if (vl_desconto == 0) { vl_desconto = BuscaDescTotal(sEmp, sNF, Conn); } if (drIItem["st_hefrete"].ToString() == "S") { dvProd = 0; } //if (objbelGeraXml.nm_Cliente == "TORCETEX")//OS_25339 - DIEGO //{ // objprod.Vprod = vl_prodDesc; //} //else { objprod.Vprod = dvProd; } objprod.Ceantrib = objprod.Cean; objprod.Utrib = belUtil.TiraSimbolo(drIItem["uTrib"].ToString(), ""); objprod.VOutro = Convert.ToDecimal(drIItem["vOutro"].ToString()); // NFe_2.0 objprod.IndTot = indTot;//Convert.ToInt16(drIItem["indTot"].ToString()); // NFe_2.0 if (objbelGeraXml.nm_Cliente.Equals("ESTACAHC")) { decimal dvqCom = Math.Round(Convert.ToDecimal(drIItem["qCom"].ToString()) * Convert.ToDecimal(drIItem["vl_coef"].ToString()), 4); objprod.Qtrib = dvqCom; } else if (objbelGeraXml.nm_Cliente.Equals("MAD_STA_RITA")) { objprod.Qtrib = objprod.Qcom; } else { decimal dvqCom = Math.Round(Convert.ToDecimal(drIItem["qCom"].ToString()), 4); // o.s. 24248 - 26/03/2010 objprod.Qtrib = dvqCom; } decimal dvUnTrib = Math.Round(Convert.ToDecimal(drIItem["vUnTrib"].ToString()), Convert.ToInt32(sCasasVlUnit)); //o.s. 24248 - 26/03/2010 objprod.Vuntrib = dvUnTrib; if (drIItem["vFrete"].ToString() != "0") { decimal dvFrete = Math.Round(Convert.ToDecimal(drIItem["vFrete"].ToString()), 2); // o.s. 24248 - 26/03/2010 objprod.Vfrete = dvFrete; } if (vl_desconto > 0) { objprod.Vdesc = vl_desconto; } if (objdest.Uf.Equals("EX")) { objprod.belDI = new List<belDI>(); StringBuilder sQuery = new StringBuilder(); sQuery.Append("select "); sQuery.Append("impdecla.nr_lanc, "); sQuery.Append("impdecla.cd_empresa, "); sQuery.Append("coalesce(impdecla.nr_di,'') nDI, "); sQuery.Append("coalesce(impdecla.dt_di,'') dDI, "); sQuery.Append("coalesce(impdecla.ds_localdesemb ,'') xLocDesemb, "); sQuery.Append("coalesce(impdecla.uf_desemb,'') UFDesemb, "); sQuery.Append("coalesce(impdecla.dt_desemb ,'')dDesemb, "); sQuery.Append("coalesce(impdecla.cd_exportador,'') cExportador "); sQuery.Append("from impdecla "); sQuery.Append("where impdecla.nr_lancmovitem = '" + drIItem["nr_lanc"].ToString() + "' "); sQuery.Append("and impdecla.cd_empresa = '" + sEmp + "' "); using (FbCommand cmd = new FbCommand(sQuery.ToString(), Conn)) { if (Conn.State == ConnectionState.Closed) { Conn.Open(); } FbDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { belDI objDI = new belDI(); objDI.nDI = dr["nDI"].ToString(); objDI.DDI = (dr["dDI"].ToString() != "" ? Convert.ToDateTime(dr["dDI"].ToString()) : HLP.Util.Util.GetDateServidor().Date); objDI.xLocDesemb = dr["xLocDesemb"].ToString(); objDI.UFDesemb = dr["UFDesemb"].ToString(); objDI.dDesemb = (dr["dDesemb"].ToString() != "" ? Convert.ToDateTime(dr["dDesemb"].ToString()) : HLP.Util.Util.GetDateServidor().Date); objDI.cExportador = dr["cExportador"].ToString(); sQuery = new StringBuilder(); sQuery.Append("select "); sQuery.Append("impadica.nr_lanc, "); sQuery.Append("impadica.nr_lancimpdecla,"); sQuery.Append("coalesce(impadica.nr_adicao,'0') nAdicao, "); sQuery.Append("coalesce(impadica.nr_lanc,'0') nSeqAdic, "); sQuery.Append(" coalesce(impadica.cd_fabricante,'') cFabricante, "); sQuery.Append(" coalesce(impadica.vl_descdi,'0') vDescDI "); sQuery.Append("from impadica "); sQuery.Append("where impadica.nr_lancimpdecla = '" + dr["nr_lanc"].ToString() + "' "); sQuery.Append("and impadica.cd_empresa = '" + sEmp + "' "); using (FbCommand cmd2 = new FbCommand(sQuery.ToString(), Conn)) { FbDataReader dr2 = cmd2.ExecuteReader(); objDI.adi = new List<beladi>(); while (dr2.Read()) { beladi objadi = new beladi(); objadi.cFabricante = dr2["cFabricante"].ToString(); objadi.nAdicao = Convert.ToInt32(dr2["nAdicao"].ToString()); objadi.nSeqAdic = Convert.ToInt32(dr2["nSeqAdic"].ToString().Replace("0", "")); objadi.vDescDI = Convert.ToDecimal(dr2["vDescDI"].ToString().Replace(".", ",")); objDI.adi.Add(objadi); } } objprod.belDI.Add(objDI); } } } objprod.XPed = drIItem["xPed"].ToString(); objprod.NItemPed = drIItem["nItemPed"].ToString(); objdet.belProd = objprod; //Impostos #region ICMS belIcms objicms = new belIcms(); string sCST = drIItem["CST"].ToString(); string sSimplesNac = VerificaEmpresaSimplesNac(sEmp, Conn); // Diego - OS 24918 - 14/09/2010 decimal dvBC = 0; decimal dvBCProp = 0; //25278 if (sSimplesNac == "N" || sSimplesNac == "") { dvBC = Math.Round(Convert.ToDecimal(drIItem["vBC"].ToString()), 2); if (drIItem["vBCProp"].ToString() != "0") { dvBCProp = Math.Round(Convert.ToDecimal(drIItem["vBCProp"].ToString().Replace(".", ",")), 2); //25278 } } bool bPauta = drIItem["st_pauta"].ToString().Equals("N") ? false : true; //OS_25969 decimal dvICMS = (bPauta == false ? (drIItem["vICMS"].ToString() != "" ? Math.Round(Convert.ToDecimal(drIItem["vICMS"].ToString()), 2) : 0) : Math.Round(Convert.ToDecimal(drIItem["vl_icms_Pauta"].ToString()), 2)); //o.s. 24248 - 26/03/2010 - //OS_25969 decimal dvBC_pauta = Convert.ToDecimal(drIItem["vBC_Pauta"].ToString()); //OS_25969 //cst novas - > SUPER SIMPLES if (!Util.Util.VerificaNovaST(sCST)) { #region CST_ANTIGAS switch (sCST.Substring(1, 2)) { case "00": { #region 00 belIcms00 obj00 = new belIcms00(); obj00.Orig = sCST.ToString().Substring(0, 1); obj00.Cst = sCST.ToString().Substring(1, 2); obj00.Modbc = "3"; obj00.Vbc = (bPauta ? dvBC_pauta : dvBC); decimal dpICMS = Math.Round(Convert.ToDecimal(drIItem["pICMS"].ToString()), 2); //o.s. 24248 - 26/03/2010 obj00.Picms = dpICMS; obj00.Vicms = dvICMS; objicms.belIcms00 = obj00; #endregion break; } case "10": { #region 010 belIcms10 obj10 = new belIcms10(); obj10.Orig = sCST.ToString().Substring(0, 1); obj10.Cst = sCST.ToString().Substring(1, 2); obj10.Modbc = "0"; obj10.Vbc = (bPauta ? dvBC_pauta : (dvBCProp == 0 ? (dvICMS == 0 ? 0 : dvBC) : dvBCProp)); // 25278 decimal dpICMS = Math.Round(Convert.ToDecimal(drIItem["pICMS"].ToString()), 2); obj10.Picms = dpICMS; //dvICMS = (dvBC * dpICMS) / 100; obj10.Vicms = dvICMS; obj10.Modbcst = 4; decimal dpMVAST = Math.Round(Convert.ToDecimal(drIItem["pMVAST"].ToString()), 2); obj10.Pmvast = dpMVAST; decimal dvBCST = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); obj10.Vbcst = dvBCST; decimal dpICMSST = Math.Round(Convert.ToDecimal(drIItem["pICMSST"].ToString()), 2); obj10.Picmsst = dpICMSST; decimal dvICMSST = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); obj10.Vicmsst = dvICMSST; objicms.belIcms10 = obj10; break; #endregion } case "20": { #region 020 belIcms20 obj20 = new belIcms20(); obj20.Orig = sCST.ToString().Substring(0, 1); obj20.Cst = sCST.ToString().Substring(1, 2); obj20.Modbc = "3"; decimal dpRedBC = Math.Round(Convert.ToDecimal(drIItem["pRedBC"].ToString()), 2); // o.s. 24248 - 26/03/2010 if (dpRedBC == 100) { dpRedBC = 0; } obj20.Predbc = dpRedBC; obj20.Vbc = (bPauta ? dvBC_pauta : dvBC); decimal dpICMS = Math.Round(Convert.ToDecimal(drIItem["pICMS"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj20.Picms = dpICMS; obj20.Vicms = dvICMS; objicms.belIcms20 = obj20; break; #endregion } case "30": { #region 030 belIcms30 obj30 = new belIcms30(); obj30.Orig = sCST.ToString().Substring(0, 1); obj30.Cst = sCST.ToString().Substring(1, 2); obj30.Modbcst = 3; decimal dpMVAST = Math.Round(Convert.ToDecimal(drIItem["pMVAST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj30.Pmvast = dpMVAST; decimal dpRedBCST = Math.Round(Convert.ToDecimal(drIItem["pRedBCST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj30.Predbcst = dpRedBCST; decimal dvBCST = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj30.Vbcst = dvBCST; decimal dpICMSST = Math.Round(Convert.ToDecimal(drIItem["pICMSST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj30.Picmsst = dpICMSST; decimal dvICMSST = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj30.Vicmsst = dvICMSST; objicms.belIcms30 = obj30; break; #endregion } case "40": { #region 040 belIcms40 obj40 = new belIcms40(); obj40.Orig = sCST.ToString().Substring(0, 1); obj40.Cst = sCST.ToString().Substring(1, 2); obj40.Vicms = dvICMS; // NFe_2.0 obj40.motDesICMS = (dvICMS > 0 ? (VerificaNotaComSuframa(sEmp, sNF, Conn) == false ? 9 : 7) : 0); // NFe_2.0 dvBC = (bPauta ? dvBC_pauta : 0); objicms.belIcms40 = obj40; break; #endregion } case "41": { #region 041 belIcms40 obj40 = new belIcms40(); obj40.Orig = sCST.ToString().Substring(0, 1); obj40.Cst = sCST.ToString().Substring(1, 2); obj40.Vicms = dvICMS; // NFe_2.0 obj40.motDesICMS = (dvICMS > 0 ? (VerificaNotaComSuframa(sEmp, sNF, Conn) == false ? 9 : 7) : 0); // NFe_2.0 dvBC = (bPauta ? dvBC_pauta : 0); objicms.belIcms40 = obj40; break; #endregion } case "50": { #region 050 belIcms40 obj40 = new belIcms40(); obj40.Orig = sCST.ToString().Substring(0, 1); obj40.Cst = sCST.ToString().Substring(1, 2); obj40.Vicms = dvICMS; // NFe_2.0 obj40.motDesICMS = (dvICMS > 0 ? (VerificaNotaComSuframa(sEmp, sNF, Conn) == false ? 9 : 7) : 0); // NFe_2.0 dvBC = (bPauta ? dvBC_pauta : 0); objicms.belIcms40 = obj40; break; #endregion } case "51": { #region 051 belIcms51 obj51 = new belIcms51(); obj51.Orig = sCST.ToString().Substring(0, 1); obj51.Cst = sCST.ToString().Substring(1, 2); obj51.Modbc = "3"; decimal dpRedBC = Math.Round(Convert.ToDecimal(drIItem["pRedBC"].ToString()), 2); // o.s. 24248 - 26/03/2010 if (dpRedBC == 100) { dpRedBC = 0; } obj51.Predbc = dpRedBC; obj51.Vbc = (bPauta ? dvBC_pauta : 0);// Math.Round(Convert.ToDecimal(drIItem["vBC"].ToString()), 2); // DIEGO- OS_24591 - 26/06/2010 INICIO E FIM decimal dpICMS = Math.Round(Convert.ToDecimal(drIItem["pICMS"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj51.Picms = dpICMS; obj51.Vicms = dvICMS; objicms.belIcms51 = obj51; break; #endregion } case "60": { #region 060 belIcms60 obj60 = new belIcms60(); obj60.Orig = sCST.ToString().Substring(0, 1); obj60.Cst = sCST.ToString().Substring(1, 2); decimal dvBCST = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj60.Vbcst = dvBCST; decimal dvICMSST = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj60.Vicmsst = dvICMSST; objicms.belIcms60 = obj60; break; #endregion } case "70": { #region 070 belIcms70 obj70 = new belIcms70(); obj70.Orig = sCST.ToString().Substring(0, 1); obj70.Cst = sCST.ToString().Substring(1, 2); obj70.Modbc = "3"; decimal dpRedBC = Math.Round(Convert.ToDecimal(drIItem["pRedBC"].ToString()), 2); // o.s. 24248 - 26/03/2010 if (dpRedBC == 100) { dpRedBC = 0; } obj70.Predbc = dpRedBC; obj70.Vbc = (bPauta ? dvBC_pauta : dvBC); decimal dpICMS = Math.Round(Convert.ToDecimal(drIItem["pICMS"].ToString()), 2); // o.s. 24248 - 26/03/20103 obj70.Picms = dpICMS; //dvICMS = (dvBC * dpICMS) / 100; //OS_25856 obj70.Vicms = dvICMS; obj70.Modbcst = 0; decimal dpMVAST = Math.Round(Convert.ToDecimal(drIItem["pMVAST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj70.Pmvast = dpMVAST; decimal dpRedBCST = Math.Round(Convert.ToDecimal(drIItem["pRedBCST"].ToString()), 2); // o.s. 24248 - 26/03/2010 if (dpRedBCST == 100) { dpRedBCST = 0; } obj70.Predbcst = dpRedBCST; if (!drIItem["vBCST"].Equals(string.Empty)) { decimal dvBCST = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj70.Vbcst = dvBCST; } if (!drIItem["pICMSST"].Equals(string.Empty)) { decimal dpICMSST = Math.Round(Convert.ToDecimal(drIItem["pICMSST"].ToString()), 2); // o.s. 24248 - 26/03/2010 obj70.Picmsst = dpICMSST; } if (!drIItem["vICMSST"].Equals(string.Empty)) { decimal dvICMSST = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); ; obj70.Vicmsst = dvICMSST; } objicms.belIcms70 = obj70; break; #endregion } case "90": { #region 090 belIcms90 obj90 = new belIcms90(); obj90.Orig = sCST.ToString().Substring(0, 1); obj90.Cst = sCST.ToString().Substring(1, 2); obj90.Modbc = "3"; dvBC = 0; obj90.Vbc = (bPauta ? dvBC_pauta : dvBC); decimal dpRedBC = Math.Round(Convert.ToDecimal(drIItem["pRedBC"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 dpRedBC = 0; if (dpRedBC != 0) { obj90.Predbc = dpRedBC; } decimal dpICMS = Math.Round(Convert.ToDecimal(drIItem["pICMS"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 dpICMS = 0; obj90.Picms = dpICMS; dvICMS = 0; obj90.Vicms = dvICMS; obj90.Modbcst = 3; if (drIItem["pMVAST"].ToString() != "0") { decimal dpMVAST = Math.Round(Convert.ToDecimal(drIItem["pMVAST"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 dpMVAST = 0; obj90.Pmvast = dpMVAST; } decimal dpRedBCST = Math.Round(Convert.ToDecimal(drIItem["pRedBCST"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 dpRedBCST = 0; if (dpRedBCST != 0) { obj90.Predbcst = dpRedBCST; } decimal dvBCST = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 dvBCST = 0; obj90.Vbcst = dvICMS; decimal dpICMSST = Math.Round(Convert.ToDecimal(drIItem["pICMSST"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 dpICMSST = 0; obj90.Picmsst = dpICMSST; decimal dvICMSST = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); dvICMSST = 0; obj90.Vicmsst = dvICMSST; objicms.belIcms90 = obj90; break; #endregion } } #endregion } else { string sOrig = drIItem["Orig"].ToString(); #region CTS_NOVAS switch ((Util.Util.RetornaSTnovaAserUsada(sCST))) { case "101": { #region 101 belICMSSN101 obj101 = new belICMSSN101(); obj101.orig = sOrig;//(objdest.Uf.Equals("EX") ? "1" : "0"); obj101.CSOSN = sCST.ToString(); obj101.pCredSN = Math.Round(Convert.ToDecimal(drIItem["pCredSN"].ToString()), 2);//NFe_2.0 obj101.vCredICMSSN = Math.Round(Convert.ToDecimal(drIItem["vCredICMSSN"].ToString()), 2); //NFe_2.0 objicms.belICMSSN101 = obj101; #endregion } break; case "102": { #region 102 belICMSSN102 obj102 = new belICMSSN102(); obj102.orig = sOrig; //(objdest.Uf.Equals("EX") ? "1" : "0"); obj102.CSOSN = sCST.ToString(); objicms.belICMSSN102 = obj102; #endregion } break; case "201": { #region 201 belICMSSN201 obj201 = new belICMSSN201(); decimal dpRedBCST = Math.Round(Convert.ToDecimal(drIItem["pRedBCST"].ToString()), 2); decimal dpICMSST = Math.Round(Convert.ToDecimal(drIItem["pICMSST"].ToString()), 2); decimal dvICMSST = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); obj201.orig = sOrig; //(objdest.Uf.Equals("EX") ? "1" : "0"); obj201.CSOSN = sCST.ToString(); obj201.modBCST = 3; obj201.pMVAST = Math.Round(Convert.ToDecimal(drIItem["pMVAST"].ToString()), 2); obj201.vBCST = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); obj201.pICMSST = dpICMSST; obj201.vICMSST = dvICMSST; obj201.pCredSN = Math.Round(Convert.ToDecimal(drIItem["pCredSN"].ToString()), 2);//NFe_2.0 obj201.vCredICMSSN = Math.Round(Convert.ToDecimal(drIItem["vCredICMSSN"].ToString()), 2); //NFe_2.0 if (dpRedBCST != 0) { obj201.pRedBCST = dpRedBCST; } objicms.belICMSSN201 = obj201; #endregion } break; case "500": { #region 500 belICMSSN500 obj500 = new belICMSSN500(); obj500.orig = sOrig; //(objdest.Uf.Equals("EX") ? "1" : "0"); obj500.CSOSN = sCST.ToString(); decimal dvBCSTRet = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); decimal dvICMSSTRet = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); obj500.vBCSTRet = dvBCSTRet; obj500.vICMSSTRet = dvICMSSTRet; objicms.belICMSSN500 = obj500; #endregion } break; case "900": { #region 900 belICMSSN900 obj900 = new belICMSSN900(); decimal dpRedBCST = Math.Round(Convert.ToDecimal(drIItem["pRedBCST"].ToString()), 2); decimal dpICMSST = Math.Round(Convert.ToDecimal(drIItem["pICMSST"].ToString()), 2); decimal dvICMSST = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); decimal dvBCSTRet = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); decimal dvICMSSTRet = Math.Round(Convert.ToDecimal(drIItem["vICMSST"].ToString()), 2); obj900.orig = sOrig; //(objdest.Uf.Equals("EX") ? "1" : "0"); obj900.CSOSN = sCST.ToString(); obj900.modBC = 3; obj900.vBC = (bPauta ? dvBC_pauta : dvBC); decimal dpRedBC = Math.Round(Convert.ToDecimal(drIItem["pRedBC"].ToString()), 2); if (dpRedBC != 0) { obj900.pRedBC = dpRedBC; } obj900.vICMS = dvICMS; obj900.modBCST = 3; obj900.pMVAST = Math.Round(Convert.ToDecimal(drIItem["pMVAST"].ToString()), 2); if (dpRedBCST != 0) { obj900.pRedBCST = dpRedBCST; } decimal dvBCST = Math.Round(Convert.ToDecimal(drIItem["vBCST"].ToString()), 2); obj900.vBCST = dvBCST; obj900.pICMSST = dpICMSST; obj900.vICMSST = dvICMSST; obj900.vBCSTRet = dvBCSTRet; obj900.vICMSSTRet = dvICMSSTRet; obj900.pCredSN = Math.Round(Convert.ToDecimal(drIItem["pCredSN"].ToString()), 2);//NFe_2.0 obj900.vCredICMSSN = Math.Round(Convert.ToDecimal(drIItem["vCredICMSSN"].ToString()), 2); //NFe_2.0 // Alteração feita por motivo de NFe para a Lorenzon obj900.modBC = null; obj900.vBC = null; obj900.pRedBC = null; obj900.pICMS = null; obj900.vICMS = null; obj900.modBCST = null; obj900.pMVAST = null; obj900.pRedBCST = null; obj900.vBCST = null; obj900.pICMSST = null; obj900.vICMSST = null; obj900.vBCSTRet = null; obj900.vICMSSTRet = null; obj900.pCredSN = null;//NFe_2.0 obj900.vCredICMSSN = null; //NFe_2.0 objicms.belICMSSN900 = obj900; #endregion } break; } #endregion } if ((dvBC != 0) && (Convert.ToDecimal(drIItem["pICMS"].ToString()) != 0)) { dTotbaseICMS += dvBC; dTotValorICMS += dvICMS; } objimp.belIcms = objicms; #endregion #region IPI belIpi objipi = new belIpi(); if (drIItem["CD_SITTRIBIPI"].ToString() == "") throw new Exception("Situação Tributária do IPI está vazia na NF"); string sTributaIPI = drIItem["cd_sittribipi"].ToString().PadLeft(2, '0'); if ((sTributaIPI == "49") || (sTributaIPI == "00") || (sTributaIPI == "50") || (sTributaIPI == "99")) { belIpitrib objipitrib = new belIpitrib(); objipi.Cenq = "999"; objipitrib.Cst = sTributaIPI; if (drIItem["ST_SUPERSIMPLES"].ToString() == "N") { if (!drIItem["vBC"].Equals(string.Empty)) { if (objdest.Uf.Equals("EX")) { //decimal ddvBC = Math.Round((Convert.ToDecimal(drIItem["vUnCom"]) + Convert.ToDecimal(drIItem["pIPI"])) * (Convert.ToDecimal(drIItem["qCom"])), 2); // Diego - 24730 - 02/08/10 //VL_BASEIPI decimal ddvBC = Convert.ToDecimal(drIItem["VL_BASEIPI"].ToString()); objipitrib.Vbc = ddvBC; } else { decimal ddvBC = Math.Round(Convert.ToDecimal(drIItem["vBC"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 if (drIItem["st_frete_entra_ipi_s"].ToString().Equals("S") && drIItem["ST_FRETE_ENTRA_ICMS_S"].ToString().Equals("N")) //OS_26866 { ddvBC = ddvBC + objprod.Vfrete; } else if (drIItem["st_frete_entra_ipi_s"].ToString().Equals("N") && drIItem["ST_FRETE_ENTRA_ICMS_S"].ToString().Equals("S")) //OS_26866 { ddvBC = ddvBC - objprod.Vfrete; } objipitrib.Vbc = ddvBC; } } if (!drIItem["pIPI"].Equals(string.Empty)) { decimal dpIPI = Math.Round(Convert.ToDecimal(drIItem["pIPI"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 objipitrib.Pipi = dpIPI; } if (!drIItem["vIPI"].Equals(string.Empty)) { decimal dvIPI = Math.Round(Convert.ToDecimal(drIItem["vIPI"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 objipitrib.Vipi = dvIPI; } if ((objbelGeraXml.nm_Cliente.Equals("EMBALATEC")) && (drIItem["st_ipi"].ToString().Equals("S")))//OS_25673 { objipitrib.Vbc = objipitrib.Vbc - objipitrib.Vipi; } } objipi.belIpitrib = objipitrib; } else { belIpint objipint = new belIpint(); objipi.Cenq = "999"; objipint.Cst = sTributaIPI; objipi.belIpint = objipint; } objimp.belIpi = objipi; #endregion #region II //Imposto de importação belIi objii = new belIi(); objii.Vbc = (objdest.Uf == "EX" ? Convert.ToDecimal(drIItem["vUnTrib"].ToString()) : 0); objii.Vdespadu = 0; objii.Vii = (objdest.Uf == "EX" ? Convert.ToDecimal(drIItem["VL_II"].ToString()) : 0); ; objii.Viof = 0; objimp.belIi = objii; //Fim - II #endregion #region PIS if (drIItem["CD_SITTRIBPIS"].ToString() == "") { throw new Exception("Situação Tributária do PIS está vazia na NF"); } string sCst = drIItem["CD_SITTRIBPIS"].ToString().PadLeft(2, '0'); //o.s. 23672 - 10/09/2009 //PIS belPis objpis = new belPis(); //opereve.st_piscofins if ((drIItem["st_piscofins"].ToString() == "S") && (Convert.ToInt16(sCst) < 4)) { belPisaliq objpisaliq = new belPisaliq(); objpisaliq.Cst = sCst; decimal dvlBasepis = (objdest.Uf != "EX" ? Math.Round(Convert.ToDecimal(drIItem["vl_basePisCofins"].ToString()), 2) : Math.Round(Convert.ToDecimal(drIItem["vl_basepis"].ToString()), 2)); objpisaliq.Vbc = (objpisaliq.Cst.ToString().Equals("99") ? 0 : dvlBasepis); //24872 decimal dpPis = Math.Round(Convert.ToDecimal(drIItem["vl_aliqpis_suframa"].ToString()), 2); objpisaliq.Ppis = (objpisaliq.Cst.ToString().Equals("99") ? 0 : dpPis); decimal dvPIS = Math.Round(Convert.ToDecimal(drIItem["vl_pis"].ToString()), 2); dTotPis += dvPIS; objpisaliq.Vpis = (objpisaliq.Cst.ToString().Equals("99") ? 0 : dvPIS); objpis.belPisaliq = objpisaliq; } else if (Convert.ToInt16(sCst) == 99) { // Diego - OS_24585 - 25/06/2010 sSimplesNac = VerificaEmpresaSimplesNac(sEmp, Conn); belPisoutr objpisoutr = new belPisoutr(); objpisoutr.Cst = sCst; objpisoutr.Vbc = 0; objpisoutr.Ppis = 0; dTotPis += 0; objpisoutr.Vpis = 0; objpis.belPisoutr = objpisoutr; // Diego - OS_24585 - 25/06/2010 - FIM } else { belPisnt objpisnt = new belPisnt(); objpisnt.Cst = sCst; objpis.belPisnt = objpisnt; } objimp.belPis = objpis; //Fim PIS #endregion #region Cofins //Cofins if (drIItem["cd_sittribcof"].ToString() == "") { throw new Exception("Situação Tributária do COFINS está vazia na NF"); } belCofins objcofins = new belCofins(); if ((drIItem["st_piscofins"].ToString() == "S") && (Convert.ToInt16(drIItem["cd_sittribcof"].ToString()) < 4)) { belCofinsaliq objcofinsaliq = new belCofinsaliq(); objcofinsaliq.Cst = drIItem["cd_sittribcof"].ToString().PadLeft(2, '0'); decimal dvlBaseCofins = (objdest.Uf != "EX" ? Math.Round(Convert.ToDecimal(drIItem["vl_basePisCofins"].ToString()), 2) : Math.Round(Convert.ToDecimal(drIItem["vl_basecofins"].ToString()), 2)); //o.s. 24248 - 26/03/2010 objcofinsaliq.Vbc = dvlBaseCofins; decimal dpCofins = Math.Round(Convert.ToDecimal(drIItem["vl_aliqcofins_suframa"].ToString()), 2); //o.s. 24248 - 26/03/2010 objcofinsaliq.Pcofins = dpCofins; decimal dvCofins = Math.Round(Convert.ToDecimal(drIItem["vl_cofins"].ToString()), 2); //o.s. 24248 - 26/03/2010 objcofinsaliq.Vcofins = dvCofins; objcofins.belCofinsaliq = objcofinsaliq; } else if ((drIItem["cd_sittribcof"].ToString()) == "04" || (drIItem["cd_sittribcof"].ToString()) == "06" || (drIItem["cd_sittribcof"].ToString()) == "07" || (drIItem["cd_sittribcof"].ToString()) == "08" || (drIItem["cd_sittribcof"].ToString()) == "09") { belCofinsnt objcofinsnt = new belCofinsnt(); objcofinsnt.Cst = drIItem["cd_sittribcof"].ToString().PadLeft(2, '0'); objcofins.belCofinsnt = objcofinsnt; } else //if (Convert.ToInt16(drIItem["cd_sittribcof"].ToString()) == 99) { belCofinsoutr objcofinsoutr = new belCofinsoutr(); objcofinsoutr.Cst = drIItem["cd_sittribcof"].ToString().PadLeft(2, '0'); objcofinsoutr.Vbc = 0; objcofinsoutr.Pcofins = 0; dTotCofins += 0; objcofinsoutr.Vcofins = dTotCofins; objcofins.belCofinsoutr = objcofinsoutr; } // Diego - OS_24585 - 25/06/2010 - FIM objimp.belCofins = objcofins; //Fim - Cofins #endregion #region ISS if ((drIItem["vAliqISS"].ToString() != "") && (drIItem["vAliqISS"].ToString() != "0")) { belIss objiss = new belIss(); decimal dvBCISS = Math.Round(Convert.ToDecimal(drIItem["vBCISS"].ToString()), 2); //o.s. 24248 - 26/03/2010 dTotServ += dvBCISS; dTotBCISS = dTotServ; objiss.Vbc = dvBCISS; decimal dvAliqISS = Math.Round(Convert.ToDecimal(drIItem["vAliqISS"].ToString()), 2); //o.s. 24248 - 26/03/2010 objiss.Valiq = dvAliqISS; decimal dvISSQN = Convert.ToDecimal(drIItem["vIssqn"].ToString()); dTotISS += dvISSQN; dTotPisISS += Math.Round(Convert.ToDecimal(drIItem["vl_pis"].ToString()), 2); //o.s. 24248 - 26/03/2010 dTotCofinsISS += Math.Round(Convert.ToDecimal(drIItem["vl_cofins"].ToString()), 2); //o.s. 24248 - 26/03/2010 objiss.Vissqn = dvISSQN; objiss.Cmunfg = drIItem["cMunFG"].ToString(); if (drIItem["cListserv"].ToString() != "") { Int64 icListServ = Convert.ToInt64(drIItem["cListserv"].ToString()); objiss.Clistserv = icListServ; } objimp.belIss = objiss; } #endregion #region Obs //Obs belInfadprod objinf = new belInfadprod(); string sObsItem = ""; if (objbelGeraXml.nm_Cliente == "HELENGE") { sObsItem += (BuscaContratoOBS(sEmp, drIItem["nr_lanc"].ToString(), Conn)).Replace(Environment.NewLine, "-"); } if (objbelGeraXml.nm_Cliente == "FORMINGP") //Diego - O.S 24028 - 22/01/2010 { sObsItem += BuscaSerieProd(sEmp, drIItem["nr_lanc"].ToString(), Conn); }//Fim - Diego - O.S 24028 - 22/01/2010 if (objbelGeraXml.nm_Cliente == "JAMAICA") { sObsItem += BuscaInformacoesLote(drIItem["nr_lanc"].ToString(), Conn); } sObsItem = BuscaObsItemSimples(sEmp, drIItem["nr_lanc"].ToString(), Conn) + sObsItem; //17/11/2010 //if ((sBanco.ToUpper().IndexOf("COMERCIOC") == -1) && (sBanco.ToUpper().IndexOf("CERAMICAC") == -1)) //{ if (drIItem["st_imp_cdpedcli"].ToString() != "N") //Claudinei - o.s. sem - 21/12/2009 { if (drIItem["xPed"].ToString() != "") { sObsItem += string.Format("SEU PEDIDO.: {0}", drIItem["xPed"].ToString().Trim()); } if (drIItem["nItemPed"].ToString() != "") { sObsItem += string.Format("ITEM NUMERO.: {0}", drIItem["nItemPed"].ToString().Trim()); } if ((sBanco.ToUpper().IndexOf("COMERCIOC") == -1) && (sBanco.ToUpper().IndexOf("CERAMICAC") == -1)) //Claudinei - o.s. - 25/09/2009 { if (drIItem["nr_lote"].ToString() != "") { sObsItem += " " + string.Format("Lote: {0}", drIItem["nr_lote"].ToString()); } if (drIItem["cd_prodcli"].ToString() != "") { if (sObsItem == "") { sObsItem += string.Format("PRD_CLI.: {0}", drIItem["cd_prodcli"].ToString().Trim()); } else { sObsItem += string.Format(" PRD_CLI.: {0}", drIItem["cd_prodcli"].ToString().Trim()); } } } } // } if (objbelGeraXml.nm_Cliente == "MARPA") { sObsItem = MontaObsItem(sEmp, drIItem["nr_lanc"].ToString(), Conn); if (sObsItem != "") { if (drIItem["nr_lanc"].ToString() == sNr_Lanc) { if (drIItem["xLgr"].ToString().Trim() != "") { sObsItem += string.Format(" - Endereco de Entrega.: {0} {1} - Bairro.: {2} - Cidade.: {3} - UF.: {4} ", belUtil.TiraSimbolo(drIItem["xLgr"].ToString().Trim(), ""), belUtil.TiraSimbolo(drIItem["nro"].ToString().Trim(), ""), belUtil.TiraSimbolo(drIItem["xBairro"].ToString().Trim(), ""), RetiraCaracterEsquerda(belUtil.TiraSimbolo(drIItem["cMun"].ToString().Trim(), ""), '0'), belUtil.TiraSimbolo(drIItem["UF"].ToString().Trim(), "")); } if (drIItem["Desconto_Valor"].ToString() != "0") { decimal dDesconto_Valor = Convert.ToDecimal(drIItem["Desconto_Valor"].ToString()); decimal dDesconto_Percentual = (Convert.ToDecimal(drIItem["Desconto_Percentual"].ToString()) / 100); sObsItem += string.Format(" - Desconto.: ({0:p2}) {1:f2}", dDesconto_Percentual, dDesconto_Valor); } } objinf.Infadprid = belUtil.TiraSimbolo(sObsItem.Trim(), ""); } else { if (drIItem["nr_lanc"].ToString() == sNr_Lanc) { if (drIItem["Desconto_Valor"].ToString() != "0") { decimal dDesconto_Valor = Convert.ToDecimal(drIItem["Desconto_Valor"].ToString()); decimal dDesconto_Percentual = (Convert.ToDecimal(drIItem["Desconto_Percentual"].ToString()) / 100); sObsItem = string.Format("Desconto.: ({0:p2}) {1:f2}", dDesconto_Percentual, dDesconto_Valor); objinf.Infadprid = belUtil.TiraSimbolo(sObsItem.Trim(), ""); } } } } else { if (drIItem["nr_lanc"].ToString() == sNr_Lanc) { if (drIItem["xLgr"].ToString().Trim() != "") { sObsItem += string.Format("Endereco de Entrega.: {0}, {1} - Bairro.: {2} - Cidade.: {3} - UF.: {4} ", drIItem["xLgr"].ToString().Trim(), drIItem["nro"].ToString().Trim(), drIItem["xBairro"].ToString().Trim(), RetiraCaracterEsquerda(drIItem["cMun"].ToString().Trim(), '0'), drIItem["UF"].ToString().Trim()); if (sObsItem != "") { objinf.Infadprid = belUtil.TiraSimbolo(sObsItem.Trim(), ""); } } else { if (sObsItem != "") { objinf.Infadprid = belUtil.TiraSimbolo(sObsItem.Trim(), "").Replace(Environment.NewLine, "-"); } } } else { if (sObsItem != "") { objinf.Infadprid = belUtil.TiraSimbolo(sObsItem.Trim(), ""); } } } if (drIItem["nr_lanc"].ToString() == sNr_Lanc) { if (drIItem["xLgrRedes"].ToString().Trim() != "") { string sTransportadora = ""; sTransportadora = string.Format((objbelGeraXml.nm_Cliente == "TORCETEX" ? "FRETE A PAGAR DESTINO - TRANSP . DE REDESPACHO.: " : "Redespacho.:") + "{5} - {0} {1} - Bairro.: {2} - Cidade.: {3} - UF.: {4} ", belUtil.TiraSimbolo(drIItem["xLgrRedes"].ToString().Trim(), ""), belUtil.TiraSimbolo(drIItem["nroRedes"].ToString().Trim(), ""), belUtil.TiraSimbolo(drIItem["xBairroRedes"].ToString().Trim(), ""), RetiraCaracterEsquerda(belUtil.TiraSimbolo(drIItem["cmunRedes"].ToString().Trim(), ""), '0'), belUtil.TiraSimbolo(drIItem["UFRedes"].ToString().Trim(), ""), belUtil.TiraSimbolo(drIItem["redespacho"].ToString().Trim(), "")); sTransportadora += ";"; sObsItem = sTransportadora + sObsItem; objinf.Infadprid = belUtil.TiraSimbolo(sObsItem.Trim(), "-"); } } if ((objbelGeraXml.nm_Cliente.Equals("TORCETEX"))) { if (objinf.Infadprid != null) { if ((objinf.Infadprid.Contains("FRETE A PAGAR DESTINO") == false)) { objinf.Infadprid = objinf.Infadprid.Replace("REDESPACHO ", ""); } } } if (objinf.Infadprid != null) { if (objinf.Infadprid.Length > 500) { objinf.Infadprid = objinf.Infadprid.Substring(0, 500); } } //Fim - Obs #endregion objdet.belImposto = objimp; objdet.belInfadprod = objinf; dets.Add(objdet); //Fim - Impostos } } catch (Exception Ex) { sExecao = " - Problemas ao tentar gerar os Itens da Nota de Seq.: " + sNF; //OS 24738 throw new Exception(Ex.Message + sExecao); } //finally //{ // Conn.Close(); //} return dets; }