237 lines
14 KiB
PHP
237 lines
14 KiB
PHP
@foreach( $variations as $variation)
|
|
<tr @if(!empty($purchase_order_line)) data-purchase_order_id="{{$purchase_order_line->transaction_id}}" @endif @if(!empty($purchase_requisition_line)) data-purchase_requisition_id="{{$purchase_requisition_line->transaction_id}}" @endif>
|
|
<td><span class="sr_number"></span></td>
|
|
<td>
|
|
{{ $product->name }} ({{$variation->sub_sku}})
|
|
@if( $product->type == 'variable' )
|
|
<br/>
|
|
(<b>{{ $variation->product_variation->name }}</b> : {{ $variation->name }})
|
|
@endif
|
|
@if($product->enable_stock == 1)
|
|
<br>
|
|
<small class="text-muted" style="white-space: nowrap;">@lang('report.current_stock'): @if(!empty($variation->variation_location_details->first())) {{@num_format($variation->variation_location_details->first()->qty_available)}} @else 0 @endif {{ $product->unit->short_name }}</small>
|
|
@endif
|
|
|
|
</td>
|
|
<td>
|
|
@if(!empty($purchase_order_line))
|
|
{!! Form::hidden('purchases[' . $row_count . '][purchase_order_line_id]', $purchase_order_line->id ); !!}
|
|
@endif
|
|
|
|
@if(!empty($purchase_requisition_line))
|
|
{!! Form::hidden('purchases[' . $row_count . '][purchase_requisition_line_id]', $purchase_requisition_line->id ); !!}
|
|
@endif
|
|
|
|
{!! Form::hidden('purchases[' . $row_count . '][product_id]', $product->id ); !!}
|
|
{!! Form::hidden('purchases[' . $row_count . '][variation_id]', $variation->id , ['class' => 'hidden_variation_id']); !!}
|
|
|
|
@php
|
|
$check_decimal = 'false';
|
|
if($product->unit->allow_decimal == 0){
|
|
$check_decimal = 'true';
|
|
}
|
|
$currency_precision = session('business.currency_precision', 2);
|
|
$quantity_precision = session('business.quantity_precision', 2);
|
|
|
|
$quantity_value = !empty($purchase_order_line) ? $purchase_order_line->quantity : 1;
|
|
|
|
$quantity_value = !empty($purchase_requisition_line) ? $purchase_requisition_line->quantity - $purchase_requisition_line->po_quantity_purchased : $quantity_value;
|
|
$max_quantity = !empty($purchase_order_line) ? $purchase_order_line->quantity - $purchase_order_line->po_quantity_purchased : 0;
|
|
|
|
$max_quantity = !empty($purchase_requisition_line) ? $purchase_requisition_line->quantity - $purchase_requisition_line->po_quantity_purchased : $max_quantity;
|
|
|
|
$quantity_value = !empty($imported_data) ? $imported_data['quantity'] : $quantity_value;
|
|
@endphp
|
|
|
|
<input type="text"
|
|
name="purchases[{{$row_count}}][quantity]"
|
|
value="{{@format_quantity($quantity_value)}}"
|
|
class="form-control input-sm purchase_quantity input_number mousetrap"
|
|
required
|
|
data-rule-abs_digit={{$check_decimal}}
|
|
data-msg-abs_digit="{{__('lang_v1.decimal_value_not_allowed')}}"
|
|
@if(!empty($max_quantity))
|
|
data-rule-max-value="{{$max_quantity}}"
|
|
data-msg-max-value="{{__('lang_v1.max_quantity_quantity_allowed', ['quantity' => $max_quantity])}}"
|
|
@endif
|
|
>
|
|
|
|
|
|
<input type="hidden" class="base_unit_cost" value="{{$variation->default_purchase_price}}">
|
|
<input type="hidden" class="base_unit_selling_price" value="{{$variation->sell_price_inc_tax}}">
|
|
|
|
<input type="hidden" name="purchases[{{$row_count}}][product_unit_id]" value="{{$product->unit->id}}">
|
|
@if(!empty($sub_units))
|
|
<br>
|
|
<select name="purchases[{{$row_count}}][sub_unit_id]" class="form-control input-sm sub_unit">
|
|
@foreach($sub_units as $key => $value)
|
|
<option value="{{$key}}" data-multiplier="{{$value['multiplier']}}">
|
|
{{$value['name']}}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
@else
|
|
{{ $product->unit->short_name }}
|
|
@endif
|
|
|
|
@if(!empty($product->second_unit))
|
|
@php
|
|
$secondary_unit_quantity = !empty($purchase_requisition_line) ? $purchase_requisition_line->secondary_unit_quantity : "";
|
|
@endphp
|
|
<br>
|
|
<span style="white-space: nowrap;">
|
|
@lang('lang_v1.quantity_in_second_unit', ['unit' => $product->second_unit->short_name])*:</span><br>
|
|
<input type="text"
|
|
name="purchases[{{$row_count}}][secondary_unit_quantity]"
|
|
@if($secondary_unit_quantity !== '')value="{{@format_quantity($secondary_unit_quantity)}}" @endif
|
|
class="form-control input-sm input_number"
|
|
required>
|
|
@endif
|
|
</td>
|
|
<td>
|
|
@php
|
|
$pp_without_discount = !empty($purchase_order_line) ? $purchase_order_line->pp_without_discount/$purchase_order->exchange_rate : $variation->default_purchase_price;
|
|
|
|
$discount_percent = !empty($purchase_order_line) ? $purchase_order_line->discount_percent : 0;
|
|
|
|
$purchase_price = !empty($purchase_order_line) ? $purchase_order_line->purchase_price/$purchase_order->exchange_rate : $variation->default_purchase_price;
|
|
|
|
$tax_id = !empty($purchase_order_line) ? $purchase_order_line->tax_id : $product->tax;
|
|
|
|
$tax_id = !empty($imported_data['tax_id']) ? $imported_data['tax_id'] : $tax_id;
|
|
|
|
$pp_without_discount = !empty($imported_data['unit_cost_before_discount']) ? $imported_data['unit_cost_before_discount'] : $pp_without_discount;
|
|
|
|
$discount_percent = !empty($imported_data['discount_percent']) ? $imported_data['discount_percent'] : $discount_percent;
|
|
@endphp
|
|
{!! Form::text('purchases[' . $row_count . '][pp_without_discount]',
|
|
number_format($pp_without_discount, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator), ['class' => 'form-control input-sm purchase_unit_cost_without_discount input_number', 'required']); !!}
|
|
|
|
@if(!empty($last_purchase_line))
|
|
<br>
|
|
<small class="text-muted">@lang('lang_v1.prev_unit_price'): @format_currency($last_purchase_line->pp_without_discount)</small>
|
|
@endif
|
|
</td>
|
|
<td>
|
|
{!! Form::text('purchases[' . $row_count . '][discount_percent]', number_format($discount_percent, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator), ['class' => 'form-control input-sm inline_discounts input_number', 'required']); !!}
|
|
|
|
@if(!empty($last_purchase_line))
|
|
<br>
|
|
<small class="text-muted">
|
|
@lang('lang_v1.prev_discount'):
|
|
{{@num_format($last_purchase_line->discount_percent)}}%
|
|
</small>
|
|
@endif
|
|
</td>
|
|
<td>
|
|
{!! Form::text('purchases[' . $row_count . '][purchase_price]',
|
|
number_format($purchase_price, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator), ['class' => 'form-control input-sm purchase_unit_cost input_number', 'required']); !!}
|
|
</td>
|
|
<td class="{{$hide_tax}}">
|
|
<span class="row_subtotal_before_tax display_currency">0</span>
|
|
<input type="hidden" class="row_subtotal_before_tax_hidden" value=0>
|
|
</td>
|
|
<td class="{{$hide_tax}}">
|
|
<div class="input-group">
|
|
<select name="purchases[{{ $row_count }}][purchase_line_tax_id]" class="form-control select2 input-sm purchase_line_tax_id" placeholder="'Please Select'">
|
|
<option value="" data-tax_amount="0" @if( $hide_tax == 'hide' )
|
|
selected @endif >@lang('lang_v1.none')</option>
|
|
@foreach($taxes as $tax)
|
|
<option value="{{ $tax->id }}" data-tax_amount="{{ $tax->amount }}" @if( $tax_id == $tax->id && $hide_tax != 'hide') selected @endif >{{ $tax->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
{!! Form::hidden('purchases[' . $row_count . '][item_tax]', 0, ['class' => 'purchase_product_unit_tax']); !!}
|
|
<span class="input-group-addon purchase_product_unit_tax_text">
|
|
0.00</span>
|
|
</div>
|
|
</td>
|
|
<td class="{{$hide_tax}}">
|
|
@php
|
|
$dpp_inc_tax = number_format($variation->dpp_inc_tax, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator);
|
|
if($hide_tax == 'hide'){
|
|
$dpp_inc_tax = number_format($variation->default_purchase_price, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator);
|
|
}
|
|
|
|
$dpp_inc_tax = !empty($purchase_order_line) ? number_format($purchase_order_line->purchase_price_inc_tax/$purchase_order->exchange_rate, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator) : $dpp_inc_tax;
|
|
|
|
@endphp
|
|
{!! Form::text('purchases[' . $row_count . '][purchase_price_inc_tax]', $dpp_inc_tax, ['class' => 'form-control input-sm purchase_unit_cost_after_tax input_number', 'required']); !!}
|
|
</td>
|
|
<td>
|
|
<span class="row_subtotal_after_tax display_currency">0</span>
|
|
<input type="hidden" class="row_subtotal_after_tax_hidden" value=0>
|
|
</td>
|
|
<td class="@if(!session('business.enable_editing_product_from_purchase') || !empty($is_purchase_order)) hide @endif">
|
|
{!! Form::text('purchases[' . $row_count . '][profit_percent]', number_format($variation->profit_percent, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator), ['class' => 'form-control input-sm input_number profit_percent', 'required']); !!}
|
|
</td>
|
|
@if(empty($is_purchase_order))
|
|
<td>
|
|
@if(session('business.enable_editing_product_from_purchase'))
|
|
{!! Form::text('purchases[' . $row_count . '][default_sell_price]', number_format($variation->sell_price_inc_tax, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator), ['class' => 'form-control input-sm input_number default_sell_price', 'required']); !!}
|
|
@else
|
|
{{ number_format($variation->sell_price_inc_tax, $currency_precision, $currency_details->decimal_separator, $currency_details->thousand_separator)}}
|
|
@endif
|
|
</td>
|
|
@if(session('business.enable_lot_number'))
|
|
@php
|
|
$lot_number = !empty($imported_data['lot_number']) ? $imported_data['lot_number'] : null;
|
|
@endphp
|
|
<td>
|
|
{!! Form::text('purchases[' . $row_count . '][lot_number]', $lot_number, ['class' => 'form-control input-sm']); !!}
|
|
</td>
|
|
@endif
|
|
@if(session('business.enable_product_expiry'))
|
|
<td style="text-align: left;">
|
|
|
|
{{-- Maybe this condition for checkin expiry date need to be removed --}}
|
|
@php
|
|
$expiry_period_type = !empty($product->expiry_period_type) ? $product->expiry_period_type : 'month';
|
|
@endphp
|
|
@if(!empty($expiry_period_type))
|
|
<input type="hidden" class="row_product_expiry" value="{{ $product->expiry_period }}">
|
|
<input type="hidden" class="row_product_expiry_type" value="{{ $expiry_period_type }}">
|
|
|
|
@if(session('business.expiry_type') == 'add_manufacturing')
|
|
@php
|
|
$hide_mfg = false;
|
|
@endphp
|
|
@else
|
|
@php
|
|
$hide_mfg = true;
|
|
@endphp
|
|
@endif
|
|
|
|
@php
|
|
$mfg_date = !empty($imported_data['mfg_date']) ? $imported_data['mfg_date'] : null;
|
|
$exp_date = !empty($imported_data['exp_date']) ? $imported_data['exp_date'] : null;
|
|
@endphp
|
|
|
|
<b class="@if($hide_mfg) hide @endif"><small>@lang('product.mfg_date'):</small></b>
|
|
<div class="input-group @if($hide_mfg) hide @endif">
|
|
<span class="input-group-addon">
|
|
<i class="fa fa-calendar"></i>
|
|
</span>
|
|
{!! Form::text('purchases[' . $row_count . '][mfg_date]', $mfg_date, ['class' => 'form-control input-sm expiry_datepicker mfg_date', 'readonly']); !!}
|
|
</div>
|
|
<b><small>@lang('product.exp_date'):</small></b>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<i class="fa fa-calendar"></i>
|
|
</span>
|
|
{!! Form::text('purchases[' . $row_count . '][exp_date]', $exp_date, ['class' => 'form-control input-sm expiry_datepicker exp_date', 'readonly']); !!}
|
|
</div>
|
|
@else
|
|
<div class="text-center">
|
|
@lang('product.not_applicable')
|
|
</div>
|
|
@endif
|
|
</td>
|
|
@endif
|
|
@endif
|
|
<?php $row_count++ ;?>
|
|
|
|
<td><i class="fa fa-times remove_purchase_entry_row text-danger" title="Remove" style="cursor:pointer;"></i></td>
|
|
</tr>
|
|
@endforeach
|
|
|
|
<input type="hidden" id="row_count" value="{{ $row_count }}">
|