diff --git a/app/Controllers/StockController.php b/app/Controllers/StockController.php index b37fe08b..974027ac 100644 --- a/app/Controllers/StockController.php +++ b/app/Controllers/StockController.php @@ -142,15 +142,13 @@ class StockController extends BaseController $materialCodes = $this->rawmaterialdetails_model->getAllSilicaRawMaterialCode(); - if (!empty($materialCodes)) { // Proceed if there are matching MaterialCodes + if (!empty($materialCodes)) { $data['igrDetails'] = $this->inwardGateRegister_model->findIgrForSilicaSand($materialCodes,$month); } else { - $data['igrDetails'] = []; // If no materials found, return an empty array + $data['igrDetails'] = []; } - //$data['incomingSilicaSandDetails']=$this->incomingSilicaSandDetails_model-> - return $this->loadViews("incomingSilicaSandDetails", $this->global, $data, NULL); } diff --git a/app/Models/Inwardgateregister_model.php b/app/Models/Inwardgateregister_model.php index 2bb3b31e..43901fae 100755 --- a/app/Models/Inwardgateregister_model.php +++ b/app/Models/Inwardgateregister_model.php @@ -1034,14 +1034,15 @@ class Inwardgateregister_model extends Model public function findIgrForSilicaSand($materialCodes, $month) { $builder = $this->db->table('t_igr_details') - ->select('t_igr_details.IGRNO, + ->select( + 't_igr_details.IGRNO, + t_igr_details.Remarks, t_igr_details.MaterialCode, igrMast.DeliveryChellanOrInvoiceNo as invoiceNo, igrMast.DeliveryChellanDate as invoiceDate, igrMast.MaterialRcvdDate as materialRecievedDate, - supplierDetails.SupplierName, igrMast.VehicleNo, - t_igr_details.Remarks, + supplierDetails.SupplierName, SUM(t_igr_details.QuantityAsPerInvoice) as Qty, issd.* ') ->whereIn('t_igr_details.MaterialCode', $materialCodes) @@ -1049,11 +1050,10 @@ class Inwardgateregister_model extends Model ->groupBy('t_igr_details.IGRNO, t_igr_details.MaterialCode') ->join('t_igr_master igrMast', 'igrMast.IGRNO = t_igr_details.IGRNO') ->join('t_incomingSilicaSandDetails issd', - 'issd.igrNo_fk = t_igr_details.IGRNO AND issd.materialCode = t_igr_details.MaterialCode','left') + 'issd.igrNo_fk = t_igr_details.IGRNO AND issd.materialCode = t_igr_details.MaterialCode','left') ->join('t_purchaseorder_master poMaster', 'poMaster.PONO = igrMast.PONO', 'left') ->join('t_supplierdetailsn supplierDetails', 'supplierDetails.SupplierID = poMaster.SupplierID', 'left') - - ->orderBy('t_igr_details.CreatedDate', 'DESC'); + ->orderBy('t_igr_details.CreatedDate', 'DESC'); $query = $builder->get(); $result = $query->getResultArray(); diff --git a/app/Views/incomingSilicaSandDetails.php b/app/Views/incomingSilicaSandDetails.php index 347441e8..e8d331e2 100644 --- a/app/Views/incomingSilicaSandDetails.php +++ b/app/Views/incomingSilicaSandDetails.php @@ -213,8 +213,8 @@ - - + + @@ -262,14 +262,21 @@ $index++; ?> + + - + + + + + + - + + - - - - - - - - - - - - - - - - + + + + - - - - - - - - + + + + + @@ -412,9 +500,6 @@ $(document).ready(function() { - $('.timeDropdown').select2({ - placeholder: "Select a time", - }); $('#save').click(function() { @@ -527,7 +612,7 @@ let [hours, minutes] = timePart.split(":"); // Convert hours to a number - hours = parseInt(hours, 10); + hours = parseFloat(hours, 10); // Adjust hours based on AM/PM if (modifier === "PM" && hours < 12) { @@ -563,6 +648,66 @@ function gasPerTon(parentId , textContent) { tr.find('td:eq(8)').text(0.0); } +} + +function calculateRow(rowId){ + var tr=$(`#`+rowId); + var qty=tr.find('td:eq(9)').text(); + var _10 = tr.find('td:eq(10)').text(); + var _20 = tr.find('td:eq(11)').text(); + var _30 = tr.find('td:eq(12)').text(); + var _40 = tr.find('td:eq(13)').text(); + var _50 = tr.find('td:eq(14)').text(); + var _70 = tr.find('td:eq(15)').text(); + var _100 = tr.find('td:eq(16)').text(); + var _140 = tr.find('td:eq(17)').text(); + var _200 = tr.find('td:eq(18)').text(); + var _300 = tr.find('td:eq(19)').text(); + var pan = tr.find('td:eq(20)').text(); + var total = tr.find('td:eq(21)').text(); + var afsSpec = tr.find('td:eq(22)').text(); + var afsActual = tr.find('td:eq(23)').text(); + var plus20Loss = tr.find('td:eq(24)').text(); + var plus30Loss = tr.find('td:eq(25)').text(); + var moistureSpec = tr.find('td:eq(26)').text(); + var moistureActual = tr.find('td:eq(27)').text(); + var moistureLoss = tr.find('td:eq(28)').text(); + var moistureLossQty = tr.find('td:eq(29)').text(); + var sieveLossQty = tr.find('td:eq(30)').text(); + var salableQty = tr.find('td:eq(31)').text(); + + let newTotal =parseFloat(_10) +parseFloat(_20) +parseFloat(_30) +parseFloat(_40) +parseFloat(_50) +parseFloat(_70) +parseFloat(_100) + + parseFloat(_140) +parseFloat(_200) +parseFloat(_300) +parseFloat(pan); + //total td + tr.find('td:eq(21)').text(newTotal); + + let newPlus20Loss = parseFloat(_10) +parseFloat(_20) ; + //plus20Loss td + tr.find('td:eq(24)').text(newPlus20Loss); + + let newPlus30Loss = parseFloat(_10) +parseFloat(_20) + parseFloat(_30) ; + //plus30Loss td + tr.find('td:eq(25)').text(newPlus30Loss); + + let newMoistureLoss = parseFloat(moistureActual) - parseFloat(moistureSpec) ; + //moistureLoss td + tr.find('td:eq(28)').text(newMoistureLoss); + + let newMoistureLossQty = Math.round((parseFloat(qty) * newMoistureLoss) / 100 ) ; + //moistureLossqty td + tr.find('td:eq(29)').text(newMoistureLossQty.toLocaleString()); + + let newSieveLossQty = Math.floor((parseFloat(qty) * newPlus30Loss) / 100) ; + //sieveLossQty td + tr.find('td:eq(30)').text(newSieveLossQty.toLocaleString()); + + let newSalableQty = Math.floor(parseFloat(qty) - newMoistureLossQty - newSieveLossQty) ; + //salableQty td + tr.find('td:eq(31)').text(newSalableQty.toLocaleString()); + + + + } function moistureLossQty(parentId , textContent) {
S.NO S.NO IGR No Invoice No Invoice Date
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + +