add updated qty text in oqs

This commit is contained in:
phyusin
2018-02-05 15:29:31 +06:30
parent 0ef45bbc70
commit 2ebfdbe8bc
6 changed files with 62 additions and 18 deletions

View File

@@ -10,7 +10,9 @@ class Oqs::EditController < BaseOqsController
qty_weight = params[:qty_weight]
remarks = params[:remarks]
order_item = OrderItem.find(order_items_id);
order_item = OrderItem.find(order_items_id)
before_updated_qty = order_item.qty
order_item.item_order_by = current_user.name
order_item.qty = qty_weight
order_item.remark = remarks
@@ -45,7 +47,7 @@ class Oqs::EditController < BaseOqsController
print_settings=PrintSetting.find_by_unique_code(unique_code)
order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
order_queue_printer.print_order_item(print_settings, oqs, order_item.order_id, order_items_id, print_status=" (Updated)" )
order_queue_printer.print_order_item(print_settings, oqs, order_item.order_id, order_items_id, print_status=" (Cancelled)", before_updated_qty )
end
end
end

View File

@@ -38,7 +38,7 @@ class Oqs::PrintController < ApplicationController
# print when complete click
print_settings = PrintSetting.find_by_unique_code(unique_code)
order_queue_printer = Printer::OrderQueuePrinter.new(print_settings)
order_queue_printer.print_order_item(print_settings,oqs, assigned_item.order_id, order_item.order_items_id, print_status, options )
order_queue_printer.print_order_item(print_settings,oqs, assigned_item.order_id, order_item.order_items_id, print_status, "", options )
# update print status for completed same order items
assigned_items.each do |ai|

View File

@@ -1,6 +1,6 @@
class Printer::OrderQueuePrinter < Printer::PrinterWorker
def print_order_item(print_settings,oqs, order_id, order_item_id, print_status, options="")
def print_order_item(print_settings,oqs, order_id, order_item_id, print_status, before_updated_qty="", options="")
#Use CUPS service
#Generate PDF
#Print
@@ -14,7 +14,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
filename = "tmp/order_item_#{order_id}_#{order_item_id}" + ".pdf"
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name, before_updated_qty)
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
# check for item not to show
# if order_item[0].price != 0
@@ -22,15 +22,15 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
order_slim_pdf.each do |order_item_slim|
if order_item_slim[0] == 'OrderSlimPdf'
if order_item_slim[1] == '1'
pdf = OrderItemSlimPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
pdf = OrderItemSlimPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name, before_updated_qty)
else
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name, before_updated_qty)
end
elsif order_item_slim[0] == 'OrderSetPdf'
if order_item_slim[1] == '1'
pdf = OrderSetItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
pdf = OrderSetItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name, before_updated_qty)
else
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name, before_updated_qty)
end
end
end

View File

@@ -1,7 +1,7 @@
class OrderItemPdf < Prawn::Document
include ActionView::Helpers::NumberHelper
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
def initialize(print_settings,order_item, print_status, options, alt_name)
def initialize(print_settings,order_item, print_status, options, alt_name, before_updated_qty)
self.page_width = print_settings.page_width
self.page_height = print_settings.page_height
self.margin = 0
@@ -46,7 +46,7 @@ class OrderItemPdf < Prawn::Document
order_info(order_item.order_id, order_item.order_by,order_item.order_at)
# order items
order_items(order_item, options, alt_name, print_settings.precision)
order_items(order_item, options, alt_name, print_settings.precision, before_updated_qty)
end
# Write Order Information to PDF
@@ -74,7 +74,7 @@ class OrderItemPdf < Prawn::Document
end
# Write Order items to PDF
def order_items(order_item, options, alt_name, precision)
def order_items(order_item, options, alt_name, precision, before_updated_qty)
y_position = cursor
#Add Order Item
@@ -82,6 +82,7 @@ class OrderItemPdf < Prawn::Document
dash(1, :space => 1, :phase => 1)
stroke_horizontal_line 0, (self.page_width - self.margin)
add_updated_qty_text(before_updated_qty, order_item.qty, precision)
move_down 5
end
@@ -127,4 +128,17 @@ class OrderItemPdf < Prawn::Document
end
#add updated qty text
def add_updated_qty_text(before_updated_qty, updated_qty, precision)
if !before_updated_qty.nil?
move_down 5
# add option
y_position = cursor
bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
text "* Change quantity [#{number_with_precision(before_updated_qty.to_i, :precision => precision.to_i)}] to [#{number_with_precision(updated_qty.to_i, :precision => precision.to_i)}]", :size => self.item_font_size,:align => :left
end
end
end
end

