diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index b355669b..1b1667a7 100755
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -303,6 +303,7 @@ $routes->post('purchaseorder/EditRevenuePurchaseOrder', 'Purchaseorder::EditReve
$routes->post('purchaseorder/deletePurchaseOrderFile', 'Purchaseorder::deletePurchaseOrderFile');
$routes->post('VerifyWithSupplierForPendingPO', 'Purchaseorder::VerifyWithSupplierForPendingPO');
+$routes->post('exceedEditQuantityCheck', 'Purchaseorder::exceedEditQuantityCheck');
diff --git a/app/Controllers/Amendmentpurchaseorder.php b/app/Controllers/Amendmentpurchaseorder.php
index 1ea82013..a007a8de 100755
--- a/app/Controllers/Amendmentpurchaseorder.php
+++ b/app/Controllers/Amendmentpurchaseorder.php
@@ -129,6 +129,10 @@ class Amendmentpurchaseorder extends BaseController
}
/* End Here */
+ $data['isOpenOrder'] = $this->purchaseorder_model->isOpenOrder($PONO)->IsOpenOrder;
+
+ $data['isOpenOrder'] = empty($data['isOpenOrder']) ? 0 : 1 ;
+
$data['POMaster'] = $this->purchaseorder_model->GetServicePurchaseOrder($PONO);
$data['MaxPODate'] = $this->purchaseorder_model->getLastCreatedPODate();
$data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006');
diff --git a/app/Controllers/Purchaseorder.php b/app/Controllers/Purchaseorder.php
index 29221e11..69db0027 100755
--- a/app/Controllers/Purchaseorder.php
+++ b/app/Controllers/Purchaseorder.php
@@ -661,6 +661,12 @@ class Purchaseorder extends BaseController
$data['MaxPODate'] = $this->purchaseorder_model->getLastReleasedPODate();
$data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006');
$data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018');
+
+ $data['isOpenOrder'] = $this->purchaseorder_model->isOpenOrder($PONO)->IsOpenOrder;
+
+ $data['isOpenOrder'] = empty($data['isOpenOrder']) ? 0 : 1 ;
+
+
if ($ReqType == SERVICE) {
$data['POItem'] = $this->purchaseorder_model->GetServicePurchaseOrderDetails($PONO);
@@ -4616,5 +4622,22 @@ class Purchaseorder extends BaseController
}
+ function exceedEditQuantityCheck(){
+
+ $ReqNo = $this->request->getPost('ReqNo');
+ $MaterialCode = $this->request->getPost('MaterialCode');
+ $PONO = $this->request->getPost('PONO');
+
+ $result = $this->purchaseorder_model->exceedEditQuantityCheck($ReqNo,$MaterialCode,$PONO);
+
+ return $this->response->setJSON(
+ [
+ 'status' => '201',
+ 'data' => $result
+ ]);
+
+ }
+
+
/*--------------------------------------------------------------------------------------*/
}
diff --git a/app/Controllers/StockController.php b/app/Controllers/StockController.php
index c15df34b..b331cc98 100644
--- a/app/Controllers/StockController.php
+++ b/app/Controllers/StockController.php
@@ -603,7 +603,7 @@ class StockController extends BaseController
$insertedId = $this->coatingMachineDetails_model->insert($postData);
if (!$insertedId) {
- throw new \Exception('Failed to insert Coating Machine Details.');
+ throw new \Exception('Failed to Insert Coating Machine Details.');
}
$this->updateGasConsumptionOrFail($postData['date'], $postData['totalGasConsumption']);
@@ -644,7 +644,7 @@ class StockController extends BaseController
$this->handleBatchCardUploads($id);
- $messages = ['successfully updated Coating machineDetail.'];
+ $messages = ['Successfully Updated Coating Machine Detail.'];
$this->handleGasConsumptionAdjustment($putData, $messages);
@@ -873,14 +873,14 @@ class StockController extends BaseController
foreach ($records as $i => &$r) {
if ($i == 0) {
- $r['consumption'] += (float)$consumption;
+ $r['consumption'] = (float) $r['consumption'] + (float)$consumption;
$r['total'] = (float)$r['opening'] + (float)$r['purchaseBharath'] + (float)$r['purchaseIndian'];
$r['balanceStock'] = $r['total'] - $r['consumption'];
$updatedOpeningStock = (int)$r['balanceStock'];
} else {
$r['opening'] = (float)$updatedOpeningStock;
$r['total'] = (float)$r['opening'] + (float)$r['purchaseBharath'] + (float)$r['purchaseIndian'];
- $r['balanceStock'] = $r['total'] - $r['consumption'];
+ $r['balanceStock'] = $r['total'] - (float) $r['consumption'];
$updatedOpeningStock = (int)$r['balanceStock'];
}
}
@@ -936,11 +936,6 @@ class StockController extends BaseController
$customisedMachineCodes = $this->getOrUpdateCustomisedMachineCodes($month);
- if ($this->isCurrentMonth($startDate, $endDate, $currentDate)) {
- $this->ensureDieselDetailsForMonth($customisedMachineCodes, $startDate, $endDate);
- }
-
-
$dieselMachines = $this->factoryMachine_model->getSelectedDieselMachines($customisedMachineCodes);
$dieselMachinesCount = count($dieselMachines);
@@ -948,6 +943,14 @@ class StockController extends BaseController
[$prevDetails, $prevTotals] = $this->getPreviousMonthStockDetails($month);
$data['previousMonthDieselMachineStockDetails'] = $prevDetails;
$data['previousMonthTotalDieselMachineStockDetails'] = $prevTotals;
+
+ $previousMonth = DateTime::createFromFormat('Y-m-d', "$month-01")->modify('-1 month')->format('Y-m');
+ $prevStart = "$previousMonth-01";
+ $prevEnd = date("Y-m-t", strtotime($prevStart));
+
+ if ($this->isCurrentMonth($startDate, $endDate, $currentDate)) {
+ $this->ensureDieselDetailsForMonth($customisedMachineCodes, $startDate, $endDate, $prevEnd);
+ }
$data['dieselMachineStockDetails'] = $this->factoryVehicleDieselDetails_model
@@ -1250,29 +1253,7 @@ class StockController extends BaseController
//this existingCustomMachineCodes gets its machine after visiting factory machine master table
$machineCodeList = array_column($existingCustomMachineCodes, 'id');
- $currentDate = new DateTime();
-
-
- if($startDate == $currentDate->format('Y-m-01') && $endDate == $currentDate->format('Y-m-t')){
-
- foreach($machineCodeList as $index => $machineCode){
-
- //checking filtered material code present in table , if not create dummy one for whole month
- $findMachineCode = $this->powerConsumptionDetails_model
- ->where('date >=', $startDate)
- ->where('date <=', $endDate)
- ->where('machine_id',$machineCode)
- ->findAll();
-
-
- //check any material code is not present in stock table but applied in filter
- if(empty($findMachineCode)){
- //create dummy entry for this
- $this->createDummyEntryForElectricMachine($machineCode,$startDate,$endDate);
- }
-
- }
- }
+
@@ -1304,6 +1285,30 @@ class StockController extends BaseController
->orderBy('machine_id', 'asc')
->findAll();
+ $currentDate = new DateTime();
+
+
+ if($startDate == $currentDate->format('Y-m-01') && $endDate == $currentDate->format('Y-m-t')){
+
+ foreach($machineCodeList as $index => $machineCode){
+
+ //checking filtered material code present in table , if not create dummy one for whole month
+ $findMachineCode = $this->powerConsumptionDetails_model
+ ->where('date >=', $startDate)
+ ->where('date <=', $endDate)
+ ->where('machine_id',$machineCode)
+ ->findAll();
+
+
+ //check any material code is not present in stock table but applied in filter
+ if(empty($findMachineCode)){
+ //create dummy entry for this
+ $this->createDummyEntryForElectricMachine($machineCode,$startDate,$endDate , $previousMonthEndDate);
+ }
+
+ }
+ }
+
$data['previousMonthTotalPowerMachineStockDetails'] = $this->powerConsumptionSummary_model
->select(['id', 'date', 'final_reading'])
->distinct()
@@ -1778,29 +1783,7 @@ class StockController extends BaseController
$materialCodeList = array_column($existingCustomMaterialCodes, 'MaterialCode');
- $currentDate = new DateTime();
- if($startDate == $currentDate->format('Y-m-01') && $endDate == $currentDate->format('Y-m-t')){
-
- foreach($materialCodeList as $index => $materialCode){
-
-
- //checking filtered material code present in table , if not create dummy one for whole month if it is current month
- $findMachineCode = $this->resinStockDetails_model
- ->where('date >=', $startDate)
- ->where('date <=', $endDate)
- ->where('materialCode',$materialCode)
- ->findAll();
-
-
- //check any material code is not present in stock table but applied in filter
- if(empty($findMachineCode)){
- //create dummy entry for this
- $this->createDummyEntryForResin($materialCode,$startDate,$endDate);
- }
-
- }
- }
@@ -1825,6 +1808,31 @@ class StockController extends BaseController
->findAll();
+ $currentDate = new DateTime();
+
+ if($startDate == $currentDate->format('Y-m-01') && $endDate == $currentDate->format('Y-m-t')){
+
+ foreach($materialCodeList as $index => $materialCode){
+
+
+ //checking filtered material code present in table , if not create dummy one for whole month if it is current month
+ $findMachineCode = $this->resinStockDetails_model
+ ->where('date >=', $startDate)
+ ->where('date <=', $endDate)
+ ->where('materialCode',$materialCode)
+ ->findAll();
+
+
+ //check any material code is not present in stock table but applied in filter
+ if(empty($findMachineCode)){
+ //create dummy entry for this
+ $this->createDummyEntryForResin($materialCode,$startDate,$endDate ,$previousMonthEndDate);
+ }
+
+ }
+ }
+
+
// checking in database if the data is available for the month
@@ -2158,31 +2166,7 @@ class StockController extends BaseController
$materialCodeList = array_column($existingCustomMaterialCodes, 'MaterialCode');
- $currentDate = new DateTime();
- if($startDate == $currentDate->format('Y-m-01') && $endDate == $currentDate->format('Y-m-t')){
-
- foreach($materialCodeList as $index => $materialCode){
-
-
- //checking filtered material code present in table , if not create dummy one for whole month for current month only
- $findMachineCode = $this->bagStockDetails_model
- ->where('date >=', $startDate)
- ->where('date <=', $endDate)
- ->where('materialCode',$materialCode)
- ->findAll();
-
-
- //check any material code is not present in stock table but applied in filter
- if(empty($findMachineCode)){
- //create dummy entry for this
- $this->createDummyEntryForBag($materialCode,$startDate,$endDate);
- }
-
- }
- }
-
-
$bagMaterials = $existingCustomMaterialCodes ;
@@ -2207,6 +2191,31 @@ class StockController extends BaseController
->findAll();
+ $currentDate = new DateTime();
+
+ if($startDate == $currentDate->format('Y-m-01') && $endDate == $currentDate->format('Y-m-t')){
+
+ foreach($materialCodeList as $index => $materialCode){
+
+
+ //checking filtered material code present in table , if not create dummy one for whole month for current month only
+ $findMachineCode = $this->bagStockDetails_model
+ ->where('date >=', $startDate)
+ ->where('date <=', $endDate)
+ ->where('materialCode',$materialCode)
+ ->findAll();
+
+
+ //check any material code is not present in stock table but applied in filter
+ if(empty($findMachineCode)){
+ //create dummy entry for this
+ $this->createDummyEntryForBag($materialCode,$startDate,$endDate , $previousMonthEndDate);
+ }
+
+ }
+ }
+
+
// checking in database if the data is available for the month
@@ -2935,24 +2944,35 @@ class StockController extends BaseController
return $dateInput;
}
- public function createDummyEntryForBag($customisedMaterialCode, $startDate, $endDate)
+ public function createDummyEntryForBag($customisedMaterialCode, $startDate, $endDate , $previousMonthEndDate)
{
if (!empty($customisedMaterialCode)) {
$inserts = [];
// Convert start and end date to timestamps
$startTimestamp = strtotime($startDate);
- $endTimestamp = strtotime($endDate);
+ $endTimestamp = strtotime($endDate);
+
+ $previousMonthBalance = $this->bagStockDetails_model
+ ->select(['materialCode', 'date', 'balanceStock'])
+ ->distinct()
+ ->where('date =', $previousMonthEndDate)
+ ->where('materialCode', $customisedMaterialCode)
+ ->groupBy(['materialCode', 'date'])
+ ->orderBy('date', 'desc')
+ ->orderBy('materialCode', 'asc')
+ ->findAll();
+
while ($startTimestamp <= $endTimestamp) {
$inserts[] = [
'date' => date('Y-m-d', $startTimestamp), // Convert timestamp to date format
'materialCode' => $customisedMaterialCode,
'customer' => ' ',
- 'opening' => ' ',
+ 'opening' => $previousMonthBalance[0]['balanceStock'] ?? ' ',
'receipt' => ' ',
'used' => ' ',
- 'balanceStock' => ' ',
+ 'balanceStock' => $previousMonthBalance[0]['balanceStock'] ?? ' ',
];
$startTimestamp = strtotime('+1 day', $startTimestamp); // Move to the next day
@@ -2963,7 +2983,7 @@ class StockController extends BaseController
}
}
}
- public function createDummyEntryForResin($customisedMaterialCode, $startDate, $endDate)
+ public function createDummyEntryForResin($customisedMaterialCode, $startDate, $endDate ,$previousMonthEndDate)
{
if (!empty($customisedMaterialCode)) {
$inserts = [];
@@ -2971,16 +2991,26 @@ class StockController extends BaseController
// Convert start and end date to timestamps
$startTimestamp = strtotime($startDate);
$endTimestamp = strtotime($endDate);
+
+ $previousMonthBalance = $this->resinStockDetails_model
+ ->select(['materialCode', 'date', 'balanceStock'])
+ ->distinct()
+ ->where('date =', $previousMonthEndDate)
+ ->where('materialCode', $customisedMaterialCode)
+ ->groupBy(['materialCode', 'date'])
+ ->orderBy('date', 'desc')
+ ->orderBy('materialCode', 'asc')
+ ->findAll();
while ($startTimestamp <= $endTimestamp) {
$inserts[] = [
'date' => date('Y-m-d', $startTimestamp), // Convert timestamp to date format
'materialCode' => $customisedMaterialCode,
'customer' => ' ',
- 'opening' => ' ',
+ 'opening' => $previousMonthBalance[0]['balanceStock'] ?? ' ',
'receipt' => ' ',
'used' => ' ',
- 'balanceStock' => ' ',
+ 'balanceStock' => $previousMonthBalance[0]['balanceStock'] ?? ' ',
];
$startTimestamp = strtotime('+1 day', $startTimestamp); // Move to the next day
@@ -2992,7 +3022,7 @@ class StockController extends BaseController
}
}
- public function createDummyEntryForDieselMachine($customisedMachineCode, $startDate, $endDate)
+ public function createDummyEntryForDieselMachine($customisedMachineCode, $startDate, $endDate ,$prevEnd)
{
if (!empty($customisedMachineCode)) {
$inserts = [];
@@ -3000,14 +3030,30 @@ class StockController extends BaseController
// Convert start and end date to timestamps
$startTimestamp = strtotime($startDate);
$endTimestamp = strtotime($endDate);
-
+
+
+
+ $previousMonthBalance = $this->factoryVehicleDieselDetails_model
+ ->select(['machine_id', 'date', 'closing_reading'])
+ ->distinct()
+ ->where('date =', $prevEnd)
+ ->where('machine_id', $customisedMachineCode)
+ ->groupBy(['machine_id', 'date'])
+ ->orderBy('date', 'desc')
+ ->orderBy('machine_id', 'asc')
+ ->findAll();
+
+
while ($startTimestamp <= $endTimestamp) {
$inserts[] = [
'date' => date('Y-m-d', $startTimestamp), // Convert timestamp to date format
'machine_id' => $customisedMachineCode,
- 'opening_units' => ' ',
- 'closing_units' => ' ',
- 'total_units' => ' ',
+ 'opening_reading' => $previousMonthBalance[0]['closing_reading'] ?? ' ',
+ 'closing_reading' => $previousMonthBalance[0]['closing_reading'] ?? ' ',
+ 'filling_diesel' => ' ',
+ 'consumption' => ' ',
+ 'running_hours' => ' ',
+ 'mileage' => ' ',
];
$startTimestamp = strtotime('+1 day', $startTimestamp); // Move to the next day
@@ -3019,7 +3065,7 @@ class StockController extends BaseController
}
}
- public function createDummyEntryForElectricMachine($customisedMachineCode, $startDate, $endDate)
+ public function createDummyEntryForElectricMachine($customisedMachineCode, $startDate, $endDate ,$previousMonthEndDate)
{
if (!empty($customisedMachineCode)) {
$inserts = [];
@@ -3027,13 +3073,24 @@ class StockController extends BaseController
// Convert start and end date to timestamps
$startTimestamp = strtotime($startDate);
$endTimestamp = strtotime($endDate);
-
+
+ $previousMonthBalance = $this->powerConsumptionDetails_model
+ ->select(['machine_id', 'date', 'closing_units'])
+ ->distinct()
+ ->where('date =', $previousMonthEndDate)
+ ->where('machine_id', $customisedMachineCode)
+ ->groupBy(['machine_id', 'date'])
+ ->orderBy('date', 'desc')
+ ->orderBy('machine_id', 'asc')
+ ->findAll();
+
+
while ($startTimestamp <= $endTimestamp) {
$inserts[] = [
'date' => date('Y-m-d', $startTimestamp), // Convert timestamp to date format
'machine_id' => $customisedMachineCode,
- 'opening_units' => ' ',
- 'closing_units' => ' ',
+ 'opening_units' => $previousMonthBalance[0]['closing_units'] ?? ' ',
+ 'closing_units' => $previousMonthBalance[0]['closing_units'] ?? ' ',
'total_units' => ' ',
];
@@ -3311,7 +3368,7 @@ class StockController extends BaseController
return $startDate == $currentDate->format('Y-m-01') && $endDate == $currentDate->format('Y-m-t');
}
- private function ensureDieselDetailsForMonth($machineCodes, $startDate, $endDate)
+ private function ensureDieselDetailsForMonth($machineCodes, $startDate, $endDate, $prevEnd)
{
foreach ($machineCodes as $code) {
$exists = $this->factoryVehicleDieselDetails_model
@@ -3321,7 +3378,7 @@ class StockController extends BaseController
->findAll();
if (empty($exists)) {
- $this->createDummyEntryForDieselMachine($code, $startDate, $endDate);
+ $this->createDummyEntryForDieselMachine($code, $startDate, $endDate, $prevEnd);
}
}
}
diff --git a/app/Models/Purchaseorder_model.php b/app/Models/Purchaseorder_model.php
index c4641b91..29ac3ce8 100755
--- a/app/Models/Purchaseorder_model.php
+++ b/app/Models/Purchaseorder_model.php
@@ -1153,15 +1153,38 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
function GetRevenuePurchaseOrderDetails($PONO = '')
{
- $subQuery = 'SELECT distinct LineItem.LineitemAuditorNotes,LineItem.LineItemNo,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,Mat.UOM,Quantity,Per,ServiceMaterialDescription,ReceivedQuantity,Rate,Req.Status,(Quantity *Rate) as BasicValue , (( AfterSGST + AfterCGST +
- AfterIGST )) as Taxamount ,TotalValue,Tax.*,Req.CostCenterCode,Dept.DepartmentName,LineItem.LineitemAuditorNotes,Mat.HSNCODE
- FROM t_purchaseorder_lineitem LineItem
- join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
- left join t_revenue_tax Tax on Tax.LineItemNo = LineItem.LineItemNo
- join t_requestion_master Req on Req.ReqNo = LineItem.ReqNo
- left join t_employee_details emp on Req.Requestedby = emp.EmpID
- join t_departmentdetails Dept on Req.RequestedDept = Dept.DEPCode
- where LineItem.PONO =?';
+ $subQuery = 'SELECT distinct
+ LineItem.LineitemAuditorNotes,
+ LineItem.LineItemNo,
+ Req.ReqNo,
+ Mat.MaterialCode,
+ Mat.MaterialName,
+ Mat.UOM,
+ Quantity,
+ Per,
+ ServiceMaterialDescription,
+ ReceivedQuantity,
+ Rate,
+ Req.Status,
+ (Quantity *Rate) as BasicValue ,
+ (( AfterSGST + AfterCGST +
+ AfterIGST )) as Taxamount ,
+ TotalValue,
+ Tax.*,
+ Req.CostCenterCode,
+ Dept.DepartmentName,
+ LineItem.LineitemAuditorNotes,
+ Mat.HSNCODE
+
+ FROM t_purchaseorder_lineitem LineItem
+
+ join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
+ left join t_revenue_tax Tax on Tax.LineItemNo = LineItem.LineItemNo
+ join t_requestion_master Req on Req.ReqNo = LineItem.ReqNo
+ left join t_employee_details emp on Req.Requestedby = emp.EmpID
+ join t_departmentdetails Dept on Req.RequestedDept = Dept.DEPCode
+
+ where LineItem.PONO =?';
$query = $this->db->query($subQuery, array($PONO));
@@ -2629,6 +2652,112 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
}
+ function isOpenOrder($PONO){
+
+ $builder = $this->db->table('t_purchaseorder_master POMast')
+ ->select('IsOpenOrder')
+ ->where('PONO',$PONO);
+ $query = $builder->get();
+ $result = $query->getRow();
+
+ return $result;
+
+ }
+
+ public function getRequisitionMaterialInfo($reqNos)
+ {
+ $builder = $this->db->table('t_requestion_details Req')
+
+ ->select("
+ Req.MaterialCode,
+ Req.ReqNo,
+ mat.MaterialName,
+ mat.UOM, Req.Quantity,
+ SUM(Req.Quantity - IFNULL(Line.Quantity, 0)) AS BalancedQuantity,
+ mat.material_rate,
+ mat.HSNCODE")
+
+ ->join('t_materialmaster mat', 'Req.MaterialCode = mat.MaterialCode')
+ ->join('t_purchaseorder_lineitem Line', 'Line.ReqNo = Req.ReqNo AND Line.MaterialCode = Req.MaterialCode', 'left')
+ ->whereIn('Req.ReqNo', $reqNos);
+ $query = $builder->groupBy('Req.MaterialCode')->get();
+ return $query->getResult();
+ }
+
+
+public function exceedEditQuantityCheck($ReqNo, $MaterialCode,$PONO)
+{
+ $subQuery1 =
+ 'SELECT
+ tpolm.ReqNo,
+ tpolm.MaterialCode,
+ SUM(tpol.Quantity) AS usedReqQty
+ FROM
+ (
+ SELECT
+ pol.ReqNo,
+ pol.MaterialCode,
+ MAX(pol.PONO) AS PONO
+
+ FROM t_purchaseorder_lineitem pol
+ WHERE pol.ReqNo = ?
+ AND pol.MaterialCode = ?
+ GROUP BY
+ pol.ReqNo,
+ pol.MaterialCode,
+ CASE
+ WHEN INSTR(pol.PONO, ".") > 0 THEN SUBSTR(pol.PONO, 1, INSTR(pol.PONO, ".") - 1)
+ ELSE pol.PONO
+ END
+ ) as tpolm
+
+ Inner JOIN t_purchaseorder_lineitem tpol
+ ON tpol.ReqNo = tpolm.ReqNo
+ AND tpol.MaterialCode = tpolm.MaterialCode
+ AND tpol.PONO = tpolm.PONO
+
+ GROUP BY tpolm.ReqNo, tpolm.MaterialCode';
+
+ $query1 = $this->db->query($subQuery1, [$ReqNo, $MaterialCode]);
+
+ $usedReqQty = $query1->getResultArray();
+
+ $subQuery2 =
+ ' SELECT
+ Req.Quantity AS originalReqQty
+ From t_requestion_details Req
+ WHERE Req.ReqNo = ?
+ AND Req.MaterialCode = ?';
+
+ $query2 = $this->db->query($subQuery2, [$ReqNo, $MaterialCode]);
+
+ $originalReqQty = $query2->getResultArray();
+
+
+ $subQuery3 =
+ ' SELECT
+ SUM(tpol.Quantity) AS currentPOQty
+ From t_purchaseorder_lineitem tpol
+ WHERE tpol.ReqNo = ?
+ AND tpol.MaterialCode = ?
+ AND tpol.PONO = ?
+ GROUP BY tpol.ReqNo, tpol.MaterialCode , tpol.PONO';
+
+ $query3 = $this->db->query($subQuery3, [$ReqNo, $MaterialCode, $PONO]);
+
+ $currentPOQty = $query3->getResultArray();
+
+
+
+ return [
+ 'usedReqQty' => $usedReqQty,
+ 'originalReqQty' => $originalReqQty,
+ 'currentPOQty' => $currentPOQty
+ ];
+}
+
+
+
}
diff --git a/app/Views/EditservicePurchaseorder.php b/app/Views/EditservicePurchaseorder.php
index f9e97947..f45bab2f 100755
--- a/app/Views/EditservicePurchaseorder.php
+++ b/app/Views/EditservicePurchaseorder.php
@@ -76,7 +76,9 @@
}
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1850,7 +1391,7 @@ if (!empty($getlogpodtl)) {
'Quantity', 'value' => set_value('Quantity'), 'id' => 'Quantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'Ratechange()');
+ $data = array('name' => 'Quantity', 'value' => set_value('Quantity'), 'id' => 'Quantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'ExceedQuantityCheck();Ratechange()');
echo form_input($data);
?>
@@ -2129,7 +1670,7 @@ if (!empty($getlogpodtl)) {
'EditQuantity', 'value' => set_value('EditQuantity'), 'id' => 'EditQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'EditRatechange()');
+ $data = array('name' => 'EditQuantity', 'value' => set_value('EditQuantity'), 'id' => 'EditQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'ExceedEditQuantityCheck();EditRatechange();');
echo form_input($data);
?>
@@ -2531,6 +2072,19 @@ if (!empty($getlogpodtl)) {
+
+
+
+
+
+
+
+
+
+
+
+
+
exceedEditQuantityCheck completed....!!");
+ $('#loader').hide();
+ }
+ });
+
+
+ }
+
+ function ExceedEditQuantityCheck() {
+
+ let availableReqQty = 0 ;
+ let usedReqQty = 0;
+ let originalReqQty = 0;
+
+ $('#loader').show();
+
+ $.ajax({
+ type: "POST",
+ url: "exceedEditQuantityCheck",
+ data: {
+ 'ReqNo': $('#EditReqNo').val(),
+ 'MaterialCode': $('#EditMaterialCode').val(),
+ 'PONO' : ""
+ },
+ success: function (response) {
+
+ usedReqQty = response.data.usedReqQty[0].usedReqQty;
+
+ originalReqQty = response.data.originalReqQty[0].originalReqQty;
+
+ currentPOQty = response.data.currentPOQty[0].currentPOQty;
+
+ availableReqQty = parseFloat(originalReqQty) - parseFloat(usedReqQty);
+
+ availableReqQty += parseFloat(currentPOQty);
+
+ var EnterQuantity = $("#EditQuantity").val() == '' ? "0.00" : parseFloat($("#EditQuantity").val());
+
+ availableReqQty = parseFloat(availableReqQty);
+
+
+ if(EnterQuantity > availableReqQty && isOpenOrder == 0)
+ {
+ alert('Your exceeding the Quantity from the Available Requisition Quantity:'+ availableReqQty +'.Please adjust the Quantity to proceed further.');
+ $('#EditQuantity').focus();
+ $('#EditQuantity').val('');
+ return false;
+ }
+ else
+ {
+
+ return true;
+
+ }
+ },
+ error: function (xhr, status, error) {
+ console.error("Error fetching requisition quantity: " + error);
+ },complete: function () {
+ console.log("Ajax request for ---> exceedEditQuantityCheck completed....!!");
+ $('#loader').hide();
+ }
+ });
+
+
+ }
+
+
+
+function ExceedBudget(ValuetoCheck, budgetAmount) {
+var ReqAmount = parseFloat(ValuetoCheck);
+var BudAmount = parseFloat(budgetAmount);
+
+// if(ReqAmount > BudAmount )
+// {
+// alert('Your exceeding the Avaiable Budget :'+ AvilBudAmt +'.Please adjust the Product to proceed further.');
+// return false;
+// }
+// else
+// {
+return true;
+//}
+}
+
+function calculateServiceTax(varBasicValue) {
+
+var basicValue = parseFloat(varBasicValue);
+
+var ServiceTaxValue = 0.0;
+
+ServiceTaxValue = ;
+
+var TAXval = parseFloat(ServiceTaxValue).toFixed(2);
+
+return TAXval; // $('#AfterServiceTax').val(TAXval);
+
+}
+
+function calculateEduess(varAfterServiceTax) {
+var ServiceTaxAmount = parseFloat(varAfterServiceTax);
+
+var ServiceTaxValue = 0.0;
+
+ServiceTaxValue = ;
+
+var TAXval = parseFloat(ServiceTaxValue).toFixed(2);
+
+return TAXval; // $('#AfterEduCess').val(TAXval);
+}
+
+function calculateHigherEdu(varAfterServiceTax) {
+var ServiceTaxAmount = parseFloat(varAfterServiceTax);
+
+var ServiceTaxValue = 0.0;
+
+ServiceTaxValue = ;
+
+var TAXval = parseFloat(ServiceTaxValue).toFixed(2);
+
+return TAXval; //$('#AfterSecHighTax').val(TAXval);
+}
+
+function calculateKrishiKalyantax(varBasicValue) {
+var basicValue = parseFloat(varBasicValue);
+
+var ServiceTaxValue = 0.0;
+
+ServiceTaxValue = ;
+
+var TAXval = parseFloat(ServiceTaxValue).toFixed(2);
+
+return TAXval; //$('#AfterKrishiTax').val(TAXval);
+}
+
+function calculateSwachhBharattax(varBasicValue) {
+var basicValue = parseFloat(varBasicValue);
+
+var ServiceTaxValue = 0.0;
+
+ServiceTaxValue = ;
+
+var TAXval = parseFloat(ServiceTaxValue).toFixed(2);
+
+return TAXval; //$('#AfterSwachhTax').val(TAXval);
+}
+
+function calculateTotalOrdervalue() {
+var basicValue = parseFloat($('#txtBasicValue').val());
+var Cgst = parseFloat($('#AfterCgst').val());
+var Sgst = parseFloat($('#AfterSgst').val());
+var Igst = parseFloat($('#AfterIgst').val());
+var OtherAmt = parseFloat($("#OtherAllowances").val() == '' ? "0.00" : $('#OtherAllowances').val());
+
+var TotAmt = basicValue + Cgst + Sgst + Igst + OtherAmt;
+
+$('#TotalOrderValue').val(parseFloat(TotAmt).toFixed(2));
+
+}
+
+function calculateTotalEditOrdervalue() {
+var basicValue = parseFloat($('#txtEditBasicValue').val());
+var Cgst = parseFloat($('#EditAfterCgst').val());
+var Sgst = parseFloat($('#EditAfterSgst').val());
+var Igst = parseFloat($('#EditAfterIgst').val());
+var OtherAmt = parseFloat($("#EditOtherAllowances").val() == '' ? "0.00" : $('#EditOtherAllowances').val());
+
+var TotAmt = basicValue + Cgst + Sgst + Igst + OtherAmt;
+
+$('#EditTotalOrderValue').val(parseFloat(TotAmt).toFixed(2));
+
+
+}
+
+function calculateTaxValue() {
+var Cgst = parseFloat($('#AfterCgst').val());
+var Sgst = parseFloat($('#AfterSgst').val());
+var Igst = parseFloat($('#AfterIgst').val());
+
+var TottaxAmt = Cgst + Sgst + Igst;
+return parseFloat(TottaxAmt).toFixed(2);
+}
+
+function clearTaxField() {
+$('#txtBasicValue').val('');
+$('#AfterCgst').val(0);
+$('#AfterSgst').val(0);
+$('#AfterIgst').val(0);
+$('#Cgst').val(0);
+$('#Sgst').val(0);
+$('#Igst').val(0);
+$('#TotalOrderValue ').val('');
+$('#Rate').val(0);
+
+$("#ItemName").val('');
+$("#UOM").val('');
+$("#Quantity").val('');
+RequistQuantity = '';
+
+}
+
+function clearEditTaxField() {
+$('#txtEditBasicValue').val('');
+$('#EditAfterEduCess').val('');
+$('#EditAfterSecHighTax').val('');
+$('#EditAfterServiceTax').val('');
+$('#EditAfterKrishiTax').val('');
+$('#EditAfterSwachhTax').val('');
+$('#EditTotalOrderValue').val('');
+$('#EditRate').val('');
+
+$("#EditItemName").val('');
+$("#EditUOM").val('');
+$("#EditQuantity").val('');
+RequistQuantity = '';
+
+}
+
+
+
+
+
diff --git a/app/Views/editCapitalAmendPO.php b/app/Views/editCapitalAmendPO.php
index 8085c0ec..c43831fb 100755
--- a/app/Views/editCapitalAmendPO.php
+++ b/app/Views/editCapitalAmendPO.php
@@ -1923,7 +1923,7 @@ if (!empty($POItem) && $CapitalRange == '1') {
'EditCPQuantity', 'value' => set_value('EditCPQuantity'), 'id' => 'EditCPQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'EditRatechange();calculateFreight(3);calculateFreightloceditper()');
+ $data = array('name' => 'EditCPQuantity', 'value' => set_value('EditCPQuantity'), 'id' => 'EditCPQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'ExceedEditQuantityCheck();EditRatechange();calculateFreight(3);calculateFreightloceditper()');
echo form_input($data);
?>
@@ -2858,26 +2858,8 @@ if (!empty($POItem) && $CapitalRange == '1') {
*/
+
-
- /* This function used to check quantity exceeding or not */
-
- // function ExceedQuantityCheck()
- // {
- // var EnterQuantity = $("#CPQuantity").val()== '' ? "0.00" : parseFloat($("#CPQuantity").val());
- // var ReqQuantity = parseFloat(RequistQuantity);
- // //alert(ReqQuantity);
- // if(EnterQuantity > ReqQuantity)
- // {
- // alert('Your exceeding the Quantity from the Requisition Quantity:'+ RequistQuantity +'.Please adjust the Quantity to proceed further.');
-
- // $('#CPQuantity').focus();
- // return false;
- // }
- // else {
- // return true;
- // }
- // }
/*
This function is used to calculate tax
*/
@@ -3693,9 +3675,7 @@ Calculate Landing charge
$('#EditCostCenter').focus();
return false;
}
- // EditExceedQuantityCheck();
- // if(EditExceedQuantityCheck()){
if ($('#EditCPQuantity').val() != '' && $('#EditCPRate').val() != '') {
@@ -3854,31 +3834,69 @@ Calculate Landing charge
$('CPRate').focus();
}
- // }
- // else{
- // clearTaxField();
- // }
}
- /* This function used to check quantity exceeding or not while Editing*/
+ /* This function used to check quantity exceeding or not while Editing */
- // function EditExceedQuantityCheck()
- // {
- // var EnterQuantity = $("#EditCPQuantity").val()== '' ? "0.00" : parseFloat($("#EditCPQuantity").val());
- // var ReqQuantity = parseFloat(RequistQuantity);
+ function ExceedEditQuantityCheck() {
- // //alert(ReqQuantity);
- // if(EnterQuantity > ReqQuantity)
- // {
- // alert('Your exceeding the Quantity from the Requisition Quantity:'+ RequistQuantity +'.Please adjust the Quantity to proceed further.');
- // $('#EditCPQuantity').focus();
- // return false;
- // }
- // else {
- // return true;
- // }
- // }
+ let availableReqQty = 0 ;
+ let usedReqQty = 0;
+ let originalReqQty = 0;
+
+ $('#loader').show();
+
+ $.ajax({
+ type: "POST",
+ url: "exceedEditQuantityCheck",
+ data: {
+ 'ReqNo': $('#EditReqnumber').val(),
+ 'MaterialCode': $('#EditMaterialCode').val(),
+ 'PONO' : ""
+ },
+ success: function (response) {
+
+ usedReqQty = response.data.usedReqQty[0].usedReqQty;
+
+ originalReqQty = response.data.originalReqQty[0].originalReqQty;
+
+ currentPOQty = response.data.currentPOQty[0].currentPOQty;
+
+ availableReqQty = parseFloat(originalReqQty) - parseFloat(usedReqQty);
+
+ availableReqQty += parseFloat(currentPOQty);
+
+ var EnterQuantity = $("#EditCPQuantity").val() == '' ? "0.00" : parseFloat($("#EditCPQuantity").val());
+
+ availableReqQty = parseFloat(availableReqQty);
+
+
+ if(EnterQuantity > availableReqQty )
+ {
+ alert('Your exceeding the Quantity from the Available Requisition Quantity:'+ availableReqQty +'.Please adjust the Quantity to proceed further.');
+ $('#EditCPQuantity').focus();
+ $('#EditCPQuantity').val('');
+ return false;
+ }
+ else
+ {
+
+ return true;
+
+ }
+ },
+ error: function (xhr, status, error) {
+ console.error("Error fetching requisition quantity: " + error);
+ },complete: function () {
+ console.log("Ajax request for ---> exceedEditQuantityCheck completed....!!");
+ $('#loader').hide();
+ }
+ });
+
+
+ }
+
/**
* This function is used for Edit Capital
*/
diff --git a/app/Views/editCapitalPo.php b/app/Views/editCapitalPo.php
index 1bb2d588..98b0848f 100755
--- a/app/Views/editCapitalPo.php
+++ b/app/Views/editCapitalPo.php
@@ -1885,7 +1885,7 @@ $(document).ready(function () {
'CPQuantity', 'value' => set_value('CPQuantity'), 'id' => 'CPQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'Ratechange();calculateFreight(3);calculateFreightlocaddper()');
+ $data = array('name' => 'CPQuantity', 'value' => set_value('CPQuantity'), 'id' => 'CPQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'ExceedQuantityCheck();Ratechange();calculateFreight(3);calculateFreightlocaddper()');
echo form_input($data);
?>
@@ -2562,7 +2562,7 @@ $(document).ready(function () {
'EditCPQuantity', 'value' => set_value('EditCPQuantity'), 'id' => 'EditCPQuantity', 'class' => 'form-control', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'EditRatechange();calculateFreight(4);calculateFreightloceditper()');
+ $data = array('name' => 'EditCPQuantity', 'value' => set_value('EditCPQuantity'), 'id' => 'EditCPQuantity', 'class' => 'form-control', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'ExceedEditQuantityCheck();EditRatechange();calculateFreight(4);calculateFreightloceditper()');
echo form_input($data);
?>
@@ -4270,9 +4270,6 @@ $(document).ready(function () {
$('#CostCenter').focus();
return false;
}
- //ExceedQuantityCheck();
-
- if (ExceedQuantityCheck()) {
if ($('#CPQuantity').val() != '' && $('#CPRate').val() != '') {
@@ -4427,32 +4424,133 @@ $(document).ready(function () {
$('CPRate').focus();
}
- } else {
- //clearTaxField();
- }
}
/* This function used to check quantity exceeding or not */
- function ExceedQuantityCheck() {
- var EnterQuantity = $("#CPQuantity").val() == '' ? "0.00" : parseFloat($("#CPQuantity").val());
- var ReqQuantity = parseFloat(RequistQuantity);
- //alert(ReqQuantity);
- //if(EnterQuantity > ReqQuantity)
- // {
- // alert('Your exceeding the Quantity from the Requisition Quantity:'+ RequistQuantity +'.Please adjust the Quantity to proceed further.');
+ function ExceedQuantityCheck() {
- // $('#CPQuantity').focus();
- // return false;
- // }
- // else
- //{
- return true;
+ let availableReqQty = 0 ;
+ let usedReqQty = 0;
+ let originalReqQty = 0;
- //}
- }
+ $('#loader').show();
+
+ $.ajax({
+ type: "POST",
+ url: "exceedEditQuantityCheck",
+ data: {
+ 'ReqNo': $('#Reqnumber').val(),
+ 'MaterialCode': $('#MaterialCode').val(),
+ 'PONO' : ""
+ },
+ success: function (response) {
+
+ usedReqQty = response.data.usedReqQty[0].usedReqQty;
+
+ originalReqQty = response.data.originalReqQty[0].originalReqQty;
+
+ currentPOQty = response.data.currentPOQty[0].currentPOQty;
+
+ availableReqQty = parseFloat(originalReqQty) - parseFloat(usedReqQty);
+
+ availableReqQty += parseFloat(currentPOQty);
+
+ var EnterQuantity = $("#CPQuantity").val() == '' ? "0.00" : parseFloat($("#CPQuantity").val());
+
+ availableReqQty = parseFloat(availableReqQty);
+
+
+ if(EnterQuantity > availableReqQty )
+ {
+ alert('Your exceeding the Quantity from the Available Requisition Quantity:'+ availableReqQty +'.Please adjust the Quantity to proceed further.');
+ $('#CPQuantity').focus();
+ $('#CPQuantity').val('');
+ return false;
+ }
+ else
+ {
+
+ return true;
+
+ }
+ },
+ error: function (xhr, status, error) {
+ console.error("Error fetching requisition quantity: " + error);
+ },complete: function () {
+ console.log("Ajax request for ---> exceedEditQuantityCheck completed....!!");
+ $('#loader').hide();
+ }
+ });
+
+
+ }
+
+ function ExceedEditQuantityCheck() {
+
+
+ let availableReqQty = 0 ;
+ let usedReqQty = 0;
+ let originalReqQty = 0;
+
+ $('#loader').show();
+
+ $.ajax({
+ type: "POST",
+ url: "exceedEditQuantityCheck",
+ data: {
+ 'ReqNo': $('#EditReqnumber').val(),
+ 'MaterialCode': $('#EditMaterialCode').val(),
+ 'PONO' : ""
+ },
+ success: function (response) {
+
+ usedReqQty = response.data.usedReqQty[0].usedReqQty;
+
+ originalReqQty = response.data.originalReqQty[0].originalReqQty;
+
+ currentPOQty = response.data.currentPOQty[0].currentPOQty;
+
+ availableReqQty = parseFloat(originalReqQty) - parseFloat(usedReqQty);
+
+ availableReqQty += parseFloat(currentPOQty);
+
+ var EnterQuantity = $("#EditCPQuantity").val() == '' ? "0.00" : parseFloat($("#EditCPQuantity").val());
+
+ availableReqQty = parseFloat(availableReqQty);
+
+
+ if(EnterQuantity > availableReqQty )
+ {
+ alert('Your exceeding the Quantity from the Available Requisition Quantity:'+ availableReqQty +'.Please adjust the Quantity to proceed further.');
+ $('#EditCPQuantity').focus();
+ $('#EditCPQuantity').val('');
+ return false;
+ }
+ else
+ {
+
+ return true;
+
+ }
+ },
+ error: function (xhr, status, error) {
+ console.error("Error fetching requisition quantity: " + error);
+ },complete: function () {
+ console.log("Ajax request for ---> exceedEditQuantityCheck completed....!!");
+ $('#loader').hide();
+ }
+ });
+
+
+ }
+
+
+
+
+
/*
This function is used to calculate tax
*/
@@ -4802,7 +4900,7 @@ $(document).ready(function () {
$('.AddCapital').click(function() {
tinyMCE.triggerSave();
- if (validateCapitalTax() && validateExceedLimit() && ExceedQuantityCheck()) {
+ if (validateCapitalTax() && validateExceedLimit() ) {
var temp = index;
var capital = ;
var Reqnumber = $('#Reqnumber').val();
@@ -5184,7 +5282,6 @@ $(document).ready(function () {
$('#txtTotalOrderValue').val(tot);
validateExceedLimit();
- ExceedQuantityCheck();
}
/* calculate tax value*/
function calculateTaxValue() {
@@ -6327,10 +6424,6 @@ $(document).ready(function () {
$('#EditCostCenter').focus();
return false;
}
- // EditExceedQuantityCheck();
-
- if (EditExceedQuantityCheck()) {
-
if ($('#EditCPQuantity').val() != '' && $('#EditCPRate').val() != '') {
@@ -6486,9 +6579,6 @@ $(document).ready(function () {
$('CPRate').focus();
}
- } else {
- //clearTaxField();
- }
}
@@ -6531,34 +6621,14 @@ $(document).ready(function () {
- /* This function used to check quantity exceeding or not while Editing*/
-
- function EditExceedQuantityCheck() {
- var EnterQuantity = $("#EditCPQuantity").val() == '' ? "0.00" : parseFloat($("#EditCPQuantity").val());
- var ReqQuantity = parseFloat(RequistQuantity);
-
- //alert(ReqQuantity);
- // if(EnterQuantity != ReqQuantity)
- // {
- // alert('Your exceeding the Quantity from the Requisition Quantity:'+ RequistQuantity +'.Please adjust the Quantity to proceed further.');
-
- // $('#EditCPQuantity').focus();
- // return false;
- // }
- // else
- // {
-
- return true;
-
- //}
- }
+
/**
* This function is used for Edit Capital
*/
$('.EditCapital').click(function() {
tinyMCE.triggerSave();
- if (validateEditCapitalTax() && EditExceedQuantityCheck() && validateEditExceedLimit()) {
+ if (validateEditCapitalTax() && validateEditExceedLimit()) {
var capital = ;
var tr = document.getElementById(userid);
var cellval = tr.cells;
@@ -6909,7 +6979,6 @@ $(document).ready(function () {
$('#EdittxtTotalOrderValue').val(tot);
validateEditExceedLimit();
- EditExceedQuantityCheck();
}
/* calculate tax value*/
function EditcalculateTaxValue() {
diff --git a/app/Views/editImportAmendPO.php b/app/Views/editImportAmendPO.php
index 3470860c..113fbaf1 100755
--- a/app/Views/editImportAmendPO.php
+++ b/app/Views/editImportAmendPO.php
@@ -853,7 +853,7 @@ if (!empty($RequistionDetails)) {
'EditQuantity', 'value' => set_value('EditQuantity'), 'id' => 'EditQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'EditRatechange(),ExceedEditQuantityCheck()');
+ $data = array('name' => 'EditQuantity', 'value' => set_value('EditQuantity'), 'id' => 'EditQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'ExceedEditQuantityCheck();EditRatechange();');
echo form_input($data);
?>
@@ -969,7 +969,7 @@ if (!empty($RequistionDetails)) {
'EditLandingCharge', 'value' => set_value('EditLandingCharge'), 'id' => 'EditLandingCharge', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'EditCalculateloadingcharge()');
+ $data = array('name' => 'EditLandingCharge', 'value' => set_value('EditLandingCharge'), 'id' => 'EditLandingCharge', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'EditCalculateloadingcharge();');
echo form_input($data);
?>
@@ -2243,18 +2243,68 @@ if (!empty($RequistionDetails)) {
- function ExceedEditQuantityCheck() {
- // RequistQuantity
- var EnterQuantity = $("#EditQuantity").val() == '' ? "0.00" : parseFloat($("#EditQuantity").val());
- var ReqQuantity = parseFloat(RequistQuantity);
- if (EnterQuantity > ReqQuantity) {
- alert('Your exceeding the Quantity from the Requisition Quantity:' + RequistQuantity + '.Please adjust the Quantity to proceed further.');
- $('#EditQuantity').focus();
- return false;
- } else {
- return true;
- }
- }
+ function ExceedEditQuantityCheck() {
+
+
+ let availableReqQty = 0 ;
+ let usedReqQty = 0;
+ let originalReqQty = 0;
+
+ $('#loader').show();
+
+ $.ajax({
+ type: "POST",
+ url: "exceedEditQuantityCheck",
+
+ data: {
+ 'ReqNo': $('#EditReqNo').val(),
+ 'MaterialCode': $('#EditMaterialCode').val(),
+ 'PONO' : ""
+ },
+ success: function (response) {
+
+ usedReqQty = response.data.usedReqQty[0].usedReqQty;
+
+ originalReqQty = response.data.originalReqQty[0].originalReqQty;
+
+ currentPOQty = response.data.currentPOQty[0].currentPOQty;
+
+ availableReqQty = parseFloat(originalReqQty) - parseFloat(usedReqQty);
+
+ availableReqQty += parseFloat(currentPOQty);
+
+ var EnterQuantity = $("#EditQuantity").val() == '' ? "0.00" : parseFloat($("#EditQuantity").val());
+
+ availableReqQty = parseFloat(availableReqQty);
+
+
+ if(EnterQuantity > availableReqQty )
+ {
+ alert('Your exceeding the Quantity from the Available Requisition Quantity:'+ availableReqQty +'.Please adjust the Quantity to proceed further.');
+
+ $('#EditQuantity').focus();
+ $('#EditQuantity').val('');
+
+ return false;
+ }
+ else
+ {
+
+ return true;
+
+ }
+ },
+ error: function (xhr, status, error) {
+ console.error("Error fetching requisition quantity: " + error);
+ },complete: function () {
+ console.log("Ajax request for ---> exceedEditQuantityCheck completed....!!");
+ $('#loader').hide();
+ }
+ });
+
+
+ }
+
function EditCalculateCustomduty() {
@@ -2745,7 +2795,7 @@ if (!empty($RequistionDetails)) {
$('.EditImport').click(function() {
//alert('inside edit');
- if (validateEditExceedLimit() && ExceedEditQuantityCheck() && EditQtyZerocheck()) {
+ if (validateEditExceedLimit() && EditQtyZerocheck()) {
var CostCode = $("#EditCostCenter").val();
var AvilBudget = $('#EditAvlBudAmt').val();
@@ -3263,11 +3313,13 @@ if (!empty($RequistionDetails)) {
} else {
var basicValue = parseFloat($('#EditINRBasicvalue').val());
var FreightType = $("#drpamendFreight").val();
- if (FreightType == "0") {
- alert('Please select Freight Type');
- $('#AmendtxtFreight').val('');
- $("#drpamendFreight").focus();
- } else if ($('#AmendtxtFreight').val() != "0" && $('#AmendtxtFreight').val() != '') {
+
+ // if (FreightType == "0") {
+ // alert('Please select Freight Type');
+ // $('#AmendtxtFreight').val('');
+ // $("#drpamendFreight").focus();
+ // } else
+ if ($('#AmendtxtFreight').val() != "0" && $('#AmendtxtFreight').val() != '') {
var FreightValue = parseFloat($('#AmendtxtFreight').val());
var UOM = parseFloat($('#EditUOM').val());
var Quantity = parseFloat($('#EditQuantity').val());
diff --git a/app/Views/editRevenueAmendPO.php b/app/Views/editRevenueAmendPO.php
index 313819a3..a48f18e8 100755
--- a/app/Views/editRevenueAmendPO.php
+++ b/app/Views/editRevenueAmendPO.php
@@ -856,7 +856,7 @@ if (!empty($INRSYMBOL)) {
function Editchange() {
- //ExceedEditQuantityCheck();
+
if (($('#EditQuantity').val() != '' || $('#EditQuantity').val() != 0) && ($('#EditRate').val() != '' || $('#EditRate').val() != 0)) {
var txtQuantity = parseFloat($('#EditQuantity').val());
var txtUnitPrice = parseFloat($('#EditRate').val());
@@ -1908,7 +1908,7 @@ if (!empty($INRSYMBOL)) {
'EditQuantity', 'value' => set_value('EditQuantity'), 'id' => 'EditQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'Editchange()', 'style' => 'text-align:right;');
+ $data = array('name' => 'EditQuantity', 'value' => set_value('EditQuantity'), 'id' => 'EditQuantity', 'class' => 'form-control num', 'onkeypress' => 'return isNumberKey(event);', 'onchange' => 'Editchange();ExceedEditQuantityCheck();', 'style' => 'text-align:right;');
echo form_input($data);
?>
@@ -2303,6 +2303,75 @@ if (!empty($INRSYMBOL)) {
-->
+
+
+
+
+
-