2016-06-26 8 views
0

Ich versuche, eine Ausgabespalte zu berechnen, die die Differenz von zwei anderen Spalten in der Abfrageausgabe ist; Die erste Spalte ist ein Aggregat von Artikeln auf Lager, während die zweite Spalte ein Aggregat von Artikeln ist, die verwendet wurden. Die dritte Spalte sollte die Differenz der zwei Werte sein, so dass ich dann alle drei Spalten in einer Tabelle ausgeben kann.Stock Balance Aufrechterhaltung in Schienen Anwendung

Ich würde gerne den Restbestand nach dem Kauf und Verkauf in Schienen Weg wissen.

Unten finden Sie den Screenshot für die Referenz;

Screenshot.png

Für den Kauf Tisch,

stockings_controller.rb

class StockingsController < ApplicationController 
    before_action :set_stocking, only: [:show, :edit, :update, :destroy] 

    # GET /Stockings 
    # GET /deldetails.json 
    def index 
    @stockings = Stocking.all 
    end 

    def import 
    Stocking.import(params[:file]) 
    redirect_to stockings_url, notice: "Stockings imported." 
    end 

    # GET /Stockings/1 
    # GET /Stockings/1.json 
    def show 
    end 

    # GET /Stockings/new 
    def new 
    @stocking = Stocking.new 
    end 

    # GET /stockings/1/edit 
    def edit 
    end 

    # POST /Stockings 
    # POST /Stockings.json 
    def create 
    @stocking = Stocking.new(stocking_params) 

    respond_to do |format| 
     if @stocking.save 
     format.html { redirect_to @stocking, notice: 'Stocking was successfully created.' } 
     format.json { render :show, status: :created, location: @stocking } 
     else 
     format.html { render :new } 
     format.json { render json: @stocking.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # PATCH/PUT /Stockings/1 
    # PATCH/PUT /stockings/1.json 
    def update 
    respond_to do |format| 
     if @stocking.update(stocking_params) 
     format.html { redirect_to @stocking, notice: 'Stocking was successfully updated.' } 
     format.json { render :show, status: :ok, location: @stocking } 
     else 
     format.html { render :edit } 
     format.json { render json: @stocking.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # DELETE /stockings/1 
    # DELETE /stockings/1.json 
    def destroy 
    @stocking.destroy 
    respond_to do |format| 
     format.html { redirect_to stockings_url, notice: 'Stocking was successfully destroyed.' } 
     format.json { head :no_content } 
    end 
    end 

    private 
    # Use callbacks to share common setup or constraints between actions. 
    def set_stocking 
     @stocking = Stocking.find(params[:id]) 
    end 

    # Never trust parameters from the scary internet, only allow the white list through. 
    def stocking_params 
     params.require(:stocking).permit(:slno, :category, :articleno, :description, :color, :quantity, :rprice, :total, :cartonno) 
    end 
    end 

stocking.rb

Klasse Stocking < Activerecord :: Base

def self.import(file) 
    CSV.foreach(file.path, headers: true) do |row| 
     Stocking.create! row.to_hash 
    end 
end 

Ende

index.html.erb

<div class="row"> 

    <div class="col-md-10 col-md-offset-1"> 

     <div class="table-responsive myTable"> 

      <table class="table listing text-center"> 
       <tr class="tr-head"> 
        <td>SLNO</td> 
        <td>CATEGORY</td> 
        <td>ARTICLE NO</td> 
        <td>DESCRIPTION</td> 
        <td>COLOR</td> 
        <td>QUANTITY</td> 
        <td>RETAIL PRICE</td> 
        <td>TOTAL</td> 
        <td>CARTON NO</td> 
       </tr> 

       <% @stockings.each do |stocking| %> 
       <tr class="tr-<%= cycle('odd', 'even') %>"> 

        <td class="col-1"> 
         <%= stocking.slno %> 
        </td><td class="col-1"> 
        <%= stocking.articleno %> 
       </td><td class="col-1"> 
       <%= stocking.category %> 
      </td><td class="col-1"> 
      <%= stocking.description %> 
     </td><td class="col-1"> 
     <%= stocking.color %> 
    </td><td class="col-1"> 
    <%= stocking.quantity %> 
</td><td class="col-1"> 
<%= stocking.rprice %> 
</td><td class="col-1"> 
<%= stocking.total %> 
</td><td class="col-1"> 
<%= stocking.cartonno %> 
</td> 
</tr> 
<% end %> 

</table> 

</div> 
</div> 
</div> 

<br> 

<%= link_to 'New stocking', new_stocking_path %> 


<!--   |=== HERE --> 
<a href="#" class="toggle-form">...</a> 

<div id="test"> 
    <h2>Import StOCKS</h2> 
    <%= form_tag import_stockings_path, multipart: true do %> 
    <%= file_field_tag :file %> 
    <%= submit_tag "Import" %> 
    <% end %> 
</div> 


<script language="javascript" type="text/javascript"> 
$(document).ready(function() { 
    $("div#test").hide(); 

    // | === HERE 
    $("a.toggle-form").click(function(event) { 
     event.preventDefault(); 
     $("div#test").toggle(); 
    }); 
}); 
</script> 

I, wie oben, den Kauf Tabelle vorbereitet habe, aber nicht in der Lage, die Idee des Umgangs mit Restbeständen zu bewältigen.

Ich bin in einer Verwirrung, die ich brauche, um das gleiche für Verkäufe usw. zu schaffen, oder wähle ich einen anderen Weg.

Alle Vorschläge sind sehr willkommen.

Vielen Dank im Voraus.

+0

Können Sie Teile Ihres Codes teilen? Wir könnten Ihnen sagen, dass dies der richtige Weg ist, der nicht mit Ihrer aktuellen Implementierung in Einklang gebracht werden kann, und das würde zu mehr Verwirrung führen. – oreoluwa

+0

Vielen Dank für Ihre schnelle Antwort. Ich habe einen Code gemäß Ihrer Anfrage eingefügt. Bitte überprüfen und führen. –

Antwort

0

Ich fand den Restbestand in der folgenden Weise, Restbestand = gekaufte Menge - verkaufte Menge an Kunden, die als cus1, cus2 usw. bezeichnet werden, und so würde meine Indexansicht wie folgt sein;

index.html.erb

<td class="col-2"><%= stock = stock.quantity - stock.cus1 - stock.cus2 %></td>

Auf diese Weise habe ich die tatsächlichen Restposten.