View File

@@ -1,7 +1,7 @@
class OrderItemSlimPdf < Prawn::Document
include ActionView::Helpers::NumberHelper
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
def initialize(print_settings,order_item_slim, print_status, options, alt_name)
def initialize(print_settings,order_item_slim, print_status, options, alt_name, before_updated_qty)
self.page_width = print_settings.page_width
self.page_height = print_settings.page_height
self.margin = 0
@@ -46,7 +46,7 @@ class OrderItemSlimPdf < Prawn::Document
order_info(order_item_slim.order_id, order_item_slim.order_by,order_item_slim.order_at)
# order items slim
order_items_slim(order_item_slim, options, alt_name, print_settings.precision)
order_items_slim(order_item_slim, options, alt_name, print_settings.precision, before_updated_qty)
end
# Write Order Information to PDF
@@ -74,7 +74,7 @@ class OrderItemSlimPdf < Prawn::Document
end
# Write Order items to PDF
def order_items_slim(order_item_slim, options, alt_name, precision)
def order_items_slim(order_item_slim, options, alt_name, precision, before_updated_qty)
y_position = cursor
#Add Order Item
@@ -82,6 +82,7 @@ class OrderItemSlimPdf < Prawn::Document
dash(1, :space => 1, :phase => 1)
stroke_horizontal_line 0, (self.page_width - self.margin)
add_updated_qty_text(before_updated_qty, order_item_slim.qty, precision)
move_down 1
end
@@ -126,4 +127,17 @@ class OrderItemSlimPdf < Prawn::Document
end
#add updated qty text
def add_updated_qty_text(before_updated_qty, updated_qty, precision)
if !before_updated_qty.nil?
move_down 1
# add option
y_position = cursor
bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
text "* Change quantity [#{number_with_precision(before_updated_qty.to_i, :precision => precision.to_i)}] to [#{number_with_precision(updated_qty.to_i, :precision => precision.to_i)}]", :size => self.item_font_size,:align => :left
end
end
end
end

View File

@@ -1,7 +1,7 @@
class OrderSetItemPdf < Prawn::Document
include ActionView::Helpers::NumberHelper
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
def initialize(print_settings,order_set_item, print_status, options, alt_name)
def initialize(print_settings,order_set_item, print_status, options, alt_name, before_updated_qty)
self.page_width = print_settings.page_width
self.page_height = print_settings.page_height
self.margin = 0
@@ -46,7 +46,7 @@ class OrderSetItemPdf < Prawn::Document
order_info(order_set_item.order_id, order_set_item.order_by,order_set_item.order_at)
# order items
order_set_items(order_set_item, options, alt_name, print_settings.precision)
order_set_items(order_set_item, options, alt_name, print_settings.precision, before_updated_qty)
end
# Write Order Information to PDF
@@ -74,7 +74,7 @@ class OrderSetItemPdf < Prawn::Document
end
# Write Order items to PDF
def order_set_items(order_set_item, options, alt_name, precision)
def order_set_items(order_set_item, options, alt_name, precision, before_updated_qty)
y_position = cursor
#Add Order Item
@@ -82,6 +82,7 @@ class OrderSetItemPdf < Prawn::Document
dash(1, :space => 1, :phase => 1)
stroke_horizontal_line 0, (self.page_width - self.margin)
add_updated_qty_text(before_updated_qty, order_set_item.qty, precision)
move_down 5
end
@@ -143,4 +144,17 @@ class OrderSetItemPdf < Prawn::Document
end
#add updated qty text
def add_updated_qty_text(before_updated_qty, updated_qty, precision)
if !before_updated_qty.nil?
move_down 5
# add option
y_position = cursor
bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
text "* Change quantity [#{number_with_precision(before_updated_qty.to_i, :precision => precision.to_i)}] to [#{number_with_precision(updated_qty.to_i, :precision => precision.to_i)}]", :size => self.item_font_size,:align => :left
end
end
end
end