purchaseorder_model = new Purchaseorder_model(); $this->requistion_model = new Requistion_model(); $this->costcenter_model = new Costcenter_model(); $this->session = session(); helper('form'); //$this->load->library('form_validation'); $this->isLoggedIn(); } function viewServicePOReportForBilling() { $this->global['pageTitle'] = 'Service Purchase Order for Billing'; $data["Billing"] = $this->purchaseorder_model->GetServicePOListforBilling(); //print_r($data["Billing"]); $this->loadViews("serviceporeport", $this->global, $data, null); } function UpdateServicePOStatus() { $this->global['pageTitle'] = 'Update Service PO Status'; $data['PO'] = $this->purchaseorder_model->GetServicePOListforStatusUpdate(); $data['WorkStatus'] = $this->purchaseorder_model->getStatus(7); $this->loadViews("statusofservicepurchaseorder", $this->global, $data, Null); } function getPODetails() { $PONO = $this->request->getPost('id'); $PO = $PONO; $result = $this->purchaseorder_model->GetPODetailforBillingServicePO($PO); $HTML = ""; for ($i = 0; $i < count($result); $i++) { $SNo = $i + 1; $ReqNo = $result[$i]['ReqNo']; $Reqedby = $result[$i]['FirstName']; $ReqDate = $result[$i]['ReqDate']; $SupplierID = $result[$i]['SupplierName']; $Workstatus = $result[$i]['WorkStatus']; $MaterialCode = $result[$i]['MaterialCode']; $Description = $result[$i]['ServiceMaterialDescription']; $UOM = $result[$i]['UOM']; $Quantity = $result[$i]['Quantity']; $Rate = $result[$i]['Rate']; $ReqDate = format_date($result[$i]['ReqDate'], 0, 'd-m-Y'); $HTML .= " " . $ReqNo . " " . $Reqedby . " " . $ReqDate . " " . $SupplierID . " " . $MaterialCode . " " . $Description . " " . $UOM . " " . $Quantity . " " . $Rate . " " . $Workstatus . " "; } echo $HTML; } function UpdateServiceStatus() { $PONO = $this->request->getPost('PONO'); $WorkStatus = $this->request->getPost('WorkStatus'); $Remarks = $this->request->getPost('Remarks'); $updatedBy = $this->session->get('userId'); $updateddt = get_current_date_time(); if ($WorkStatus == SERVICE_COMPLETED) { $POStatus = PO_SERVICE_COMPLETED; $POList = array('UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'ServiceWorkStatusRemarks' => $Remarks, 'ServiceWorkStatus' => $WorkStatus, 'Status' => $POStatus); $PO = $PONO; $result = $this->purchaseorder_model->GetPODetailforBillingServicePO($PO); for ($i = 0; $i < count($result); $i++) { $MaterialCode = $result[$i]['MaterialCode']; $ReqList = $this->purchaseorder_model->updateReqDetail($PONO, $POStatus, $MaterialCode); } // $ReqList = $this->purchaseorder_model->updateReqDetail($PONO,$POStatus); $this->purchaseorder_model->UpdateReceivedQtyforServicePO($PONO, $updateddt, $updatedBy); } else { $POList = array('UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'ServiceWorkStatusRemarks' => $Remarks, 'ServiceWorkStatus' => $WorkStatus); } $POMaster = $this->purchaseorder_model->updatePOMaster($PONO, $POList); $this->UpdateServicePOStatus(); echo ""; } // To get the available Budget Amount function AvilBudgetAmount() { $CostCode = $this->request->getPost('id'); $ReqType = $this->request->getPost('type'); $FYStart = ''; $FYEnd = ''; $FiscalYear = $this->costcenter_model->getFiscalYear(); if (!empty($FiscalYear)) { foreach ($FiscalYear as $Fy) { $FYStart = $Fy->StartYear; $FYEnd = $Fy->EndYear; } } $FYdt = $FYStart . " - " . $FYEnd; $result = array(); if ($ReqType == CAPITAL) { $result = $this->purchaseorder_model->GetAvailableCapitalBudgetAmount($CostCode, $FYdt, $ReqType); } else if ($ReqType == IMPORT) { $result = $this->purchaseorder_model->GetAvailableImportBudgetAmount($CostCode, $FYdt, $ReqType); } else { $result = $this->purchaseorder_model->GetAvailableBudgetAmount($CostCode, $FYdt, $ReqType); } $AvilBudAmt = '0'; if (count($result) > 0) { $AvilBudAmt = $result[0]['BudgetAmount'] - $result[0]['Totalvalue']; } return $this->response->setJSON($AvilBudAmt); } //This used to Create Service Purchase Order function addNewServicePurchaseOrder() { helper('numberseries'); $POdt = $this->request->getPost('PODate'); $PODate = get_date_time_format($POdt); $SupplierID = $this->request->getPost('drpSupplier'); $DeliveryAddr = $this->request->getPost('DeliveryAddr'); $dt = $this->request->getPost('Deliverydt'); //$Deliverydt = get_date_time_format($dt); $DeliveryOption = $this->request->getPost('DateRange'); if ($DeliveryOption == 1) { $Deliverydt = ''; $DeliverySchedule = $this->request->getPost('Scheduleby'); } else { $Deliverydt = get_date_time_format($dt); $DeliverySchedule = ''; } $ModeOfShipment = $this->request->getPost('addmodeofshipment'); $SupplierReference = $this->request->getPost('addsupplierreference'); $SuppliersOfferNo = $this->request->getPost('addsupplierofferno'); $OtherReferences = $this->request->getPost('addotherreference'); $Fincap = ""; //$this->request->getPost('addfincap'); $InsuranceOptions = $this->request->getPost('insuranceStatus'); $InsuranceNumber = $this->request->getPost('InsuranceNumber'); $ServiceTypeOptions = $this->request->getPost('PoTypeOptions'); $DescriptionOfPo = $this->request->getPost('descofpo'); $PaymentTerms = $this->request->getPost('PaymentTerms'); $OtherPayment = $this->request->getPost('Otherpayment'); $POType = $this->request->getPost('POType'); $BudgetType = $this->request->getPost('Budget'); $SpcialInstruction = $this->request->getPost('ScopeOfWork'); $TotalOrderValueSummary = $this->request->getPost('txtTotalOrderValueSummary'); $POStatus = $this->request->getPost('txtStatus'); $CreateBy = $this->session->get('userId'); $RowCount = $this->request->getPost('txtRowCount'); $DeletedRow = $this->request->getPost('txtDeletedRow'); $comma_separated = explode(':', (string)$DeletedRow); $createddt = get_current_date_time(); $WorkStatus = $this->request->getPost('workstatus'); $lastPONO = $this->purchaseorder_model->lastPONO(); $newPONO = generate_po_number($lastPONO); $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null; $file = $this->request->getFile('POFile'); $requestfilename = $file->getName(); if (!empty($requestfilename)) { if ($file->isValid() && !$file->hasMoved()) { $path = ROOTPATH . 'public/uploads/POfiles/'; 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); //$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); } } else { $requestfilename = ""; } } // PO Master $POList = array('PONO' => $newPONO, 'SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'Status' => $POStatus, 'DeliverySchedule' => $DeliverySchedule, 'DeliveryOption' => $DeliveryOption, 'ServiceDescription' => $SpcialInstruction, 'CreatedBy' => $CreateBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'CreatedDate' => $createddt, 'PaymentTerms' => $PaymentTerms, 'ServiceWorkStatus' => $WorkStatus, 'POType' => $POType, 'PaymentOtherDescription' => $OtherPayment, 'Supplier_Reference' => $SupplierReference, 'Mode_Of_Shipment' => $ModeOfShipment, 'Supplier_Offer_No' => $SuppliersOfferNo, 'Other_Reference' => $OtherReferences, 'Fincap' => $Fincap, 'Description_Of_Service' => $DescriptionOfPo, 'InsuranceStatus' => $InsuranceOptions, 'InsuranceNumber' => $InsuranceNumber, 'POSubType' => $ServiceTypeOptions, 'BudgetType' => $BudgetType, 'IsOpenOrder' => $IsOpenOrder); $POList['POFile'] = $requestfilename; $POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $ServiceTypeOptions); $PONO = $POMaster ? $newPONO : ""; // $PONO = ''; // if (count($POMaster) > 0) { // $PONO = $POMaster[0]['PONO']; // } // PO Line Items $LineItemStatus = REQITEM_NEW; for ($i = 1; $i <= $RowCount; $i++) { $Per = $this->request->getPost('per' . $i); $MaterialCode = $this->request->getPost('materialCode' . $i); $Quantity = $this->request->getPost('quantity' . $i); $Reqnumber = $this->request->getPost('Reqnumber' . $i); $itemRate = $this->request->getPost('itemRate' . $i); $Cgst = $this->request->getPost('Cgst' . $i); $Sgst = $this->request->getPost('Sgst' . $i); $Igst = $this->request->getPost('Igst' . $i); $AfterCgst = $this->request->getPost('AfterCgst' . $i); $AfterSgst = $this->request->getPost('AfterSgst' . $i); $AfterIgst = $this->request->getPost('AfterIgst' . $i); $CostCenter = $this->request->getPost('costCode' . $i); $ServiceFrequency = $this->request->getPost('Frequency' . $i); $ItemDescription = $this->request->getPost('ItemDescription' . $i); $OtherAmt = $this->request->getPost('OtherAmt' . $i); $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); $LineitemAuditorNotes = ($LineitemAuditorNotes === null || $LineitemAuditorNotes === '') ? '-' : $LineitemAuditorNotes; $SkipInsert = "False"; if (count($comma_separated) > 0) { for ($j = 1; $j < count($comma_separated); $j++) { $deletedRow = $comma_separated[$j]; if ($deletedRow == $i) { $SkipInsert = "True"; break; } } } if ($SkipInsert == "False") { $this->requistion_model = new requistion_model(); $RetItemNo = $this->requistion_model->getItemNumber($Reqnumber, $MaterialCode); $ItemNo = ''; if (count($RetItemNo) > 0) { $ItemNo = $RetItemNo[0]['ItemNo']; } $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceFrequency' => $ServiceFrequency, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per, 'ItemNo' => $ItemNo,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); $LineItemNo = ''; if (count($POLineItem) > 0) { $LineItemNo = $POLineItem[0]['LineItemNo']; } //echo $LineItemNo; /*---------*/ // $logpo =array('PONO'=>$PONO,'Date'=>$PODate,'POType'=>$POType,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=>$itemRate,'SupplierID'=>$SupplierID,'LineItemNos'=>$LineItemNo); // $addlog= $this->purchaseorder_model->newlogpo($logpo); /*---------*/ if (trim((string)$POType) == SERVICE) { // echo 'Success'; $ServiceTaxList = array('LineItemNo' => $LineItemNo, 'CGST' => $Cgst, 'After_CGST' => $AfterCgst, 'SGST' => $Sgst, 'After_SGST' => $AfterSgst, 'IGST' => $Igst, 'After_IGST' => $AfterIgst, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'otherallowance' => $OtherAmt); $ServiceTax = $this->purchaseorder_model->addServiceTax($ServiceTaxList); } } } $message = "Service Purchase Order Created Successfully!\nPO Number Is: " . $PONO; if($POStatus == 'ST014'){ $message = "Service Purchase Order Saved as Draft!\nPO Number Is: " . $PONO; } else if($POStatus == 'ST026'){ $message = "Service Purchase Order Approved Successfully!\nPO Number Is: " . $PONO; } echo $message; } //update service po function UpdateServicePurchaseOrder() { // echo "
"; print_r($this->request->getPost()); echo "
"; die; $PONO = $this->request->getPost('txtPONO'); $newsup = $this->request->getPost('newsup'); // $newSupId = split("[ - ]+", $newsup); $newSupId = preg_split('[-]', (string)$newsup); $POdt = $this->request->getPost('PODate'); // print_r($this->request->getPost());die; $PODate = get_date_time_format($POdt); /*-----------------------------------*/ $b4supplier = $this->request->getPost('b4supplier'); $b4date = $this->request->getPost('b4podate'); $b4podate = get_date_time_format($b4date); /*-----------------------------------*/ $SupplierID = $this->request->getPost('drpSupplier'); $DeliveryAddr = $this->request->getPost('txtDeliveryAddress'); $dt = $this->request->getPost('Deliverydt'); $DeliveryOption = $this->request->getPost('DateRange'); if ($DeliveryOption == 1) { $Deliverydt = ''; $DeliverySchedule = $this->request->getPost('Scheduleby'); } else { $Deliverydt = get_date_time_format($dt); $DeliverySchedule = ''; } $ModeOfShipment = $this->request->getPost('editmodeofshipment'); $SupplierReference = $this->request->getPost('editsupplierreference'); $SuppliersOfferNo = $this->request->getPost('editsupplierofferno'); $OtherReferences = $this->request->getPost('editotherreference'); $Fincap = ""; //$this->request->getPost('editfincap'); $InsuranceOptions = $this->request->getPost('insuranceStatus'); $InsuranceNumber = $this->request->getPost('InsuranceNumber'); $ServiceTypeOptions = $this->request->getPost('PoTypeOptions'); $DescriptionOfPo = $this->request->getPost('editdescofpo'); $PaymentTerms = $this->request->getPost('PaymentTerms'); $OtherPayment = $this->request->getPost('Otherpayment'); $POType = $this->request->getPost('POType'); $BudgetType = $this->request->getPost('Budget'); $SpcialInstruction = $this->request->getPost('ScopeofWork'); $TotalOrderValueSummary = $this->request->getPost('txtTotalOrderValueSummary'); $POStatus = $this->request->getPost('txtStatus'); $updatedBy = $this->session->get('userId'); $RowCount = $this->request->getPost('txtRowCount'); $DeletedRow = $this->request->getPost('txtDeletedRow'); $comma_separated = explode(':', (string)$DeletedRow); $updateddt = get_current_date_time(); $WorkStatus = $this->request->getPost('workstatus'); $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null; // $lastPONO = $this->purchaseorder_model->lastPONO(); // $newPONO = generate_po_number($lastPONO); // PO Master $POList = array('SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'Status' => $POStatus, 'DeliverySchedule' => $DeliverySchedule, 'DeliveryOption' => $DeliveryOption, 'ServiceDescription' => $SpcialInstruction, 'UpdateBY' => $updatedBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'UpdatedOn' => $updateddt, 'PaymentTerms' => $PaymentTerms, 'ServiceWorkStatus' => $WorkStatus, 'PaymentOtherDescription' => $OtherPayment, 'Supplier_Reference' => $SupplierReference, 'Mode_Of_Shipment' => $ModeOfShipment, 'Supplier_Offer_No' => $SuppliersOfferNo, 'Other_Reference' => $OtherReferences, 'Fincap' => $Fincap, 'Description_Of_Service' => $DescriptionOfPo, 'InsuranceStatus' => $InsuranceOptions, 'InsuranceNumber' => $InsuranceNumber, 'POSubType' => $ServiceTypeOptions, 'BudgetType' => $BudgetType, 'IsOpenOrder' => $IsOpenOrder); if ($POStatus == 'ST026') { $POList['ApprovedOn'] = get_current_date_time(); $POList['ApprovedBy'] = $this->session->get('userId'); $POList['ReleasedOn'] = get_current_date_time(); $POList['ReleasedBy'] = $this->session->get('userId'); } // echo "
"; print_r($POList); echo "
"; die; $file = $this->request->getFile('POFile'); if ($file !== null) { $requestfilename = $file->getName(); if (!empty($requestfilename)) { if ($file->isValid() && !$file->hasMoved()) { $path = ROOTPATH . 'public/uploads/POfiles/'; if (!is_dir($path)) { mkdir($path, 0777, true); } 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; } } } } else { log_message('error', 'No file was uploaded'); } $POMaster = $this->purchaseorder_model->updatePOMaster($PONO, $POList); // echo "pomaster".$POMaster;die; $LineItemStatus = REQITEM_NEW; if ($PODate != $b4podate) { $logpo = array('PONO' => $PONO, 'LineItemNos' => '-', 'UpdateBy' => $updatedBy, 'UpdatedOn' => $updateddt, 'oldValue' => $b4podate, 'newValue' => $PODate, 'entity' => 'PO DateChanged'); $this->purchaseorder_model->insertlogpo($logpo); } if (!empty($newSupId[0])) { if ($newSupId[0] != $b4supplier) { //$newsupname = $newSupId[0].'-'.$newSupId[1]; //echo $newsup;die; $logpo = array('PONO' => $PONO, 'LineItemNos' => '-', 'UpdateBy' => $updatedBy, 'UpdatedOn' => $updateddt, 'oldValue' => $b4supplier, 'newValue' => $newsup, 'entity' => 'Supplier Changed'); $this->purchaseorder_model->insertlogpo($logpo); } } // echo "
"; echo($RowCount); echo "
"; die; for ($i = 1; $i <= $RowCount; $i++) { $MaterialCode = $this->request->getPost('materialCode' . $i); $Quantity = $this->request->getPost('quantity' . $i); /*-----------------------------------*/ $b4qty = $this->request->getPost('b4qty' . $i); $b4rate = $this->request->getPost('b4rate' . $i); /*-----------------------------------*/ $Reqnumber = $this->request->getPost('Reqnumber' . $i); $itemRate = $this->request->getPost('itemRate' . $i); $Cgst = $this->request->getPost('Cgst' . $i); $Sgst = $this->request->getPost('Sgst' . $i); $Igst = $this->request->getPost('Igst' . $i); $AfterCgst = $this->request->getPost('AfterCgst' . $i); $AfterSgst = $this->request->getPost('AfterSgst' . $i); $AfterIgst = $this->request->getPost('AfterIgst' . $i); $CostCenter = $this->request->getPost('costCode' . $i); $ServiceFrequency = $this->request->getPost('Frequency' . $i); $POLineItemNo = $this->request->getPost('LineItemNo' . $i); $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); $ItemDescription = $this->request->getPost('ItemDescription' . $i); $OtherAmt = $this->request->getPost('OtherAmt' . $i); $Per = $this->request->getPost('per' . $i); $LineitemAuditorNotes = $this->request->getPost('LineItemNoteForAuditor' . $i); $LineitemAuditorNotes = ($LineitemAuditorNotes === null || $LineitemAuditorNotes === '') ? '-' : $LineitemAuditorNotes; /*------------------------------ Quantity update the req details --*/ //if($MaterialCode!= ''){ $this->requistion_model = new requistion_model(); $RetItemNo = $this->requistion_model->getItemNumber($Reqnumber, $MaterialCode); $ItemNo = ''; if (count($RetItemNo) > 0) { $ItemNo = $RetItemNo[0]['ItemNo']; } $getOldReqDetailsQuantity = $this->purchaseorder_model->getOldReqDetailsQuantity($Reqnumber, $MaterialCode,$ItemNo); if($Quantity == $getOldReqDetailsQuantity){ $ReqDetails = array('Quantity' => $Quantity, 'UpdatedBy' => $updatedBy, 'UpdatedOn' => $updateddt); $this->purchaseorder_model->updateReqDetails($Reqnumber, $MaterialCode, $ReqDetails); } // } /*------------------------------------------------------------------*/ // if(($PODate != $b4podate )||($SupplierID != $b4supplier) || ($itemRate!=$b4rate) || // ($Quantity != $b4qty )) // { // $logpo =array('UpdateBy'=>$updatedBy,'UpdatedOn'=>$updateddt); // $this->purchaseorder_model->updatelogpo($MaterialCode,$POLineItemNo,$logpo); // } /*--------- Quantity log start ---------------------*/ if ($Quantity != $b4qty) { $logpo = array('PONO' => $PONO, 'LineItemNos' => $POLineItemNo, 'UpdateBy' => $updatedBy, 'UpdatedOn' => $updateddt, 'oldValue' => $b4qty, 'newValue' => $Quantity, 'entity' => 'Quantity Changed'); $this->purchaseorder_model->insertlogpo($logpo); } /*--------- Quantity log ends ---------------------*/ /*--------- Rate log start ---------------------*/ if ($itemRate != $b4rate) { $logpo = array('PONO' => $PONO, 'LineItemNos' => $POLineItemNo, 'UpdateBy' => $updatedBy, 'UpdatedOn' => $updateddt, 'oldValue' => $b4rate, 'newValue' => $itemRate, 'entity' => 'Rate Changed'); $this->purchaseorder_model->insertlogpo($logpo); } /*--------- Rate log ends ---------------------*/ /*--------- Lineitem Section starts ---------------------*/ $POLineItem = array(); $LineItemNo = ''; $SkipInsert = "False"; if (count($comma_separated) > 0) { for ($j = 1; $j < count($comma_separated); $j++) { $deletedRow = $comma_separated[$j]; if ($deletedRow == $i) { $SkipInsert = "True"; break; } } } if ($SkipInsert == "False") { if (strlen((string)$POLineItemNo) == 0) { $this->requistion_model = new requistion_model(); $RetItemNo = $this->requistion_model->getItemNumber($Reqnumber, $MaterialCode); $ItemNo = ''; if (count($RetItemNo) > 0) { $ItemNo = $RetItemNo[0]['ItemNo']; } $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt, 'CostCenterCode' => $CostCenter, 'ServiceFrequency' => $ServiceFrequency, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per, 'ItemNo' => $ItemNo,'LineitemAuditorNotes' => $LineitemAuditorNotes); // print_r($POLineItemList);die; $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); // print_r($POLineItem);die; if (count($POLineItem) > 0) { $LineItemNo = $POLineItem[0]['LineItemNo']; } } else { $LineItemNo = $POLineItemNo; $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $ItemDescription, 'Per' => $Per,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->updatePOLineItem($PONO, $POLineItemNo, $POLineItemList); } if (trim((string)$POType) == SERVICE) { // Check if LineItemExists() returns a valid array $isExists = $this->purchaseorder_model->LineItemExists($LineItemNo); // Ensure $isExists is an array, or initialize it as an empty array if (!is_array($isExists)) { $isExists = []; } if (count($isExists) == 0) { // Insert new service tax record $ServiceTaxList = array( 'LineItemNo' => $LineItemNo, 'CGST' => $Cgst, 'After_CGST' => $AfterCgst, 'SGST' => $Sgst, 'After_SGST' => $AfterSgst, 'IGST' => $Igst, 'After_IGST' => $AfterIgst, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt, 'otherallowance' => $OtherAmt ); $this->purchaseorder_model->addServiceTax($ServiceTaxList); } else { // Update existing service tax record $ServiceTaxList1 = array( 'CGST' => $Cgst, 'After_CGST' => $AfterCgst, 'SGST' => $Sgst, 'After_SGST' => $AfterSgst, 'IGST' => $Igst, 'After_IGST' => $AfterIgst, 'TotalValue' => $TotalOrderValue, 'UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt, 'otherallowance' => $OtherAmt ); $this->purchaseorder_model->updateServiceTax($LineItemNo, $ServiceTaxList1); } } } /*--------- Lineitem Section starts ---------------------*/ } $message = "Service Purchase Order Updated Successfully!\nPO Number Is: " . $PONO; if($POStatus == 'ST014'){ $message = "Service Purchase Order Saved as Draft!\nPO Number Is: " . $PONO; } else if($POStatus == 'ST015'){ $message = "Service Purchase Order Created Successfully!\nPO Number Is: " . $PONO; } else if($POStatus == 'ST026'){ $message = "Service Purchase Order Approved Successfully!\nPO Number Is: " . $PONO; } echo $message; } /*-----------------------------------*/ function uploadfile() { $bill = $this->request->getPost('param1'); $oldfile = $this->request->getPost('param2'); // $new_file_name =$_FILES['file']['name']; $new_file_name = $_FILES['file']['name']; $new_file_name = str_replace(" ", "", $new_file_name); if (!empty($new_file_name)) { $file = $this->request->getFile('file'); if ($file && $file->isValid()) { $uploadPath = base_url() . 'public/uploads/BillFiles/'; $file->move($uploadPath); $Picture = $file->getName(); } else { $Picture = ''; } } $uploadfile = $this->purchaseorder_model->updatefile($bill, $Picture, $oldfile); if ($uploadfile > 0) { echo "file updated successfully!"; } else { echo "file not updated!"; } } /*-----------------------------------*/ function addfileuplod() { $pono = $this->request->getPost('PONO'); $new_file_name = $_FILES['file']['name']; $new_file_name = str_replace(" ", "", $new_file_name); $files = $this->purchaseorder_model->getfies($pono); $fcount = 0; foreach ($files as $value) { $lastfile = $value->FilePath; if ($lastfile == $new_file_name) { $fcount++; } } $upfile = ''; if ($fcount == 0) { if (!empty($new_file_name)) { $Picture = $this->adfile(); $filelist = array('PONO' => $pono, 'FilePath' => $Picture); $upfile = $this->purchaseorder_model->insertfile($filelist); } } if ($upfile > 0) { echo "file updated successfully!"; } else { echo " No File Choose or File name already Exist"; } } public function adfile() { $picture = ''; $file = $this->request->getFile('file'); if ($file && $file->isValid()) { $uploadPath = APPPATH . 'public/uploads/BillFiles/'; $file->move($uploadPath); $picture = $file->getName(); } else { $picture = ''; } return $picture; } }