Skip to content

Commit

Permalink
some modifications
Browse files Browse the repository at this point in the history
  • Loading branch information
MatCRL committed Oct 15, 2024
1 parent 8e96e3c commit c13f294
Show file tree
Hide file tree
Showing 9 changed files with 133 additions and 8 deletions.
11 changes: 11 additions & 0 deletions config/locales/pt-BR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,17 @@ pt-BR:
received_at: "DATA DE RECEBIMENTO"
receiver: "IDENTIFICAÇÃO E ASSINATURA DO RECEBEDOR"
document: "NF-e\nN°. %{nNF}\nSÉRIE %{serie}"
enderEntrega:
title: "INFORMAÇÕES DO LOCAL DE ENTREGA"
cnpj: "CNPJ"
cpf: "CPF"
xLgr: "ENDEREÇO"
nro: "NÚMERO"
xCpl: "COMPLEMENTO"
xBairro: "BAIRRO"
cMun: "CEP"
xMun: "CIDADE"
uf: "ESTADO"
nfce:
payment_methods:
'01': "Dinheiro"
Expand Down
25 changes: 24 additions & 1 deletion lib/br_danfe/danfe_lib/nfe.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ def generate(footer_info)
end

def render_on_first_page(xml)
if NfeLib::Delivery.new(@document, xml).render

end

NfeLib::Ticket.new(@document, xml).render
NfeLib::Dest.new(@document, xml).render
render_delivery(xml)
NfeLib::Dup.new(@document, xml).render
NfeLib::Icmstot.new(@document, xml).render
NfeLib::Transp.new(@document, xml).render
Expand All @@ -52,6 +57,24 @@ def render_on_first_page(xml)
render_products(has_issqn, xml)
end

# def render_on_first_page_with_delivery(xml)
# NfeLib::Ticket.new(@document, xml).render
# NfeLib::Dest.new(@document, xml).render
# NfeLib::Delivery.new(@document, xml).render
# NfeLib::Dup.new(@document, xml).render
# NfeLib::Icmstot.new(@document, xml).render
# NfeLib::Transp.new(@document, xml).render
# n_vol = NfeLib::Vol.new(@document, xml).render
# has_issqn = NfeLib::Issqn.new(@document, xml).render
# NfeLib::Infadic.new(@document, xml).render(n_vol)

# render_products(has_issqn, xml)
# end

def render_delivery(xml)
NfeLib::Delivery.new(@document, xml).render
end

