From e8626e78f5ed33b6fc42b50ff2d45e67293fa303 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Fri, 8 Dec 2017 13:59:05 +0630 Subject: [PATCH] update paymal response record and show double payment --- app/controllers/origami/addorders_controller.rb | 3 --- app/models/customer.rb | 6 +++++- app/models/sale_audit.rb | 11 +++++++++++ app/models/sale_payment.rb | 10 +++++++++- app/pdf/receipt_bill_pdf.rb | 4 +++- 5 files changed, 28 insertions(+), 6 deletions(-) diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index d97212f3..8098dfe9 100755 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -58,9 +58,6 @@ class Origami::AddordersController < ApplicationController#BaseOrigamiController items_arr.push(items) } -puts "sssssssssss" -puts params[:customer_id] -puts params.to_json # begin @order = Order.new @order.source = params[:order_source] diff --git a/app/models/customer.rb b/app/models/customer.rb index 0ac12d12..85967e6a 100755 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -144,7 +144,11 @@ class Customer < ApplicationRecord sales = Sale.where("rebate_status = 'false'") sales.each do |sale| if sale.customer.membership_id - response = self.rebat(Sale.find(sale.sale_id)) + response = self.rebat(Sale.find(sale.sale_id)) + #record an payment in sale-audit + remark = "UPdate Rebate Response - #{response} for Customer #{sale.customer_id} Sale Id [#{sale.sale_id}]| pay amount -> #{sale.received_amount} " + sale_audit = SaleAudit.record_paymal(sale.sale_id, remark, "CronJob") + if response["status"] == true status = sale.update_attributes(rebate_status: "true") end diff --git a/app/models/sale_audit.rb b/app/models/sale_audit.rb index 3129a4a5..2a986807 100755 --- a/app/models/sale_audit.rb +++ b/app/models/sale_audit.rb @@ -78,6 +78,17 @@ class SaleAudit < ApplicationRecord sale_audit.save! end + def self.record_paymal(sale_id, remark, action_by) + sale_audit = SaleAudit.new() + sale_audit.sale_id = sale_id + sale_audit.action = "PAYMAL" + sale_audit.action_at = DateTime.now.utc + sale_audit.action_by = action_by + sale_audit.remark = remark + sale_audit.approved_by = Time.now + sale_audit.save! + end + private def generate_custom_id self.sale_audit_id = SeedGenerator.generate_id(self.class.name, "SAI") diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 2092051d..675dee09 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -271,6 +271,10 @@ class SalePayment < ApplicationRecord membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_data = SalePayment.redeem(membership_setting.gateway_url,membership_setting.auth_token,customer_data.membership_id,self.received_amount,self.sale.sale_id) + #record an payment in sale-audit + remark = "#{membership_data} Redeem- for Customer #{self.sale.customer_id} Sale Id [#{self.sale.sale_id}]| pay amount -> #{self.received_amount} " + sale_audit = SaleAudit.record_paymal(self.sale.sale_id, remark, "Cashier") + if membership_data["status"]==true self.payment_method = "paypar" self.payment_amount = self.received_amount @@ -323,7 +327,11 @@ class SalePayment < ApplicationRecord if MembershipSetting.find_by_rebate(1) && is_foc == 0 response = rebat(sObj) - + + #record an payment in sale-audit + remark = "#{response} Redeem- for Customer #{self.sale.customer_id} | Sale Id [#{self.sale.sale_id}]| pay amount -> #{self.received_amount} " + sale_audit = SaleAudit.record_paymal(self.sale.sale_id, remark, "Cashier") + if !response.nil? if response["status"] == true self.sale.rebate_status = 'true' diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index ebdfa147..a62e7b90 100755 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -254,7 +254,8 @@ class ReceiptBillPdf < Prawn::Document def sale_payment(sale_data,precision,delimiter) stroke_horizontal_rule move_down 5 - SalePayment.where('sale_id = ?', sale_data.sale_id).each do |payment| + sale_payments = SalePayment.select("SUM(sale_payments.payment_amount) as payment_amount,sale_payments.payment_method").where('sale_id = ?', sale_data.sale_id).group("payment_method") + sale_payments.each do |payment| y_position = cursor if payment.payment_method == "paypar" bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do @@ -441,6 +442,7 @@ class ReceiptBillPdf < Prawn::Document move_down 73 text "Approved By" , :size => self.item_font_size,:align => :center end + break; end end if sale_data.payment_status == "foc"