[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: stockReport.php
<input type="hidden" id="stock_value_tooltip" value="<?php echo lang('stock_value_tooltip');?>"> <input type="hidden" id="The_items_field_is_required" value="<?php echo lang('The_items_field_is_required');?>"> <input type="hidden" id="The_outlet_field_is_required" value="<?php echo lang('The_outlet_field_is_required');?>"> <link rel="stylesheet" href="<?php echo base_url(); ?>frequent_changing/css/stock.css"> <link rel="stylesheet" href="<?php echo base_url(); ?>frequent_changing/css/report.css"> <div class="main-content-wrapper"> <section class="content-header"> <div class="row justify-content-between"> <div class="col-6 p-0"> <h3 class="top-left-header"><?php echo lang('stock_report'); ?> </h3> <input type="hidden" class="datatable_name" data-title="<?php echo lang('stock_report'); ?>" data-id_name="datatable"> <div class="btn_list m-right d-flex"> <button type="button" class="dataFilterBy new-btn"><iconify-icon icon="solar:filter-broken" width="22"></iconify-icon> <?php echo lang('filter_by');?></button> </div> </div> <?php $this->view('updater/breadcrumb', ['firstSection'=> lang('report'), 'secondSection'=> lang('stock_report')])?> </div> </section> <div class="box-wrapper"> <!-- Report Header Start --> <div class="report_header"> <h3 class="company_name"><?php echo escape_output($this->session->userdata('business_name'));?> </h3> <h5 class="outlet_info"> <strong><?php echo lang('stock_report'); ?></strong> </h5> <?php if(isset($outlet_id) && $outlet_id){ $outlet_info = getOutletInfoById($outlet_id); }?> <h5 class="outlet_info"> <?php if(isset($outlet_id) && $outlet_id){ ?> <strong><?php echo lang('outlet'); ?>: </strong> <?= escape_output($outlet_info->outlet_name); ?> <?php }?> </h5> <h5 class="outlet_info"> <?php if(isset($outlet_id) && $outlet_id){ ?> <strong><?php echo lang('address'); ?>: </strong> <?= escape_output($outlet_info->address); ?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($outlet_id) && $outlet_id){ ?> <strong><?php echo lang('email'); ?>: </strong> <?= escape_output($outlet_info->email); ?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($outlet_id) && $outlet_id){ ?> <strong><?php echo lang('phone'); ?>: </strong> <?= escape_output($outlet_info->phone); ?> <?php } ?> </h5> <?php if(isset($start_date) && $start_date != '' && $start_date != '1970-01-01' || isset($end_date) && $end_date != '' && $end_date != '1970-01-01'){ ?> <h5 class="outlet_info"> <strong><?php echo lang('date');?>:</strong> <?php if(!empty($start_date) && $start_date != '1970-01-01') { echo dateFormat($start_date); } if((isset($start_date) && isset($end_date)) && ($start_date != '1970-01-01' && $end_date != '1970-01-01')){ echo ' - '; } if(!empty($end_date) && $end_date != '1970-01-01') { echo dateFormat($end_date); } ?> </h5> <?php } ?> <h5 class="outlet_info"> <?php if(isset($item_code) && $item_code){?> <strong><?php echo lang('item_code'); ?>:</strong> <?php echo escape_output($item_code);?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($category_id) && $category_id){?> <strong><?php echo lang('category'); ?>:</strong> <?php echo escape_output(getCategoryName($category_id)); ?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($brand_id) && $brand_id){?> <strong><?php echo lang('brand'); ?>:</strong> <?php echo escape_output(getBrand($brand_id)); ?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($item_id) && $item_id){?> <strong><?php echo lang('item'); ?>:</strong> <?php echo escape_output(getItemParentAndChildName($item_id)); ?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($generic_name) && $generic_name){?> <strong><?php echo lang('generic_name'); ?>:</strong> <?php echo escape_output($generic_name);?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($supplier_id) && $supplier_id){?> <strong><?php echo lang('supplier'); ?>:</strong> <?php echo escape_output(getSupplierNameById($supplier_id));?> <?php } ?> </h5> <h5 class="outlet_info"> <?php if(isset($report_generate_time) && $report_generate_time){ echo $report_generate_time; } ?> </h5> </div> <!-- Report Header End --> <div class="table-box"> <!-- /.box-header --> <div class="table-responsive"> <table id="datatable" class="table table-bordered table-striped"> <thead> <tr> <th class="title op_width_1_p"><?php echo lang('sn'); ?></th> <th class="title op_width_25_p"><?php echo lang('item'); ?>(<?php echo lang('code'); ?>)</th> <th class="title op_width_10_p"><?php echo lang('category'); ?></th> <th class="title op_width_30_p"><?php echo lang('stock_segmentation'); ?></th> <th class="title op_width_15"><?php echo lang('total_stock_quantity'); ?></th> <th class="title op_width_10_p"> <?php echo lang('LPP'); ?>/<?php echo lang('PP'); ?> <i data-tippy-content="<?php echo lang('LPP_PP'); ?>" class="ps-1 fa-regular fa-circle-question tippyBtnCall font-16 theme-color"></i> </th> <th class="title op_width_10_p text-center"><?php echo lang('total'); ?></th> </tr> </thead> <tbody> <?php $alertQtySum = 0; $purchasePriceTotal = 0; $lastThreeAvgGrandSum = 0; if(isset($stock) && $stock){ foreach($stock as $key=>$item){ $generalStock = 0; $purchasePriceSum = 0; $purchaseUnitSum = 0; $saleUnitSum = 0; $saleUnitSum = 0; $itemStockAlertCls = ''; if($item->type != 'Variation_Product'){ if(((int)$item->stock_qty - (int)$item->out_qty) < $item->alert_quantity){ $itemStockAlertCls = ''; $alertQtySum ++; } } if($item->type == 'General_Product' || $item->type == 'Installment_Product' || ($item->type == 'Medicine_Product' && $item->expiry_date_maintain == 'No')){ $generalStock = ((int)$item->stock_qty - (int)$item->out_qty); $genConvertedPrice = (float)$item->last_three_purchase_avg / (int)$item->conversion_rate; $purchasePriceSum = ($genConvertedPrice) * $generalStock; if($item->unit_type == '1'){ $saleUnitSum = (int)$generalStock; } else if($item->unit_type == '2'){ $purchaseUnitSum = (int)((int)$generalStock / $item->conversion_rate); $saleUnitSum = ((int)$generalStock) % $item->conversion_rate; } } ?> <tr> <td class="<?php echo $itemStockAlertCls; ?>"><?php echo $key + 1 ?></td> <td class="<?php echo $itemStockAlertCls; ?>"><?php echo escape_output($item->name) . '(' . escapeQuot($item->code) . ')' ?></td> <td class="<?php echo $itemStockAlertCls; ?>"><?php echo escape_output($item->category_name) ?></td> <td class="<?php echo $itemStockAlertCls; ?>"> <?php if($item->type == 'Variation_Product'){ ?> <div id="stockInnerTable"> <ul> <li> <div><?php echo lang('item'); ?>(<?php echo lang('code'); ?>)</div> <div><?php echo lang('quantity'); ?></div> <div><?php echo lang('LPP'); ?>/<?php echo lang('PP'); ?> <i data-tippy-content="<?php echo lang('LPP_PP'); ?>" class="ps-1 fa-regular fa-circle-question tippyBtnCall font-16 theme-color"></i></div> </li> <?php if($item->variations){ $variations = explode("||", $item->variations); foreach($variations as $m=>$variation){ $variation_d = explode("|", $variations[$m]); $variationStock = ((int)$variation_d[4] - (int)$variation_d[5]); /* $variation_d[4]Stock In - $variation_d[5]Stock Out = Current Stock */ $generalStock += $variationStock; $variationAlert = (int)($variation_d[2]); /* $variation_d[2] = Aleart Quantity */ $variationConvertedPrice = ($variation_d[3] / $item->conversion_rate); /* $variation_d[3] = Last 3 Purchase AVG */ $purchasePriceSum += $variationConvertedPrice * $variationStock; /* Unit Price * Stock = Stock Amount */ $vItemStockAlertCls = ''; if($variationStock < $variationAlert){ $vItemStockAlertCls = ''; /* Alert Class */ $alertQtySum ++; } $vQtyWithUnit = ''; if($item->unit_type == '1'){ $saleUnitSum += $variationStock; $vQtyWithUnit = escape_output(getAmtPCustom($variationStock)) . ' ' . $item->sale_unit; } else if($item->unit_type == '2'){ $purchaseUnitSum += ((int)$variationStock / $item->conversion_rate); $saleUnitSum += (((int)$variationStock) % $item->conversion_rate); $vPurchaseUnit = getAmtPCustom((int)($variationStock / $item->conversion_rate)) . ' ' . $item->purchase_unit; $vSaleUnit = getAmtPCustom(((int)$variationStock) % $item->conversion_rate) . ' ' . $item->sale_unit; $vQtyWithUnit = $vPurchaseUnit . ' ' . $vSaleUnit; } ?> <li> <div class="<?php echo $vItemStockAlertCls; ?>"><?php echo $variation_d[0] . '('. $variation_d[1] .')'; ?></div> <div class="<?php echo $vItemStockAlertCls; ?>"> <?php if($item->unit_type == '1'){ echo $vQtyWithUnit; } else if($item->unit_type == '2'){ echo $vQtyWithUnit . ' (' . getAmtPCustom($variationStock) . ' ' . $item->sale_unit . ')'; } ?> </div> <div class="<?php echo $vItemStockAlertCls; ?>"><?php echo getAmtStock(($variation_d[3]) / $item->conversion_rate) ?></div> </li> <?php }} ?> </ul> </div> <?php } else if($item->type == 'IMEI_Product' || $item->type == 'Serial_Product') { ?> <div id="stockInnerTable"> <ul> <li> <div><?php echo lang('type'); ?></div> <div><?php echo lang('imei_serial_number'); ?></div> </li> <?php $expStock = ((int)$item->stock_qty - (int)$item->out_qty); $expConvertedPrice = (float)$item->last_three_purchase_avg / (int)$item->conversion_rate; $purchasePriceSum = ($expConvertedPrice) * $expStock; $purchaseUnitSum = (int)$expStock; $saleUnitSum = (int)$expStock; if($item->allimei){ $imaiSerial = explode("||", $item->allimei); foreach($imaiSerial as $k=>$v){ $imei_serial_type = $item->type == 'IMEI_Product' ? 'IMEI Number:' : 'Serial Number:'; ?> <li> <div><?php echo $imei_serial_type ?></div> <div><?php echo $v ?></div> </li> <?php } } ?> </ul> </div> <?php } else if($item->type == 'Medicine_Product' && $item->expiry_date_maintain == 'Yes'){ $purchasePriceSum = ((float)$item->last_three_purchase_avg / (int)$item->conversion_rate) * ((int)$item->stock_qty - (int)$item->out_qty); ?> <div id="stockInnerTable"> <ul> <li> <div><?php echo lang('expiry_date'); ?></div> <div><?php echo lang('quantity'); ?></div> </li> <?php if(isset($item->allexpiry) && $item->allexpiry){ $allexpiry = explode("||", $item->allexpiry); foreach($allexpiry as $ek=>$expiry){ $expiry_d = explode("|", $expiry); $expSaleQtySum = ((int)$expiry_d[1] / $item->conversion_rate ) * $item->conversion_rate; $generalStock += $expSaleQtySum; $expQtyWithUnit = ''; if($item->unit_type == '1'){ $saleUnitSum += (int)$expiry_d[1]; /* $expiry_d[1] = Expiry Quantity */ $expQtyWithUnit = escape_output(getAmtPCustom((int)$expiry_d[1])) . ' ' . $item->sale_unit; } else if($item->unit_type == '2'){ $purchaseUnitSum += ((int)$expiry_d[1] / $item->conversion_rate); $saleUnitSum += ((int)$expiry_d[1] % $item->conversion_rate); $expPurchaseUnit = getAmtPCustom((int)$expiry_d[1] / $item->conversion_rate) . ' ' . $item->purchase_unit; $expSaleUnit = getAmtPCustom(((int)$expiry_d[1] % $item->conversion_rate)) . ' ' . $item->sale_unit; $expQtyWithUnit = $expPurchaseUnit . ' ' . $expSaleUnit; } ?> <li> <div><?php echo dateFormat($expiry_d[0]);?></div> <div> <?php if($item->unit_type == 1){ echo $expQtyWithUnit; }else if($item->unit_type == 2){ echo $expQtyWithUnit . ' (' . getAmtPCustom($expSaleQtySum) . $item->sale_unit . ')'; } ?> </div> </li> <?php } } ?> </ul> </div> <?php } ?> </td> <td class="<?php echo $itemStockAlertCls; ?>"> <?php if($item->unit_type == '1'){ echo getAmtPCustom($saleUnitSum) . ' ' . $item->sale_unit; } else if($item->unit_type == '2'){ echo getAmtPCustom($purchaseUnitSum) . ' ' . $item->purchase_unit . ' ' . getAmtPCustom($saleUnitSum) . ' ' . $item->sale_unit . ' '; echo '(' . getAmtPCustom($generalStock) . $item->sale_unit . ')'; } ?> </td> <td class="<?php echo $itemStockAlertCls; ?>"> <?php echo getAmtStock((int)$item->last_three_purchase_avg / (int)($item->conversion_rate)) ?> </td> <td class="<?php echo $itemStockAlertCls; ?>"> <?php $purchasePriceTotal += $purchasePriceSum; echo getAmtStock($purchasePriceSum) ?> </td> </tr> <?php } }?> <tr> <th></th> <th></th> <th></th> <th></th> <th></th> <th class="text-right"><?php echo lang('total');?>:</th> <th><?php echo getAmtStock($purchasePriceTotal)?></th> </tr> </tbody> </table> <input type="hidden" id="low_qty" value="<?php echo (isset($alertQtySum) && $alertQtySum ? $alertQtySum : 0) ?>"> <input type="hidden" id="grandTotal" value="<?php echo (isset($purchasePriceTotal) && $purchasePriceTotal ? $purchasePriceTotal : 0); ?>"> </div> <!-- /.box-body --> </div> </div> </div> <div class="filter-overlay"></div> <div id="product-filter" class="filter-modal"> <div class="filter-modal-body"> <header> <h3 class="filter-modal-title"><span><?php echo lang('FilterOptions'); ?></span></h3> <button type="button" class="close-filter-modal" data-bs-dismiss="modal" aria-label="Close"> <span aria-hidden="true"> <i data-feather="x"></i> </span> </button> </header> <?php echo form_open(base_url() . 'Report/stockReport') ?> <div class="row"> <div class="col-sm-12 col-md-6 mb-2"> <div class="form-group"> <select class="form-control select2 op_width_100_p" name="item_code" id="item_code"> <option value=""><?php echo lang('code'); ?></option> <?php foreach ($items as $value) { ?> <option value="<?php echo escape_output($value->code) ?>" <?php echo set_select('item_code', $value->code); ?>><?php echo escape_output($value->code) ?></option> <?php } ?> </select> </div> </div> <div class="col-sm-12 col-md-6 mb-2"> <div class="form-group"> <select class="form-control select2 category_id op_width_100_p" name="category_id" id="category_id"> <option value=""><?php echo lang('select'); ?> <?php echo lang('category'); ?></option> <?php foreach ($item_categories as $value) { ?> <option value="<?php echo escape_output($value->id) ?>" <?php echo set_select('category_id', $value->id); ?>><?php echo escape_output($value->name) ?></option> <?php } ?> </select> </div> </div> <div class="col-sm-12 col-md-6 mb-2"> <div class="form-group"> <select class="form-control select2 brand_id op_width_100_p" name="brand_id" id="brand_id"> <option value=""><?php echo lang('select'); ?> <?php echo lang('brand'); ?></option> <?php foreach ($brands as $value) { ?> <option value="<?php echo escape_output($value->id) ?>" <?php echo set_select('brand_id', $value->id); ?>><?php echo escape_output($value->name) ?></option> <?php } ?> </select> </div> </div> <div class="col-sm-12 col-md-6 mb-2"> <div class="form-group"> <select class="form-control select2 op_width_100_p" name="item_id" id="item_id"> <option value=""><?php echo lang('select'); ?> <?php echo lang('item'); ?></option> <?php foreach ($items as $value) { ?> <option value="<?php echo escape_output($value->id) ?>" <?php echo set_select('item_id', $value->id); ?>><?php echo getItemNameById($value->parent_id); ?> <?php echo escape_output($value->name) . "(" . $value->code . ")" ?></option> <?php } ?> </select> </div> </div> <div class="col-sm-12 col-md-6 mb-2"> <div class="form-group"> <input type="text" class="form-control" name="generic_name" placeholder="<?php echo lang('generic_name') ?>"> </div> </div> <div class="col-sm-12 col-md-6 mb-2"> <div class="form-group"> <select class="form-control select2 op_width_100_p" id="supplier_id" name="supplier_id"> <option value=""><?php echo lang('select'); ?> <?php echo lang('supplier'); ?></option> <?php foreach ($suppliers as $splrs) { ?> <option value="<?php echo escape_output($splrs->id) ?>" <?php echo set_select('supplier_id', $splrs->id); ?>><?php echo escape_output($splrs->name) ?></option> <?php } ?> </select> </div> </div> <div class="col-sm-12 col-md-6 mb-2"> <div class="form-group"> <select class="form-control select2 ir_w_100" id="outlet_id" name="outlet_id"> <?php $role = $this->session->userdata('role'); if($role == '1'){ ?> <option value=""><?php echo lang('select_outlet') ?></option> <?php } ?> <?php $outlets = getOutletsForReport(); foreach ($outlets as $value): ?> <option <?= set_select('outlet_id',$value->id)?> value="<?php echo escape_output($value->id) ?>"><?php echo escape_output($value->outlet_name) ?></option> <?php endforeach; ?> </select> </div> </div> <div class="clear-fix"></div> <div class="col-sm-12 col-md-6 mb-2"> <button type="submit" name="submit" value="submit" class="new-btn"> <iconify-icon icon="solar:hourglass-broken" width="22"></iconify-icon> <?php echo lang('submit'); ?> </button> </div> </div> <?php echo form_close(); ?> </div> </div> <?php $this->view('updater/reuseJs_w_pagination')?> <script src="<?php echo base_url(); ?>frequent_changing/js/stock_report.js"></script>
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.82 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002