diff --git a/app/Controllers/Purchaseorder.php b/app/Controllers/Purchaseorder.php
index 085109ec..75e3c856 100644
--- a/app/Controllers/Purchaseorder.php
+++ b/app/Controllers/Purchaseorder.php
@@ -1056,152 +1056,132 @@ $mpdf->use_kwt = true;
}
//This used to Create Revenue Purchase Order
-
function addNewPurchaseOrder()
{
- // print_r($this->request->getPost());
- // echo "@1100 i have pomaster = ".'
'.print_r($this->request->getPost(),true).'
'."
";
- $POdt = $this->request->getPost('PODate');
- $PODate = get_date_time_format($POdt);
- $SupplierID = $this->request->getPost('drpSupplier');
- $DeliveryAddr = $this->request->getPost('DeliveryAddr');
- $dt = $this->request->getPost('Deliverydt');
- $POType = $this->request->getPost('POType');
- $DeliveryOption = $this->request->getPost('DateRange');
- if ($DeliveryOption == 1) {
- $Deliverydt = '';
- $DeliverySchedule = $this->request->getPost('Scheduleby');
- } else {
- $Deliverydt = get_date_time_format($dt);
- $DeliverySchedule = '';
- }
- $POType = $this->request->getPost('POType');
- $BudgetType = $this->request->getPost('Budget');
- //$PoRange = $this->request->getPost('txtPoRange');
- $Modeofshipment = $this->request->getPost('addmodeofshipment');
- $supplierreference = $this->request->getPost('addsupplierreference');
- $supplieroffno = $this->request->getPost('addsupplierofferno');
- $otherreference = $this->request->getPost('addotherreference');
- $fincap = $this->request->getPost('addfincap');
- $revenuetype = $this->request->getPost('PoTypeOptions');
- $insurancestatus = $this->request->getPost('insurance');
- if ($insurancestatus == 1) {
- $InsuranceNumber = $this->request->getPost('InsuranceNumber');
- } else {
- $InsuranceNumber = $this->request->getPost('InsuranceNumber');
- }
- $SpcialInstruction = $this->request->getPost('SpcialInstruction');
- $TotalOrderValueSummary = $this->request->getPost('txtTotalOrderValueSummary');
- $POStatus = $this->request->getPost('txtStatus');
- $CreateBy = $this->session->get('userId');
- $RowCount = $this->request->getPost('txtRowCount');
- $DeletedRow = $this->request->getPost('txtDeletedRow');
- $comma_separated = ($DeletedRow !== null && is_string($DeletedRow))
- ? explode(':', $DeletedRow)
- : [];
- // echo "DeletedRow = ".$DeletedRow;
-
-
-
- $createddt = get_current_date_time();
-
- $PaymentTerms = $this->request->getPost('PaymentTerms');
- $OtherPayment = $this->request->getPost('Otherpayment');
- $Local_Interstate = $this->request->getPost('Range');
-
- $Qualitycheck = 1;
-
- $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null;
-
- $lastPONO = $this->purchaseorder_model->lastPONO();
- $newPONO = generate_po_number($lastPONO);
-
- // PO Master
- $POList = array('PONO'=>$newPONO,'SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'DeliverySchedule' => $DeliverySchedule, 'DeliveryOption' => $DeliveryOption, 'Status' => $POStatus, 'PORange' => $Local_Interstate, 'ServiceDescription' => $SpcialInstruction, 'CreatedBy' => $CreateBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'CreatedDate' => $createddt, 'PaymentTerms' => $PaymentTerms, 'POType' => $POType, 'CapitalRange' => $Local_Interstate, 'PaymentOtherDescription' => $OtherPayment, 'Supplier_Reference' => $supplierreference, 'Mode_Of_Shipment' => $Modeofshipment, 'Supplier_Offer_No' => $supplieroffno, 'Other_Reference' => $otherreference, 'Fincap' => $fincap, 'InsuranceStatus' => $insurancestatus, 'POSubType' => $revenuetype, 'InsuranceNumber' => $InsuranceNumber, 'IsQualityChkReqired' => $Qualitycheck, 'BudgetType' => $BudgetType,'IsOpenOrder'=>$IsOpenOrder);
- $POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $revenuetype);
- // echo "@1100 i have pomaster = ".''.print_r($POMaster,true).'
'."
";die();
- $PONO = $POMaster ? $newPONO : "";
- // $PONO = '';
- // if (count($POMaster) > 0) {
- // $PONO = $POMaster[0]['PONO'];
- // }
- // $PONO = "SIA/2021-2022/10044";
- // PO Line Items
- $LineItemStatus = REQITEM_NEW;
-
- for ($i = 1; $i <= $RowCount; $i++) {
-
- $MaterialCode = $this->request->getPost('materialCode' . $i);
- $Quantity = $this->request->getPost('quantity' . $i);
- $Reqnumber = $this->request->getPost('Reqnumber' . $i);
- $itemRate = $this->request->getPost('itemRate' . $i);
- $per = $this->request->getPost('per' . $i);
-
- $DiscountType = $this->request->getPost('DisType' . $i);
- $DiscountValue = $this->request->getPost('DisVal' . $i);
- $AfterDiscount = $this->request->getPost('AfterDisVal' . $i);
- $PackagingOption = $this->request->getPost('PackOption' . $i);
- $PackagingType = $this->request->getPost('PackType' . $i);
- $PackagingValue = $this->request->getPost('PackVal' . $i);
- $AfterPackagingValue = $this->request->getPost('AfterPackVal' . $i);
-
- $FreightType = $this->request->getPost('FreightType' . $i);
- $FreightValue = $this->request->getPost('FreightVal' . $i);
- $AfterFreightValue = $this->request->getPost('AfterFreightVal' . $i);
- $NOOfTrip = $this->request->getPost('NoOfTrip' . $i);
- $InsuranceValue = $this->request->getPost('Insval' . $i);
- $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i);
- $revenuedescription = $this->request->getPost('Service_Description' . $i);
- $CostCenter = $this->request->getPost('costCode' . $i);
- $Cgst = $this->request->getPost('RevenueCgst' . $i);
- $Sgst = $this->request->getPost('RevenueSgst' . $i);
- $Igst = $this->request->getPost('RevenueIgst' . $i);
- $AfterCgst = $this->request->getPost('RevenueAfterCgst' . $i);
- $AfterSgst = $this->request->getPost('RevenueAfterSgst' . $i);
- $AfterIgst = $this->request->getPost('RevenueAfterIgst' . $i);
-
- $SkipInsert = "False";
- if (count($comma_separated) > 0) {
- for ($j = 1; $j < count($comma_separated); $j++) {
- $deletedRow = $comma_separated[$j];
-
- if ($deletedRow == $i) {
- $SkipInsert = "True";
- break;
+ try {
+ // Extract POST data
+ $POdt = $this->request->getPost('PODate');
+ $PODate = get_date_time_format($POdt);
+ $SupplierID = $this->request->getPost('drpSupplier');
+ $DeliveryAddr = $this->request->getPost('DeliveryAddr');
+ $dt = $this->request->getPost('Deliverydt');
+ $POType = $this->request->getPost('POType');
+ $DeliveryOption = $this->request->getPost('DateRange');
+ if ($DeliveryOption == 1) {
+ $Deliverydt = '';
+ $DeliverySchedule = $this->request->getPost('Scheduleby');
+ } else {
+ $Deliverydt = get_date_time_format($dt);
+ $DeliverySchedule = '';
}
- }
+ $BudgetType = $this->request->getPost('Budget');
+ $Modeofshipment = $this->request->getPost('addmodeofshipment');
+ $supplierreference = $this->request->getPost('addsupplierreference');
+ $supplieroffno = $this->request->getPost('addsupplierofferno');
+ $otherreference = $this->request->getPost('addotherreference');
+ $fincap = $this->request->getPost('addfincap');
+ $revenuetype = $this->request->getPost('PoTypeOptions');
+ $insurancestatus = $this->request->getPost('insurance');
+ $InsuranceNumber = ($insurancestatus == 1) ? $this->request->getPost('InsuranceNumber') : '';
+ $SpcialInstruction = $this->request->getPost('SpcialInstruction');
+ $TotalOrderValueSummary = $this->request->getPost('txtTotalOrderValueSummary');
+ $POStatus = $this->request->getPost('txtStatus');
+ $CreateBy = $this->session->get('userId');
+ $RowCount = $this->request->getPost('txtRowCount');
+ $DeletedRow = $this->request->getPost('txtDeletedRow');
+ $comma_separated = ($DeletedRow !== null && is_string($DeletedRow)) ? explode(':', $DeletedRow) : [];
+ $createddt = get_current_date_time();
+ $PaymentTerms = $this->request->getPost('PaymentTerms');
+ $OtherPayment = $this->request->getPost('Otherpayment');
+ $Local_Interstate = $this->request->getPost('Range');
+ $Qualitycheck = 1;
+ $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null;
+
+ // Generate PO Number
+ $lastPONO = $this->purchaseorder_model->lastPONO();
+ $newPONO = generate_po_number($lastPONO);
+ log_message('debug', 'newPONO returned: ' . $newPONO);
+
+ // PO Master
+ $POList = array('PONO'=>$newPONO,'SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'DeliverySchedule' => $DeliverySchedule, 'DeliveryOption' => $DeliveryOption, 'Status' => $POStatus, 'PORange' => $Local_Interstate, 'ServiceDescription' => $SpcialInstruction, 'CreatedBy' => $CreateBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'CreatedDate' => $createddt, 'PaymentTerms' => $PaymentTerms, 'POType' => $POType, 'CapitalRange' => $Local_Interstate, 'PaymentOtherDescription' => $OtherPayment, 'Supplier_Reference' => $supplierreference, 'Mode_Of_Shipment' => $Modeofshipment, 'Supplier_Offer_No' => $supplieroffno, 'Other_Reference' => $otherreference, 'Fincap' => $fincap, 'InsuranceStatus' => $insurancestatus, 'POSubType' => $revenuetype, 'InsuranceNumber' => $InsuranceNumber, 'IsQualityChkReqired' => $Qualitycheck, 'BudgetType' => $BudgetType,'IsOpenOrder'=>$IsOpenOrder);
+ $POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $revenuetype);
+ $PONO = '';
+ if (count($POMaster) > 0) {
+ $PONO = $POMaster[0]['PONO'];
+ } else {
+ throw new \Exception('Error occurred while creating PO Master');
+ }
+
+ // PO Line Items
+ $LineItemStatus = REQITEM_NEW;
+
+ for ($i = 1; $i <= $RowCount; $i++) {
+ $MaterialCode = $this->request->getPost('materialCode' . $i);
+ $Quantity = $this->request->getPost('quantity' . $i);
+ $Reqnumber = $this->request->getPost('Reqnumber' . $i);
+ $itemRate = $this->request->getPost('itemRate' . $i);
+ $per = $this->request->getPost('per' . $i);
+
+ $DiscountType = $this->request->getPost('DisType' . $i);
+ $DiscountValue = $this->request->getPost('DisVal' . $i);
+ $AfterDiscount = $this->request->getPost('AfterDisVal' . $i);
+ $PackagingOption = $this->request->getPost('PackOption' . $i);
+ $PackagingType = $this->request->getPost('PackType' . $i);
+ $PackagingValue = $this->request->getPost('PackVal' . $i);
+ $AfterPackagingValue = $this->request->getPost('AfterPackVal' . $i);
+
+ $FreightType = $this->request->getPost('FreightType' . $i);
+ $FreightValue = $this->request->getPost('FreightVal' . $i);
+ $AfterFreightValue = $this->request->getPost('AfterFreightVal' . $i);
+ $NOOfTrip = $this->request->getPost('NoOfTrip' . $i);
+ $InsuranceValue = $this->request->getPost('Insval' . $i);
+ $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i);
+ $revenuedescription = $this->request->getPost('Service_Description' . $i);
+ $CostCenter = $this->request->getPost('costCode' . $i);
+ $Cgst = $this->request->getPost('RevenueCgst' . $i);
+ $Sgst = $this->request->getPost('RevenueSgst' . $i);
+ $Igst = $this->request->getPost('RevenueIgst' . $i);
+ $AfterCgst = $this->request->getPost('RevenueAfterCgst' . $i);
+ $AfterSgst = $this->request->getPost('RevenueAfterSgst' . $i);
+ $AfterIgst = $this->request->getPost('RevenueAfterIgst' . $i);
+
+ $SkipInsert = "False";
+ if (count($comma_separated) > 0) {
+ for ($j = 1; $j < count($comma_separated); $j++) {
+ $deletedRow = $comma_separated[$j];
+ if ($deletedRow == $i) {
+ $SkipInsert = "True";
+ break;
+ }
+ }
+ }
+ if ($SkipInsert == "False") {
+
+ $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Per' => $per, 'ServiceMaterialDescription' => $revenuedescription, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter);
+ $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList);
+ $LineItemNo = '';
+ if (count($POLineItem) > 0) {
+ $LineItemNo = $POLineItem[0]['LineItemNo'];
+ } else {
+ throw new \Exception('Error occurred while creating PO Line Item');
+ }
+
+ if (trim((string)$POType) == REVENUE) {
+ $RevenueTaxList = array('LineItemNo' => $LineItemNo, 'DiscountType' => $DiscountType, 'DiscountValue' => $DiscountValue, 'AfterDiscount' => $AfterDiscount, 'PackagingType' => $PackagingType, 'PackagingValue' => $PackagingValue, 'PackagingCalulatedOn' => $PackagingOption, 'AfterPackagingValue' => $AfterPackagingValue, 'FreightType' => $FreightType, 'FreightValue' => $FreightValue, 'AfterFreightValue' => $AfterFreightValue, 'Insurance' => $InsuranceValue, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CGST' => $Cgst, 'AfterCGST' => $AfterCgst, 'SGST' => $Sgst, 'AfterSGST' => $AfterSgst, 'IGST' => $Igst, 'AfterIGST' => $AfterIgst, 'NoOfTrip' => $NOOfTrip);
+ $RevenueList = $this->purchaseorder_model->addRevenueTax($RevenueTaxList);
+ if (!$RevenueList) {
+ throw new \Exception('Error occurred while creating Revenue Tax');
+ }
+ }
+ }
+ }
+ echo 'Purchase Order Created Successfully! PO Number Is: ' . $PONO;
+ } catch (\Exception $e) {
+ log_message('error', 'Exception occurred: ' . $e->getMessage());
+ echo 'An error occurred while creating the purchase order. Please try again.';
}
- if ($SkipInsert == "False") {
- $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Per' => $per, 'ServiceMaterialDescription' => $revenuedescription, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter);
- $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList);
- // echo "@1162 i have polineitem arr ".''.print_r($POLineItem,true).'
'."
";
- // [PONO] => SIA/2021-2022/10044
- // [ReqNo] => REQ7704
- // [LineItemNo] => POItem9999
- // $LineItemNo = "POItem10360";
- $LineItemNo = '';
- if (count($POLineItem) > 0) {
- $LineItemNo = $POLineItem[0]['LineItemNo'];
- }
- // echo $LineItemNo; die;
- // echo "POType ".$POType."
";
- /*---------*/
- // $logpo =array('PONO'=>$PONO,'Date'=>$PODate,'POType'=>$POType,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=>$itemRate,'SupplierID'=>$SupplierID,'LineItemNos'=>$LineItemNo);
-
- // $addlog= $this->purchaseorder_model->newlogpo($logpo);
- /*---------*/
- if (trim((string)$POType) == REVENUE) {
- // echo 'Success';
- $RevenueTaxList = array('LineItemNo' => $LineItemNo, 'DiscountType' => $DiscountType, 'DiscountValue' => $DiscountValue, 'AfterDiscount' => $AfterDiscount, 'PackagingType' => $PackagingType, 'PackagingValue' => $PackagingValue, 'PackagingCalulatedOn' => $PackagingOption, 'AfterPackagingValue' => $AfterPackagingValue, 'FreightType' => $FreightType, 'FreightValue' => $FreightValue, 'AfterFreightValue' => $AfterFreightValue, 'Insurance' => $InsuranceValue, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CGST' => $Cgst, 'AfterCGST' => $AfterCgst, 'SGST' => $Sgst, 'AfterSGST' => $AfterSgst, 'IGST' => $Igst, 'AfterIGST' => $AfterIgst, 'NoOfTrip' => $NOOfTrip);
- // echo "@1176 i have arr for tax ".''.print_r($RevenueTaxList,true).'
'."
";
- $RevenueList = $this->purchaseorder_model->addRevenueTax($RevenueTaxList);
- // echo "@1183 i have after insertion ".''.print_r($RevenueList,true).'
'."
";
- //echo 'Revenue tax Success';
- }
- }
- }
- echo 'Purchase Order Created Successfully! PO Number Is: ' . $PONO;
}
+
//This used to Edit the Revenue Purchase Order
function EditRevenuePurchaseOrder()
{
@@ -1427,7 +1407,7 @@ $mpdf->use_kwt = true;
//echo $current_qty;
- $this->inwardgateregister_model->addmaterialmaster($current_qty, $rawmaterial);
+ $this->inwardgateregister_model->addmaterialmaster($current_qty, $MaterialCode);
}
if ($SkipInsert == "False") {
@@ -1848,204 +1828,160 @@ $mpdf->use_kwt = true;
function addNewImportPurchaseOrder()
- { //echo ("ggh");
-
-
-
- $POdt = $this->request->getPost('PODate');
- $PODate = get_date_time_format($POdt);
- $SupplierID = $this->request->getPost('drpSupplier');
- $DeliveryAddr = $this->request->getPost('DeliveryAddr');
-
- $POType = $this->request->getPost('POType');
- $PoRange = $this->request->getPost('txtPoRange');
-
- $DeliveryOption = $this->request->getPost('DateRange');
-
- //echo $DeliveryOption;
- //die();
- $DeliverySchedule = '';
- $Dispatch = '';
- if ($DeliveryOption == 1) {
- $Dispatch = '';
- $DeliverySchedule = $this->request->getPost('Scheduleby');
- } else {
- $Dispatch = $this->request->getPost('Dispatch');
- $DeliverySchedule = '';
- }
-
- $SpcialInstruction = $this->request->getPost('txtSpcialInstruction');
- $TotalOrder = $this->request->getPost('txtToatlOrder');
- $POStatus = $this->request->getVar('textStatus');
-
- $BudgetType = $this->request->getPost('Budget');
-
- $CreateBy = $this->session->get('userId');
- $RowCount = $this->request->getVar('txtRowCount');
-
- $DeletedRow = $this->request->getVar('txtDeletedRow');
- $comma_separated = ($DeletedRow !== null && is_string($DeletedRow))
- ? explode(':', $DeletedRow)
- : [];
-
- $createddt = get_current_date_time();
- $Exchangerate = $this->request->getPost('ExchangeRate');
- $Edt = $this->request->getPost('Exchangerateon');
- $ExchangeRateCalculatedon = get_date_time_format($Edt);
-
- $CurrencyType = $this->request->getPost('currencytype');
-
- $PaymentTerms = $this->request->getPost('PaymentTerms');
- $OtherPayment = $this->request->getPost('Otherpayment');
- $Palaceoforigin = $this->request->getPost('PlaceOforigin');
- // $Payableat=$this->request->getPost('PayableAT');
-
- $Shipmentmode = $this->request->getPost('addmodeofshipment');
- $SupplierRef = $this->request->getPost('addsupplierreference');
- $SupplierOffer = $this->request->getPost('addsupplierofferno');
- $otherRef = $this->request->getPost('addotherreference');
- $finCap = $this->request->getPost('addfincap');
-
- $importoption = $this->request->getPost('Importoption');
- // echo $importoption;
- // die();
- $Insurance = $this->request->getPost('Insurance');
-
- if ($Insurance == 1) {
-
- $InsuranceNumber = $this->request->getPost('InsuranceNumber');
- } else {
- $InsuranceNumber = '';
- }
-
- // $POList = array('SupplierID'=>$SupplierID, 'TotalOrderValue'=>$TotalOrder,'PODate'=>$PODate,'Status'=>$POStatus,'PORange'=>$PoRange,'ServiceDescription'=>$SpcialInstruction,'CreatedBy'=>$CreateBy,'DeliveryAddress'=>$DeliveryAddr,'CreatedDate'=>$createddt,'ExchangeRate'=>$Exchangerate,'ExchangeRateCalculatedon'=>$ExchangeRateCalculatedon,'CurrencyType'=>$CurrencyType,'PaymentTerms'=>$PaymentTerms,'POType'=>$POType);
-
- $Qualitycheck = 1;
- $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null;
-
- $lastPONO = $this->purchaseorder_model->lastPONO();
- $newPONO = generate_po_number($lastPONO);
-
- $POList = array('PONO'=>$newPONO,'SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrder, 'PODate' => $PODate, 'Status' => $POStatus, 'PORange' => $PoRange, 'ServiceDescription' => $SpcialInstruction, 'CreatedBy' => $CreateBy, 'DeliveryAddress' => $DeliveryAddr, 'Import_DispatchDetails' => $Dispatch, 'CreatedDate' => $createddt, 'DeliverySchedule' => $DeliverySchedule, 'DeliveryOption' => $DeliveryOption, 'ExchangeRate' => $Exchangerate, 'ExchangeRateCalculatedon' => $ExchangeRateCalculatedon, 'CurrencyType' => $CurrencyType, 'PaymentTerms' => $PaymentTerms, 'POType' => $POType, 'Import_PlaceofOrgin' => $Palaceoforigin, 'PaymentOtherDescription' => $OtherPayment, 'Mode_Of_Shipment' => $Shipmentmode, 'Supplier_Reference' => $SupplierRef, 'Supplier_Offer_No' => $SupplierOffer, 'Other_Reference' => $otherRef, 'Fincap' => $finCap, 'InsuranceStatus' => $Insurance, 'InsuranceNumber' => $InsuranceNumber, 'POSubType' => $importoption, 'IsQualityChkReqired' => $Qualitycheck, 'BudgetType' => $BudgetType,'IsOpenOrder'=>$IsOpenOrder);
-
- //print_r($POList);
- //die();
- $POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $importoption);
- $PONO = $POMaster ? $newPONO : "";
- // $PONO = '';
- // if (count($POMaster) > 0) {
- // $PONO = $POMaster[0]['PONO'];
- // }
- //echo $PONO;
- //echo $POType;
- // PO Line Items
- $LineItemStatus = REQITEM_NEW;
- //echo ' test:'.REVENUE;
- //echo $RowCount;
- for ($i = 1; $i <= $RowCount; $i++) {
- //echo "AS";
- $MaterialCode = $this->request->getPost('materialCode' . $i);
- $Quantity = $this->request->getPost('quantity' . $i);
- //echo $Quantity;
- $Reqnumber = $this->request->getPost('Reqnumber' . $i);
- $itemRate = $this->request->getPost('itemRate' . $i);
-
- //$Exchangerate = $this->request->getPost('Exchangerate'.$i);
- $BasicPriceinmton = $this->request->getPost('BasicPriceinUS' . $i);
- $Productprice = $this->request->getPost('BasicAmt' . $i);
- $LandingCharge = $this->request->getPost('LandingChargee' . $i);
- $AfterLandingCharge = $this->request->getPost('AfterLandingChargee' . $i);
- $CustomDuty = $this->request->getPost('Customduty' . $i);
- $AfterCustomDuty = $this->request->getPost('AfterCustomduty' . $i);
- $CustomEd = $this->request->getPost('CustomEDcess' . $i);
- $AfterCustomEd = $this->request->getPost('AfterCustomEDcess' . $i);
- $CustomSH = $this->request->getPost('CustomSHcess' . $i);
- $AfterCustomSH = $this->request->getPost('AfterCustomSHcess' . $i);
- $Grossdutypayable = $this->request->getPost('Grossdutypayable' . $i);
- $CustomDutyExpensesPerKG = $this->request->getPost('CustomDutyExpenses' . $i);
-
- $QuantityKG = $this->request->getPost('PurQuantity' . $i);
-
- //$currencytypeID = $this->request->getPost('currencytype');
- $Totalvalueitem = $this->request->getPost('TotalExp' . $i);
-
- //echo $BasicPriceinmton;
- $CostCenter = $this->request->getPost('costCode' . $i);
-
- $AssessableValue = $this->request->getPost('AfterAssessable' . $i);
- $Subtotal = $this->request->getPost('Subtotal' . $i);
- $Igst = $this->request->getPost('Igst' . $i);
- $AfterIgst = $this->request->getPost('AfterIgst' . $i);
- $Dutyimpact = $this->request->getPost('Dutyimpact' . $i);
- $Clearingcharge = $this->request->getPost('ClearingCharges' . $i);
- $Nettvalue = $this->request->getPost('Nett' . $i);
-
-
-
- $FreightType = $this->request->getPost('FreightType' . $i);
- $nooftrip = $this->request->getPost('NoofTrip' . $i);
- $Freightrate = $this->request->getPost('FreightRate' . $i);
- $Freightamount = $this->request->getPost('AfterFreightRate' . $i);
-
- //echo $Freightamount;
-
- $specialinstruction = $this->request->getPost('Addinstruction' . $i);
-
- //echo $specialinstruction;
-
- $per = $this->request->getPost('Per' . $i);
-
-
-
-
- $SkipInsert = "False";
- if (count($comma_separated) > 0) {
- for ($j = 1; $j < count($comma_separated); $j++) {
- $deletedRow = $comma_separated[$j];
-
- if ($deletedRow == $i) {
- $SkipInsert = "True";
- break;
+ {
+ try {
+ $POdt = $this->request->getPost('PODate');
+ $PODate = get_date_time_format($POdt);
+ $SupplierID = $this->request->getPost('drpSupplier');
+ $DeliveryAddr = $this->request->getPost('DeliveryAddr');
+
+ $POType = $this->request->getPost('POType');
+ $PoRange = $this->request->getPost('txtPoRange');
+
+ $DeliveryOption = $this->request->getPost('DateRange');
+
+ $DeliverySchedule = '';
+ $Dispatch = '';
+ if ($DeliveryOption == 1) {
+ $Dispatch = '';
+ $DeliverySchedule = $this->request->getPost('Scheduleby');
+ } else {
+ $Dispatch = $this->request->getPost('Dispatch');
+ $DeliverySchedule = '';
}
- }
+
+ $SpcialInstruction = $this->request->getPost('txtSpcialInstruction');
+ $TotalOrder = $this->request->getPost('txtToatlOrder');
+ $POStatus = $this->request->getVar('textStatus');
+
+ $BudgetType = $this->request->getPost('Budget');
+
+ $CreateBy = $this->session->get('userId');
+ $RowCount = $this->request->getVar('txtRowCount');
+
+ $DeletedRow = $this->request->getVar('txtDeletedRow');
+ $comma_separated = ($DeletedRow !== null && is_string($DeletedRow))
+ ? explode(':', $DeletedRow)
+ : [];
+
+ $createddt = get_current_date_time();
+ $Exchangerate = $this->request->getPost('ExchangeRate');
+ $Edt = $this->request->getPost('Exchangerateon');
+ $ExchangeRateCalculatedon = get_date_time_format($Edt);
+
+ $CurrencyType = $this->request->getPost('currencytype');
+
+ $PaymentTerms = $this->request->getPost('PaymentTerms');
+ $OtherPayment = $this->request->getPost('Otherpayment');
+ $Palaceoforigin = $this->request->getPost('PlaceOforigin');
+
+ $Shipmentmode = $this->request->getPost('addmodeofshipment');
+ $SupplierRef = $this->request->getPost('addsupplierreference');
+ $SupplierOffer = $this->request->getPost('addsupplierofferno');
+ $otherRef = $this->request->getPost('addotherreference');
+ $finCap = $this->request->getPost('addfincap');
+
+ $importoption = $this->request->getPost('Importoption');
+ $Insurance = $this->request->getPost('Insurance');
+
+ if ($Insurance == 1) {
+ $InsuranceNumber = $this->request->getPost('InsuranceNumber');
+ } else {
+ $InsuranceNumber = '';
+ }
+
+ $Qualitycheck = 1;
+ $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null;
+
+ $lastPONO = $this->purchaseorder_model->lastPONO();
+ $newPONO = generate_po_number($lastPONO);
+
+ $POList = array('PONO' => $newPONO,'SupplierID' => $SupplierID,'TotalOrderValue' => $TotalOrder,'PODate' => $PODate,'Status' => $POStatus,'PORange' => $PoRange,'ServiceDescription' => $SpcialInstruction,'CreatedBy' => $CreateBy,'DeliveryAddress' => $DeliveryAddr,'Import_DispatchDetails' => $Dispatch,'CreatedDate' => $createddt,'DeliverySchedule' => $DeliverySchedule,'DeliveryOption' => $DeliveryOption,'ExchangeRate' => $Exchangerate,'ExchangeRateCalculatedon' => $ExchangeRateCalculatedon,'CurrencyType' => $CurrencyType,'PaymentTerms' => $PaymentTerms,'POType' => $POType,'Import_PlaceofOrgin' => $Palaceoforigin,'PaymentOtherDescription' => $OtherPayment,'Mode_Of_Shipment' => $Shipmentmode,'Supplier_Reference' => $SupplierRef,'Supplier_Offer_No' => $SupplierOffer,'Other_Reference' => $otherRef,'Fincap' => $finCap,'InsuranceStatus' => $Insurance,'InsuranceNumber' => $InsuranceNumber,'POSubType' => $importoption,'IsQualityChkReqired' => $Qualitycheck,'BudgetType' => $BudgetType,'IsOpenOrder' => $IsOpenOrder);
+ $POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $importoption);
+ $PONO = '';
+ if (count($POMaster) > 0) {
+ $PONO = $POMaster[0]['PONO'];
+ } else {
+ throw new \Exception('Error occurred while creating PO Master');
+ }
+
+ $LineItemStatus = REQITEM_NEW;
+
+ for ($i = 1; $i <= $RowCount; $i++) {
+ $MaterialCode = $this->request->getPost('materialCode' . $i);
+ $Quantity = $this->request->getPost('quantity' . $i);
+ $Reqnumber = $this->request->getPost('Reqnumber' . $i);
+ $itemRate = $this->request->getPost('itemRate' . $i);
+
+ $BasicPriceinmton = $this->request->getPost('BasicPriceinUS' . $i);
+ $Productprice = $this->request->getPost('BasicAmt' . $i);
+ $LandingCharge = $this->request->getPost('LandingChargee' . $i);
+ $AfterLandingCharge = $this->request->getPost('AfterLandingChargee' . $i);
+ $CustomDuty = $this->request->getPost('Customduty' . $i);
+ $AfterCustomDuty = $this->request->getPost('AfterCustomduty' . $i);
+ $CustomEd = $this->request->getPost('CustomEDcess' . $i);
+ $AfterCustomEd = $this->request->getPost('AfterCustomEDcess' . $i);
+ $CustomSH = $this->request->getPost('CustomSHcess' . $i);
+ $AfterCustomSH = $this->request->getPost('AfterCustomSHcess' . $i);
+ $Grossdutypayable = $this->request->getPost('Grossdutypayable' . $i);
+ $CustomDutyExpensesPerKG = $this->request->getPost('CustomDutyExpenses' . $i);
+
+ $QuantityKG = $this->request->getPost('PurQuantity' . $i);
+ $Totalvalueitem = $this->request->getPost('TotalExp' . $i);
+ $CostCenter = $this->request->getPost('costCode' . $i);
+ $AssessableValue = $this->request->getPost('AfterAssessable' . $i);
+ $Subtotal = $this->request->getPost('Subtotal' . $i);
+ $Igst = $this->request->getPost('Igst' . $i);
+ $AfterIgst = $this->request->getPost('AfterIgst' . $i);
+ $Dutyimpact = $this->request->getPost('Dutyimpact' . $i);
+ $Clearingcharge = $this->request->getPost('ClearingCharges' . $i);
+ $Nettvalue = $this->request->getPost('Nett' . $i);
+
+ $FreightType = $this->request->getPost('FreightType' . $i);
+ $nooftrip = $this->request->getPost('NoofTrip' . $i);
+ $Freightrate = $this->request->getPost('FreightRate' . $i);
+ $Freightamount = $this->request->getPost('AfterFreightRate' . $i);
+
+ $specialinstruction = $this->request->getPost('Addinstruction' . $i);
+ $per = $this->request->getPost('Per' . $i);
+
+ $SkipInsert = "False";
+ if (count($comma_separated) > 0) {
+ for ($j = 1; $j < count($comma_separated); $j++) {
+ $deletedRow = $comma_separated[$j];
+
+ if ($deletedRow == $i) {
+ $SkipInsert = "True";
+ break;
+ }
+ }
+ }
+
+ if ($SkipInsert == "False") {
+ $POLineItemList = array('PONO' => $PONO,'ReqNo' => $Reqnumber,'MaterialCode' => $MaterialCode,'Quantity' => $Quantity,'Rate' => $itemRate,'Status' => $LineItemStatus,'CreatedBy' => $CreateBy,'CreatedDate' => $createddt,'CostCenterCode' => $CostCenter,'Per' => $per,'ServiceMaterialDescription' => $specialinstruction);
+
+ $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList);
+
+ $LineItemNo = '';
+ if (count($POLineItem) > 0) {
+ $LineItemNo = $POLineItem[0]['LineItemNo'];
+ }
+
+ if (trim((string)$POType) == IMPORT) {
+ $ImportTaxList = array('LineItemNo' => $LineItemNo,'BasicPriceInMTon' => $BasicPriceinmton,'ProductPrice' => $Productprice,'LandingCharge' => $LandingCharge,'AfterLandingCharge' => $AfterLandingCharge,'CustomDuty' => $CustomDuty,'AfterCustomDuty' => $AfterCustomDuty,'CustomEdCess' => $CustomEd,'CustomSHCess' => $CustomSH,'CreatedBy' => $CreateBy,'CreatedDate' => $createddt,'Grossdutypayable' => $Grossdutypayable,'CustomDutyExpensesPerKG' => $CustomDutyExpensesPerKG,'QuantityKG' => $QuantityKG,'AfterCustomSHCess' => $AfterCustomSH,'AfterCustomEdCess' => $AfterCustomEd,'TotalValue' => $Totalvalueitem,'FreightType' => $FreightType,'NoOfTrip' => $nooftrip,'FreightValue' => $Freightrate,'AfterFreightValue' => $Freightamount,'AssessableValue' => $AssessableValue,'SubTotal' => $Subtotal,'IGST' => $Igst,'AfterIGST' => $AfterIgst,'DutyImpact' => $Dutyimpact,'ClearingCharge' => $Clearingcharge,'NetValue' => $Nettvalue);
+ $ImportList = $this->purchaseorder_model->addImportTax($ImportTaxList);
+ }
+ }
+ }
+
+ echo 'Purchase Order Created Successfully! PO Number Is: ' . $PONO;
+ } catch (\Exception $e) {
+ log_message('error', 'Exception occurred: ' . $e->getMessage());
+ echo 'An error occurred while creating the purchase order. Please try again.';
+
}
- if ($SkipInsert == "False") {
- $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'Per' => $per, 'ServiceMaterialDescription' => $specialinstruction);
-
- //print_r($POLineItemList);
- //die();
-
-
- $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList);
-
- $LineItemNo = '';
- if (count($POLineItem) > 0) {
- $LineItemNo = $POLineItem[0]['LineItemNo'];
- }
- //echo $LineItemNo;
-
- /* --------------------------------------------*/
-
- // $logpo =array('PONO'=>$PONO,'Date'=>$PODate,'POType'=>$POType,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=> $itemRate,'SupplierID'=>$SupplierID,'LineItemNos'=>$LineItemNo);
- // $this->purchaseorder_model->newlogpo($logpo);
- /* --------------------------------------------*/
-
- if (trim((string)$POType) == IMPORT) {
- // echo 'Success';
- $ImportTaxList = array('LineItemNo' => $LineItemNo, 'BasicPriceInMTon' => $BasicPriceinmton, 'ProductPrice' => $Productprice, 'LandingCharge' => $LandingCharge, 'AfterLandingCharge' => $AfterLandingCharge, 'CustomDuty' => $CustomDuty, 'AfterCustomDuty' => $AfterCustomDuty, 'CustomEdCess' => $CustomEd, 'CustomSHCess' => $CustomSH, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'Grossdutypayable' => $Grossdutypayable, 'CustomDutyExpensesPerKG' => $CustomDutyExpensesPerKG, 'QuantityKG' => $QuantityKG, 'AfterCustomSHCess' => $AfterCustomSH, 'AfterCustomEdCess' => $AfterCustomEd, 'TotalValue' => $Totalvalueitem, 'FreightType' => $FreightType, 'NoOfTrip' => $nooftrip, 'FreightValue' => $Freightrate, 'AfterFreightValue' => $Freightamount, 'AssessableValue' => $AssessableValue, 'SubTotal' => $Subtotal, 'IGST' => $Igst, 'AfterIGST' => $AfterIgst, 'DutyImpact' => $Dutyimpact, 'ClearingCharge' => $Clearingcharge, 'NetValue' => $Nettvalue);
- //print_r($ImportTaxList);
- //die();$Nettvalue
-
-
-
- $ImportList = $this->purchaseorder_model->addImportTax($ImportTaxList);
- }
- }
- }
-
-
- echo 'Purchase Order Created Successfully! PO Number Is: ' . $PONO;
}
+
function EditImportPurchaseOrder()
@@ -2483,7 +2419,7 @@ $mpdf->use_kwt = true;
function addNewCapitalPurchaseOrder()
{
-
+try{
$POdt = $this->request->getPost('PODate');
$PODate = get_date_time_format($POdt);
$SupplierID = $this->request->getPost('drpSupplier');
@@ -2581,11 +2517,12 @@ $mpdf->use_kwt = true;
$POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $ServiceTypeOptions);
- $PONO = $POMaster ? $newPONO : "";
- // $PONO = '';
- // if (count($POMaster) > 0) {
- // $PONO = $POMaster[0]['PONO'];
- // }
+ $PONO = '';
+ if (count($POMaster) > 0) {
+ $PONO = $POMaster[0]['PONO'];
+ } else {
+ throw new \Exception('Error occurred while creating PO Master');
+ }
$LineItemStatus = REQITEM_NEW;
@@ -2711,12 +2648,14 @@ $mpdf->use_kwt = true;
}
}
-
echo 'Purchase Order Created Successfully! PO Number Is: ' . $PONO;
+ } catch (\Exception $e) {
+ log_message('error', 'Exception occurred: ' . $e->getMessage());
+ echo 'An error occurred while creating the purchase order. Please try again.';
+ }
+
}
-
-
/*Edit Capital po*/
function EditCapitalPurchaseOrder()
{
diff --git a/app/Models/Purchaseorder_model.php b/app/Models/Purchaseorder_model.php
index e01ddabf..0ed5f4ac 100644
--- a/app/Models/Purchaseorder_model.php
+++ b/app/Models/Purchaseorder_model.php
@@ -400,7 +400,7 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
$builder->where('POMast.Status !=', PO_AMENDED);
// $builder->orderBy('POMast.Status !=',PO_AMENDED);
}
- $builder->orderBy('POMast.UpdatedOn', 'desc');
+ $builder->orderBy('POMast.POID', 'desc');
$query = $builder->get();
$result = $query->getResult();
@@ -779,48 +779,34 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
}
/**
* This function is used to add New Purchase order to the system
-
*/
- // function addPOMaster($POMaster, $POType, $POSubtype)
- // {
- // $this->db->transStart();
- // $builder = $this->db->table('T_PurchaseOrder_Master');
- // $builder->insert($POMaster);
-
- // //->update('T_PONO_Reset_Table')
-
- // $insert_id = $this->db->affectedRows();
- // $this->db->transComplete();
-
- // if ($insert_id > 0) {
- // $subQuery = 'select PONO from T_PurchaseOrder_Master where POType=? and POSubType=? and isnull(ParentPO) order by CreatedDate desc limit 1 ';
-
- // $query = $this->db->query($subQuery, array($POType, $POSubtype));
-
- // //print_r($query->getResult());die();
- // return $query->getResultArray();
- // }
- // }
- public function addPOMaster($POMaster)
- {
- try {
- $this->db->transStart();
- $builder = $this->db->table('T_PurchaseOrder_Master');
- $builder->insert($POMaster);
- $aff = $this->db->affectedRows();
- $this->db->transComplete();
- return $aff;
- } catch (\Exception $e) {
- $this->db->transRollback();
- log_message('error', 'Error occurred in addPOMaster function: ' . $e->getMessage());
- return false;
- }
- }
-
-
-
-
+ function addPOMaster($POMaster,$POType, $revenuetype)
+ {
+ print_r($POMaster);die;
+ try {
+ $this->db->transStart();
+ $builder = $this->db->table('T_PurchaseOrder_Master');
+ $builder->insert($POMaster);
+ $aff_row = $this->db->affectedRows();
+ $this->db->transComplete();
+ if ($aff_row > 0) {
+
+ $insertId = $aff_row > 0 ? $this->db->insertId() : 0;
+ $subQuery = 'SELECT PONO FROM T_PurchaseOrder_Master
+ WHERE POID = ? AND ParentPO IS NULL
+ ORDER BY CreatedDate DESC LIMIT 1';
+ $query = $this->db->query($subQuery, [$insertId]);
+ return $query->getResultArray();
+ }
+ return [];
+ } catch (\Exception $e) {
+ $this->db->transRollback();
+ log_message('error', 'Error in addPOMaster: ' . $e->getMessage());
+ throw $e;
+ return false;
+ }
+ }
function addAmendPOMaster($POMaster, $CreatedBy, $ParentPO)
{
diff --git a/app/Views/POlist.php b/app/Views/POlist.php
index b373fd15..2a341784 100644
--- a/app/Views/POlist.php
+++ b/app/Views/POlist.php
@@ -151,9 +151,6 @@
"paging": true,
"ordering": true,
"scrollCollapse": true,
- "aaSorting": [
- [3, "desc"]
- ],
"searching": true,
//"columnDefs" : [{"targets":3, "type":"date"}],