diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index 263d0e48..0d483521 100755
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -239,6 +239,7 @@ $routes->get('EditPO', 'Purchaseorder::EditPurchaseOrder');
$routes->get('purchaseorder/CreatePOPrint', 'Purchaseorder::CreatePOPrint');
$routes->post('purchaseorder/ReleasePO', 'Purchaseorder::ReleasePO');
$routes->post('purchaseorder/EditRevenuePurchaseOrder', 'Purchaseorder::EditRevenuePurchaseOrder');
+$routes->post('purchaseorder/deletePurchaseOrderFile' , 'Purchaseorder::deletePurchaseOrderFile');
$routes->post('VerifyWithSupplierForPendingPO', 'Purchaseorder::VerifyWithSupplierForPendingPO');
diff --git a/app/Controllers/Purchaseorder.php b/app/Controllers/Purchaseorder.php
index f9e9c900..b26c2587 100755
--- a/app/Controllers/Purchaseorder.php
+++ b/app/Controllers/Purchaseorder.php
@@ -139,6 +139,8 @@ class Purchaseorder extends BaseController
*/
public function CreatePurchaseOrder()
{
+
+
$validation = \Config\Services::validation();
$validation->setRule('txtReqNo', 'Requisition Number', ['Req_validate[txtReqNo]'], ['Req_validate' => 'Please Select Requisition Number to Create PO.']);
@@ -253,11 +255,13 @@ class Purchaseorder extends BaseController
$ViewName = 'servicePurchaseorder';
+
} else if ($ReqType == IMPORT) {
$data['staticspecialinstruction'] = $this->purchaseorder_model->getConfigValue('C027');
$ViewName = 'importpo';
+
} else if ($ReqType == CAPITAL) {
$data['staticspecialinstruction'] = $this->purchaseorder_model->getConfigValue('C027');
$CapitalAvlBudget = $this->purchaseorder_model->GetAvailableCapitalBudgetAmount($CostCode, $FYdt, $ReqType);
@@ -536,6 +540,7 @@ class Purchaseorder extends BaseController
{
view("capitalpopdf");
}
+
//To View/Update Purchase Order
function EditPurchaseOrder()
@@ -640,6 +645,7 @@ class Purchaseorder extends BaseController
// print_r($data);die;
$this->global['pageTitle'] = 'Edit Service Purchase order form';
$this->loadViews("EditservicePurchaseorder", $this->global, $data, NULL);
+
} else if ($ReqType == REVENUE) {
$data['POItem'] = $this->purchaseorder_model->GetRevenuePurchaseOrderDetails($PONO);
@@ -650,6 +656,7 @@ class Purchaseorder extends BaseController
$data['WorkStatus'] = $this->purchaseorder_model->getStatus(7);
$this->global['pageTitle'] = 'Edit Revenue Purchase order form';
$this->loadViews("editRevenuepurchaseorder", $this->global, $data, NULL);
+
} else if ($ReqType == IMPORT) {
$AvlBudget = $this->purchaseorder_model->GetAvailableImportBudgetAmount($CostCode, $FYdt, $ReqType);
@@ -661,10 +668,12 @@ class Purchaseorder extends BaseController
$data['POItem'] = $this->purchaseorder_model->GetImportPurchaseOrderDetails($PONO);
// print_r($data['POItem']);
$data['Currency'] = $this->purchaseorder_model->GetCurrencytype();
+
foreach ($data['POMaster'] as $CUR) {
//print_r($CUR->CurrencyType);
$Currency = $CUR->CurrencyType;
- }
+ }
+
// $data[$Rate->ExchangeRate]=$Rate->ExchangeRate;
$data['CurrencyDetail'] = $this->purchaseorder_model->GetCurrencyDetail($Currency);
$data['PaymentTerms'] = $this->purchaseorder_model->GetPaymentTerms($PONO);
@@ -682,7 +691,10 @@ class Purchaseorder extends BaseController
$data['unicode'] = $unicode;
$data['currencycode'] = $currencycode;
$this->global['pageTitle'] = 'Edit Import Purchase order form';
+
$this->loadViews("editimportpo", $this->global, $data, NULL);
+
+
} else if ($ReqType == CAPITAL) {
$CapitalRange = $this->request->getVar('CapitalRange');
@@ -690,8 +702,6 @@ class Purchaseorder extends BaseController
if (count($CapitalAvlBudget) > 0) {
-
-
$data['AvlCapitalBudAmt'] = $CapitalAvlBudget[0]['BudgetAmount'] - $CapitalAvlBudget[0]['Totalvalue'];
}
@@ -1068,6 +1078,7 @@ class Purchaseorder extends BaseController
function addNewPurchaseOrder()
{
try {
+
// Extract POST data
$POdt = $this->request->getPost('PODate');
$PODate = get_date_time_format($POdt);
@@ -1096,7 +1107,7 @@ class Purchaseorder extends BaseController
$TotalOrderValueSummary = $this->request->getPost('txtTotalOrderValueSummary');
$POStatus = $this->request->getPost('txtStatus');
$CreateBy = $this->session->get('userId');
- $RowCount = $this->request->getPost('txtRowCount');
+ $RowCount = $this->request->getPost('txtRowCount');
$DeletedRow = $this->request->getPost('txtDeletedRow');
$comma_separated = ($DeletedRow !== null && is_string($DeletedRow)) ? explode(':', $DeletedRow) : [];
$createddt = get_current_date_time();
@@ -1118,7 +1129,11 @@ class Purchaseorder extends BaseController
}
if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
log_message('error', 'File already exists in the database' . $requestfilename);
- $requestfilename = "";
+
+ //$requestfilename = "";
+ //the above line is commented due to the fact that same file can exist in the database
+ //for different po
+
} else {
$file->move($path, $requestfilename);
}
@@ -1300,8 +1315,11 @@ class Purchaseorder extends BaseController
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
- if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
+ if (!empty($this->purchaseorder_model->isFileExists($requestfilename))
+ && file_exists($path .$requestfilename)) {
log_message('error', 'File already exists in the database' . $requestfilename);
+ $POList['POFile'] = $requestfilename;
+
} else {
$file->move($path, $requestfilename);
$POList['POFile'] = $requestfilename;
@@ -1991,7 +2009,11 @@ class Purchaseorder extends BaseController
}
if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
log_message('error', 'File already exists in the database' . $requestfilename);
- $requestfilename = "";
+
+ //$requestfilename = "";
+ //the above line is commented due to the fact that same file can exist in the database
+ //for different po
+
} else {
$file->move($path, $requestfilename);
}
@@ -2214,8 +2236,10 @@ class Purchaseorder extends BaseController
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
- if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
+ if (!empty($this->purchaseorder_model->isFileExists($requestfilename))
+ && file_exists($path .$requestfilename)) {
log_message('error', 'File already exists in the database' . $requestfilename);
+ $POList['POFile'] = $requestfilename;
} else {
$file->move($path, $requestfilename);
$POList['POFile'] = $requestfilename;
@@ -2655,7 +2679,11 @@ class Purchaseorder extends BaseController
}
if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
log_message('error', 'File already exists in the database' . $requestfilename);
- $requestfilename = "";
+
+ //$requestfilename = "";
+ //the above line is commented due to the fact that same file can exist in the database
+ //for different po
+
} else {
$file->move($path, $requestfilename);
}
@@ -2937,8 +2965,10 @@ class Purchaseorder extends BaseController
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
- if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
- log_message('error', 'File already exists in the database' . $requestfilename);
+ if (!empty($this->purchaseorder_model->isFileExists($requestfilename))
+ && file_exists($path .$requestfilename)) {
+ log_message('error', 'File already exists in the database' . $requestfilename);
+ $POList['POFile'] = $requestfilename;
} else {
$file->move($path, $requestfilename);
$POList['POFile'] = $requestfilename;
@@ -2946,7 +2976,7 @@ class Purchaseorder extends BaseController
}
}else{
log_message('error', 'File Upload not Done' . $requestfilename);
- return json_encode($this->requestr);
+
}
$POMaster = $this->purchaseorder_model->updatePOMaster($PONO, $POList);
@@ -3385,9 +3415,48 @@ class Purchaseorder extends BaseController
+ /* delete purchase order file */
+ function deletePurchaseOrderFile(){
+
+ $PONO=$this->request->getPost('PONO');
+ $filename=$this->request->getPost('POFile');
+ $result= $this->purchaseorder_model->deletePurchaseOrderFile($PONO);
+
+ $result2=$this->purchaseorder_model->findPurchaseOrderFile($filename);
+
+
+
+ if ($result && empty($result2)) {
+
+ $path = ROOTPATH . 'public/uploads/POfiles/' . $filename;
+
+ if (file_exists($path)) {
+
+ if (unlink($path)) {
+
+ return $this->response->setJSON(['success' => 'File removed successfully !!!']);
+ } else {
+
+ return $this->response->setJSON(['error' => 'Failed to delete the file from the server.']);
+ }
+ } else {
+
+ return $this->response->setJSON(['error' => 'File not found on the server.']);
+ }
+
+ } else if($result){
+
+ return $this->response->setJSON(['success' => 'File removed successfully !!']);
+ }
+ else {
+
+ return $this->response->setJSON(['error' => 'File deletion from database failed or file still exists in database.']);
+ }
+
+ }
/*This function is used to convert amount(digit) into words*/
diff --git a/app/Controllers/Servicepurchaseorder.php b/app/Controllers/Servicepurchaseorder.php
index cc35371f..6a28b89e 100755
--- a/app/Controllers/Servicepurchaseorder.php
+++ b/app/Controllers/Servicepurchaseorder.php
@@ -246,7 +246,11 @@ class Servicepurchaseorder extends BaseController
}
if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
log_message('error', 'File already exists in the database' . $requestfilename);
- $requestfilename = "";
+
+ //$requestfilename = "";
+ //the above line is commented due to the fact that same file can exist in the database
+ //for different po
+
} else {
$file->move($path, $requestfilename);
}
@@ -420,8 +424,10 @@ class Servicepurchaseorder extends BaseController
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
- if (!empty($this->purchaseorder_model->isFileExists($requestfilename))) {
+ if (!empty($this->purchaseorder_model->isFileExists($requestfilename))
+ && file_exists($path .$requestfilename)) {
log_message('error', 'File already exists in the database: ' . $requestfilename);
+ $POList['POFile'] = $requestfilename;
} else {
$file->move($path, $requestfilename);
$POList['POFile'] = $requestfilename;
diff --git a/app/Models/Purchaseorder_model.php b/app/Models/Purchaseorder_model.php
index fe3d6992..80cb10ce 100755
--- a/app/Models/Purchaseorder_model.php
+++ b/app/Models/Purchaseorder_model.php
@@ -145,9 +145,7 @@ Where IGRM.PONO = ? ';
return $query->getResult();
}
-
-
- function fileupload($myfile)
+ function fileupload($myfile)
{
//print_r($myfile);die;
@@ -986,8 +984,14 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
function GetServicePurchaseOrder($PONO = '')
{
+
$builder = $this->db->table('t_purchaseorder_master POMast')->distinct()
- ->select('ReqNo,POMast.PONO,POMast.PaymentTerms,POMast.PaymentOtherDescription,ServiceDescription,supp.SupplierID,supp.SupplierName,supp.Address,supp.MSME,PODate,Stat.StatusName,DeliveryOption,DeliverySchedule,DeliveryDate,DeliveryAddress,POMast.PaymentTerms,POMast.ExchangeRate,POMast.UpdatedOn,Stat.StatusCode,POMast.ServiceWorkStatus,POMast.*,POMast.TotalOrderValue,POMast.BudgetType,IGR.IGRNO')
+ ->select('ReqNo,POMast.PONO,POMast.PaymentTerms,POMast.PaymentOtherDescription,
+ ServiceDescription,supp.SupplierID,supp.SupplierName,supp.Address,supp.MSME,
+ PODate,Stat.StatusName,DeliveryOption,DeliverySchedule,DeliveryDate,DeliveryAddress,
+ POMast.PaymentTerms,POMast.ExchangeRate,POMast.UpdatedOn,Stat.StatusCode,
+ POMast.ServiceWorkStatus,POMast.*,POMast.TotalOrderValue,POMast.BudgetType,IGR.IGRNO')
+
->join('t_supplierdetailsn supp', 'supp.SupplierID = POMast.SupplierID')
->join('t_status Stat', 'Stat.StatusCode = POMast.Status')
->join('t_purchaseorder_lineitem LineItem', 'POMast.PONO = LineItem.PONO')
@@ -1125,797 +1129,797 @@ mstr.CourierNo,pom.Status,pom.POType') //,bill.BillNo,bill.FilePath,
// join t_supplierdetailsn sup on sup.SupplierID = POMaster.SupplierID
// where LineItem.PONO =?';
- $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,Mat.MaterialCode,Mat.MaterialName,Import_DispatchDetails,LineItem.Per,LineItem.ServiceMaterialDescription,
-Mat.UOM,Quantity,ReqMas.Requestedby,Rate,ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount ,
-ProductPrice,Tax.*,LineItem.CostCenterCode ,Date(ReqMast.ReqDate) as ReqDate,POMaster.*,sup.SupplierName,sup.Address,LineItem.AmendedDetails as LineAmend,LineItem.AmendedDetails as lineamenddetails,AdvanceAmount, Pay.PaymentTerms as Pay,ROUND((Quantity *Rate),2 ) as BasicValue,HSNCODE,
-sup.EmailAddress,sup.SupplierID,sup.PAN,sup.ContactNumber,sup.GSTNO,sup.MSME,sup.Cert_MSME
-FROM t_purchaseorder_lineitem LineItem
-join t_requestion_master ReqMas on ReqMas.ReqNo=LineItem.ReqNo
-join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
-join t_import_tax Tax on Tax.LineItemNo = LineItem.LineItemNo
-join t_purchaseorder_master POMaster on POMaster.PONO = LineItem.PONO
-join t_supplierdetailsn sup on sup.SupplierID = POMaster.SupplierID
-left join t_purchaseorder_advancerequest PurAdv on POMaster.PONO=PurAdv.PONO
-join t_requestion_master ReqMast on LineItem.ReqNo=ReqMast.ReqNo
-join t_paymentterms Pay on POMaster.PaymentTerms=Pay.PaymentID
-where LineItem.PONO =?';
+ $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.ReqNo,Mat.MaterialCode,Mat.MaterialName,Import_DispatchDetails,LineItem.Per,LineItem.ServiceMaterialDescription,
+ Mat.UOM,Quantity,ReqMas.Requestedby,Rate,ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount ,
+ ProductPrice,Tax.*,LineItem.CostCenterCode ,Date(ReqMast.ReqDate) as ReqDate,POMaster.*,sup.SupplierName,sup.Address,LineItem.AmendedDetails as LineAmend,LineItem.AmendedDetails as lineamenddetails,AdvanceAmount, Pay.PaymentTerms as Pay,ROUND((Quantity *Rate),2 ) as BasicValue,HSNCODE,
+ sup.EmailAddress,sup.SupplierID,sup.PAN,sup.ContactNumber,sup.GSTNO,sup.MSME,sup.Cert_MSME
+ FROM t_purchaseorder_lineitem LineItem
+ join t_requestion_master ReqMas on ReqMas.ReqNo=LineItem.ReqNo
+ join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
+ join t_import_tax Tax on Tax.LineItemNo = LineItem.LineItemNo
+ join t_purchaseorder_master POMaster on POMaster.PONO = LineItem.PONO
+ join t_supplierdetailsn sup on sup.SupplierID = POMaster.SupplierID
+ left join t_purchaseorder_advancerequest PurAdv on POMaster.PONO=PurAdv.PONO
+ join t_requestion_master ReqMast on LineItem.ReqNo=ReqMast.ReqNo
+ join t_paymentterms Pay on POMaster.PaymentTerms=Pay.PaymentID
+ where LineItem.PONO =?';
- $query = $this->db->query($subQuery, array($PONO));
+ $query = $this->db->query($subQuery, array($PONO));
- return $query->getResult();
- }
+ return $query->getResult();
+ }
- function GetCurrencyDetail($Currency = '')
- {
+ function GetCurrencyDetail($Currency = '')
+ {
- $subQuery = 'SELECT * from t_currency_details where Currency_Code=?';
- $query = $this->db->query($subQuery, array($Currency));
- //print_r($query);
- return $query->getResult();
- }
+ $subQuery = 'SELECT * from t_currency_details where Currency_Code=?';
+ $query = $this->db->query($subQuery, array($Currency));
+ //print_r($query);
+ return $query->getResult();
+ }
- function GerRequesterName($Requester = '')
- {
- $subQuery = 'SELECT EmpID,FirstName,Departmentcode from t_employee_details where EmpID=?';
+ function GerRequesterName($Requester = '')
+ {
+ $subQuery = 'SELECT EmpID,FirstName,Departmentcode from t_employee_details where EmpID=?';
- $query = $this->db->query($subQuery, array($Requester));
+ $query = $this->db->query($subQuery, array($Requester));
- return $query->getResult();
- }
-
-
- function GerRequesterDep($Depcode = '')
- {
- $subQuery = 'SELECT DepartmentName from t_departmentdetails where DEPCode=?';
- $query = $this->db->query($subQuery, array($Depcode));
+ return $query->getResult();
+ }
- return $query->getResult();
- }
- function GerCurrencyCodeName($Currencycode = '')
- {
- $subQuery = 'SELECT * from t_currency_details where Currency_Code=?';
- $query = $this->db->query($subQuery, array($Currencycode));
+ function GerRequesterDep($Depcode = '')
+ {
+ $subQuery = 'SELECT DepartmentName from t_departmentdetails where DEPCode=?';
+ $query = $this->db->query($subQuery, array($Depcode));
- return $query->getResult();
- }
+ return $query->getResult();
+ }
+ function GerCurrencyCodeName($Currencycode = '')
+ {
+ $subQuery = 'SELECT * from t_currency_details where Currency_Code=?';
+ $query = $this->db->query($subQuery, array($Currencycode));
- function GetPOStatus($Status = '')
- {
- $subQuery = 'SELECT StatusName from t_status where StatusCode=?';
- $query = $this->db->query($subQuery, array($Status));
- return $query->getResult();
- }
+ return $query->getResult();
+ }
- function GetPaymentTerms($PONO = '')
- {
- $subQuery = 'SELECT PaymentTerms from t_purchaseorder_master where PONO=?';
- $query = $this->db->query($subQuery, array($PONO));
- //print_r($query);
- return $query->getResult();
- }
+ function GetPOStatus($Status = '')
+ {
+ $subQuery = 'SELECT StatusName from t_status where StatusCode=?';
+ $query = $this->db->query($subQuery, array($Status));
+ return $query->getResult();
+ }
+ function GetPaymentTerms($PONO = '')
+ {
+ $subQuery = 'SELECT PaymentTerms from t_purchaseorder_master where PONO=?';
+ $query = $this->db->query($subQuery, array($PONO));
+ //print_r($query);
+ return $query->getResult();
+ }
- // function getSupplierPayment($Currency='')
- // {
- // $subQuery='select distinct PaymentTerms from t_supplierdetailsn';
- // $query=$this->db->query($subQuery,array($Currency));
- //
- // return $query->getResult();
- // }
+ // function getSupplierPayment($Currency='')
+ // {
- function getSupplierPayment($Config_ID = '')
- {
+ // $subQuery='select distinct PaymentTerms from t_supplierdetailsn';
+ // $query=$this->db->query($subQuery,array($Currency));
+ //
+ // return $query->getResult();
- // $subQuery='select distinct PaymentTerms from t_supplierdetailsn';
- $subQuery = 'select ConfigValue from t_configdetails where Config_ID=?';
- $query = $this->db->query($subQuery, array($Config_ID));
+ // }
- return $query->getResult();
- }
+ function getSupplierPayment($Config_ID = '')
+ {
- function GetWorkStatus($Config_ID = '')
- {
- $subQuery = 'select ConfigValue from t_configdetails where Config_ID=?';
- $query = $this->db->query($subQuery, array($Config_ID));
- //print_r($query);
- return $query->getResult();
- }
+ // $subQuery='select distinct PaymentTerms from t_supplierdetailsn';
+ $subQuery = 'select ConfigValue from t_configdetails where Config_ID=?';
+ $query = $this->db->query($subQuery, array($Config_ID));
+ return $query->getResult();
+ }
+ function GetWorkStatus($Config_ID = '')
+ {
+ $subQuery = 'select ConfigValue from t_configdetails where Config_ID=?';
+ $query = $this->db->query($subQuery, array($Config_ID));
+ //print_r($query);
+ return $query->getResult();
+ }
- function GetImportPurchaseOrderDetails($PONO = '')
- {
- $subQuery = 'SELECT DISTINCT LineItem.LineItemNo, Req.ReqNo, Mat.MaterialCode, Mat.MaterialName,
- Mat.UOM, Quantity, Rate, Req.Status, ROUND((Quantity * Rate), 2) AS BasicValue,
- ReceivedQuantity, QuantityRejected, ROUND(Quantity - ReceivedQuantity) AS PendingQty, Per,
- ROUND((RMCIncludingCustomersPerKG * Quantity), 2) AS Taxamount, LandingCharge, HighSeasSalesCharge,
- CustomDuty, ExciseDuty, ExciseDutyEdCess, CustomEdCess, POMast.ExchangeRate, AfterLandingCharge,
- AfterHighSeasSalesCharge, AfterCustomDuty, AfterExciseDuty, AfterExciseDutyEdCess, AddlExciseDuty,
- AfterAddlExciseDuty, Grossdutypayable, AvailableModvat, Grossexpensesduetocustomduty,
- purchaseratePerKG, CustomDutyExpensesPerKG, RMCIncludingCustomersPerKG, QuantityKG,
- BasicPriceInMTon, ProductPrice, CustomSHCess, AfterCustomSHCess, AfterExciseDutySHCess,
- ExciseDutySHCess, AfterCustomEdCess, ROUND((Quantity * Rate), 2) AS TotalOrderValue,
- ROUND((POMast.ExchangeRate * BasicPriceInMTon), 2) AS BasicINRValue, TotalValue, CurrencyType,
- ReceivedQuantity, Tax.*, LineItem.ServiceMaterialDescription, Req.CostCenterCode,
- Dept.DepartmentName
-
- FROM t_purchaseorder_lineitem LineItem
- LEFT JOIN t_purchaseorder_master POMast ON POMast.PONO = LineItem.PONO
- LEFT JOIN t_materialmaster Mat ON Mat.MaterialCode = LineItem.MaterialCode
- LEFT JOIN t_import_tax Tax ON Tax.LineItemNo = LineItem.LineItemNo
- LEFT JOIN t_requestion_master Req ON Req.ReqNo = LineItem.ReqNo
- LEFT JOIN t_employee_details emp ON Req.Requestedby = emp.EmpID
- LEFT JOIN t_mrir_master Mast ON POMast.PONO = Mast.PONO
- LEFT JOIN t_mrir_details Det ON Det.MaterialCode = LineItem.MaterialCode AND Mast.MRIRNO = Det.MRIRNO
- LEFT JOIN t_departmentdetails Dept ON Req.RequestedDept = Dept.DEPCode
-
- WHERE LineItem.PONO = ?';
-
- $query = $this->db->query($subQuery, array($PONO));
-
- return $query->getResult();
- }
-
-
-
-
- function GetCurrencytype()
- {
-
- $subQuery = 'select * from t_currency_details';
-
- $query = $this->db->query($subQuery);
-
- return $query->getResult();
- }
-
- function GetINRCurrencytype($Currency_Code = '')
- {
- $subQuery = 'select * from t_currency_details where Currency_Code=?';
- $query = $this->db->query($subQuery, array($Currency_Code));
-
- return $query->getResult();
- }
-
-
-
-
-
-
- // To Update the PO
- function updatePOMaster($PONO, $PODetails)
- {
- $this->db->table('t_purchaseorder_master')
- ->where('PONO', $PONO)
- ->update($PODetails);
-
- return TRUE;
- }
-
-
- // To update Parent PO as Amended PO
- function updateAmendPOMaster($PONO, $PODetail)
- {
- //echo $PONO."from model";
- $this->db->table('t_purchaseorder_master')
- ->where('PONO', $PONO)
- ->update($PODetail);
- $insert_id = $this->db->affectedRows();
-
- return $insert_id;
- }
- /**
- * This function is used to check the Line Item is already available in the database
- * @return array $result : This is result of the query
- */
- function LineItemExists($LineItemNo)
- {
-
- $builder = $this->db->table('t_service_tax')
- ->select('LineItemNo,TaxID')
- ->where('LineItemNo ', $LineItemNo);
- //->where('Requestedby ',$ReqBy );
- $query = $builder->get();
-
- if ($query->getNumRows() > 0) {
- //echo $result->getNumRows();
- return $query->getResultArray();
- }
- }
- /**
- * This function is used to check the Revenue Line Item is already available in the database
- * @return array $result : This is result of the query
- */
- function LineItemExistsinRevenueTax($LineItemNo)
- {
-
- $builder = $this->db->table('t_revenue_tax')->select('LineItemNo')
- ->where('LineItemNo ', $LineItemNo);
- $query = $builder->get();
-
- if ($query->getNumRows() > 0) {
- return $query->getResultArray();
- }
- }
-
-
- function LineItemExistsinImportTax($LineItemNo)
- {
-
- $builder = $this->db->table('t_import_tax')->select('LineItemNo')
- ->where('LineItemNo ', $LineItemNo);
- $query = $builder->get();
-
- if ($query->getNumRows() > 0) {
- return $query->getResultArray();
- }
- }
- // To Update the PO Line Item
- function updatePOLineItem($PONO, $LineItemNo, $PODetails)
- {
- $this->db->table('t_purchaseorder_lineitem')
- ->where('PONO', $PONO)
- ->where('LineItemNo', $LineItemNo)
- ->update($PODetails);
-
- return TRUE;
- }
- /*// To Update the Service Tax Item */
- function updateServiceTax($LineItemNo, $PODetails)
- {
- $this->db->table('t_service_tax')
- ->where('LineItemNo', $LineItemNo)
- ->update($PODetails);
-
- return TRUE;
- }
-
- /*// To Update the Revenue Tax Item */
- function updateRevenueTax($LineItemNo, $PODetails)
- {
- $this->db->table('t_revenue_tax')
- ->where('LineItemNo', $LineItemNo)
- ->update($PODetails);
- return TRUE;
- }
-
- function updateImportTax($LineItemNo, $PODetails)
- {
- $this->db->table('t_import_tax')
- ->where('LineItemNo', $LineItemNo)
- ->update($PODetails);
- return TRUE;
- }
-
- function getLastInsertedPO()
- {
-
- $builder = $this->db->table('T_PurchaseOrderDetails')->select('max(PONO) as PO');
- $query = $builder->get();
- return $query->getResultArray();
- }
-
-
- /* This Method to get all the Department name for the requistion */
- function getDepartmentListForAllReq()
- {
- $subQuery = 'SELECT DISTINCT DEPT.DEPCode,DEPT.DepartmentName FROM t_requestion_master REQ
- JOIN t_employee_details EMP ON REQ.Requestedby = EMP.EmpID
- JOIN t_departmentdetails DEPT ON EMP.Departmentcode = DEPT.DEPCode WHERE REQ.Status not in(?,?,?,?)';
-
- $query = $this->db->query($subQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED));
- //print_r($query);
- return $query->getResult();
- }
- /*
- * This Method to get all department list
- */
- function getDepartmentAllList()
- {
- $subQuery = 'SELECT DISTINCT DEPCode,DepartmentName FROM t_departmentdetails';
-
- $query = $this->db->query($subQuery);
- //print_r($query);
- return $query->getResult();
- }
-
-
- function getStatusListforAllReq()
- {
- $subQuery = 'SELECT DISTINCT STAT.StatusCode, STAT.StatusName FROM t_requestion_master REQ
- JOIN t_status STAT on REQ.Status = STAT.StatusCode where STAT.StatusCode not in (?,?,?,?)';
- $query = $this->db->query($subQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED));
-
-
-
- return $query->getResult();
- }
-
- function getStatusByDepartment($DepNo = '')
- {
-
- $subQuery = 'SELECT DISTINCT STAT.StatusCode ,STAT.StatusName FROM t_requestion_master REQ
- JOIN t_employee_details EMP ON REQ.Requestedby = EMP.EmpID
- JOIN t_departmentdetails DEPT ON EMP.Departmentcode = DEPT.DEPCode
- JOIN t_status STAT ON REQ.Status = STAT.StatusCode
- WHERE DEPT.DEPCode=? AND REQ.Status NOT IN (?,?,?,?)';
- $query = $this->db->query($subQuery, array($DepNo, REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED));
-
- return $query->getResultArray();
- }
-
- function getRequistionListbySearch($Depid = '', $Status = '', $FromDate = '', $ToDate = '')
- {
- $subQuery = ' SELECT ReqNo,ReqType,Requestedby,EMP.FirstName,EMP.Designation,STAT.StatusCode ,STAT.StatusName,ReqDate,DEPT.DEPCode,DEPT.DepartmentName FROM t_requestion_master REQ
- JOIN t_employee_details EMP ON REQ.Requestedby = EMP.EmpID
- JOIN t_departmentdetails DEPT ON EMP.Departmentcode = DEPT.DEPCode
- JOIN t_status STAT on REQ.Status = STAT.StatusCode
- where REQ.Status NOT IN (?,?,?,?,?)';
-
- $appendQuery = $subQuery;
-
- if ($Depid != '' && $Status != '' && $FromDate != '' && $ToDate != '') {
- $appendQuery .= ' AND DEPT.DEPCode=? AND STAT.StatusCode=? AND ReqDate >= ? AND ReqDate <= ?';
- //echo "$appendQuery";die();
- $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid, $Status, $FromDate, $ToDate));
-
- return $query->getResultArray();
- } else if ($Depid != '' && $Status == '' && $FromDate == '' && $ToDate == '') {
- $appendQuery .= ' AND DEPT.DEPCode=?';
-
- $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid));
-
- return $query->getResultArray();
- } else if ($Depid == '' && $Status != '' && $FromDate == '' && $ToDate == '') {
- $appendQuery .= ' AND STAT.StatusCode=?';
-
- $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Status));
-
- return $query->getResultArray();
- } else if ($Depid == '' && $Status == '' && $FromDate != '' && $ToDate != '') {
- $appendQuery .= ' AND ReqDate >= ? AND ReqDate <= ?';
-
- $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $FromDate, $ToDate));
-
- return $query->getResultArray();
- } else if ($Depid != '' && $Status != '' && $FromDate == '' && $ToDate == '') {
- $appendQuery .= ' AND DEPT.DEPCode=? AND STAT.StatusCode=?';
-
- $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid, $Status));
-
- return $query->getResultArray();
- } else if ($Depid != '' && $Status == '' && $FromDate != '' && $ToDate != '') {
- $appendQuery .= ' AND DEPT.DEPCode=? AND ReqDate >= ? AND ReqDate <= ?';
-
- $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid, $FromDate, $ToDate));
-
- return $query->getResultArray();
- } else if ($Depid == '' && $Status != '' && $FromDate != '' && $ToDate != '') {
- $appendQuery .= ' AND STAT.StatusCode=? AND ReqDate >= ? AND ReqDate <= ?';
-
- $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Status, $FromDate, $ToDate));
-
- return $query->getResultArray();
- } else {
- $query = $this->db->query($subQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED));
-
- return $query->getResult();
- }
- }
-
- function UpdateRequistItemStatus()
- {
- $query = $this->db->query("update t_requestion_details REQ
- JOIN t_purchaseorder_lineitem line ON REQ.ReqNo = line.ReqNo
- JOIN t_purchaseorder_master PO ON PO.PONO = line.PONO
- set REQ.Status = CASE WHEN REQ.Quantity = line.Quantity THEN 'ST022' WHEN REQ.Quantity > line.Quantity THEN 'ST023' ELSE 'ST003' END ,
- REQ.updatedOn= CURRENT_TIMESTAMP
- where PO.Status ='" . PO_CREATED . "'");
-
- //$query ->next_result();
-
- }
- function UpdateRequistionStatus()
- {
- $result = $this->db->query("CALL P_UPDATE_REQUISTIONSTATUS_New()"); // or die(mysql_error());
-
- // $result ->next_result();
-
- }
- /**
- * This function is used to delete the Line item from details into Database
- * @return array $result : This is result of the query
- */
- function DeletePOLineItem($LineItem = '', $ReqNo = '', $MaterialCode = '')
- {
- $this->db->table('t_purchaseorder_lineitem')->delete(['LineItemNo' => $LineItem, 'ReqNo' => $ReqNo, 'MaterialCode' => $MaterialCode]);
- return TRUE;
- }
-
- /**
- * This function is used to delete the Revenue item from details into Database
- * @return array $result : This is result of the query
- */
- function DeletePORevenueTax($LineItem = '')
- {
-
- $this->db->table('t_revenue_tax')->delete(['LineItemNo' => $LineItem]);
- return TRUE;
- }
-
- /**
- * This function is used to delete Service Tax from details into Database
- * @return array $result : This is result of the query
- */
- function DeletePOServiceTax($LineItem = '')
- {
- $this->db->table('t_service_tax')->delete(['LineItemNo' => $LineItem]);
- return TRUE;
- }
-
-
- function DeletePOImportTax($LineItem = '')
- {
-
- $this->db->table('t_import_tax')->delete(['LineItemNo' => $LineItem]);
- return TRUE;
- }
-
- /**
- * This function is used to get the List of PO details to the approver
- * @return array $result : This is result of the query
- * join t_departmentdetails Dept on emp.Departmentcode = Dept.DEPCode
- */
- function getPOList($type)
- {
-
-
-
- $builder = $this->db->table('t_purchaseorder_master mast')->distinct()
- ->select('mast.PODate,mast.PONO,mast.TotalOrderValue,st.StatusCode,st.StatusName,emp.FirstName,mast.CreatedDate,ccm.CostCenterName,ccm.CostCenterCode,mast.POType as RType,mast.Remarks,DepartmentName,mast.ApprovedBy,(select EmpID from tbl_users where userId=mast.ApprovedBy )as EID,rmast.ReqType,mast.Status,mast.CapitalRange,
- (select FirstName from t_employee_details where EmpID=EID)as Approver,sup.SupplierName,sup.MSME')
- // ->orderBy('mast.Status',"PO_CREATED");
-
- ->join('t_supplierdetailsn sup', 'sup.SupplierID = mast.SupplierID')
- ->join('t_status st', 'st.StatusCode=mast.Status')
- ->join('t_purchaseorder_lineitem req', 'req.PONO= mast.PONO')
- ->join('t_requestion_master rmast', 'rmast.ReqNo=req.ReqNo')
- //->join('t_costcenter_budget bud','bud.CostCenterCode = req.CostCenterCode and bud.BudgetType = rmast.ReqType')
- ->join('t_costcenter_master ccm', 'ccm.CostCenterCode = req.CostCenterCode', 'left')
- ->join('tbl_users tbl', 'rmast.createdby=tbl.userid', 'left')
- ->join('t_employee_details as emp', 'emp.empid=tbl.empid', 'left')
- ->join('t_departmentdetails as Dep', 'Dep.DEPCode=emp.Departmentcode', 'left');
-
- // old Status Don't Deleted it.
- // if ($type == 'APPROVAL') {
- // $builder->orWhere('mast.Status', PO_DRAFT);
- // $builder->orWhere('mast.Status', PO_CREATED);
- // $builder->orWhere('mast.Status', PO_APPROVER_ONHOLD);
- // $builder->orWhere('mast.Status', PO_AWAITING_RELEASE);
- // $builder->orWhere('mast.Status', PO_RELEASED);
- // $builder->orWhere('mast.Status', REQITEM_Emergency_PO_CREATED);
- // $builder->orderBy('mast.Status');
- // }
- // else if ($type == 'RELEASE') {
- // $builder->orWhere('mast.Status', PO_DRAFT);
- // $builder->orWhere('mast.Status', PO_AWAITING_RELEASE);
- // $builder->orWhere('mast.Status', PO_RELEASER_ONHOLD);
- // $builder->orWhere('mast.Status', PO_RELEASED);
- // $builder->orderBy('mast.Status');
- // }
- if ($type == 'RELEASE') {
- $builder->orWhere('mast.Status', PO_DRAFT);
- $builder->orWhere('mast.Status', PO_CREATED);
- $builder->orWhere('mast.Status', PO_APPROVER_ONHOLD);
- $builder->orWhere('mast.Status', PO_AWAITING_RELEASE);
- $builder->orWhere('mast.Status', PO_RELEASER_ONHOLD);
- $builder->orWhere('mast.Status', PO_RELEASED);
- $builder->orWhere('mast.Status', REQITEM_Emergency_PO_CREATED);
- // $builder->orderBy('mast.Status');
- }
- $builder->orderBy('mast.CreatedDate', 'DESC');
-
- $result = $builder->get();
-
- return $result->getResult();
- }
-
-
- function UpdatePO($store, $PONO)
- {
- $this->db->table('t_purchaseorder_master')
- ->where('PONO', $PONO)
- ->update($store);
-
- return TRUE;
- }
-
- function GetReleasedDetails($PONO)
- {
- $builder = $this->db->table('t_purchaseorder_master mast')
- ->select('mast.ReleasedOn,re.FirstName')
- ->join('tbl_users tbl', 'mast.ReleasedBy=tbl.userid')
- ->join('t_employee_details re', 're.EmpID=tbl.EmpID')
- ->where('mast.PONO', $PONO);
- $result = $builder->get();
-
- //die();
- return $result->getResult();
- }
- //This is get the capital po list for edit
-
- function getCapitalPurchaseOrderDetails($PONO = '')
- {
-
- $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.Per,LineItem.ServiceMaterialDescription,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,LineItem.ServiceMaterialDescription,LineItem.ServiceFrequency,
- Mat.UOM,Quantity,ReceivedQuantity,Rate,Req.Status,Tax.*,
- ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount,LandingCharge,HighSeasSalesCharge,CustomDuty,ExciseDuty,ExciseDutyEdCess,CustomEdCess,POMast.ExchangeRate,POMast.ExchangeRateCalculatedon,POMast.TotalOrderValue as BasicValue,POMast.CapitalRange,AfterLandingCharge,AfterHighSeasSalesCharge,AfterCustomDuty,AfterExciseDuty,AfterExciseDutyEdCess,AddlExciseDuty,AfterAddlExciseDuty,Grossdutypayable,AvailableModvat,Grossexpensesduetocustomduty,purchaseratePerKG,CustomDutyExpensesPerKG,RMCIncludingCustomersPerKG,QuantityKG,BasicPriceInMTon,ProductPrice,CustomSHCess,AfterCustomSHCess,AfterExciseDutySHCess,ExciseDutySHCess,AfterCustomEdCess,ROUND((POMast.ExchangeRate*BasicPriceInMTon*Quantity),2) as BasicINRValue,Tax.TotalValue as ImportTotalValue,Tax.FreightType,Tax.NoOfTrip,Tax.FreightValue,Tax.AfterFreightValue,POMast.CurrencyType,
+ function GetImportPurchaseOrderDetails($PONO = '')
+ {
+ $subQuery = 'SELECT DISTINCT LineItem.LineItemNo, Req.ReqNo, Mat.MaterialCode, Mat.MaterialName,
+ Mat.UOM, Quantity, Rate, Req.Status, ROUND((Quantity * Rate), 2) AS BasicValue,
+ ReceivedQuantity, QuantityRejected, ROUND(Quantity - ReceivedQuantity) AS PendingQty, Per,
+ ROUND((RMCIncludingCustomersPerKG * Quantity), 2) AS Taxamount, LandingCharge, HighSeasSalesCharge,
+ CustomDuty, ExciseDuty, ExciseDutyEdCess, CustomEdCess, POMast.ExchangeRate, AfterLandingCharge,
+ AfterHighSeasSalesCharge, AfterCustomDuty, AfterExciseDuty, AfterExciseDutyEdCess, AddlExciseDuty,
+ AfterAddlExciseDuty, Grossdutypayable, AvailableModvat, Grossexpensesduetocustomduty,
+ purchaseratePerKG, CustomDutyExpensesPerKG, RMCIncludingCustomersPerKG, QuantityKG,
+ BasicPriceInMTon, ProductPrice, CustomSHCess, AfterCustomSHCess, AfterExciseDutySHCess,
+ ExciseDutySHCess, AfterCustomEdCess, ROUND((Quantity * Rate), 2) AS TotalOrderValue,
+ ROUND((POMast.ExchangeRate * BasicPriceInMTon), 2) AS BasicINRValue, TotalValue, CurrencyType,
+ ReceivedQuantity, Tax.*, LineItem.ServiceMaterialDescription, Req.CostCenterCode,
+ Dept.DepartmentName
+
+ FROM t_purchaseorder_lineitem LineItem
+ LEFT JOIN t_purchaseorder_master POMast ON POMast.PONO = LineItem.PONO
+ LEFT JOIN t_materialmaster Mat ON Mat.MaterialCode = LineItem.MaterialCode
+ LEFT JOIN t_import_tax Tax ON Tax.LineItemNo = LineItem.LineItemNo
+ LEFT JOIN t_requestion_master Req ON Req.ReqNo = LineItem.ReqNo
+ LEFT JOIN t_employee_details emp ON Req.Requestedby = emp.EmpID
+ LEFT JOIN t_mrir_master Mast ON POMast.PONO = Mast.PONO
+ LEFT JOIN t_mrir_details Det ON Det.MaterialCode = LineItem.MaterialCode AND Mast.MRIRNO = Det.MRIRNO
+ LEFT JOIN t_departmentdetails Dept ON Req.RequestedDept = Dept.DEPCode
+ WHERE LineItem.PONO = ?';
+
+ $query = $this->db->query($subQuery, array($PONO));
+
+ return $query->getResult();
+ }
+
+
+
+
+
+
+ function GetCurrencytype()
+ {
+
+ $subQuery = 'select * from t_currency_details';
+
+ $query = $this->db->query($subQuery);
+
+ return $query->getResult();
+ }
+
+ function GetINRCurrencytype($Currency_Code = '')
+ {
+ $subQuery = 'select * from t_currency_details where Currency_Code=?';
+ $query = $this->db->query($subQuery, array($Currency_Code));
+
+ return $query->getResult();
+ }
+
+
+
+
+
+
+ // To Update the PO
+ function updatePOMaster($PONO, $PODetails)
+ {
+ $this->db->table('t_purchaseorder_master')
+ ->where('PONO', $PONO)
+ ->update($PODetails);
+
+ return TRUE;
+ }
+
+
+ // To update Parent PO as Amended PO
+ function updateAmendPOMaster($PONO, $PODetail)
+ {
+ //echo $PONO."from model";
+ $this->db->table('t_purchaseorder_master')
+ ->where('PONO', $PONO)
+ ->update($PODetail);
+ $insert_id = $this->db->affectedRows();
+
+ return $insert_id;
+ }
+ /**
+ * This function is used to check the Line Item is already available in the database
+ * @return array $result : This is result of the query
+ */
+ function LineItemExists($LineItemNo)
+ {
+
+ $builder = $this->db->table('t_service_tax')
+ ->select('LineItemNo,TaxID')
+ ->where('LineItemNo ', $LineItemNo);
+ //->where('Requestedby ',$ReqBy );
+ $query = $builder->get();
+
+ if ($query->getNumRows() > 0) {
+ //echo $result->getNumRows();
+ return $query->getResultArray();
+ }
+ }
+ /**
+ * This function is used to check the Revenue Line Item is already available in the database
+ * @return array $result : This is result of the query
+ */
+ function LineItemExistsinRevenueTax($LineItemNo)
+ {
+
+ $builder = $this->db->table('t_revenue_tax')->select('LineItemNo')
+ ->where('LineItemNo ', $LineItemNo);
+ $query = $builder->get();
+
+ if ($query->getNumRows() > 0) {
+ return $query->getResultArray();
+ }
+ }
+
+
+ function LineItemExistsinImportTax($LineItemNo)
+ {
+
+ $builder = $this->db->table('t_import_tax')->select('LineItemNo')
+ ->where('LineItemNo ', $LineItemNo);
+ $query = $builder->get();
+
+ if ($query->getNumRows() > 0) {
+ return $query->getResultArray();
+ }
+ }
+ // To Update the PO Line Item
+ function updatePOLineItem($PONO, $LineItemNo, $PODetails)
+ {
+ $this->db->table('t_purchaseorder_lineitem')
+ ->where('PONO', $PONO)
+ ->where('LineItemNo', $LineItemNo)
+ ->update($PODetails);
+
+ return TRUE;
+ }
+ /*// To Update the Service Tax Item */
+ function updateServiceTax($LineItemNo, $PODetails)
+ {
+ $this->db->table('t_service_tax')
+ ->where('LineItemNo', $LineItemNo)
+ ->update($PODetails);
+
+ return TRUE;
+ }
+
+ /*// To Update the Revenue Tax Item */
+ function updateRevenueTax($LineItemNo, $PODetails)
+ {
+ $this->db->table('t_revenue_tax')
+ ->where('LineItemNo', $LineItemNo)
+ ->update($PODetails);
+ return TRUE;
+ }
+
+ function updateImportTax($LineItemNo, $PODetails)
+ {
+ $this->db->table('t_import_tax')
+ ->where('LineItemNo', $LineItemNo)
+ ->update($PODetails);
+ return TRUE;
+ }
+
+ function getLastInsertedPO()
+ {
+
+ $builder = $this->db->table('T_PurchaseOrderDetails')->select('max(PONO) as PO');
+ $query = $builder->get();
+ return $query->getResultArray();
+ }
+
+
+ /* This Method to get all the Department name for the requistion */
+ function getDepartmentListForAllReq()
+ {
+ $subQuery = 'SELECT DISTINCT DEPT.DEPCode,DEPT.DepartmentName FROM t_requestion_master REQ
+ JOIN t_employee_details EMP ON REQ.Requestedby = EMP.EmpID
+ JOIN t_departmentdetails DEPT ON EMP.Departmentcode = DEPT.DEPCode WHERE REQ.Status not in(?,?,?,?)';
+
+ $query = $this->db->query($subQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED));
+ //print_r($query);
+ return $query->getResult();
+ }
+ /*
+ * This Method to get all department list
+ */
+ function getDepartmentAllList()
+ {
+ $subQuery = 'SELECT DISTINCT DEPCode,DepartmentName FROM t_departmentdetails';
+
+ $query = $this->db->query($subQuery);
+ //print_r($query);
+ return $query->getResult();
+ }
+
+
+ function getStatusListforAllReq()
+ {
+ $subQuery = 'SELECT DISTINCT STAT.StatusCode, STAT.StatusName FROM t_requestion_master REQ
+ JOIN t_status STAT on REQ.Status = STAT.StatusCode where STAT.StatusCode not in (?,?,?,?)';
+ $query = $this->db->query($subQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED));
+
+
+
+ return $query->getResult();
+ }
+
+ function getStatusByDepartment($DepNo = '')
+ {
+
+ $subQuery = 'SELECT DISTINCT STAT.StatusCode ,STAT.StatusName FROM t_requestion_master REQ
+ JOIN t_employee_details EMP ON REQ.Requestedby = EMP.EmpID
+ JOIN t_departmentdetails DEPT ON EMP.Departmentcode = DEPT.DEPCode
+ JOIN t_status STAT ON REQ.Status = STAT.StatusCode
+ WHERE DEPT.DEPCode=? AND REQ.Status NOT IN (?,?,?,?)';
+ $query = $this->db->query($subQuery, array($DepNo, REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED));
+
+ return $query->getResultArray();
+ }
+
+ function getRequistionListbySearch($Depid = '', $Status = '', $FromDate = '', $ToDate = '')
+ {
+ $subQuery = ' SELECT ReqNo,ReqType,Requestedby,EMP.FirstName,EMP.Designation,STAT.StatusCode ,STAT.StatusName,ReqDate,DEPT.DEPCode,DEPT.DepartmentName FROM t_requestion_master REQ
+ JOIN t_employee_details EMP ON REQ.Requestedby = EMP.EmpID
+ JOIN t_departmentdetails DEPT ON EMP.Departmentcode = DEPT.DEPCode
+ JOIN t_status STAT on REQ.Status = STAT.StatusCode
+ where REQ.Status NOT IN (?,?,?,?,?)';
+
+ $appendQuery = $subQuery;
+
+ if ($Depid != '' && $Status != '' && $FromDate != '' && $ToDate != '') {
+ $appendQuery .= ' AND DEPT.DEPCode=? AND STAT.StatusCode=? AND ReqDate >= ? AND ReqDate <= ?';
+ //echo "$appendQuery";die();
+ $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid, $Status, $FromDate, $ToDate));
+
+ return $query->getResultArray();
+ } else if ($Depid != '' && $Status == '' && $FromDate == '' && $ToDate == '') {
+ $appendQuery .= ' AND DEPT.DEPCode=?';
+
+ $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid));
+
+ return $query->getResultArray();
+ } else if ($Depid == '' && $Status != '' && $FromDate == '' && $ToDate == '') {
+ $appendQuery .= ' AND STAT.StatusCode=?';
+
+ $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Status));
+
+ return $query->getResultArray();
+ } else if ($Depid == '' && $Status == '' && $FromDate != '' && $ToDate != '') {
+ $appendQuery .= ' AND ReqDate >= ? AND ReqDate <= ?';
+
+ $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $FromDate, $ToDate));
+
+ return $query->getResultArray();
+ } else if ($Depid != '' && $Status != '' && $FromDate == '' && $ToDate == '') {
+ $appendQuery .= ' AND DEPT.DEPCode=? AND STAT.StatusCode=?';
+
+ $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid, $Status));
+
+ return $query->getResultArray();
+ } else if ($Depid != '' && $Status == '' && $FromDate != '' && $ToDate != '') {
+ $appendQuery .= ' AND DEPT.DEPCode=? AND ReqDate >= ? AND ReqDate <= ?';
+
+ $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Depid, $FromDate, $ToDate));
+
+ return $query->getResultArray();
+ } else if ($Depid == '' && $Status != '' && $FromDate != '' && $ToDate != '') {
+ $appendQuery .= ' AND STAT.StatusCode=? AND ReqDate >= ? AND ReqDate <= ?';
+
+ $query = $this->db->query($appendQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED, $Status, $FromDate, $ToDate));
+
+ return $query->getResultArray();
+ } else {
+ $query = $this->db->query($subQuery, array(REQ_DRAFT, REQ_PENDING_APPROVAL, REQ_DELETED, REQ_REJECTED, REQ_PO_CREATED));
+
+ return $query->getResult();
+ }
+ }
+
+ function UpdateRequistItemStatus()
+ {
+ $query = $this->db->query("update t_requestion_details REQ
+ JOIN t_purchaseorder_lineitem line ON REQ.ReqNo = line.ReqNo
+ JOIN t_purchaseorder_master PO ON PO.PONO = line.PONO
+ set REQ.Status = CASE WHEN REQ.Quantity = line.Quantity THEN 'ST022' WHEN REQ.Quantity > line.Quantity THEN 'ST023' ELSE 'ST003' END ,
+ REQ.updatedOn= CURRENT_TIMESTAMP
+ where PO.Status ='" . PO_CREATED . "'");
+
+ //$query ->next_result();
+
+ }
+ function UpdateRequistionStatus()
+ {
+ $result = $this->db->query("CALL P_UPDATE_REQUISTIONSTATUS_New()"); // or die(mysql_error());
+
+ // $result ->next_result();
+
+ }
+ /**
+ * This function is used to delete the Line item from details into Database
+ * @return array $result : This is result of the query
+ */
+ function DeletePOLineItem($LineItem = '', $ReqNo = '', $MaterialCode = '')
+ {
+ $this->db->table('t_purchaseorder_lineitem')->delete(['LineItemNo' => $LineItem, 'ReqNo' => $ReqNo, 'MaterialCode' => $MaterialCode]);
+ return TRUE;
+ }
+
+ /**
+ * This function is used to delete the Revenue item from details into Database
+ * @return array $result : This is result of the query
+ */
+ function DeletePORevenueTax($LineItem = '')
+ {
+
+ $this->db->table('t_revenue_tax')->delete(['LineItemNo' => $LineItem]);
+ return TRUE;
+ }
+
+ /**
+ * This function is used to delete Service Tax from details into Database
+ * @return array $result : This is result of the query
+ */
+ function DeletePOServiceTax($LineItem = '')
+ {
+ $this->db->table('t_service_tax')->delete(['LineItemNo' => $LineItem]);
+ return TRUE;
+ }
+
+
+ function DeletePOImportTax($LineItem = '')
+ {
+
+ $this->db->table('t_import_tax')->delete(['LineItemNo' => $LineItem]);
+ return TRUE;
+ }
+
+ /**
+ * This function is used to get the List of PO details to the approver
+ * @return array $result : This is result of the query
+ * join t_departmentdetails Dept on emp.Departmentcode = Dept.DEPCode
+ */
+ function getPOList($type)
+ {
+
+
+
+ $builder = $this->db->table('t_purchaseorder_master mast')->distinct()
+ ->select('mast.PODate,mast.PONO,mast.TotalOrderValue,st.StatusCode,st.StatusName,emp.FirstName,mast.CreatedDate,ccm.CostCenterName,ccm.CostCenterCode,mast.POType as RType,mast.Remarks,DepartmentName,mast.ApprovedBy,(select EmpID from tbl_users where userId=mast.ApprovedBy )as EID,rmast.ReqType,mast.Status,mast.CapitalRange,
+ (select FirstName from t_employee_details where EmpID=EID)as Approver,sup.SupplierName,sup.MSME')
+ // ->orderBy('mast.Status',"PO_CREATED");
+
+ ->join('t_supplierdetailsn sup', 'sup.SupplierID = mast.SupplierID')
+ ->join('t_status st', 'st.StatusCode=mast.Status')
+ ->join('t_purchaseorder_lineitem req', 'req.PONO= mast.PONO')
+ ->join('t_requestion_master rmast', 'rmast.ReqNo=req.ReqNo')
+ //->join('t_costcenter_budget bud','bud.CostCenterCode = req.CostCenterCode and bud.BudgetType = rmast.ReqType')
+ ->join('t_costcenter_master ccm', 'ccm.CostCenterCode = req.CostCenterCode', 'left')
+ ->join('tbl_users tbl', 'rmast.createdby=tbl.userid', 'left')
+ ->join('t_employee_details as emp', 'emp.empid=tbl.empid', 'left')
+ ->join('t_departmentdetails as Dep', 'Dep.DEPCode=emp.Departmentcode', 'left');
+
+ // old Status Don't Deleted it.
+ // if ($type == 'APPROVAL') {
+ // $builder->orWhere('mast.Status', PO_DRAFT);
+ // $builder->orWhere('mast.Status', PO_CREATED);
+ // $builder->orWhere('mast.Status', PO_APPROVER_ONHOLD);
+ // $builder->orWhere('mast.Status', PO_AWAITING_RELEASE);
+ // $builder->orWhere('mast.Status', PO_RELEASED);
+ // $builder->orWhere('mast.Status', REQITEM_Emergency_PO_CREATED);
+ // $builder->orderBy('mast.Status');
+ // }
+ // else if ($type == 'RELEASE') {
+ // $builder->orWhere('mast.Status', PO_DRAFT);
+ // $builder->orWhere('mast.Status', PO_AWAITING_RELEASE);
+ // $builder->orWhere('mast.Status', PO_RELEASER_ONHOLD);
+ // $builder->orWhere('mast.Status', PO_RELEASED);
+ // $builder->orderBy('mast.Status');
+ // }
+ if ($type == 'RELEASE') {
+ $builder->orWhere('mast.Status', PO_DRAFT);
+ $builder->orWhere('mast.Status', PO_CREATED);
+ $builder->orWhere('mast.Status', PO_APPROVER_ONHOLD);
+ $builder->orWhere('mast.Status', PO_AWAITING_RELEASE);
+ $builder->orWhere('mast.Status', PO_RELEASER_ONHOLD);
+ $builder->orWhere('mast.Status', PO_RELEASED);
+ $builder->orWhere('mast.Status', REQITEM_Emergency_PO_CREATED);
+ // $builder->orderBy('mast.Status');
+ }
+ $builder->orderBy('mast.CreatedDate', 'DESC');
+
+ $result = $builder->get();
+
+ return $result->getResult();
+ }
+
+
+ function UpdatePO($store, $PONO)
+ {
+ $this->db->table('t_purchaseorder_master')
+ ->where('PONO', $PONO)
+ ->update($store);
+
+ return TRUE;
+ }
+
+ function GetReleasedDetails($PONO)
+ {
+ $builder = $this->db->table('t_purchaseorder_master mast')
+ ->select('mast.ReleasedOn,re.FirstName')
+ ->join('tbl_users tbl', 'mast.ReleasedBy=tbl.userid')
+ ->join('t_employee_details re', 're.EmpID=tbl.EmpID')
+ ->where('mast.PONO', $PONO);
+ $result = $builder->get();
+
+ //die();
+ return $result->getResult();
+ }
+ //This is get the capital po list for edit
+
+ function getCapitalPurchaseOrderDetails($PONO = '')
+ {
+
+ $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.Per,LineItem.ServiceMaterialDescription,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,LineItem.ServiceMaterialDescription,LineItem.ServiceFrequency,
+ Mat.UOM,Quantity,ReceivedQuantity,Rate,Req.Status,Tax.*,
+ ROUND((RMCIncludingCustomersPerKG*Quantity),2)as Taxamount,LandingCharge,HighSeasSalesCharge,CustomDuty,ExciseDuty,ExciseDutyEdCess,CustomEdCess,POMast.ExchangeRate,POMast.ExchangeRateCalculatedon,POMast.TotalOrderValue as BasicValue,POMast.CapitalRange,AfterLandingCharge,AfterHighSeasSalesCharge,AfterCustomDuty,AfterExciseDuty,AfterExciseDutyEdCess,AddlExciseDuty,AfterAddlExciseDuty,Grossdutypayable,AvailableModvat,Grossexpensesduetocustomduty,purchaseratePerKG,CustomDutyExpensesPerKG,RMCIncludingCustomersPerKG,QuantityKG,BasicPriceInMTon,ProductPrice,CustomSHCess,AfterCustomSHCess,AfterExciseDutySHCess,ExciseDutySHCess,AfterCustomEdCess,ROUND((POMast.ExchangeRate*BasicPriceInMTon*Quantity),2) as BasicINRValue,Tax.TotalValue as ImportTotalValue,Tax.FreightType,Tax.NoOfTrip,Tax.FreightValue,Tax.AfterFreightValue,POMast.CurrencyType,
+
+ Req.CostCenterCode,Dept.DepartmentName FROM t_purchaseorder_lineitem LineItem
+ join t_purchaseorder_master POMast on POMast.PONO = LineItem.PONO
+ join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
+ left join t_import_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
+ left join t_departmentdetails Dept on Req.RequestedDept = Dept.DEPCode where LineItem.PONO =?';
+ //print_r($subQuery);
+
+ $query = $this->db->query($subQuery, array($PONO));
+
+ return $query->getResult();
+ }
+
+ // This Method to get the Capital PO Details for pdf
+ function GetCapitalPurchaseOrderDetailsForPDF($PONO = '')
+ {
+
+ $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.Per,LineItem.AmendedDetails as lineamd,LineItem.AmendedDetails as lineamenddetails,ReqNo,Mat.MaterialCode,Mat.MaterialName,LineItem.ServiceMaterialDescription,
+ Mat.UOM,Mat.HSNCODE,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue ,
+ LineItem.CostCenterCode , POMaster.*,sup.SupplierName,sup.SupplierID,sup.Address,sup.ContactNumber,sup.EmailAddress,sup.PAN,sup.GSTNO,sup.MSME,sup.Cert_MSME,Payment.PaymentID,Payment.PaymentTerms,AdvanceAmount,HSNCODE
+ FROM t_purchaseorder_lineitem LineItem
+ join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
+
+ join t_purchaseorder_master POMaster on POMaster.PONO = LineItem.PONO
+ join t_supplierdetailsn sup on sup.SupplierID = POMaster.SupplierID
+ join t_paymentterms Payment on Payment.PaymentID = POMaster.PaymentTerms
+ left join t_purchaseorder_advancerequest Adv on POMaster.PONO=Adv.PONO
+ where LineItem.PONO =?';
+ $query = $this->db->query($subQuery, array($PONO));
+
+ return $query->getResult();
+ }
+ // get requested by details
+ function GetRequesedByDetails($PONO)
+ {
+ $builder = $this->db->table('t_purchaseorder_master mast')
+ ->select('mast.CreatedBy, re.FirstName, Dept.DEPCode, Dept.DepartmentName')
+ ->join('tbl_users tbl', 'mast.CreatedBy = tbl.userid', 'left')
+ ->join('t_employee_details re', 're.EmpID = tbl.EmpID', 'left')
+ ->join('t_departmentdetails Dept', 're.Departmentcode = Dept.DEPCode', 'left')
+ ->where('mast.PONO', $PONO);
+
+ $result = $builder->get();
+ return $result->getResult();
+ }
+
+
+ // get domestic capital po list
+
+
+ function getDomesticCapitalPurchaseOrderDetails($PONO = '')
+ {
+
+ $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.Per,LineItem.ServiceMaterialDescription,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,LineItem.ServiceMaterialDescription,LineItem.ServiceFrequency,
+ Mat.UOM,Quantity,ReceivedQuantity,Rate,Req.Status,ROUND((ServiceTax.After_CGST + ServiceTax.After_SGST + ServiceTax.After_IGST),2) as ServiceTaxamount
+ ,ServiceTax.TotalValue,ServiceTax.CGST,ServiceTax.After_CGST,ServiceTax.SGST,ServiceTax.After_SGST,ServiceTax.IGST,ServiceTax.After_IGST,ServiceTax.otherallowance,ServiceTax.discount,ServiceTax.discountval,ServiceTax.Afterdiscountval,
+ POMast.ExchangeRate,POMast.ExchangeRateCalculatedon,POMast.TotalOrderValue as BasicValue,POMast.CapitalRange,ROUND((POMast.TotalOrderValue),2) as BasicINRValue,POMast.CurrencyType,FreightType as Ftype,NoOfTrip as NoTrip,FreightValue as Fvalue,AfterFreightValue as Afvalue,
+
Req.CostCenterCode,Dept.DepartmentName FROM t_purchaseorder_lineitem LineItem
join t_purchaseorder_master POMast on POMast.PONO = LineItem.PONO
join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
- left join t_import_tax Tax on Tax.LineItemNo = LineItem.LineItemNo
+ left join t_service_tax ServiceTax on ServiceTax.LineItemNo = LineItem.LineItemNo
join t_requestion_master Req on Req.ReqNo = LineItem.ReqNo
- left join t_employee_details emp on Req.Requestedby = emp.EmpID
- left join t_departmentdetails Dept on Req.RequestedDept = Dept.DEPCode where LineItem.PONO =?';
- //print_r($subQuery);
+ join t_employee_details emp on Req.Requestedby = emp.EmpID
- $query = $this->db->query($subQuery, array($PONO));
+ join t_departmentdetails Dept on emp.Departmentcode = Dept.DEPCode where LineItem.PONO =?';
+ //print_r($subQuery);
- return $query->getResult();
- }
+ $query = $this->db->query($subQuery, array($PONO));
- // This Method to get the Capital PO Details for pdf
- function GetCapitalPurchaseOrderDetailsForPDF($PONO = '')
- {
-
- $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.Per,LineItem.AmendedDetails as lineamd,LineItem.AmendedDetails as lineamenddetails,ReqNo,Mat.MaterialCode,Mat.MaterialName,LineItem.ServiceMaterialDescription,
- Mat.UOM,Mat.HSNCODE,Quantity,Rate,ROUND((Quantity *Rate),2 ) as BasicValue ,
- LineItem.CostCenterCode , POMaster.*,sup.SupplierName,sup.SupplierID,sup.Address,sup.ContactNumber,sup.EmailAddress,sup.PAN,sup.GSTNO,sup.MSME,sup.Cert_MSME,Payment.PaymentID,Payment.PaymentTerms,AdvanceAmount,HSNCODE
- FROM t_purchaseorder_lineitem LineItem
- join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
-
- join t_purchaseorder_master POMaster on POMaster.PONO = LineItem.PONO
- join t_supplierdetailsn sup on sup.SupplierID = POMaster.SupplierID
- join t_paymentterms Payment on Payment.PaymentID = POMaster.PaymentTerms
- left join t_purchaseorder_advancerequest Adv on POMaster.PONO=Adv.PONO
- where LineItem.PONO =?';
- $query = $this->db->query($subQuery, array($PONO));
-
- return $query->getResult();
- }
- // get requested by details
- function GetRequesedByDetails($PONO)
- {
- $builder = $this->db->table('t_purchaseorder_master mast')
- ->select('mast.CreatedBy, re.FirstName, Dept.DEPCode, Dept.DepartmentName')
- ->join('tbl_users tbl', 'mast.CreatedBy = tbl.userid', 'left')
- ->join('t_employee_details re', 're.EmpID = tbl.EmpID', 'left')
- ->join('t_departmentdetails Dept', 're.Departmentcode = Dept.DEPCode', 'left')
- ->where('mast.PONO', $PONO);
-
- $result = $builder->get();
- return $result->getResult();
- }
+ return $query->getResult();
+ }
+ //get pdf po requistion details
- // get domestic capital po list
+ function GetPdfRequistionDetails($PONO)
+ {
+ $builder = $this->db->table('t_purchaseorder_lineitem LineItem')->select('LineItem.ReqNo')
+ ->where('LineItem.PONO', $PONO);
+ $result = $builder->get();
+ $ReqNo = '';
- function getDomesticCapitalPurchaseOrderDetails($PONO = '')
- {
+ foreach ($result->getResult() as $res) {
- $subQuery = 'SELECT distinct LineItem.LineItemNo,LineItem.Per,LineItem.ServiceMaterialDescription,Req.ReqNo,Mat.MaterialCode,Mat.MaterialName,LineItem.ServiceMaterialDescription,LineItem.ServiceFrequency,
- Mat.UOM,Quantity,ReceivedQuantity,Rate,Req.Status,ROUND((ServiceTax.After_CGST + ServiceTax.After_SGST + ServiceTax.After_IGST),2) as ServiceTaxamount
- ,ServiceTax.TotalValue,ServiceTax.CGST,ServiceTax.After_CGST,ServiceTax.SGST,ServiceTax.After_SGST,ServiceTax.IGST,ServiceTax.After_IGST,ServiceTax.otherallowance,ServiceTax.discount,ServiceTax.discountval,ServiceTax.Afterdiscountval,
- POMast.ExchangeRate,POMast.ExchangeRateCalculatedon,POMast.TotalOrderValue as BasicValue,POMast.CapitalRange,ROUND((POMast.TotalOrderValue),2) as BasicINRValue,POMast.CurrencyType,FreightType as Ftype,NoOfTrip as NoTrip,FreightValue as Fvalue,AfterFreightValue as Afvalue,
+ if ($ReqNo == $res->ReqNo) {
+ } else {
+ $ReqNo = $res->ReqNo;
+ $builder1 = $this->db->table('t_requestion_master ReqMast')
+ ->select('ReqMast.ReqNo,ReqMast.CostCenterCode,ReqMast.ReqDate,ReqMast.Schedule_Type,ReqMast.NumberOfService,ReqMast.Service_Period,Dept.DEPCode,Dept.DepartmentName,Dept.shortName')
+ ->join('t_departmentdetails Dept', 'ReqMast.RequestedDept = Dept.DEPCode')
+ ->where('ReqMast.ReqNo', $ReqNo);
+ $Reqresult = $builder1->get();
+ $Details['RequistionNo'] = $Reqresult->getResult()[0]->ReqNo;
+ $Details['ReqDate'] = $Reqresult->getResult()[0]->ReqDate;
- Req.CostCenterCode,Dept.DepartmentName FROM t_purchaseorder_lineitem LineItem
- join t_purchaseorder_master POMast on POMast.PONO = LineItem.PONO
- join t_materialmaster Mat on Mat.MaterialCode = LineItem.MaterialCode
- left join t_service_tax ServiceTax on ServiceTax.LineItemNo = LineItem.LineItemNo
- join t_requestion_master Req on Req.ReqNo = LineItem.ReqNo
- join t_employee_details emp on Req.Requestedby = emp.EmpID
+ $Details['RequestedDept'] = $Reqresult->getResult()[0]->shortName;
+ $Details['CostCenterCode'] = $Reqresult->getResult()[0]->CostCenterCode;
+ $retDate = format_date($Reqresult->getResult()[0]->ReqDate, 0, $format = 'd-m-Y');
+ $Details['ReqDate'] = $retDate;
+ $ScheduleType = $Reqresult->getResult()[0]->Schedule_Type;
+ if ($ScheduleType != 'Recurring') {
+ $Details['Frequency'] = $Reqresult->getResult()[0]->Schedule_Type;
+ } else {
+ $Details['Frequency'] = $Reqresult->getResult()[0]->Service_Period . ' - ' . $Reqresult->getResult()[0]->NumberOfService;
+ }
- join t_departmentdetails Dept on emp.Departmentcode = Dept.DEPCode where LineItem.PONO =?';
- //print_r($subQuery);
+ $ResultArray[] = $Details;
+ }
+ }
- $query = $this->db->query($subQuery, array($PONO));
+ $RequistionDetails = $ResultArray;
+ return $RequistionDetails;
+ }
+ function GetLineItemReceivedQty($ParentPO, $MaterialCode)
+ {
+ $builder = $this->db->table('t_purchaseorder_lineitem')
+ ->select('ReceivedQuantity')
+ ->where('PONO', $ParentPO)
+ ->where('MaterialCode', $MaterialCode);
+ $result = $builder->get();
- return $query->getResult();
- }
- //get pdf po requistion details
-
-
- function GetPdfRequistionDetails($PONO)
- {
-
- $builder = $this->db->table('t_purchaseorder_lineitem LineItem')->select('LineItem.ReqNo')
- ->where('LineItem.PONO', $PONO);
- $result = $builder->get();
- $ReqNo = '';
-
- foreach ($result->getResult() as $res) {
-
- if ($ReqNo == $res->ReqNo) {
- } else {
- $ReqNo = $res->ReqNo;
- $builder1 = $this->db->table('t_requestion_master ReqMast')
- ->select('ReqMast.ReqNo,ReqMast.CostCenterCode,ReqMast.ReqDate,ReqMast.Schedule_Type,ReqMast.NumberOfService,ReqMast.Service_Period,Dept.DEPCode,Dept.DepartmentName,Dept.shortName')
- ->join('t_departmentdetails Dept', 'ReqMast.RequestedDept = Dept.DEPCode')
- ->where('ReqMast.ReqNo', $ReqNo);
- $Reqresult = $builder1->get();
- $Details['RequistionNo'] = $Reqresult->getResult()[0]->ReqNo;
- $Details['ReqDate'] = $Reqresult->getResult()[0]->ReqDate;
-
- $Details['RequestedDept'] = $Reqresult->getResult()[0]->shortName;
- $Details['CostCenterCode'] = $Reqresult->getResult()[0]->CostCenterCode;
- $retDate = format_date($Reqresult->getResult()[0]->ReqDate, 0, $format = 'd-m-Y');
- $Details['ReqDate'] = $retDate;
- $ScheduleType = $Reqresult->getResult()[0]->Schedule_Type;
- if ($ScheduleType != 'Recurring') {
- $Details['Frequency'] = $Reqresult->getResult()[0]->Schedule_Type;
- } else {
- $Details['Frequency'] = $Reqresult->getResult()[0]->Service_Period . ' - ' . $Reqresult->getResult()[0]->NumberOfService;
+ return $result->getResultArray();
}
- $ResultArray[] = $Details;
- }
- }
+ //get paymentTerms details
- $RequistionDetails = $ResultArray;
- return $RequistionDetails;
- }
- function GetLineItemReceivedQty($ParentPO, $MaterialCode)
- {
- $builder = $this->db->table('t_purchaseorder_lineitem')
- ->select('ReceivedQuantity')
- ->where('PONO', $ParentPO)
- ->where('MaterialCode', $MaterialCode);
- $result = $builder->get();
-
- return $result->getResultArray();
- }
-
- //get paymentTerms details
-
- function getPaymentTermsDetails($Payment_ID = '')
- {
+ function getPaymentTermsDetails($Payment_ID = '')
+ {
- $getpaymentQuery = 'select distinct PaymentID,PaymentTerms,Details from t_paymentterms';
- $paymentQuery = $this->db->query($getpaymentQuery);
+ $getpaymentQuery = 'select distinct PaymentID,PaymentTerms,Details from t_paymentterms';
+ $paymentQuery = $this->db->query($getpaymentQuery);
- return $paymentQuery->getResult();
- }
- /**
- * This function is used to get status in status table
-
- */
- function getStatus($StatusType = '')
- {
-
- $builder = $this->db->table('t_status')->select('StatusCode,StatusName ')
- ->where('StatusType', $StatusType);
- $query = $builder->get();
-
- return $query->getResult();
- }
-
-
- function edit_mrir($MrirNo)
- {
- $builder = $this->db->table('t_mrir_master TMM')
- ->distinct()
- ->select('TMM.MRIRNO,TMM.PONO,TMM.IGRNO,TMM.Createdon,TMD.ActualQuantityReceived,IGRM.DeliveryChellanOrInvoiceNo,IGRM.DeliveryChellanDate,IGRM.VehicleNo,IGRM.CourierNo,IGRM.CreatedDate,IGRD.QuantityAsPerInvoice,SUPP.SupplierName,SUPP.Address,POMR.PODate,POMR.DeliveryDate,POMR.ServiceDescription,TMD.MaterialCode,MM.MaterialName,MM.UOM,POLT.Quantity,POLT.ReceivedQuantity,ED.FirstName as PORasiedbyName,ED1.FirstName as MRIRRasiedbyName, ED2.FirstName as IGRRasiedbyName,TMM.MRIRStatus,TMM.Createdon as MRIRCreatedon,POLT.CostCenterCode,CostCenterName,QuantityAccepted,QuantityRejected,TMD.Remarks')
- ->join('t_mrir_details TMD', 'TMM.MRIRNO = TMD.MRIRNO', 'left') //to get IGRNO,PONO,MRIRNO,mrirdate,
- ->join('t_igr_master IGRM', 'IGRM.IGRNO = TMM.IGRNO', 'left') //to get actualquantity,deliverydate,Invoicedate,vechileno,courierno,igrdate,
- ->join('t_purchaseorder_master POMR ', 'IGRM.PONO = POMR.PONO', 'left') //to get podate,deliverydate,servicedescription
- ->join('t_purchaseorder_lineitem POLT', 'IGRM.PONO=POLT.PONO', 'left') //to get receivedquantity,quantity
- ->join('t_igr_details IGRD', 'IGRD.IGRNO = IGRM.IGRNO', 'left') //to get invoicequantity
- ->join('t_materialmaster MM', 'IGRD.MaterialCode = MM.MaterialCode', 'left')
- ->join('t_supplierdetailsn SUPP', 'POMR.SupplierID = SUPP.SupplierID', 'left') //to get suppliername,supplieraddress
- ->join('tbl_users user', 'user.userid = POMR.CreatedBy', 'left') //to get poraisedby
- ->join('t_employee_details ED', 'ED.EmpID = user.EmpID', 'left')
- ->join('tbl_users user1', 'user1.userid=TMM.CreatedBy', 'left') //to get mrirraisedby
- ->join('t_employee_details ED1', 'ED1.EmpID = user1.EmpID', 'left')
- ->join('tbl_users user2', 'user2.userid=IGRM.CreatedBy', 'left') //to get igrraisedby
- ->join('t_employee_details ED2', 'ED2.EmpID = user2.EmpID', 'left')
- ->join('t_costcenter_master TCOST', 'POLT.CostCenterCode=TCOST.CostCenterCode')
- ->where('TMM.MRIRNO', $MrirNo)
- ->groupBy('TMM.MRIRNO,TMD.MaterialCode');
- $query = $builder->get();
- $result = $query->getResult();
-
- return $result;
- }
-
-
-
-
-
- function getadvancePONO($Status = '')
- {
- $builder = $this->db->table('t_purchaseorder_master Mast')->select('Mast.PONO,POType,Mast.CreatedDate,Mast.ReleasedOn,Mast.TotalOrderValue,Mast.SupplierID,DeliveryDate,DeliverySchedule,DeliveryOption,Mast.PaymentTerms as Paycode,Payterm.PaymentTerms,LineItem.ReqNo,Requestedby,Departmentcode,DepartmentName,LineItem.CostCenterCode,SupDet.SupplierName,Import_DispatchDetails,CurrencyType,AdvancePercentage,AdvanceAmount,POAdv.Remarks,Mast.CapitalRange,Mast.PaymentOtherDescription,RequestedDept')
- ->join('t_purchaseorder_lineitem LineItem', 'Mast.PONO=LineItem.PONO')
- ->join('t_requestion_master ReqMa', 'LineItem.ReqNo=ReqMa.ReqNo')
- ->join('t_employee_details EmpDet', 'ReqMa.Requestedby=EmpDet.EmpID', 'left')
- ->join('t_departmentdetails DepDet', 'EmpDet.Departmentcode=DepDet.DEPCode or ReqMa.RequestedDept=DepDet.DEPCode', 'left')
- ->join('t_supplierdetailsn SupDet', 'Mast.SupplierID=SupDet.SupplierID')
- ->join('t_purchaseorder_advancerequest POAdv', 'Mast.PONO=POAdv.PONO', 'left')
- ->join('t_paymentterms Payterm', 'Mast.PaymentTerms=Payterm.PaymentID')
- ->where('Mast.Status', $Status);
- $query = $builder->get();
-
- return $query->getResult();
- }
-
- // update req deatail if work status is completed
-
- function updateReqDetail($PONO, $POStatus, $MaterialCode)
- {
- $this->db->table('t_purchaseorder_lineitem Item')
- ->join('t_requestion_details Req', 'Item.ReqNo = Req.ReqNo')
- ->where('Item.PONO', $PONO)
- ->where('Req.MaterialCode', $MaterialCode)
- ->set('Req.Status', $POStatus)
- ->update();
- return TRUE;
- }
-
- function UpdateReceivedQtyforServicePO($PONO, $updateddt, $updatedBy)
- {
- $builder = $this->db->table('t_purchaseorder_lineitem')->select('LineItemNo,MaterialCode')
- ->where('PONO ', $PONO);
- $query = $builder->get();
- $result = $query->getResult();
-
- if (!empty($result)) {
- foreach ($result as $res) {
- $LineItemNo = $res->LineItemNo;
- $MaterialCode = $res->MaterialCode;
- //echo $LineItemNo;
-
- $subQuery = 'update t_purchaseorder_lineitem
- set ReceivedQuantity=Quantity, status=?,UpdatedOn=?,UpdateBY=? where PONO=? and LineItemNo=?';
-
- $query = $this->db->query($subQuery, array(PO_SERVICE_COMPLETED, $updateddt, $updatedBy, $PONO, $LineItemNo));
- $finddot = strpos($PONO, '.');
- if ($finddot = true) {
- $subQuery = 'update t_purchaseorder_lineitem
- set ReceivedQuantity=Quantity, status=?,UpdatedOn=?,UpdateBY=? where PONO=substring(?,1,(case when INstr(?,?) > 0 then INstr(?,?)-1 else 0 end)) and MaterialCode=?';
-
- $query = $this->db->query($subQuery, array(PO_SERVICE_COMPLETED, $updateddt, $updatedBy, $PONO, $PONO, '.', $PONO, '.', $MaterialCode));
+ return $paymentQuery->getResult();
}
- }
- }
- }
- //get service tax listusing po number
- function GetServiceTaxDetails($PONO = '')
- {
+ /**
+ * This function is used to get status in status table
+
+ */
+ function getStatus($StatusType = '')
+ {
- $taxQuery = 'SELECT group_concat(@count:=@count+1) Itemcode,
-st.CGST,st.SGST,st.IGST,st.otherallowance FROM t_service_tax st
- join t_purchaseorder_lineitem pl on pl.LineItemNo=st.LineItemNo
- join t_purchaseorder_master pm on pm.PONO=pl.PONO JOIN
- (SELECT @count := 0) count
- where pm.POType=? and pm.PONO=?
- group by st.CGST,st.SGST,st.IGST,st.otherallowance
- ORDER BY Itemcode ASC ';
+ $builder = $this->db->table('t_status')->select('StatusCode,StatusName ')
+ ->where('StatusType', $StatusType);
+ $query = $builder->get();
+
+ return $query->getResult();
+ }
+
+
+ function edit_mrir($MrirNo)
+ {
+ $builder = $this->db->table('t_mrir_master TMM')
+ ->distinct()
+ ->select('TMM.MRIRNO,TMM.PONO,TMM.IGRNO,TMM.Createdon,TMD.ActualQuantityReceived,IGRM.DeliveryChellanOrInvoiceNo,IGRM.DeliveryChellanDate,IGRM.VehicleNo,IGRM.CourierNo,IGRM.CreatedDate,IGRD.QuantityAsPerInvoice,SUPP.SupplierName,SUPP.Address,POMR.PODate,POMR.DeliveryDate,POMR.ServiceDescription,TMD.MaterialCode,MM.MaterialName,MM.UOM,POLT.Quantity,POLT.ReceivedQuantity,ED.FirstName as PORasiedbyName,ED1.FirstName as MRIRRasiedbyName, ED2.FirstName as IGRRasiedbyName,TMM.MRIRStatus,TMM.Createdon as MRIRCreatedon,POLT.CostCenterCode,CostCenterName,QuantityAccepted,QuantityRejected,TMD.Remarks')
+ ->join('t_mrir_details TMD', 'TMM.MRIRNO = TMD.MRIRNO', 'left') //to get IGRNO,PONO,MRIRNO,mrirdate,
+ ->join('t_igr_master IGRM', 'IGRM.IGRNO = TMM.IGRNO', 'left') //to get actualquantity,deliverydate,Invoicedate,vechileno,courierno,igrdate,
+ ->join('t_purchaseorder_master POMR ', 'IGRM.PONO = POMR.PONO', 'left') //to get podate,deliverydate,servicedescription
+ ->join('t_purchaseorder_lineitem POLT', 'IGRM.PONO=POLT.PONO', 'left') //to get receivedquantity,quantity
+ ->join('t_igr_details IGRD', 'IGRD.IGRNO = IGRM.IGRNO', 'left') //to get invoicequantity
+ ->join('t_materialmaster MM', 'IGRD.MaterialCode = MM.MaterialCode', 'left')
+ ->join('t_supplierdetailsn SUPP', 'POMR.SupplierID = SUPP.SupplierID', 'left') //to get suppliername,supplieraddress
+ ->join('tbl_users user', 'user.userid = POMR.CreatedBy', 'left') //to get poraisedby
+ ->join('t_employee_details ED', 'ED.EmpID = user.EmpID', 'left')
+ ->join('tbl_users user1', 'user1.userid=TMM.CreatedBy', 'left') //to get mrirraisedby
+ ->join('t_employee_details ED1', 'ED1.EmpID = user1.EmpID', 'left')
+ ->join('tbl_users user2', 'user2.userid=IGRM.CreatedBy', 'left') //to get igrraisedby
+ ->join('t_employee_details ED2', 'ED2.EmpID = user2.EmpID', 'left')
+ ->join('t_costcenter_master TCOST', 'POLT.CostCenterCode=TCOST.CostCenterCode')
+ ->where('TMM.MRIRNO', $MrirNo)
+ ->groupBy('TMM.MRIRNO,TMD.MaterialCode');
+ $query = $builder->get();
+ $result = $query->getResult();
+
+ return $result;
+ }
+
+
+
+
+
+ function getadvancePONO($Status = '')
+ {
+ $builder = $this->db->table('t_purchaseorder_master Mast')->select('Mast.PONO,POType,Mast.CreatedDate,Mast.ReleasedOn,Mast.TotalOrderValue,Mast.SupplierID,DeliveryDate,DeliverySchedule,DeliveryOption,Mast.PaymentTerms as Paycode,Payterm.PaymentTerms,LineItem.ReqNo,Requestedby,Departmentcode,DepartmentName,LineItem.CostCenterCode,SupDet.SupplierName,Import_DispatchDetails,CurrencyType,AdvancePercentage,AdvanceAmount,POAdv.Remarks,Mast.CapitalRange,Mast.PaymentOtherDescription,RequestedDept')
+ ->join('t_purchaseorder_lineitem LineItem', 'Mast.PONO=LineItem.PONO')
+ ->join('t_requestion_master ReqMa', 'LineItem.ReqNo=ReqMa.ReqNo')
+ ->join('t_employee_details EmpDet', 'ReqMa.Requestedby=EmpDet.EmpID', 'left')
+ ->join('t_departmentdetails DepDet', 'EmpDet.Departmentcode=DepDet.DEPCode or ReqMa.RequestedDept=DepDet.DEPCode', 'left')
+ ->join('t_supplierdetailsn SupDet', 'Mast.SupplierID=SupDet.SupplierID')
+ ->join('t_purchaseorder_advancerequest POAdv', 'Mast.PONO=POAdv.PONO', 'left')
+ ->join('t_paymentterms Payterm', 'Mast.PaymentTerms=Payterm.PaymentID')
+ ->where('Mast.Status', $Status);
+ $query = $builder->get();
+
+ return $query->getResult();
+ }
+
+ // update req deatail if work status is completed
+
+ function updateReqDetail($PONO, $POStatus, $MaterialCode)
+ {
+ $this->db->table('t_purchaseorder_lineitem Item')
+ ->join('t_requestion_details Req', 'Item.ReqNo = Req.ReqNo')
+ ->where('Item.PONO', $PONO)
+ ->where('Req.MaterialCode', $MaterialCode)
+ ->set('Req.Status', $POStatus)
+ ->update();
+ return TRUE;
+ }
+
+ function UpdateReceivedQtyforServicePO($PONO, $updateddt, $updatedBy)
+ {
+ $builder = $this->db->table('t_purchaseorder_lineitem')->select('LineItemNo,MaterialCode')
+ ->where('PONO ', $PONO);
+ $query = $builder->get();
+ $result = $query->getResult();
+
+ if (!empty($result)) {
+ foreach ($result as $res) {
+ $LineItemNo = $res->LineItemNo;
+ $MaterialCode = $res->MaterialCode;
+ //echo $LineItemNo;
+
+ $subQuery = 'update t_purchaseorder_lineitem
+ set ReceivedQuantity=Quantity, status=?,UpdatedOn=?,UpdateBY=? where PONO=? and LineItemNo=?';
+
+ $query = $this->db->query($subQuery, array(PO_SERVICE_COMPLETED, $updateddt, $updatedBy, $PONO, $LineItemNo));
+ $finddot = strpos($PONO, '.');
+ if ($finddot = true) {
+ $subQuery = 'update t_purchaseorder_lineitem
+ set ReceivedQuantity=Quantity, status=?,UpdatedOn=?,UpdateBY=? where PONO=substring(?,1,(case when INstr(?,?) > 0 then INstr(?,?)-1 else 0 end)) and MaterialCode=?';
+
+ $query = $this->db->query($subQuery, array(PO_SERVICE_COMPLETED, $updateddt, $updatedBy, $PONO, $PONO, '.', $PONO, '.', $MaterialCode));
+ }
+ }
+ }
+ }
+ //get service tax listusing po number
+ function GetServiceTaxDetails($PONO = '')
+ {
+
+ $taxQuery = 'SELECT group_concat(@count:=@count+1) Itemcode,
+ st.CGST,st.SGST,st.IGST,st.otherallowance FROM t_service_tax st
+ join t_purchaseorder_lineitem pl on pl.LineItemNo=st.LineItemNo
+ join t_purchaseorder_master pm on pm.PONO=pl.PONO JOIN
+ (SELECT @count := 0) count
+ where pm.POType=? and pm.PONO=?
+ group by st.CGST,st.SGST,st.IGST,st.otherallowance
+ ORDER BY Itemcode ASC ';
$query = $this->db->query($taxQuery, array("SERVICE", $PONO));
@@ -1981,443 +1985,443 @@ st.CGST,st.SGST,st.IGST,st.otherallowance FROM t_service_tax st
function amendpdf($PONO = '')
{
$Amend = 'select p.PONO,p.ParentPO,p.Status,p.TotalOrderValue,
- m.Status as parentpostatus,
- m.TotalOrderValue as partenttotalorder
- from t_purchaseorder_master as p
- join t_purchaseorder_master as m
- on m.PONO = p.ParentPO
- where p.PONO = ?';
- $amendment = $this->db->query($Amend, array($PONO));
+ m.Status as parentpostatus,
+ m.TotalOrderValue as partenttotalorder
+ from t_purchaseorder_master as p
+ join t_purchaseorder_master as m
+ on m.PONO = p.ParentPO
+ where p.PONO = ?';
+ $amendment = $this->db->query($Amend, array($PONO));
- return $amendment->getResult();
- }
+ return $amendment->getResult();
+ }
- function GetClients()
- {
+ function GetClients()
+ {
- $builder = $this->db->table('ip_clients')->select('client_id,client_name');
- $query = $builder->get();
- return $query->getResultArray();
- }
+ $builder = $this->db->table('ip_clients')->select('client_id,client_name');
+ $query = $builder->get();
+ return $query->getResultArray();
+ }
- function SaveEnquiry($save)
- {
- $this->db->transStart();
- $builder = $this->db->table('T_Enquiry');
- $builder->insert($save);
- $insert_id = $this->db->affectedRows();
- $this->db->transComplete();
- return $insert_id;
- }
+ function SaveEnquiry($save)
+ {
+ $this->db->transStart();
+ $builder = $this->db->table('T_Enquiry');
+ $builder->insert($save);
+ $insert_id = $this->db->affectedRows();
+ $this->db->transComplete();
+ return $insert_id;
+ }
- function UpdateEnquiry($save, $Id)
- {
- $this->db->table('T_Enquiry')
- ->where('Id', $Id)
- ->update($save);
- $insert_id = $this->db->affectedRows();
- return $insert_id;
- }
+ function UpdateEnquiry($save, $Id)
+ {
+ $this->db->table('T_Enquiry')
+ ->where('Id', $Id)
+ ->update($save);
+ $insert_id = $this->db->affectedRows();
+ return $insert_id;
+ }
- function GetEnquiryDetails()
- {
- $builder = $this->db->table('T_Enquiry')
- ->select('T_Enquiry.*,client_name')
- ->join('ip_clients', 'ip_clients.client_id=T_Enquiry.client_id')
- ->orderBy('Id', 'desc');
- $query = $builder->get();
- return $query->getResult();
- }
-
+ function GetEnquiryDetails()
+ {
+ $builder = $this->db->table('T_Enquiry')
+ ->select('T_Enquiry.*,client_name')
+ ->join('ip_clients', 'ip_clients.client_id=T_Enquiry.client_id')
+ ->orderBy('Id', 'desc');
+ $query = $builder->get();
+ return $query->getResult();
+ }
+
- function GetEnquiry($Id)
- {
+ function GetEnquiry($Id)
+ {
- $builder = $this->db->table('T_Enquiry')
- ->select('T_Enquiry.*,client_name')
- ->join('ip_clients', 'ip_clients.client_id=T_Enquiry.client_id')
- ->where('Id', $Id)
- ->orderBy('Id', 'desc');
- $query = $builder->get();
- return $query->getResult();
- }
+ $builder = $this->db->table('T_Enquiry')
+ ->select('T_Enquiry.*,client_name')
+ ->join('ip_clients', 'ip_clients.client_id=T_Enquiry.client_id')
+ ->where('Id', $Id)
+ ->orderBy('Id', 'desc');
+ $query = $builder->get();
+ return $query->getResult();
+ }
- function GetEnquiryCount($createddt)
- {
+ function GetEnquiryCount($createddt)
+ {
-
- $builder = $this->db->table('T_Enquiry')
- ->select('count(Id) as Countnumber')
- ->where('Created_Date', $createddt);
- $query = $builder->get();
- return $query->getResult();
- }
-
-
- function SaveActionMaster($master)
- {
-
- $this->db->transStart();
- $builder = $this->db->table('T_ActionReport_Master');
- $builder->insert($master);
- $insert_id = $this->db->affectedRows();
- $this->db->transComplete();
-
- if ($insert_id > 0) {
- $subQuery = 'select max(Id) as Id from T_ActionReport_Master';
-
- $query = $this->db->query($subQuery, array());
-
- return $query->getResultArray();
- }
- }
-
-
- function SaveActionDisposition($actionsave)
- {
- $this->db->transStart();
- $builder = $this->db->table('T_Action_Disposition');
- $builder->insert($actionsave);
-
- $insert_id = $this->db->affectedRows();
- $this->db->transComplete();
- return $insert_id;
- }
+
+ $builder = $this->db->table('T_Enquiry')
+ ->select('count(Id) as Countnumber')
+ ->where('Created_Date', $createddt);
+ $query = $builder->get();
+ return $query->getResult();
+ }
+
+
+ function SaveActionMaster($master)
+ {
+
+ $this->db->transStart();
+ $builder = $this->db->table('T_ActionReport_Master');
+ $builder->insert($master);
+ $insert_id = $this->db->affectedRows();
+ $this->db->transComplete();
+
+ if ($insert_id > 0) {
+ $subQuery = 'select max(Id) as Id from T_ActionReport_Master';
+
+ $query = $this->db->query($subQuery, array());
+
+ return $query->getResultArray();
+ }
+ }
+
+
+ function SaveActionDisposition($actionsave)
+ {
+ $this->db->transStart();
+ $builder = $this->db->table('T_Action_Disposition');
+ $builder->insert($actionsave);
+
+ $insert_id = $this->db->affectedRows();
+ $this->db->transComplete();
+ return $insert_id;
+ }
- function UpdateActionDisposition($actionsave, $LineDisposition)
- {
- //echo $LineDisposition;
- $this->db->table('T_Action_Disposition')
- ->where('DispositionId', $LineDisposition)
- ->update($actionsave);
- return TRUE;
- }
-
- function UpdateRootCause($rootsave, $Lineroot)
- {
- $this->db->table('T_RootCause')
- ->where('RootId', $Lineroot)
- ->update($rootsave);
- return TRUE;
- }
-
-
- function Updatecounteraction($savecounter, $LineCounter)
- {
- $this->db->table('T_Action_Counter_Measure')
- ->where('CounterId', $LineCounter)
- ->update($savecounter);
- return TRUE;
- }
-
-
- function UpdateActionMaster($master, $Id)
- {
- $this->db->table('T_ActionReport_Master')
- ->where('Id', $Id)
- ->update($master);
- $insert_id = $this->db->affectedRows();
- //return TRUE;
- if ($insert_id > 0) {
- $subQuery = 'select max(Id) as Id from T_ActionReport_Master';
-
- $query = $this->db->query($subQuery, array());
+ function UpdateActionDisposition($actionsave, $LineDisposition)
+ {
+ //echo $LineDisposition;
+ $this->db->table('T_Action_Disposition')
+ ->where('DispositionId', $LineDisposition)
+ ->update($actionsave);
+ return TRUE;
+ }
+
+ function UpdateRootCause($rootsave, $Lineroot)
+ {
+ $this->db->table('T_RootCause')
+ ->where('RootId', $Lineroot)
+ ->update($rootsave);
+ return TRUE;
+ }
+
+
+ function Updatecounteraction($savecounter, $LineCounter)
+ {
+ $this->db->table('T_Action_Counter_Measure')
+ ->where('CounterId', $LineCounter)
+ ->update($savecounter);
+ return TRUE;
+ }
+
+
+ function UpdateActionMaster($master, $Id)
+ {
+ $this->db->table('T_ActionReport_Master')
+ ->where('Id', $Id)
+ ->update($master);
+ $insert_id = $this->db->affectedRows();
+ //return TRUE;
+ if ($insert_id > 0) {
+ $subQuery = 'select max(Id) as Id from T_ActionReport_Master';
+
+ $query = $this->db->query($subQuery, array());
- return $query->getResultArray();
- }
- }
-
-
-
- function SaveRootCause($rootsave)
- {
-
- $this->db->transStart();
- $builder = $this->db->table('T_RootCause');
- $builder->insert($rootsave);
- $insert_id = $this->db->affectedRows();
- $this->db->transComplete();
- return $insert_id;
- }
-
- function Savecounteraction($savecounter)
- {
- $this->db->transStart();
- $builder = $this->db->table('T_Action_Counter_Measure');
- $builder->insert($savecounter);
- $insert_id = $this->db->affectedRows();
- $this->db->transComplete();
- return $insert_id;
- }
-
- function GetNcrlist()
- {
- $builder = $this->db->table('t_complaintregister')->select('*')
- ->join('ip_clients', 'ip_clients.client_id=t_complaintregister.client_id')
- ->orderBy('CId', 'desc');
- $query = $builder->get();
- return $query->getResult();
- }
-
-
- function GetncrmasterDetails($Id)
- {
+ return $query->getResultArray();
+ }
+ }
+
+
+
+ function SaveRootCause($rootsave)
+ {
+
+ $this->db->transStart();
+ $builder = $this->db->table('T_RootCause');
+ $builder->insert($rootsave);
+ $insert_id = $this->db->affectedRows();
+ $this->db->transComplete();
+ return $insert_id;
+ }
+
+ function Savecounteraction($savecounter)
+ {
+ $this->db->transStart();
+ $builder = $this->db->table('T_Action_Counter_Measure');
+ $builder->insert($savecounter);
+ $insert_id = $this->db->affectedRows();
+ $this->db->transComplete();
+ return $insert_id;
+ }
+
+ function GetNcrlist()
+ {
+ $builder = $this->db->table('t_complaintregister')->select('*')
+ ->join('ip_clients', 'ip_clients.client_id=t_complaintregister.client_id')
+ ->orderBy('CId', 'desc');
+ $query = $builder->get();
+ return $query->getResult();
+ }
+
+
+ function GetncrmasterDetails($Id)
+ {
- $builder = $this->db->table('T_ActionReport_Master')->select('*')
- ->where('Id', $Id);
- $query = $builder->get();
- return $query->getResult();
- }
+ $builder = $this->db->table('T_ActionReport_Master')->select('*')
+ ->where('Id', $Id);
+ $query = $builder->get();
+ return $query->getResult();
+ }
- function GetDispositionDetails($Id)
- {
+ function GetDispositionDetails($Id)
+ {
- $builder = $this->db->table('T_Action_Disposition')->select('*')
- ->where('Id', $Id);
- $query = $builder->get();
- return $query->getResult();
- }
+ $builder = $this->db->table('T_Action_Disposition')->select('*')
+ ->where('Id', $Id);
+ $query = $builder->get();
+ return $query->getResult();
+ }
- function GetRootcauseDetails($Id)
- {
+ function GetRootcauseDetails($Id)
+ {
- $builder = $this->db->table('T_RootCause')->select('*')
- ->where('Id', $Id);
- $query = $builder->get();
- return $query->getResult();
- }
+ $builder = $this->db->table('T_RootCause')->select('*')
+ ->where('Id', $Id);
+ $query = $builder->get();
+ return $query->getResult();
+ }
- function GetCouteractionDetails($Id)
- {
+ function GetCouteractionDetails($Id)
+ {
- $builder = $this->db->table('T_Action_Counter_Measure')->select('*')
- ->where('Id', $Id);
- $query = $builder->get();
- return $query->getResult();
- }
+ $builder = $this->db->table('T_Action_Counter_Measure')->select('*')
+ ->where('Id', $Id);
+ $query = $builder->get();
+ return $query->getResult();
+ }
- function Savecomplaint($save_complaint)
- {
- $this->db->transStart();
- $builder = $this->db->table('t_complaintregister');
- $builder->insert($save_complaint);
- $insert_id = $this->db->affectedRows();
- $this->db->transComplete();
- return $insert_id;
- }
+ function Savecomplaint($save_complaint)
+ {
+ $this->db->transStart();
+ $builder = $this->db->table('t_complaintregister');
+ $builder->insert($save_complaint);
+ $insert_id = $this->db->affectedRows();
+ $this->db->transComplete();
+ return $insert_id;
+ }
- function Get_SavedComplaint($CId)
- {
+ function Get_SavedComplaint($CId)
+ {
- $builder = $this->db->table('t_complaintregister')->select('*')
- ->join('ip_clients', 'ip_clients.client_id=t_complaintregister.client_id')
- ->where('CId', $CId)
- ->orderBy('CId', 'desc');
- $query = $builder->get();
+ $builder = $this->db->table('t_complaintregister')->select('*')
+ ->join('ip_clients', 'ip_clients.client_id=t_complaintregister.client_id')
+ ->where('CId', $CId)
+ ->orderBy('CId', 'desc');
+ $query = $builder->get();
- return $query->getResult();
- }
+ return $query->getResult();
+ }
- function Updatecomplaint($save_complaint, $CId)
- {
- $this->db->table('t_complaintregister')
- ->where('CId', $CId)
- ->update($save_complaint);
- return TRUE;
- }
+ function Updatecomplaint($save_complaint, $CId)
+ {
+ $this->db->table('t_complaintregister')
+ ->where('CId', $CId)
+ ->update($save_complaint);
+ return TRUE;
+ }
- function updatecomplaintId($up, $CId)
- {
- $this->db->table('t_complaintregister')
- ->where('CId', $CId)
- ->update($up);
- return TRUE;
- }
+ function updatecomplaintId($up, $CId)
+ {
+ $this->db->table('t_complaintregister')
+ ->where('CId', $CId)
+ ->update($up);
+ return TRUE;
+ }
- function GetActionid($LineDisposition)
- {
+ function GetActionid($LineDisposition)
+ {
- $builder = $this->db->table('T_Action_Disposition')
- ->select('*')
- ->where('DispositionId', $LineDisposition);
- $query = $builder->get();
+ $builder = $this->db->table('T_Action_Disposition')
+ ->select('*')
+ ->where('DispositionId', $LineDisposition);
+ $query = $builder->get();
- return $query->getResult();
- }
+ return $query->getResult();
+ }
- function GetlastDispositionId()
- {
- $subQuery = 'select max(DispositionId) from T_Action_Disposition';
+ function GetlastDispositionId()
+ {
+ $subQuery = 'select max(DispositionId) from T_Action_Disposition';
- $query = $this->db->query($subQuery, array());
+ $query = $this->db->query($subQuery, array());
- return $query->getResultArray();
- }
+ return $query->getResultArray();
+ }
- function Getrootid($Lineroot)
- {
+ function Getrootid($Lineroot)
+ {
- $builder = $this->db->table('T_RootCause')->select('*')
- ->where('RootId', $Lineroot);
- $query = $builder->get();
+ $builder = $this->db->table('T_RootCause')->select('*')
+ ->where('RootId', $Lineroot);
+ $query = $builder->get();
- return $query->getResult();
- }
+ return $query->getResult();
+ }
- function Getcounterid($LineCounter)
- {
+ function Getcounterid($LineCounter)
+ {
- $builder = $this->db->table('T_Action_Counter_Measure')->select('*')
- ->where('CounterId', $LineCounter);
- $query = $builder->get();
+ $builder = $this->db->table('T_Action_Counter_Measure')->select('*')
+ ->where('CounterId', $LineCounter);
+ $query = $builder->get();
- return $query->getResult();
- }
+ return $query->getResult();
+ }
- function DeleteAction($DelId)
- {
+ function DeleteAction($DelId)
+ {
- $this->db->table('T_Action_Disposition')->delete(['DispositionId' => $DelId]);
- return TRUE;
- }
+ $this->db->table('T_Action_Disposition')->delete(['DispositionId' => $DelId]);
+ return TRUE;
+ }
- function DeleteRoot($DelId)
- {
- $this->db->table('T_RootCause')->delete(['RootId' => $DelId]);
- return TRUE;
- }
+ function DeleteRoot($DelId)
+ {
+ $this->db->table('T_RootCause')->delete(['RootId' => $DelId]);
+ return TRUE;
+ }
- function DeleteCounter($DelId)
- {
- $this->db->table('T_Action_Counter_Measure')->delete(['CounterId' => $DelId]);
- return TRUE;
- }
+ function DeleteCounter($DelId)
+ {
+ $this->db->table('T_Action_Counter_Measure')->delete(['CounterId' => $DelId]);
+ return TRUE;
+ }
- /*------------------------------------------------------------------------------*/
+ /*------------------------------------------------------------------------------*/
- function updatefile($bill, $Picture, $oldfile)
- {
+ function updatefile($bill, $Picture, $oldfile)
+ {
- // if($oldfile != ''){
- // //unlink("public/uploads/BillFiles/".$oldfile);//this deletes the file on particular folder too
- // }
- $this->db->table('t_purchaseorder_billupload')
- ->set('FilePath', $Picture) //value that used to update column
- ->where('BillNo', $bill) //which row want to upgrade
- ->update();
- $afftectedRows = $this->db->affectedRows();
- return $afftectedRows;
- }
+ // if($oldfile != ''){
+ // //unlink("public/uploads/BillFiles/".$oldfile);//this deletes the file on particular folder too
+ // }
+ $this->db->table('t_purchaseorder_billupload')
+ ->set('FilePath', $Picture) //value that used to update column
+ ->where('BillNo', $bill) //which row want to upgrade
+ ->update();
+ $afftectedRows = $this->db->affectedRows();
+ return $afftectedRows;
+ }
- // function newlogpo($logpo)
- // {
+ // function newlogpo($logpo)
+ // {
- // $this->db->transStart();
- // $builder = $this->db->table('T_ponewlogs_Details');
- // $builder->insert($logpo);
+ // $this->db->transStart();
+ // $builder = $this->db->table('T_ponewlogs_Details');
+ // $builder->insert($logpo);
- // $insert_id = $this->db->affectedRows();
- // $this->db->transComplete();
- // return $insert_id;
+ // $insert_id = $this->db->affectedRows();
+ // $this->db->transComplete();
+ // return $insert_id;
- // // $this->db->transStart();
- // $builder = $this->db->table('t_polog_details');
- // $builder->insert($logpo);
+ // // $this->db->transStart();
+ // $builder = $this->db->table('t_polog_details');
+ // $builder->insert($logpo);
- // // $insert_id = $this->db->affectedRows();
- // // $this->db->transComplete();
- // // return $insert_id;
+ // // $insert_id = $this->db->affectedRows();
+ // // $this->db->transComplete();
+ // // return $insert_id;
- // }
+ // }
- function insertlogpo($logpo)
- {
+ function insertlogpo($logpo)
+ {
- // $this->db->table('T_ponewlogs_Details')
- // ->where('MaterialCode',$MaterialCode,'LineItemNos',$POLineItemNo)
- // ->update($logpo)
- $this->db->transStart();
- $builder = $this->db->table('t_polog_details');
- $builder->insert($logpo);
- $insert_id = $this->db->affectedRows();
- $this->db->transComplete();
- return $insert_id;
- }
- function getlogpodtl($PONO)
- {
+ // $this->db->table('T_ponewlogs_Details')
+ // ->where('MaterialCode',$MaterialCode,'LineItemNos',$POLineItemNo)
+ // ->update($logpo)
+ $this->db->transStart();
+ $builder = $this->db->table('t_polog_details');
+ $builder->insert($logpo);
+ $insert_id = $this->db->affectedRows();
+ $this->db->transComplete();
+ return $insert_id;
+ }
+ function getlogpodtl($PONO)
+ {
- // $SQL = "select distinct log.PONO as LPONO,
- // case
- // WHEN log.Quantity <> pl.Quantity THEN log.Quantity
- // else '-'
- // ENd as Lqty,
+ // $SQL = "select distinct log.PONO as LPONO,
+ // case
+ // WHEN log.Quantity <> pl.Quantity THEN log.Quantity
+ // else '-'
+ // ENd as Lqty,
- // case
- // WHEN log.SupplierID <> pm.SupplierID THEN sup.Suppliername
- // else '-'
- // ENd as LSuppid,
- // case
- // WHEN log.Date <> pm.PODate THEN log.Date
- // else '-'
- // ENd as logDate ,
- // case
- // WHEN log.Rate <> pl.Rate THEN log.Rate
- // else '-'
- // ENd as logRate ,
+ // case
+ // WHEN log.SupplierID <> pm.SupplierID THEN sup.Suppliername
+ // else '-'
+ // ENd as LSuppid,
+ // case
+ // WHEN log.Date <> pm.PODate THEN log.Date
+ // else '-'
+ // ENd as logDate ,
+ // case
+ // WHEN log.Rate <> pl.Rate THEN log.Rate
+ // else '-'
+ // ENd as logRate ,
- // log.LineItemNos,log.MaterialCode,log.UpdatedOn,log.UpdateBy,emp.FirstName
+ // log.LineItemNos,log.MaterialCode,log.UpdatedOn,log.UpdateBy,emp.FirstName
- // from T_ponewlogs_Details log
- // join t_purchaseorder_lineitem pl on log.LineItemNos = pl.LineItemNo
- // join t_purchaseorder_master pm on pm.PONO = log.PONO
- // join tbl_users user on user.userId = log.UpdateBy
- // left join t_employee_details emp on emp.EmpID= user.EmpID
- // left join t_supplierdetailsn sup on sup.SupplierID = log.SupplierID
- // where log.PONO ='".$PONO."'";
+ // from T_ponewlogs_Details log
+ // join t_purchaseorder_lineitem pl on log.LineItemNos = pl.LineItemNo
+ // join t_purchaseorder_master pm on pm.PONO = log.PONO
+ // join tbl_users user on user.userId = log.UpdateBy
+ // left join t_employee_details emp on emp.EmpID= user.EmpID
+ // left join t_supplierdetailsn sup on sup.SupplierID = log.SupplierID
+ // where log.PONO ='".$PONO."'";
- $SQL = "select log.*,sup.SupplierName,emp.FirstName from
- t_polog_details log
- join tbl_users user on user.userId = log.UpdateBy
- left join t_employee_details emp on emp.EmpID= user.EmpID
- left join t_supplierdetailsn sup on sup.SupplierID = log.oldValue
- where PONO ='" . $PONO . "'";
+ $SQL = "select log.*,sup.SupplierName,emp.FirstName from
+ t_polog_details log
+ join tbl_users user on user.userId = log.UpdateBy
+ left join t_employee_details emp on emp.EmpID= user.EmpID
+ left join t_supplierdetailsn sup on sup.SupplierID = log.oldValue
+ where PONO ='" . $PONO . "'";
$logpodtl = $this->db->query($SQL);
@@ -2495,4 +2499,29 @@ st.CGST,st.SGST,st.IGST,st.otherallowance FROM t_service_tax st
return $lastPONO;
}
/*** ----------------------------- */
+
+ function deletePurchaseOrderFile($PONO){
+
+ $builder = $this->db->table('t_purchaseorder_master POMast')
+ ->where('PONO',$PONO);
+ $result = $builder->update(['POFile' => NULL]);
+
+ return $result;
+
+ }
+
+ function findPurchaseOrderFile($filename){
+
+ $builder = $this->db->table('t_purchaseorder_master POMast')
+ ->where('POFile',$filename);
+ $query = $builder->get();
+ $result = $query->getRow();
+
+ return $result;
+
+ }
+
+
+
+
}
diff --git a/app/Views/EditservicePurchaseorder.php b/app/Views/EditservicePurchaseorder.php
index 64fce0d3..5d1b9089 100755
--- a/app/Views/EditservicePurchaseorder.php
+++ b/app/Views/EditservicePurchaseorder.php
@@ -1312,7 +1312,7 @@ if (!empty($getlogpodtl)) {
-