def render_products(has_issqn, xml)
NfeLib::DetBody.new(@document, xml).render(has_issqn)
end
Expand Down Expand Up @@ -79,7 +102,7 @@ def repeated_information(page, y_position, emitter, footer_info, xml, total_page
end

def render_product_table_title(page)
y_position = page == 1 ? 18.91 : 7.40
y_position = page == 1 ? 21.91 : 7.40
@document.ititle 0.42, 10.00, 0.75, y_position, 'det.title'
end

Expand Down
90 changes: 90 additions & 0 deletions lib/br_danfe/danfe_lib/nfe_lib/delivery.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
module BrDanfe
module DanfeLib
module NfeLib
class Delivery
Y = 12.92
MAXIMUM_SIZE_FOR_STREET = 319

def initialize(pdf, xml)
@pdf = pdf
@xml = xml
@xml_version_is_310_or_newer = @xml.version_is_310_or_newer?

@address = 'enderEntrega/xLgr'

@ltitle = Y - 0.42
@l1 = Y
@l2 = Y + LINE_HEIGHT
@l3 = Y + (LINE_HEIGHT * 2)
end

def render
if can_render?
@pdf.ititle 0.42, 10.00, 0.75, @ltitle, 'enderEntrega.title'

render_line1
render_line2
render_line3

@xml_version_is_310_or_newer ? render_dates_for_nfe_310_or_newer : render_dates_for_older_nfes
end
end

private

def can_render?
@xml[@address].to_s.present?
end

def render_line1
@pdf.lbox LINE_HEIGHT, 11.82, 0.75, @l1, @xml, 'dest/xNome'
render_cnpj_cpf
end

def render_cnpj_cpf
if @xml['enderEntrega/CNPJ'] == ''
@pdf.i18n_lbox LINE_HEIGHT, 4.37, 12.57, @l1, 'enderEntrega.CPF', cpf
else
@pdf.lcnpj LINE_HEIGHT, 4.37, 12.57, @l1, @xml, 'enderEntrega/CNPJ'
end
end

def cpf
cpf = BrDocuments::CnpjCpf::Cpf.new(@xml['enderEntrega/CPF'])
cpf.formatted
end

def render_line2
@pdf.i18n_lbox LINE_HEIGHT, 9.66, 0.75, @l2, 'enderEntrega.xLgr', address
@pdf.lbox LINE_HEIGHT, 4.33, 10.41, @l2, @xml, 'enderEntrega/xBairro'
@pdf.i18n_lbox LINE_HEIGHT, 2.20, 14.74, @l2, 'enderEntrega.cMun', cep
end

def address
address = Helper.generate_address @xml

if Helper.address_is_too_big(@pdf, address)
address = address[0..address.length - 2] while Helper.mensure_text(@pdf, "#{address.strip}...") > MAXIMUM_SIZE_FOR_STREET && !address.empty?
address = "#{address.strip}..."
end
address
end

def cep
BrDanfe::Helper.format_cep(@xml['enderEntrega/cMun'])
end

def render_line3
@pdf.lbox LINE_HEIGHT, 6.61, 0.75, @l3, @xml, 'enderEntrega/xMun'
@pdf.i18n_lbox LINE_HEIGHT, 4.06, 7.36, @l3, 'enderDest.fone', phone
@pdf.lbox LINE_HEIGHT, 1.14, 11.42, @l3, @xml, 'enderEntrega/UF'
@pdf.lie LINE_HEIGHT, 4.38, 12.56, @l3, @xml, 'enderEntrega/UF', 'dest/IE'
end

def phone
Phone.format(@xml['enderDest/fone'])
end
end
end
end
end
5 changes: 3 additions & 2 deletions lib/br_danfe/danfe_lib/nfe_lib/det_body.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def initialize(pdf, xml)
@xml = xml
end

def render(has_issqn)
def render(has_issqn, y_position_on_first_page = false)
table_height_on_first_page = table_height_on_first_page has_issqn
first_table = create_table
next_table = create_table
Expand Down Expand Up @@ -121,7 +121,8 @@ def render_table(data, start_position, height)
end

def table_position_on_first_page
Helper.invert(18.07.cm)
y_position = y_position_on_first_page ? 21.07.cm : 18.07.cm
Helper.invert(y_position)
end

def table_position_on_next_pages
Expand Down
2 changes: 1 addition & 1 deletion lib/br_danfe/danfe_lib/nfe_lib/dup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module BrDanfe
module DanfeLib
module NfeLib
class Dup
Y = 12.92
Y = 15.92

def initialize(pdf, xml)
@pdf = pdf
Expand Down
2 changes: 1 addition & 1 deletion lib/br_danfe/danfe_lib/nfe_lib/icmstot.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module BrDanfe
module DanfeLib
module NfeLib
class Icmstot
Y = 13.77 + SPACE_BETWEEN_GROUPS
Y = 16.77 + SPACE_BETWEEN_GROUPS

def initialize(pdf, xml)
@pdf = pdf
Expand Down
2 changes: 1 addition & 1 deletion lib/br_danfe/danfe_lib/nfe_lib/issqn.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module BrDanfe
module DanfeLib
module NfeLib
class Issqn
Y_POSITION = 25.72 + SPACE_BETWEEN_GROUPS
Y_POSITION = 28.72 + SPACE_BETWEEN_GROUPS

def initialize(pdf, xml)
@pdf = pdf
Expand Down
2 changes: 1 addition & 1 deletion lib/br_danfe/danfe_lib/nfe_lib/transp.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module BrDanfe
module DanfeLib
module NfeLib
class Transp
Y = 15.89 + SPACE_BETWEEN_GROUPS
Y = 18.89 + SPACE_BETWEEN_GROUPS

def initialize(pdf, xml)
@pdf = pdf
Expand Down
2 changes: 1 addition & 1 deletion lib/br_danfe/danfe_lib/nfe_lib/vol.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module BrDanfe
module DanfeLib
module NfeLib
class Vol
Y = 18.01
Y = 21.01

def initialize(pdf, xml)
@pdf = pdf
Expand Down

0 comments on commit c13f294

Please sign in to comment.