diff --git a/app/Controllers/Report.php b/app/Controllers/Report.php index b287189c..af997557 100755 --- a/app/Controllers/Report.php +++ b/app/Controllers/Report.php @@ -1071,13 +1071,19 @@ class Report extends BaseController $headline .= (isset($m) && !empty($m)) ? '(' . $m . ') ' : ''; $headline .= ((isset($frm) && isset($t)) && (!empty($frm) && !empty($t))) ? $frm . '-to-' . $t : ''; $headline .= (isset($purchaseorder_number) && !empty($purchaseorder_number)) ? '(' . $purchaseorder_number . ') ' : ''; - $pending_purchase_details = $this->dahsboard_Model->pending_purchase($cname, $prod, $fa, $aa, $m, $frm, $t, $purchaseorder_number); + $normal_purchase_details = $this->dahsboard_Model->pending_purchase($cname, $prod, $fa, $aa, $m, $frm, $t, $purchaseorder_number); + $orderorder_purchase_details = $this->dahsboard_Model->pending_openorder_purchase($cname, $prod, $fa, $aa, $m, $frm, $t, $purchaseorder_number); + $pending_purchase_details = array_merge($normal_purchase_details, $orderorder_purchase_details); + } $data['pono'] = $this->dahsboard_Model->purchase_order_list(); $data['material'] = $this->dahsboard_Model->material_name(); $data['cust'] = $this->dahsboard_Model->customer_name(); $data['finyear'] = $this->dahsboard_Model->report_finyear(); $data['headline'] = $headline; + usort($pending_purchase_details, function ($a, $b) { + return strtotime($b->raw_date) - strtotime($a->raw_date); + }); $data['ppurchse'] = $pending_purchase_details; // Load the view diff --git a/app/Models/Dashboard_model.php b/app/Models/Dashboard_model.php index 12a3925f..03fad74c 100755 --- a/app/Models/Dashboard_model.php +++ b/app/Models/Dashboard_model.php @@ -2218,6 +2218,72 @@ category = '" . $cat . "' "; //echo $sql; return $query->getResult(); } + + function pending_openorder_purchase($cname, $prod, $fa, $aa, $m, $frm, $t, $purchaseorder_number){ + + $sql = "select po.PONO as po, + date_format(po.PODate,'%d-%m-%Y') as pdate, + sup.SupplierName as supplier, + mm.MaterialName as material, + cd.ConfigValue as category, + IFNULL(SUM(pl.Quantity), 0) AS quantity, + IFNULL(SUM(id.QuantityAsPerInvoice), 0) AS received, + GREATEST( + IFNULL(SUM(pl.Quantity), 0) - IFNULL(SUM(id.QuantityAsPerInvoice), 0), + 0 + ) AS pending,po.PODate AS raw_date +from t_purchaseorder_lineitem pl +join t_purchaseorder_master po on po.PONO = pl.PONO +join t_supplierdetailsn sup on sup.SupplierID=po.SupplierID +join t_materialmaster mm on mm.MaterialCode=pl.MaterialCode +join t_configdetails cd on cd.key = mm.Category +left join t_igr_master im on im.PONO = pl.PONO +left join t_igr_details id on id.IGRNO = im.IGRNO + and id.MaterialCode = pl.MaterialCode +where po.Status != 'ST030' and po.Status = 'ST026' and po.IsOpenOrder = 1"; + if ($cname != '') { + + $sql .= " and sup.SupplierName = '" . $cname . "'"; + } + + + + if ($fa and $aa != '') { + + $sql .= " and (po.PODate >= '" . $fa . "-04-01' and po.PODate <= '" . $aa . "-03-31')"; + } + if ($m != '') { + + $sql .= " and monthname(po.PODate) = '" . $m . "'"; + } + + if ($frm and $t != '') { + $fromd = date("Y-m-d", strtotime($frm)); + $tod = date("Y-m-d", strtotime($t)); + + $sql .= " and date(po.PODate) >= '" . $fromd . "' + and date(po.PODate) <= '" . $tod . "'"; + } + if ($prod != '') { + + $sql .= " and mm.MaterialName = '" . $prod . "' "; + } + // if ($cat!= ''){ + + // $sql.=" and mm.Category = '".$cat."' "; + + // } + + if ($purchaseorder_number != '') { + $sql .= " and po.PONO = '" . $purchaseorder_number . "' "; + } + $sql .= " order by date(po.PODate) desc"; + $query = $this->db->query($sql); + //echo $sql; + return $query->getResult(); + + } + function pending_purchase($cname, $prod, $fa, $aa, $m, $frm, $t, $purchaseorder_number) { @@ -2228,7 +2294,7 @@ category = '" . $cat . "' "; cd.ConfigValue as category, pl.Quantity as quantity, pl.ReceivedQuantity as received, - (pl.Quantity - pl.ReceivedQuantity) as pending + (pl.Quantity - pl.ReceivedQuantity) as pending,po.PODate AS raw_date from t_purchaseorder_lineitem pl join t_purchaseorder_master po on po.PONO = pl.PONO join t_supplierdetailsn sup on sup.SupplierID=po.SupplierID