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