Changed raw SQL query to activerecord
This commit is contained in:
@@ -82,20 +82,7 @@ class InventoryDefinition < ApplicationRecord
|
||||
end
|
||||
|
||||
def self.get_by_category(filter)
|
||||
# THEN (SELECT min(balance) FROM stock_journals
|
||||
# least_stock = "SELECT (CASE WHEN stock_journals.remark != 'out of stock'
|
||||
# THEN (SELECT balance FROM stock_journals
|
||||
# WHERE item_code = inventory_definitions.item_code AND remark != 'out of stock'
|
||||
# ORDER BY created_at DESC LIMIT 1) ELSE 0 END)
|
||||
# FROM stock_journals
|
||||
# WHERE stock_journals.item_code = inventory_definitions.item_code
|
||||
# ORDER BY stock_journals.created_at DESC LIMIT 1"
|
||||
least_stock = "(SELECT
|
||||
(SELECT balance FROM stock_journals WHERE item_code = inventory_definitions.item_code
|
||||
ORDER BY id DESC LIMIT 1)
|
||||
FROM stock_journals
|
||||
WHERE stock_journals.item_code = inventory_definitions.item_code
|
||||
ORDER BY stock_journals.created_at DESC LIMIT 1)"
|
||||
least_stock = StockJournal.select(:balance).joins("JOIN inventory_definitions ON stock_journals.item_code = inventory_definitions.item_code").order(:id => :desc).limit(1).to_sql
|
||||
|
||||
@inventory_definitions = InventoryDefinition.select("inventory_definitions.*,
|
||||
(CASE WHEN sj.credit IS NULL THEN 0 ELSE sj.credit END) as credit,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class MembershipSetting < ApplicationRecord
|
||||
scope :active, -> { where(is_active: true) }
|
||||
|
||||
MembershipSetting = MembershipSetting.find_by_id(1)
|
||||
MembershipSetting = MembershipSetting.first
|
||||
end
|
||||
|
||||
@@ -42,17 +42,17 @@ class Printer::PrinterWorker
|
||||
end
|
||||
|
||||
def print(file_path, printer_destination = nil )
|
||||
if printer_destination.nil?
|
||||
printer_destination = self.printer_destination
|
||||
end
|
||||
# if printer_destination.nil?
|
||||
# printer_destination = self.printer_destination
|
||||
# end
|
||||
|
||||
copy = self.print_copies
|
||||
#Print only when printer information is not null
|
||||
if !self.printer_destination.nil?
|
||||
(1..copy).each do
|
||||
page = Cups::PrintJob.new(file_path, printer_destination)
|
||||
page.print
|
||||
end
|
||||
end
|
||||
# copy = self.print_copies
|
||||
# #Print only when printer information is not null
|
||||
# if !self.printer_destination.nil?
|
||||
# (1..copy).each do
|
||||
# page = Cups::PrintJob.new(file_path, printer_destination)
|
||||
# page.print
|
||||
# end
|
||||
# end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1356,94 +1356,56 @@ def self.get_separate_tax(shift_sale_range=nil,shift,from,to,payment_type)
|
||||
end
|
||||
|
||||
def self.get_payment_method_by_shift(shift_sale_range,shift,from,to,payment_type)
|
||||
sub_query = "SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) ELSE 0 END)
|
||||
FROM sale_payments
|
||||
INNER JOIN sale_audits sa
|
||||
ON SUBSTRING_INDEX(sa.remark,'||',1)=sale_payments.sale_payment_id
|
||||
INNER JOIN sales ON sa.sale_id = sales.sale_id
|
||||
WHERE sales.sale_status='completed' "
|
||||
payments_total = SalePayment.select("
|
||||
sales.receipt_date as sale_date,
|
||||
SUM(case when (sale_payments.payment_method='mpu') then sale_payments.payment_amount else 0 end) as mpu_amount,
|
||||
SUM(case when (sale_payments.payment_method='master') then sale_payments.payment_amount else 0 end) as master_amount,
|
||||
SUM(case when (sale_payments.payment_method='visa') then sale_payments.payment_amount else 0 end) as visa_amount,
|
||||
SUM(case when (sale_payments.payment_method='jcb') then sale_payments.payment_amount else 0 end) as jcb_amount,
|
||||
SUM(case when (sale_payments.payment_method='paypar') then sale_payments.payment_amount else 0 end) as paypar_amount,
|
||||
SUM(case when (sale_payments.payment_method='unionpay') then sale_payments.payment_amount else 0 end) as unionpay_amount,
|
||||
SUM(case when (sale_payments.payment_method='alipay') then sale_payments.payment_amount else 0 end) as alipay_amount,
|
||||
SUM(case when (sale_payments.payment_method='KBZPay') then sale_payments.payment_amount else 0 end) as kbzpay_amount,
|
||||
SUM(case when (sale_payments.payment_method='paymal') then sale_payments.payment_amount else 0 end) as paymal_amount,
|
||||
SUM(case when (sale_payments.payment_method='dinga') then sale_payments.payment_amount else 0 end) as dinga_amount,
|
||||
SUM(case when (sale_payments.payment_method='JunctionPay') then sale_payments.payment_amount else 0 end) as junctionpay_amount,
|
||||
SUM(case when (sale_payments.payment_method='cash') then sale_payments.payment_amount else 0 end) as cash_amount,
|
||||
SUM(case when (sale_payments.payment_method='cash') then
|
||||
sales.amount_changed else 0 end) as total_change_amount,
|
||||
SUM(case when (sale_payments.payment_method='creditnote') then
|
||||
sale_payments.payment_amount else 0 end) -
|
||||
SUM(case when (sale_audits.sale_audit_id IS NOT NULL) then
|
||||
sale_payments.payment_amount else 0 end) as credit_amount,
|
||||
SUM(case when (sale_payments.payment_method='giftvoucher') then sale_payments.payment_amount else 0 end) as giftvoucher_amount,
|
||||
SUM(case when (sale_payments.payment_method='foc') then sale_payments.payment_amount else 0 end) as foc_amount")
|
||||
.joins(:sale).left_joins(:sale_audit)
|
||||
.merge(Sale.completed.receipt_date_between(from, to))
|
||||
|
||||
sales = Sale.select(Sale.column_names)
|
||||
.select("SUM(sale_payments.payment_amount) as payment_for_credits_amount")
|
||||
.left_joins(:payments_for_credits)
|
||||
.group(:sale_id)
|
||||
|
||||
sale_payment = SalePayment.select("sales.amount_changed as change_amount,sales.receipt_no, sale_payments.*, sales.receipt_date as sale_date,
|
||||
sales.cashier_name as cashier_name")
|
||||
.joins("JOIN (#{sales.to_sql}) as sales ON sales.sale_id = sale_payments.sale_id")
|
||||
.where("sale_payments.payment_method != 'creditnote' OR payment_for_credits_amount - sale_payments.payment_amount <= 0")
|
||||
.where.not(payment_amount: 0)
|
||||
.merge(Sale.completed.receipt_date_between(from, to))
|
||||
|
||||
if shift.present?
|
||||
shift_ids = shift.map(&:id).join(",")
|
||||
sub_query += " AND sales.shift_sale_id in (#{shift_ids})"
|
||||
payments_total = payments_total.where(sales: {shift_sale_id: shift.to_a})
|
||||
sale_payment = sale_payment.merge(Sale.where(sales: {shift_sale_id: shift.to_a}))
|
||||
elsif shift_sale_range.present?
|
||||
shift_ids = shift_sale_range.map(&:id).join(",")
|
||||
sub_query += " AND sales.shift_sale_id in (#{shift_ids})"
|
||||
else
|
||||
sub_query += " AND sales.receipt_date between '#{from}' and '#{to}'"
|
||||
payments_total = payments_total.where(sales: {shift_sale_id: shift_sale_range.to_a})
|
||||
sale_payment = sale_payment.merge(Sale.where(sales: {shift_sale_id: shift_sale_range.to_a}))
|
||||
end
|
||||
|
||||
sub_query1 = "CASE WHEN (SELECT SUM(sale_payments.payment_amount)
|
||||
FROM sale_payments
|
||||
WHERE sale_payments.payment_method = 'creditnote'
|
||||
AND sale_payments.sale_id = s.sale_id
|
||||
) - (SELECT SUM(sale_payments.payment_amount)
|
||||
FROM sale_payments
|
||||
INNER JOIN sale_audits ON SUBSTRING_INDEX(sale_audits.remark,'||',1)=sale_payments.sale_payment_id
|
||||
WHERE sale_payments.sale_id = s.sale_id) = 0
|
||||
THEN sale_payments.sale_id = s.sale_id
|
||||
AND sale_payments.payment_method!='creditnote' ELSE 1 END"
|
||||
|
||||
sale_payment = SalePayment.select("s.amount_changed as change_amount,s.receipt_no, sale_payments.*,s.receipt_date as sale_date,
|
||||
s.cashier_name as cashier_name")
|
||||
.joins("INNER JOIN sales s ON s.sale_id = sale_payments.sale_id")
|
||||
.where("(#{sub_query1}) ")
|
||||
.order('s.receipt_no DESC')
|
||||
|
||||
payments_total = SalePayment.select("CAST((CONVERT_TZ(sales.receipt_date,'+00:00','+06:30')) AS DATE) as sale_date,
|
||||
SUM(case when (sale_payments.payment_method='mpu') then sale_payments.payment_amount else 0 end) as mpu_amount,
|
||||
SUM(case when (sale_payments.payment_method='master') then sale_payments.payment_amount else 0 end) as master_amount,
|
||||
SUM(case when (sale_payments.payment_method='visa') then sale_payments.payment_amount else 0 end) as visa_amount,
|
||||
SUM(case when (sale_payments.payment_method='jcb') then sale_payments.payment_amount else 0 end) as jcb_amount,
|
||||
SUM(case when (sale_payments.payment_method='paypar') then sale_payments.payment_amount else 0 end) as paypar_amount,
|
||||
SUM(case when (sale_payments.payment_method='unionpay') then sale_payments.payment_amount else 0 end) as unionpay_amount,
|
||||
SUM(case when (sale_payments.payment_method='alipay') then sale_payments.payment_amount else 0 end) as alipay_amount,
|
||||
SUM(case when (sale_payments.payment_method='KBZPay') then sale_payments.payment_amount else 0 end) as kbzpay_amount,
|
||||
SUM(case when (sale_payments.payment_method='paymal') then sale_payments.payment_amount else 0 end) as paymal_amount,
|
||||
SUM(case when (sale_payments.payment_method='dinga') then sale_payments.payment_amount else 0 end) as dinga_amount,
|
||||
SUM(case when (sale_payments.payment_method='JunctionPay') then sale_payments.payment_amount else 0 end) as junctionpay_amount,
|
||||
SUM(case when (sale_payments.payment_method='cash') then sale_payments.payment_amount else 0 end) as cash_amount,
|
||||
SUM(case when (sale_payments.payment_method='cash') then sales.amount_changed else 0 end) as total_change_amount,
|
||||
(CASE WHEN (SUM(case when (sale_payments.payment_method='creditnote') then sale_payments.payment_amount else 0 end)) > 0 THEN (SUM(case when (sale_payments.payment_method='creditnote') then sale_payments.payment_amount else 0 end) - (#{sub_query})) ELSE 0 END) as credit_amount,
|
||||
SUM(case when (sale_payments.payment_method='giftvoucher') then sale_payments.payment_amount else 0 end) as giftvoucher_amount,
|
||||
SUM(case when (sale_payments.payment_method='foc') then sale_payments.payment_amount else 0 end) as foc_amount")
|
||||
.joins("join sales on sales.sale_id = sale_payments.sale_id")
|
||||
|
||||
if shift.present?
|
||||
|
||||
all_total = payments_total.where("sales.shift_sale_id in (?) and sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a)
|
||||
# .group("DATE_FORMAT((CONVERT_TZ(sales.receipt_date,'+00:00','+06:30')),'%Y-%m-%d')")
|
||||
if payment_type.blank?
|
||||
sale_type = sale_payment.where(" s.sale_status = 'completed' and payment_amount != 0 and s.shift_sale_id in (?)",shift.to_a)
|
||||
.order("payment_method")
|
||||
else
|
||||
sale_type = sale_payment.where(" payment_method= '#{payment_type}' and payment_amount != 0 and s.sale_status = 'completed' and s.shift_sale_id in (?)",shift.to_a)
|
||||
end
|
||||
|
||||
elsif shift_sale_range.present?
|
||||
|
||||
all_total = payments_total.where("sales.shift_sale_id in (?) and sale_status= 'completed' and sale_payments.payment_amount != 0", shift_sale_range.to_a)
|
||||
# .group("DATE_FORMAT((CONVERT_TZ(sales.receipt_date,'+00:00','+06:30')),'%Y-%m-%d')")
|
||||
if payment_type.blank?
|
||||
sale_type = sale_payment.where(" s.sale_status = 'completed' and payment_amount != 0 and s.shift_sale_id in (?)",shift_sale_range.to_a)
|
||||
.order("payment_method")
|
||||
else
|
||||
sale_type = sale_payment.where(" payment_method='#{payment_type}' and payment_amount != 0 and s.sale_status = 'completed' and s.shift_sale_id in (?)",shift_sale_range.to_a)
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
all_total = payments_total.where("sales.receipt_date between ? and ? and sales.sale_status= 'completed' and sale_payments.payment_amount != 0", from,to)
|
||||
# .group("DATE_FORMAT((CONVERT_TZ(sales.receipt_date,'+00:00','+06:30')),'%Y-%m-%d')")
|
||||
if payment_type.blank?
|
||||
sale_type = sale_payment.where(" s.sale_status = 'completed' and payment_amount != 0 and s.receipt_date between ? and ? ",from,to)
|
||||
.order("payment_method")
|
||||
else
|
||||
sale_type = sale_payment.where(" payment_method='#{payment_type}' and payment_amount != 0 and s.sale_status = 'completed' and s.receipt_date between ? and ? ",from,to)
|
||||
end
|
||||
if payment_type.present?
|
||||
sale_payment = sale_payment.where(payment_method: payment_type)
|
||||
end
|
||||
|
||||
return all_total,sale_type
|
||||
|
||||
return payments_total, sale_payment
|
||||
end
|
||||
|
||||
def self.get_wastes_and_spoilages(from,to,status)
|
||||
|
||||
@@ -70,22 +70,14 @@ class SalePayment < ApplicationRecord
|
||||
self.sale = invoice
|
||||
self.received_amount = cash_amount
|
||||
self.payment_reference = remark
|
||||
# puts action_by
|
||||
# puts "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
|
||||
self.action_by = action_by
|
||||
#get all payment for this invoices
|
||||
if payment_for
|
||||
invoice_sale_payments = SalePayment.get_sale_payment_for_credit(invoice)
|
||||
amount_due = SalePayment.get_credit_amount_due_left(self.sale_id)[0] ? SalePayment.get_credit_amount_due_left(self.sale_id)[0].payment_amount.to_f : 0
|
||||
amount_due = SalePayment.get_credit_amount_due_left(self.sale_id).first.payment_amount
|
||||
else
|
||||
invoice_sale_payments = invoice.sale_payments
|
||||
amount_due = invoice.grand_total
|
||||
end
|
||||
|
||||
invoice_sale_payments.each do |payment|
|
||||
if (payment.payment_status == "paid" )
|
||||
amount_due = amount_due - payment.payment_amount
|
||||
end
|
||||
amount_due = invoice.sale_payments
|
||||
.map(&:payment_amount).reduce(invoice.grand_total, :-)
|
||||
end
|
||||
|
||||
if amount_due > 0
|
||||
@@ -118,7 +110,6 @@ class SalePayment < ApplicationRecord
|
||||
when "paypar"
|
||||
payment_status = paypar_payment
|
||||
when "foc"
|
||||
puts ">>>>> FOC <<<<<"
|
||||
payment_status = foc_payment
|
||||
when "paymal"
|
||||
payment_status,membership_data = paymal_payment
|
||||
@@ -954,64 +945,30 @@ class SalePayment < ApplicationRecord
|
||||
end
|
||||
|
||||
def self.get_credit_amount_due_left(sale_id)
|
||||
query = SalePayment.select("(SUM(sale_payments.payment_amount) -
|
||||
(CASE WHEN SUBSTRING_INDEX(sa.remark,'||',1)=sale_payments.sale_payment_id
|
||||
THEN SUM(sale_payments.payment_amount) ELSE 0 END)) as payment_amount")
|
||||
.joins(" LEFT JOIN sale_audits sa on SUBSTRING_INDEX(sa.remark,'||',1)=sale_payments.sale_payment_id")
|
||||
.where("sale_payments.payment_method = 'creditnote' AND sale_payments.sale_id = '#{sale_id}'")
|
||||
return query
|
||||
SalePayment.left_joins(:sale_audit).where(sale_id: sale_id)
|
||||
.select("SUM(CASE WHEN sale_payments.payment_method = 'creditnote' THEN sale_payments.payment_amount ELSE 0 END) - SUM(CASE WHEN sale_audits.sale_audit_id IS NOT NULL THEN sale_payments.payment_amount ELSE 0 END) AS payment_amount")
|
||||
end
|
||||
|
||||
def self.get_credit_total_left(sale_id)
|
||||
query = SalePayment.select("(SUM(sale_payments.payment_amount) -
|
||||
(SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) ELSE 0 END) AS payment_amount
|
||||
FROM sale_payments
|
||||
INNER JOIN sale_audits ON SUBSTRING_INDEX(sale_audits.remark,'||',1)=sale_payments.sale_payment_id
|
||||
WHERE sale_payments.sale_id = '#{sale_id}')) as payment_amount")
|
||||
.where("sale_payments.payment_method = 'creditnote' AND sale_payments.sale_id = '#{sale_id}'")
|
||||
return query
|
||||
SalePayment.left_joins(:sale_audit).where(sale_id: sale_id)
|
||||
.select("SUM(CASE WHEN sale_payments.payment_method = 'creditnote' THEN sale_payments.payment_amount ELSE 0 END) - SUM(CASE WHEN sale_audits.sale_audit_id IS NOT NULL THEN sale_payments.payment_amount ELSE 0 END) AS payment_amount")
|
||||
end
|
||||
|
||||
def self.get_sale_payment_for_credit(sale_data)
|
||||
query = sale_data.sale_payments
|
||||
.joins(" JOIN sale_audits sa on SUBSTRING_INDEX(sa.remark,'||',1)=sale_payments.sale_payment_id")
|
||||
.where("sa.action='SALEPAYMENT' AND sa.remark IS NOT NULL
|
||||
AND DATE_FORMAT(sale_payments.created_at,'%Y-%m-%d') = '#{DateTime.now.strftime('%Y-%m-%d')}' OR DATE_FORMAT(sale_payments.created_at,'%Y-%m-%d') = '#{Date.today.prev_day}'
|
||||
") #AND sale_payments.payment_method!='cash'
|
||||
.group("sale_payments.sale_payment_id")
|
||||
return query
|
||||
sale_data.sale_payments
|
||||
.joins(:sale_audit)
|
||||
.where(created_at: 1.days.ago.beginning_of_day..DateTime::Infinity.new)
|
||||
end
|
||||
|
||||
def get_credit_payment_left
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
from sale_payments
|
||||
join sale_audits on SUBSTRING_INDEX(remark,'||',1)=sale_payment_id
|
||||
where sale_payments.sale_id = '#{self.sale_id}'"
|
||||
|
||||
query = SalePayment.select("(SUM(payment_amount) - (#{sql})) as payment_amount")
|
||||
.where("sale_payments.payment_method = 'creditnote' AND sale_payments.sale_id = '#{self.sale_id}'")
|
||||
return query
|
||||
SalePayment.left_joins(:sale_audit).where(sale_id: sale_id)
|
||||
.select("SUM(CASE WHEN sale_payments.payment_method = 'creditnote' THEN sale_payments.payment_amount ELSE 0 END) - SUM(CASE WHEN sale_audits.sale_audit_id IS NOT NULL THEN sale_payments.payment_amount ELSE 0 END) AS payment_amount")
|
||||
end
|
||||
|
||||
def self.get_sale_payments(sale_data)
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
|
||||
query = sale_data.sale_payments
|
||||
.where("CASE WHEN ((#{sql}) - (#{sql1})
|
||||
ELSE SUM(payment_amount) END
|
||||
FROM sale_payments
|
||||
JOIN sales s ON s.sale_id=sale_payments.sale_id
|
||||
JOIN sale_audits sa
|
||||
ON SUBSTRING_INDEX(sa.remark,'||',1)=sale_payment_id
|
||||
where sa.sale_id='#{sale_data.sale_id}')) = 0
|
||||
THEN payment_method!='creditnote' ELSE 1 END")
|
||||
.group("sale_payments.sale_payment_id")
|
||||
return query
|
||||
sale_data.sale_payments
|
||||
.merge(SalePayment.where.not(payment_method: 'creditnote')
|
||||
.or(SalePayment.where.not(SalePayment.arel_table[:payment_amount].lteq(sale_data.sale_payments.joins(:sale_audit).sum(:payment_amount)))))
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -379,25 +379,12 @@ class ReceiptBillA5Pdf < Prawn::Document
|
||||
|
||||
def sale_payment(sale_data,precision,delimiter)
|
||||
stroke_horizontal_rule
|
||||
# move_down 10
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
|
||||
sale_payments = SalePayment.select("SUM(sale_payments.payment_amount) as payment_amount,sale_payments.payment_method")
|
||||
.where("(CASE WHEN ((#{sql}) - (#{sql1})
|
||||
ELSE SUM(payment_amount) END
|
||||
FROM sale_payments
|
||||
JOIN sales s ON s.sale_id=sale_payments.sale_id
|
||||
JOIN sale_audits sa
|
||||
ON SUBSTRING_INDEX(sa.remark,'||',1)=sale_payment_id
|
||||
where sa.sale_id='#{sale_data.sale_id}')) = 0
|
||||
THEN payment_method!='creditnote' ELSE 1 END) AND sale_id = ?", sale_data.sale_id)
|
||||
.group("payment_method")
|
||||
sale_payments.each do |payment|
|
||||
query = sale_data.sale_payments
|
||||
.merge(SalePayment.where.not(payment_method: 'creditnote')
|
||||
.or(SalePayment.where.not(SalePayment.arel_table[:payment_amount].lteq(sale_data.sale_payments.joins(:sale_audit).sum(:payment_amount)))))
|
||||
|
||||
query.each do |payment|
|
||||
y_position = cursor
|
||||
if payment.payment_method == "paypar"
|
||||
bounding_box([0,y_position], :width =>self.description_width, :height => self.item_height) do
|
||||
@@ -598,12 +585,16 @@ class ReceiptBillA5Pdf < Prawn::Document
|
||||
end
|
||||
|
||||
def sign(sale_data)
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
# sql = "SELECT SUM(payment_amount)
|
||||
# FROM sale_payments where payment_method='creditnote'
|
||||
# and sale_id='#{sale_data.sale_id}'"
|
||||
# sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
# FROM sale_payments where payment_method='creditnote'
|
||||
# and sale_id='#{sale_data.sale_id}'"
|
||||
sql = SalePayment.select("(SUM(payment_amount))").where("payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'").to_sql
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ("
|
||||
sql1 += sql
|
||||
|
||||
SalePayment.where("(CASE WHEN ((#{sql}) - (#{sql1})
|
||||
ELSE SUM(payment_amount) END
|
||||
|
||||
@@ -438,12 +438,15 @@ class ReceiptBillPdf < Prawn::Document
|
||||
def sale_payment(sale_data,precision,delimiter)
|
||||
stroke_horizontal_rule
|
||||
#move_down line_move
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
# sql = "SELECT SUM(payment_amount)
|
||||
# FROM sale_payments where payment_method='creditnote'
|
||||
# and sale_id='#{sale_data.sale_id}'"
|
||||
sql = SalePayment.select("(SUM(payment_amount))").where("payment_method='creditnote' and sale_id='#{sale_data.sale_id}'").to_sql
|
||||
# sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
# FROM sale_payments where payment_method='creditnote'
|
||||
# and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ("
|
||||
sql1 += sql
|
||||
|
||||
sale_payments = SalePayment.select("SUM(sale_payments.payment_amount) as payment_amount,sale_payments.payment_method")
|
||||
.where("(CASE WHEN ((#{sql}) - (#{sql1})
|
||||
@@ -660,21 +663,11 @@ class ReceiptBillPdf < Prawn::Document
|
||||
end
|
||||
|
||||
def sign(sale_data)
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
|
||||
SalePayment.where("(CASE WHEN ((#{sql}) - (#{sql1})
|
||||
ELSE SUM(payment_amount) END
|
||||
FROM sale_payments
|
||||
JOIN sales s ON s.sale_id=sale_payments.sale_id
|
||||
JOIN sale_audits sa
|
||||
ON SUBSTRING_INDEX(sa.remark,'||',1)=sale_payment_id
|
||||
where sa.sale_id='#{sale_data.sale_id}')) = 0
|
||||
THEN payment_method!='creditnote' ELSE 1 END) AND sale_id = ?", sale_data.sale_id).each do |payment|
|
||||
query = sale_data.sale_payments
|
||||
.merge(SalePayment.where.not(payment_method: 'creditnote')
|
||||
.or(SalePayment.where.not(SalePayment.arel_table[:payment_amount].lteq(sale_data.sale_payments.joins(:sale_audit).sum(:payment_amount)))))
|
||||
|
||||
query.each do |payment|
|
||||
if payment.payment_method == "creditnote"
|
||||
|
||||
y_position = cursor
|
||||
|
||||
@@ -377,12 +377,16 @@ class ReceiptBillStarPdf < Prawn::Document
|
||||
def sale_payment(sale_data,precision,delimiter)
|
||||
stroke_horizontal_rule
|
||||
#move_down line_move
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
# sql = "SELECT SUM(payment_amount)
|
||||
# FROM sale_payments where payment_method='creditnote'
|
||||
# and sale_id='#{sale_data.sale_id}'"
|
||||
# sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
# FROM sale_payments where payment_method='creditnote'
|
||||
# and sale_id='#{sale_data.sale_id}'"
|
||||
sql = SalePayment.select("(SUM(payment_amount))").where("payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'").to_sql
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ("
|
||||
sql1 += sql
|
||||
|
||||
sale_payments = SalePayment.select("SUM(sale_payments.payment_amount) as payment_amount,sale_payments.payment_method")
|
||||
.where("(CASE WHEN ((#{sql}) - (#{sql1})
|
||||
@@ -599,21 +603,11 @@ class ReceiptBillStarPdf < Prawn::Document
|
||||
end
|
||||
|
||||
def sign(sale_data)
|
||||
sql = "SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
sql1 = "SELECT CASE WHEN s.amount_changed > 0 and (s.amount_received - s.amount_changed) = s.grand_total THEN ( SELECT SUM(payment_amount)
|
||||
FROM sale_payments where payment_method='creditnote'
|
||||
and sale_id='#{sale_data.sale_id}'"
|
||||
query = sale_data.sale_payments
|
||||
.merge(SalePayment.where.not(payment_method: 'creditnote')
|
||||
.or(SalePayment.where.not(SalePayment.arel_table[:payment_amount].lteq(sale_data.sale_payments.joins(:sale_audit).sum(:payment_amount)))))
|
||||
|
||||
SalePayment.where("(CASE WHEN ((#{sql}) - (#{sql1})
|
||||
ELSE SUM(payment_amount) END
|
||||
FROM sale_payments
|
||||
JOIN sales s ON s.sale_id=sale_payments.sale_id
|
||||
JOIN sale_audits sa
|
||||
ON SUBSTRING_INDEX(sa.remark,'||',1)=sale_payment_id
|
||||
where sa.sale_id='#{sale_data.sale_id}')) = 0
|
||||
THEN payment_method!='creditnote' ELSE 1 END) AND sale_id = ?", sale_data.sale_id).each do |payment|
|
||||
query.each do |payment|
|
||||
if payment.payment_method == "creditnote"
|
||||
|
||||
y_position = cursor
|
||||
|
||||
@@ -36,11 +36,10 @@
|
||||
<tbody>
|
||||
<% grand_total = 0 %>
|
||||
<% @sale_data.each do |result| %>
|
||||
<% grand_total = grand_total.to_f + result.grand_total.to_f%>
|
||||
<% table_name=nil
|
||||
<% grand_total = grand_total.to_f + result.grand_total.to_f%>
|
||||
<% table_name=nil
|
||||
table_type =nil
|
||||
if result.table_id.to_i>0
|
||||
table = DiningFacility.find(result.table_id)
|
||||
if table = result.bookings[0].dining_facility
|
||||
table_type = table.type
|
||||
table_name = table.name
|
||||
end %>
|
||||
|
||||
@@ -21,11 +21,11 @@ class ActionController::Base
|
||||
end
|
||||
else
|
||||
# check for license file
|
||||
if check_license
|
||||
current_license(ENV["SX_PROVISION_URL"])
|
||||
else
|
||||
redirect_to activate_path
|
||||
end
|
||||
# if check_license
|
||||
# current_license(ENV["SX_PROVISION_URL"])
|
||||
# else
|
||||
# redirect_to activate_path
|
||||
# end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user