Guest User

Untitled

a guest
Jun 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. order_sheet_controller.rb
  2.  
  3. def print_order_sheet_summary
  4. @order_sheet = @company.order_sheets.friendly.find(params[:id])
  5. @item_array = []
  6. @valid_items = []
  7. @order_sheet.order_sheet_details.each do |order_sheet_detail|
  8. order_sheet_detail.jobs.first.items.each do |item|
  9. @item_array << item
  10. end
  11. end
  12.  
  13. @item_array.each do |item|
  14. if item.item_present?
  15.  
  16. else
  17. #VALID_ITEMS << item
  18. @valid_items << item
  19. end
  20. end
  21. respond_to do |format|
  22. format.pdf do
  23. pdf = OrderSheetSummaryPdf.new(@order_sheet, @valid_items, @item_array)
  24. send_data pdf.render, filename:
  25. "order_sheet_summary_#{@order_sheet.order_sheet_name}_#{@order_sheet.created_at.strftime("%d/%m/%Y")}.pdf",
  26. type: "application/pdf", disposition: "inline"
  27. end
  28. end
  29. end
  30.  
  31.  
  32. order_sheet_summary_pdf.rb
  33.  
  34.  
  35. class OrderSheetSummaryPdf < Prawn::Document
  36.  
  37. def initialize(order_sheet, valid_items, item_array,
  38. test_instance_array, test_instance_var, test_class_array, test_class_var)
  39. super()
  40. @order_sheet = order_sheet
  41. @@valid_items =[]
  42. @@valid_items = valid_items
  43. @@item_array = []
  44. @@item_array = item_array
  45. order_sheet_summary
  46.  
  47. @test_instance_var = test_instance_var
  48.  
  49. @@test_class_var = test_class_var
  50.  
  51. @@test_class_array = test_class_array
  52.  
  53. @test_instance_array = test_instance_array
  54. end
  55.  
  56. def total_item_quantity_in_item_array(v)
  57. quantity = 0
  58. @@item_array.each do |i|
  59. if i.inventory_item == v.inventory_item
  60. quantity = quantity + i.total_quantity_with_wastage
  61. end
  62. end
  63. return quantity.round(2)
  64. end
  65.  
  66. def order_sheet_summary
  67. move_down 10
  68.  
  69. table([ [ "Article Name", "Total quantity" ] ], :column_widths => [140, 90]) do
  70. cells.style(size: 8, :font_style => :bold)
  71. end
  72.  
  73. @@valid_items.each do |v|
  74. table([ [ "#{v.inventory_item.name}", "#{total_item_quantity_in_item_array(v)} #{v.inventory_item.consumption_unit} " ] ],
  75. :column_widths => [140, 90])do
  76. cells.style(size: 8)
  77. end
  78. end
  79.  
  80. end
Add Comment
Please, Sign In to add comment