purchaseorder_model = new purchaseorder_model(); $this->requistion_model = new requistion_model(); $this->inwardgateregister_model = new inwardgateregister_model(); $this->mrir_model = new mrir_model(); $this->session = session(); helper('form'); //$this->load->library('form_validation'); $this->isLoggedIn(); } /** * This function used to load the first screen of the user */ public function index() { $this->global['pageTitle'] = 'AddPO'; $this->loadViews("addPO", $this->global, NULL, NULL); } function requisition() { $data['DeptList'] = $this->purchaseorder_model->getDepartmentListForAllReq(); $data['stList'] = $this->purchaseorder_model->getStatusListforAllReq(); $data['ReqList'] = $this->purchaseorder_model->getRequistionListbySearch(); $this->global['pageTitle'] = 'Create PO from Requisition List'; $this->loadViews("createPOfromRequistion", $this->global, $data, Null); } function CreateEmergencyPO() { $RequestedBy = $this->session->get('EmpID'); $this->global['pageTitle'] = 'Create Emergency Purchase Order'; $data['RequestType'] = $this->requistion_model->getConfigValue('C004'); $data['Suplist'] = $this->purchaseorder_model->getSupplierName(); $data['INRSYMBOL'] = $this->purchaseorder_model->GetINRCurrencytype('INR'); $data['DeptList'] = $this->purchaseorder_model->getDepartmentAllList(); $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); $data['MaxPODate'] = $this->purchaseorder_model->getLastCreatedPODate(); $data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006'); $data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018'); //$data['Payment']=$this->purchaseorder_model->getSupplierPayment('C009'); $data['Payment'] = $this->purchaseorder_model->getPaymentTermsDetails(); //$data['WorkStatus']=$this->purchaseorder_model->GetWorkStatus('C019'); $data['WorkStatus'] = $this->purchaseorder_model->getStatus(7); $data['ServiceOption'] = $this->requistion_model->getConfigValue('C022'); $data['PoTypeOptions'] = $this->purchaseorder_model->getConfigValue('C026'); $this->loadViews("alterpurchaseorder", $this->global, $data, Null); } /** * this function used for get all material code using request type */ function getMaterialCode() { $reqType = $this->request->getPost('input'); $materialList = $this->requistion_model->GetMaterialCode($reqType); echo json_encode($materialList); } /*This function is used for get cost center list using department code*/ function getCostCenterName() { $CostList = ''; $DeptCode = $this->request->getPost('id'); $CostList = $this->requistion_model->GetCostCenterByDept($DeptCode); // print_r($CostList); echo json_encode($CostList); } //This used to Create Service Purchase Order function addNewServicePurchaseOrder() { // print_r($this->request->getPost());die; $txtRowCount = $this->request->getPost('txtRowCount'); $POdt = $this->request->getPost('PODate'); $PODate = get_date_time_dynamical_format('d-m-Y','Y-m-d',"$POdt"); $SupplierID = $this->request->getPost('drpSupplier'); $DeliveryAddr = $this->request->getPost('DeliveryAddr'); $CostCenterName = $this->request->getPost('CostCenterName'); $DeliveryOption = $this->request->getPost('DateRange'); $DeliverySchedule = $this->request->getPost('Scheduleby'); $Deliverydt = get_date_time_format($POdt); $txtsplservice = $this->request->getPost('txtSpecialservice'); $POStatus = ($txtsplservice == '1') ? SPECIAL_PO : REQITEM_Emergency_PO_CREATED; $POType = $this->request->getPost('POType'); $SpcialInstruction = $this->request->getPost('ScopeOfWork'); $RequistionComments = "Created Emergency Service PO"; $TotalOrderValueSummary = $this->request->getPost('TextTotalOrderValueSummaryService'); // $TotalOrderValueSummary = $this->request->getPost('txtTotalOrderValueSummaryService'); //$POStatus = $this->request->getPost('TextStatus'); $CreateBy = $this->session->get('userId'); $RequestedBy = $this->request->getPost('drpDepartment'); $ReqStatus = REQITEM_Emergency_PO_CREATED; // $RowCount = $this->request->getPost('TextRowCount'); $RowCount = $this->request->getPost('txtRowCount'); //$DeletedRow = $this->request->getPost('TextDeletedRowCount'); $DeletedRow = $this->request->getPost('txtDeletedRow1'); $comma_separated = explode(':', (string)$DeletedRow); $BudgetType = $this->request->getPost('BudgetType'); $createddt = get_current_date_time(); //$PaymentTerms=$this->request->getPost('PaymentMethod'); $PaymentTerms = $this->request->getPost('PaymentMethod'); $OtherPayment = $this->request->getPost('Otherpayment'); $ServiceWorkStatus = ($POStatus == SPECIAL_PO) ? SERVICE_COMPLETED : $this->request->getPost('txtworkstatus'); //$ServiceWorkStatus=$this->request->getPost('workstatusValue'); //echo $ServiceWorkStatus; // echo "fveg"; //die(); $ServiceScheduleType = $this->request->getPost('ScheduleType'); $ServiceScheduleOptions = $this->request->getPost('ScheduleType'); //$ServiceServiceNo = $this->request->getPost('ServiceNo'); $ServiceServiceNo = 1; $ModeOfShipment = $this->request->getPost('emergmodeofshipment'); $SupplierReference = $this->request->getPost('emergsupplierreference'); $SuppliersOfferNo = $this->request->getPost('emergsupplierofferno'); $OtherReferences = $this->request->getPost('emergotherreference'); $Fincap = "";//$this->request->getPost('emergfincap'); $InsuranceOptions = $this->request->getPost('insuranceStatus'); $InsuranceNumber = $this->request->getPost('InsuranceNumber'); $ServiceTypeOptions = $this->request->getPost('PoTypeOptions'); $DescriptionOfPo = $this->request->getPost('emergdescofpo'); //create t_requestion_master $Request = array('ReqType' => $POType, 'RequestedDept' => $RequestedBy, 'CostCenterCode' => $CostCenterName, 'Status' => $ReqStatus, 'Comments' => $RequistionComments, 'ReqDate' => $createddt, 'CreatedDate' => $createddt, 'CreatedBy' => $CreateBy, 'Schedule_Type' => $ServiceScheduleType, 'NumberOfService' => $ServiceServiceNo, 'Service_Period' => $ServiceScheduleOptions); $Req = $this->requistion_model->addRequisition($Request); $RegNo = ''; if (count($Req) > 0) { $RegNo = $Req[0]['ReqNo']; } $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null; $lastPONO = $this->purchaseorder_model->lastPONO(); $newPONO = generate_po_number($lastPONO); // PO Master $POList = array('PONO'=>$newPONO,'SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'Status' => $POStatus, 'DeliverySchedule' => $DeliverySchedule, 'DeliveryOption' => $DeliveryOption, 'ServiceDescription' => $SpcialInstruction, 'CreatedBy' => $CreateBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'CreatedDate' => $createddt, 'PaymentTerms' => $PaymentTerms, 'ServiceWorkStatus' => $ServiceWorkStatus, '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); $file = null; if($POType == "SERVICE"){ $file = $this->request->getFile('ServiceFile');} if($POType == "REVENUE"){ $file = $this->request->getFile('RevenueFile');} 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))) { log_message('error', 'File already exists in the database'.$requestfilename); $POList['POFile'] = NULL; }else{ $file->move($path, $requestfilename); $POList['POFile'] = $requestfilename; } }else{ $POList['POFile'] = NULL; } } } $POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $ServiceTypeOptions); $PONO = $POMaster ? $newPONO : ""; // if (count($POMaster) > 0) { // $PONO = $POMaster[0]['PONO']; // } $RegDetailsStatus = REQITEM_POCREATED; // PO Line Items $LineItemStatus = REQITEM_NEW; for ($i = 1; $i <= $RowCount; $i++) { $Per = $this->request->getPost('Serviceper' . $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); $OtherAmt = $this->request->getPost('OtherAmt' . $i); $CostCenter = $this->request->getPost('costCode' . $i); $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); $ServiceFrequency = $this->request->getPost('Frequency' . $i) . ' - ' . $this->request->getPost('FrequencyValue' . $i); $ServiceMaterialDescription = $this->request->getPost('ItemServiceDescription' . $i); if($itemRate != 0){ $this->purchaseorder_model->updateMaterialRate($MaterialCode, $itemRate); } $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") { //add requistion details $ReqDetails = array('ReqNo' => $RegNo, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Status' => $RegDetailsStatus, 'UpdatedBy' => $CreateBy, 'UpdatedOn' => $createddt); $ReqDetQuery = $this->requistion_model->addRequistionDetails($ReqDetails, $RegNo); $ItemNo = ''; if (count($ReqDetQuery) > 0) { $ItemNo = $ReqDetQuery[0]['ItemNo']; } $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $RegNo, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'ServiceMaterialDescription' => $ServiceMaterialDescription, 'ServiceFrequency' => $ServiceFrequency, 'Per' => $Per, 'ItemNo' => $ItemNo); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); $LineItemNo = ''; if (count($POLineItem) > 0) { $LineItemNo = $POLineItem[0]['LineItemNo']; } if (trim((string)$POType) == SERVICE) { $ServiceTaxList = array('LineItemNo' => $LineItemNo, 'CGST' => $Cgst, 'After_CGST' => $AfterCgst, 'SGST' => $Sgst, 'After_SGST' => $AfterSgst, 'IGST' => $Igst, 'After_IGST' => $AfterIgst, 'otherallowance' => $OtherAmt, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt); $ServiceTax = $this->purchaseorder_model->addServiceTax($ServiceTaxList); } } } if ($POStatus == SPECIAL_PO) { $serviceFilesLength = $this->request->getPost('serviceFilesLength'); $file = $this->request->getFiles(); if($serviceFilesLength > 0){ $listOfFiles = $serviceFilesLength ;} $arr = []; $prefile = array(); for ($i = 1; $i <= $listOfFiles; $i++) { $file = $this->request->getFile('browseFiles' . $i); $requestfilename = $file->getName(); if (!empty($requestfilename)) { if ($file->isValid() && !$file->hasMoved()) { $path = ROOTPATH.'public/uploads/BillFiles/'; if(!is_dir($path)) { mkdir($path, 0777, true); } $Picture = $file->getName(); $file->move($path,$Picture); } //echo $Picture; $arr[] = array($Picture); } $prefile[] = trim($requestfilename); } if (!empty($arr)) { foreach ($arr as $filename) { $myfile = array('FilePath' => $filename, 'PONO' => $PONO); $this->purchaseorder_model->fileupload($myfile); } } } // if ($POStatus == REQ_DRAFT) { // // echo 'Emergency Service Purchase Order Saved Successfully!The PO NO Is: '.$PONO; // echo ""; // redirect('purchaseorder/PurchaseOrderList', 'refresh'); // } else { // // echo 'Emergency Service Purchase Order Created Successfully!The PO NO Is: '.$PONO; // echo ""; // redirect('purchaseorder/PurchaseOrderList', 'refresh'); // } if ($POStatus == REQ_DRAFT) { echo ""; $this->session->setFlashdata('success', 'You Have Successfully Saved the Purchase order! '.$PONO); } else { $this->session->setFlashdata('success', 'You Have Successfully Created the Purchase order! '.$PONO); } return true; // return redirect()->route('purchaseorderListing'); } //This used to Create Revenue Emergency Purchase Order function addNewRevenuePurchaseOrder() { // print_r($this->request->getPost());die; $txtspl = $this->request->getPost('txtSpecial'); $POdt = $this->request->getPost('PODate'); $PODate = get_date_time_dynamical_format('d-m-Y','Y-m-d',"$POdt"); $SupplierID = $this->request->getPost('drpSupplier'); $DeliveryAddr = $this->request->getPost('DeliveryAddr'); $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('emergmodeofshipment'); $supplierreference = $this->request->getPost('emergsupplierreference'); $supplieroffno = $this->request->getPost('emergsupplierofferno'); $otherreference = $this->request->getPost('emergotherreference'); $fincap = "";//$this->request->getPost('emergfincap'); $revenuetype = $this->request->getPost('PoTypeOptions'); $insurancestatus = $this->request->getPost('insuranceStatus'); if ($insurancestatus == 1) { $InsuranceNumber = $this->request->getPost('InsuranceNumber'); } else { $InsuranceNumber = ""; } $CostCenterName = $this->request->getPost('CostCenterName'); $POType = $this->request->getPost('POType'); $PoRange = $this->request->getPost('txtPoRange'); $SpcialInstruction = $this->request->getPost('txtSpcialInstruction'); $RequistionComments = "Created Emergency Revenue PO"; $TotalOrderValueSummary = $this->request->getPost('TextTotalOrderValueSummaryService'); if ($txtspl == 0) { $POStatus = REQITEM_Emergency_PO_CREATED; } else { $POStatus = SPECIAL_PO; } //$POStatus = $this->request->getPost('TextStatus'); $RequestedBy = $this->request->getPost('drpDepartment'); $CreateBy = $this->session->get('userId'); // $RowCount = $this->request->getPost('TextRowCount'); $RowCount = $this->request->getPost('txtRowCount1'); $BudgetType = $this->request->getPost('BudgetType'); //echo $RowCount; // $DeletedRow = $this->request->getPost('TextDeletedRowCount'); $DeletedRow = $this->request->getPost('txtDeletedRow1'); $splRow = $this->request->getPost('splrow'); // echo $DeletedRow; $ReqStatus = REQITEM_Emergency_PO_CREATED; $Local_Interstate = $this->request->getPost('Range'); $comma_separated = explode(':', (string)$DeletedRow); $createddt = get_current_date_time(); $PaymentTerms = $this->request->getPost('PaymentMethod'); $OtherPayment = $this->request->getPost('Otherpayment'); if ($POStatus == SPECIAL_PO) { $Qualitycheck = $this->request->getPost('txtQuality'); } else { $Qualitycheck = 1; } //add requistion $Request = array('ReqType' => $POType, 'RequestedDept' => $RequestedBy, 'CostCenterCode' => $CostCenterName, 'Status' => $ReqStatus, 'Comments' => $RequistionComments, 'ReqDate' => $createddt, 'CreatedDate' => $createddt, 'CreatedBy' => $CreateBy); $Req = $this->requistion_model->addRequisition($Request); $RegNo = ''; if (count($Req) > 0) { $RegNo = $Req[0]['ReqNo']; } // PO Master $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null; $lastPONO = $this->purchaseorder_model->lastPONO(); $newPONO = generate_po_number($lastPONO); $POList = array('PONO'=>$newPONO,'SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'Status' => $POStatus, 'DeliverySchedule' => $DeliverySchedule, 'DeliveryOption' => $DeliveryOption, 'PORange' => $Local_Interstate, 'ServiceDescription' => $SpcialInstruction, 'CreatedBy' => $CreateBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'CreatedDate' => $createddt, 'PaymentTerms' => $PaymentTerms, 'POType' => $POType, 'CapitalRange' => $Local_Interstate, 'PaymentOtherDescription' => $OtherPayment, 'Mode_Of_Shipment' => $Modeofshipment, 'Supplier_Offer_No' => $supplieroffno, 'Supplier_Reference' => $supplierreference, 'Other_Reference' => $otherreference, 'InsuranceNumber' => $InsuranceNumber, 'InsuranceStatus' => $insurancestatus, 'Fincap' => $fincap, 'POSubType' => $revenuetype, 'IsQualityChkReqired' => $Qualitycheck, 'BudgetType' => $BudgetType,'IsOpenOrder'=>$IsOpenOrder); $file = $this->request->getFile('POFiles'); 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))) { log_message('error', 'File already exists in the database'.$requestfilename); $POList['POFile'] = NULL; }else{ $file->move($path, $requestfilename); $POList['POFile'] = $requestfilename; } }else{ $POList['POFile'] = NULL; } } }else{ } // print_r($POList);die; $POMaster = $this->purchaseorder_model->addPOMaster($POList, $POType, $revenuetype); $PONO = $POMaster ? $newPONO : ""; // $PONO = ''; // if (count($POMaster) > 0) { // $PONO = $POMaster[0]['PONO']; // } //echo $PONO; // PO Line Items $RegDetailsStatus = REQITEM_POCREATED; $LineItemStatus = REQITEM_NEW; for ($i = 1; $i <= $RowCount; $i++) { $MaterialCode = $this->request->getPost('materialCode' . $i); $Quantity = $this->request->getPost('quantity' . $i); $Reqnumber = $this->request->getPost('Reqnumber' . $i); $itemRate = $this->request->getPost('itemRate' . $i); $per = $this->request->getPost('per' . $i); $DiscountType = $this->request->getPost('DisType' . $i); $DiscountValue = $this->request->getPost('DisVal' . $i); $AfterDiscount = $this->request->getPost('AfterDisVal' . $i); $PackagingOption = $this->request->getPost('PackOption' . $i); $PackagingType = $this->request->getPost('PackType' . $i); $PackagingValue = $this->request->getPost('PackVal' . $i); $AfterPackagingValue = $this->request->getPost('AfterPackVal' . $i); $FreightType = $this->request->getPost('FreightType' . $i); $FreightValue = $this->request->getPost('FreightVal' . $i); $AfterFreightValue = $this->request->getPost('AfterFreightVal' . $i); $NOOfTrip = $this->request->getPost('NoOfTrip' . $i); $InsuranceValue = $this->request->getPost('Insval' . $i); $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); $revenuedescription = $this->request->getPost('service_description' . $i); $CostCenter = $this->request->getPost('costCode' . $i); $Cgst = $this->request->getPost('RevenueCgst' . $i); $Sgst = $this->request->getPost('RevenueSgst' . $i); $Igst = $this->request->getPost('RevenueIgst' . $i); $AfterCgst = $this->request->getPost('RevenueAfterCgst' . $i); $AfterSgst = $this->request->getPost('RevenueAfterSgst' . $i); $AfterIgst = $this->request->getPost('RevenueAfterIgst' . $i); if($itemRate != 0){ $this->purchaseorder_model->updateMaterialRate($MaterialCode, $itemRate); } $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") { //add requistion details $ReqDetails = array('ReqNo' => $RegNo, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Status' => $RegDetailsStatus, 'UpdatedBy' => $CreateBy, 'UpdatedOn' => $createddt); $ReqDetQuery = $this->requistion_model->addRequistionDetails($ReqDetails); $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $RegNo, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter, 'Per' => $per, 'ServiceMaterialDescription' => $revenuedescription); //print_r($POLineItemList); $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); // $logaddpo = $this->purchaseorder_model->newlogpo($logpo); /*----------------------------*/ if (trim((string)$POType) == REVENUE) { // echo 'Success'; $RevenueTaxList = array('LineItemNo' => $LineItemNo, 'DiscountType' => $DiscountType, 'DiscountValue' => $DiscountValue, 'AfterDiscount' => $AfterDiscount, 'PackagingType' => $PackagingType, 'PackagingValue' => $PackagingValue, 'PackagingCalulatedOn' => $PackagingOption, 'AfterPackagingValue' => $AfterPackagingValue, 'FreightType' => $FreightType, 'FreightValue' => $FreightValue, 'AfterFreightValue' => $AfterFreightValue, 'Insurance' => $InsuranceValue, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CGST' => $Cgst, 'AfterCGST' => $AfterCgst, 'SGST' => $Sgst, 'AfterSGST' => $AfterSgst, 'IGST' => $Igst, 'AfterIGST' => $AfterIgst, 'NoOfTrip' => $NOOfTrip); //print_r($RevenueTaxList); $RevenueList = $this->purchaseorder_model->addRevenueTax($RevenueTaxList); //echo 'Revenue tax Success'; } } } if ($txtspl == 1 || $txtspl == 2) { //secho "cwwe"; //die(); $PONOigr = $PONO; //echo $PONOigr; //die(); //IGR Data Entry //$DeliveryChellanOrInvoiceNo = $this->request->getPost('ChallanInvNo'); $DeliveryChellanInvoiceNo = $this->request->getPost('ChallanInvNo'); $DeliveryChellan = $this->request->getPost('ChallanInvDate'); $DeliveryChellanDate = get_date_time_format($DeliveryChellan); $MaterialReceive = $this->request->getPost('MRC'); $MaterialReceivedate = get_date_time_format($MaterialReceive); $Vehicle = $this->request->getPost('VehicleNo'); $Courier = $this->request->getPost('CourierNo'); $CreatedBy = $this->session->get('userId'); $Remarksmrir = 'Emergency PO without Quality Check'; //$Remarks = $this->request->getPost('Remarks'); //$RowCount = $this->request->getPost('TextRowCount'); //echo $RowCount; $createddt = get_current_date_time(); $IGRStatus = IGR_CREATED; $igr = array(); $paymentstatus = NO_PAIDIGR; $igr = array('PONO' => $PONO, 'VehicleNo' => $Vehicle, 'DeliveryChellanOrInvoiceNo' => $DeliveryChellanInvoiceNo, 'DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $DeliveryChellanDate, 'CourierNo' => $Courier, 'IGRStatus' => $IGRStatus, 'CreatedBy' => $CreatedBy, 'CreatedDate' => $createddt, 'MaterialRcvdDate' => $MaterialReceivedate, 'Paymentstatus' => $paymentstatus); //print_r($igr); $igrM = $this->inwardgateregister_model->addigrM($igr); $IGRNO = !empty($igrM) ? $igrM : ''; if ($Qualitycheck == 0) { $mrirmastervalues = array('MRIRStatus' => MRIR_APPROVED, 'IGRNO' => $IGRNO, 'PONO' => $PONO, 'CreatedBy' => $CreatedBy, 'Createdon' => $createddt, 'Remarks' => $Remarksmrir); $mrirmaster = $this->mrir_model->master_mrir($mrirmastervalues); $MRIRNO = ''; if (count($mrirmaster) > 0) { foreach ($mrirmaster as $key) { $MRIRNO = $key->MRIRNO; } } for ($i = 1; $i <= $RowCount; $i++) { $MaterialCode = $this->request->getPost('materialCode' . $i); $Quantity = $this->request->getPost('quantity' . $i); $Remarked = "Special PO Without Quality Check"; $MRIRStatus = MRIR_APPROVED; //this array to store the value in child table.. $mrirdetailvalues = array('MRIRNO' => $MRIRNO, 'MaterialCode' => $MaterialCode, 'ActualQuantityReceived' => $Quantity, 'Remarks' => $Remarked, 'MRIRStatus' => $MRIRStatus); //print_r($mrirdetailvalues); //die(); $mrirdetails = $this->mrir_model->detail_mrir($mrirdetailvalues); $getAvailableqty = $this->mrir_model->getItemQuantityFromStock(trim((string)$MaterialCode)); $avlQty = 0; if (count($getAvailableqty) > 0) { $avlQty = $getAvailableqty[0]['Quantity']; } $updatStock = array('Quantity' => ($Quantity + $avlQty), 'Status' => '0', 'UpdatedOn' => $createddt, 'UpdatedBy' => $CreatedBy, 'Remarks' => 'Stock added for ' . $MRIRNO); $this->mrir_model->UpdateStock($updatStock, trim((string)$MaterialCode)); } } $IGRItemStatus = REQITEM_NEW; for ($i = 1; $i <= $RowCount; $i++) { $MaterialCode = trim((string)$this->request->getPost('materialCode' . $i)); $QuantityAsPerInvoice = $this->request->getPost('quantity' . $i); $OrderedQuantity = $this->request->getPost('quantity' . $i); $ReceivedQty = $this->request->getPost('AQuantity' . $i); $emergencyitemcode = $this->request->getPost('emergencyitemcode'); $PendingQty = 0; //echo $QuantityAsPerInvoice; //echo $PendingQty.'ReceivedQty'.$ReceivedQty; //echo ' '; if (strlen((string)$QuantityAsPerInvoice) > 0 && $QuantityAsPerInvoice != '0') { $Remarks = "Special PO Created"; $ItemStatus = ''; //if($QuantityAsPerInvoice == $OrderedQuantity) if ($PendingQty == 0.00) { $ItemStatus = IGR_CREATED; } else { $ItemStatus = POLINEITEM_IGRPARTIAL_CREATED; } $CreatedBy = $this->session->get('userId'); $igrDetails = array('IGRNO' => $IGRNO, 'MaterialCode' => $MaterialCode, 'QuantityAsPerInvoice' => $QuantityAsPerInvoice, 'Remarks' => $Remarks, 'IGRItemStatus' => $IGRItemStatus, 'CreatedBy' => $CreatedBy, 'CreatedDate' => $createddt); $igrD = $this->inwardgateregister_model->addigrD($igrDetails); $IGRItemNo = !empty($igrD) ? $igrD : ''; $MaterialstockHistoryadd = array('Ref_No' => $IGRItemNo, 'MaterialCode' => $MaterialCode, 'Transaction_type' => 'Add', 'Ref_Type' => 'IGR', 'SupplierID' => $SupplierID, 'Quantity' => $QuantityAsPerInvoice, 'ItemValue' => $itemRate, 'CreatedBy' => $CreatedBy, 'CreatedOn' => $createddt); $this->inwardgateregister_model->addMaterialStockHistory($MaterialstockHistoryadd); //*=====================================================*/ //*===================================================*/ $get_pre_qty = $this->inwardgateregister_model->get_CurrentQty($MaterialCode); $av_qty = 0; if (!empty($get_pre_qty)) { foreach ($get_pre_qty as $gt) { $av_qty = $gt->Current_stock; } } $currentav_qty = $QuantityAsPerInvoice + $av_qty; $current_qty = array('Current_stock' => $currentav_qty); $this->inwardgateregister_model->addmaterialmaster($current_qty, $MaterialCode); //*==================================================*/ $Recqty = $this->inwardgateregister_model->getPOLineItemReceivedQty($PONO, $MaterialCode); $ReceivedQuantity = 0.00; if (count($Recqty) > 0) { foreach ($Recqty as $key) { $ReceivedQuantity = $key->ReceivedQuantity; } } $totalReceivedqty = $ReceivedQuantity + $QuantityAsPerInvoice; //echo ''; $POLineItem = array('ReceivedQuantity' => $totalReceivedqty, 'Status' => $ItemStatus, 'UpdateBY' => $CreatedBy, 'UpdatedOn' => $createddt); $this->inwardgateregister_model->UpdatePOLineItem($POLineItem, $PONO, $MaterialCode); } } $revenueFilesLength = $this->request->getPost('revenueFilesLength'); $serviceFilesLength = $this->request->getPost('serviceFilesLength'); $file = $this->request->getFiles(); $arr = []; $prefile = array(); $listOfFiles = 0 ; if($revenueFilesLength > 0){ $listOfFiles = $revenueFilesLength ;} if($serviceFilesLength > 0){ $listOfFiles = $serviceFilesLength ;} for ($i = 1; $i <= $listOfFiles; $i++) { $file = $this->request->getFile('browseFiles' . $i); $requestfilename = $file->getName(); if (!empty($requestfilename)) { if ($file->isValid() && !$file->hasMoved()){ $path = ROOTPATH.'public/uploads/BillFiles/'; if(!is_dir($path)) { mkdir($path, 0777, true);} $Picture = $file->getName(); $file->move($path,$Picture); } $arr[] = array($Picture); $prefile[] = trim($requestfilename); } } if (!empty($arr)) { foreach ($arr as $filename) { $myfile = array('FilePath' => $filename, 'PONO' => $PONO, 'IGRNO' => $IGRNO); $this->purchaseorder_model->fileupload($myfile); } } } $this->session->setFlashdata('success', 'You Have Successfully Created the Purchase order! '.$PONO); // return redirect()->route('purchaseorderListing'); return json_encode("111111111"); // echo ""; // redirect('purchaseorder/PurchaseOrderList', 'refresh'); } /** * This function is used to load the purchaseorder list */ function PurchaseOrderList() { // $this->load->library('pagination'); $count = $this->purchaseorder_model->purchaseorderListingCount(''); // $returns = $this->paginationCompress("purchaseorderListing/", $count, 5); //$this->purchaseorder_model->UpdateRequistItemStatus(); $this->purchaseorder_model->UpdateRequistionStatus(); $data['POData'] = $this->purchaseorder_model->purchaseorderListing(); print_r($data['POData']);die; $this->global['pageTitle'] = 'Purchase Orders'; $this->loadViews("POlist", $this->global, $data, NULL); } function Req_validate($selectValue) { //echo 'select_validate method called'; // 'none' is the first option and the text says something like "-Choose one-" if (strlen($selectValue) == 0) { // $this->validator->setMessage('Req_validate', 'Please Select Requisition Number to Create PO.'); return false; } else // user picked something { return true; } } /** * This function used to show the Purchase Order Screen */ function CreatePurchaseOrder() { $this->validator->setRules([ 'txtReqNo' => 'callback_Req_validate' ]); if ($this->validator->run() == FALSE) { $this->requisition(); //echo 'Validate method called'; } else { $this->global['pageTitle'] = 'Purchase order form'; $data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006'); $data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018'); $data['Suplist'] = $this->purchaseorder_model->getSupplierName(); $txtReqNo = $this->request->getPost('txtReqNo'); $data['ReqList'] = array(); $Req = array(); $ReqArray = array(); $ReqType = ''; $result = array(); if ($txtReqNo) { $SelectedReq = json_decode((string)$txtReqNo); if ($SelectedReq && isset($SelectedReq->Req)) { $Req = $SelectedReq->Req; $data['ReqList'] = $Req; } } foreach ($Req as $SID) : $ReqArray[] = $SID->ReqNo; $result[] = $this->purchaseorder_model->getRawPOMaterialList($SID->ReqNo); $ReqType = $SID->ReqType; //echo $SID->ReqNo; endforeach; //print_r ($result); $Year = get_current_date_time(); $data['CostList'] = $this->purchaseorder_model->getCostCenterbyRequist('', $Year, $ReqType); $data['MaterialList'] = $result; //$this->purchaseorder_model->getRawMaterialList($ReqType,$ReqArray); //print_r ($data['MaterialList']); $data['RequistionDetails'] = $this->purchaseorder_model->getRequistDetails($ReqArray); $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); $data['MaxPODate'] = $this->purchaseorder_model->getLastCreatedPODate(); $ViewName = ''; if ($ReqType == REVENUE) { $ViewName = 'Purchaseorder'; } else if ($ReqType == SERVICE) { $ViewName = 'servicePurchaseorder'; } $this->loadViews($ViewName, $this->global, $data, NULL); } } function CreatePOPrint() { $PONO = $_GET['PONO']; $ReqType = $_GET['ReqType']; if ($ReqType == SERVICE) { $this->servicepoprint($PONO); } else if ($ReqType == REVENUE) { $this->revenuepoprint($PONO); } } //To View/Update Purchase Order function EditPurchaseOrder() { $PONO = $_GET['PONO']; $ReqType = $_GET['ReqType']; $Year = get_current_date('Y'); $data['CostList'] = $this->purchaseorder_model->getCostCenterbyRequist('', $Year, $ReqType); $Req = $this->purchaseorder_model->getRequistionNoFromPO($PONO); $data['ReqList'] = $Req; $result = array(); $ReqArray = array(); foreach ($Req as $SID) : $ReqArray[] = $SID->ReqNo; $result[] = $this->purchaseorder_model->getRawPOMaterialList($SID->ReqNo); endforeach; $data['MaterialList'] = $result; //$this->purchaseorder_model->getRawMaterialList($ReqType,$ReqArray); $data['Suplist'] = $this->purchaseorder_model->getSupplierName(); $data['RequistionDetails'] = $this->purchaseorder_model->getRequistDetails($ReqArray); $data['POMaster'] = $this->purchaseorder_model->GetServicePurchaseOrder($PONO); $data['MaxPODate'] = $this->purchaseorder_model->getLastCreatedPODate(); $data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006'); $data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018'); if ($ReqType == SERVICE) { $data['POItem'] = $this->purchaseorder_model->GetServicePurchaseOrderDetails($PONO); $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); $this->global['pageTitle'] = 'Edit Revenue Purchase order form'; $this->loadViews("editRevenuepurchaseorder", $this->global, $data, NULL); } } // To get the Material value based on the MaterialCode function getDetailsforReq() { $SearchFilter = $this->request->getPost('id'); // $reqDate= $this->request->getPost('ReqDate'); $DeptCode = $SearchFilter[0]; $MatType = $SearchFilter[1]; $ReqNo = $SearchFilter[2]; // $ReqDetai = $this->purchaseorder_model->getRequistDetails( $EmpID ); $CostList = $this->requistion_model->GetCostCenterByDept($DeptCode); $HTML = ""; $BudAmount = ""; if (count($CostList) > 0) { for ($j = 0; $j < count($CostList); $j++) { $Code = $CostList[$j]['CostCenterCode']; $Name = $CostList[$j]['CostCenterName']; $HTML .= ""; } } $MaterialDetails = $this->purchaseorder_model->getRawMaterialListForPO($MatType, $ReqNo); $HTML1 = ""; if (count($MaterialDetails) > 0) { for ($j = 0; $j < count($MaterialDetails); $j++) { $Code = $MaterialDetails[$j]['MaterialCode']; $Name = $MaterialDetails[$j]['MaterialName']; $HTML1 .= ""; } } // print_r($HTML1); die(json_encode(array('MatDetail' => $HTML1, 'Cost' => $HTML))); } /* This method to get the status based on the Department selection in th */ function getStatusByDepartment() { $DepId = $this->request->getPost('id'); $data = $this->purchaseorder_model->getStatusByDepartment($DepId); $HTML = ""; if (count($data) > 0) { for ($j = 0; $j < count($data); $j++) { $Code = $data[$j]['StatusCode']; $Name = $data[$j]['StatusName']; $HTML .= ""; } } //echo $HTML; die(json_encode(array('depStaus' => $HTML))); } // To get the available Budget Amount function AvilBudgetAmount() { $SearchFilter = $this->request->getPost('id'); // $reqDate= $this->request->getPost('ReqDate'); $CostCode = $SearchFilter[0]; $ReqType = $SearchFilter[1]; print_r($SearchFilter); $CostCode = $this->request->getPost('id'); $Year = get_current_date('Y'); $this->purchaseorder_model = new purchaseorder_model(); $result = $this->purchaseorder_model->GetAvailableBudgetAmount($CostCode, $Year, $ReqType); //print_r($result); $AvilBudAmt = ''; if (count($result) > 0) { $AvilBudAmt = $result[0]['BudgetAmount'] - $result[0]['Totalvalue']; } // echo 'Test'; print_r($AvilBudAmt); //die(json_encode(array('Cost' => $AvilBudAmt))); } /* Method to get the Requistion list based on the search filter*/ function SearchListofRequistion() { $SearchFilter = $this->request->getPost('id'); // $reqDate= $this->request->getPost('ReqDate'); $DEPCode = $SearchFilter[0]; $Status = $SearchFilter[1]; $rng = $SearchFilter[2]; // $ToDate = $SearchFilter[3]; $FromDate = ''; $ToDate = ''; // echo $rng; $Dt = explode("-", $rng); // print_r( $Dt); if (count($Dt) > 1) { $FDate = $Dt[0]; $TDate = $Dt[1]; $FromDate = get_date_time_format($FDate); $ToDate = get_date_time_format($TDate); } //echo $FromDate; // print_r($Dt); $result = $this->purchaseorder_model->getRequistionListbySearch($DEPCode, $Status, $FromDate, $ToDate); $HTML = ""; for ($i = 0; $i < count($result); $i++) { $SNo = $i + 1; $ReqNo = $result[$i]['ReqNo']; $ReqType = $result[$i]['ReqType']; $Reqedby = $result[$i]['FirstName']; $ReqDate = $result[$i]['ReqDate']; $Status = $result[$i]['StatusName']; $Department = $result[$i]['DepartmentName']; $Designation = $result[$i]['Designation']; $HTML .= " " . $ReqNo . " " . $ReqType . " " . $Reqedby . " " . $ReqDate . " " . $Status . " " . $Department . " " . $Designation . " "; } //print_r( $HTML); die(json_encode(array('ReqList' => $HTML))); } /* To View the request details*/ function ListPORequistion() { $ReqNo = $this->request->getPost('id'); $result = $this->requistion_model->getRequistItemList($ReqNo); $ReqList = $this->requistion_model->getRequistDetails($ReqNo); $DepNo = $ReqList[0]['DEPCode']; $CostList = $this->requistion_model->GetCostCenterByDept($DepNo); $HTML = ""; for ($i = 0; $i < count($result); $i++) { $SNo = $i + 1; $MaterialCode = $result[$i]['MaterialCode']; $MaterialName = $result[$i]['MaterialName']; $UOM = $result[$i]['UOM']; $Quantity = $result[$i]['Quantity']; $HTML .= " " . $SNo . " " . $MaterialCode . " " . $MaterialName . " " . $UOM . " " . $Quantity . " "; //$index = $index + 1; } $CostCenter = ""; if (count($CostList) > 0) { for ($j = 0; $j < count($CostList); $j++) { $Code = $CostList[$j]['CostCenterCode']; $Name = $CostList[$j]['CostCenterName']; $CostCenter .= ""; } } //echo $HTML; //echo $CostCenter; die(json_encode(array('Items' => $HTML, 'Requist' => $ReqList, 'Cost' => $CostCenter))); } //This used to Create Revenue Purchase Order function addNewPurchaseOrder() { $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); $POType = $this->request->getPost('POType'); $PoRange = $this->request->getPost('txtPoRange'); $SpcialInstruction = $this->request->getPost('txtSpcialInstruction'); $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(); $Local_Interstate = $this->request->getPost('Range'); $IsOpenOrder = ($this->request->getPost('IsOpenOrder') !== null && !empty($this->request->getPost('IsOpenOrder')) && $this->request->getPost('IsOpenOrder') === '1') ? $this->request->getPost('IsOpenOrder') : null; $lastPONO = $this->purchaseorder_model->lastPONO(); $newPONO = generate_po_number($lastPONO); // PO Master $POList = array('PONO'=>$newPONO,'SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'Status' => $POStatus, 'PORange' => $PoRange, 'ServiceDescription' => $SpcialInstruction, 'CreatedBy' => $CreateBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'CreatedDate' => $createddt, 'CapitalRange' => $Local_Interstate,'IsOpenOrder'=>$IsOpenOrder); $POMaster = $this->purchaseorder_model->addPOMaster($POList,$POType,'advance'); $PONO = $POMaster ? $newPONO : ""; // $PONO = ''; // if (count($POMaster) > 0) { // $PONO = $POMaster[0]['PONO']; // } //echo $PONO; //echo $POType; // PO Line Items $LineItemStatus = REQITEM_NEW; //echo ' test:'.REVENUE; //echo $RowCount; for ($i = 1; $i <= $RowCount; $i++) { $MaterialCode = $this->request->getPost('materialCode' . $i); $Quantity = $this->request->getPost('quantity' . $i); $Reqnumber = $this->request->getPost('Reqnumber' . $i); $itemRate = $this->request->getPost('itemRate' . $i); $DiscountType = $this->request->getPost('DisType' . $i); $DiscountValue = $this->request->getPost('DisVal' . $i); $AfterDiscount = $this->request->getPost('AfterDisVal' . $i); $PackagingOption = $this->request->getPost('PackOption' . $i); $PackagingType = $this->request->getPost('PackType' . $i); $PackagingValue = $this->request->getPost('PackVal' . $i); $AfterPackagingValue = $this->request->getPost('AfterPackVal' . $i); $ExciseOption = $this->request->getPost('ExciseOption' . $i); $ExciseValue = $this->request->getPost('ExciseVal' . $i); $AfterExciseValue = $this->request->getPost('AfterExciseVal' . $i); $VatOption = $this->request->getPost('VatOption' . $i); $VatValue = $this->request->getPost('VatVal' . $i); $AfterVatValue = $this->request->getPost('AfterVatVal' . $i); $CSTOption = $this->request->getPost('CSTOption' . $i); $CSTValue = $this->request->getPost('CSTVal' . $i); $AfterCSTValue = $this->request->getPost('AfterCSTVal' . $i); $GSTValue = $this->request->getPost('GSTVal' . $i); $AfterGSTValue = $this->request->getPost('AfterGSTVal' . $i); $OtherTaxValue = $this->request->getPost('OtherTaxVal' . $i); $AfterOtherTaxValue = $this->request->getPost('AfterOtherTaxVal' . $i); $FreightType = $this->request->getPost('FreightType' . $i); $FreightValue = $this->request->getPost('FreightVal' . $i); $AfterFreightValue = $this->request->getPost('AfterFreightVal' . $i); $InsuranceValue = $this->request->getPost('Insval' . $i); $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); $CostCenter = $this->request->getPost('costCode' . $i); if($itemRate != 0){ $this->purchaseorder_model->updateMaterialRate($MaterialCode, $itemRate); } $SkipInsert = "False"; if (count($comma_separated) > 0) { for ($j = 1; $j < count($comma_separated); $j++) { $deletedRow = $comma_separated[$j]; if ($deletedRow == $i) { $SkipInsert = "True"; break; } } } if ($SkipInsert == "False") { $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt, 'CostCenterCode' => $CostCenter,'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'=>$Rate,'SupplierID'=>$SupplierID,'LineItemNos'=>$LineItemNo); // $addlog= $this->purchaseorder_model->newlogpo($logpo); /*--------------*/ if (trim((string)$POType) == REVENUE) { // echo 'Success'; $RevenueTaxList = array('LineItemNo' => $LineItemNo, 'DiscountType' => $DiscountType, 'DiscountValue' => $DiscountValue, 'AfterDiscount' => $AfterDiscount, 'PackagingType' => $PackagingType, 'PackagingValue' => $PackagingValue, 'PackagingCalulatedOn' => $PackagingOption, 'AfterPackagingValue' => $AfterPackagingValue, 'FreightType' => $FreightType, 'FreightValue' => $FreightValue, 'AfterFreightValue' => $AfterFreightValue, 'ExciseDuty' => $ExciseValue, 'ExciseDutyCalulatedOn' => $ExciseOption, 'AfterExciseDuty' => $AfterExciseValue, 'Vat' => $VatValue, 'AfterVAT' => $AfterVatValue, 'VatCalulatedOn' => $VatOption, 'CST' => $CSTValue, 'AfterCST' => $AfterCSTValue, 'CSTCalulatedOn' => $CSTOption, 'GST' => $GSTValue, 'AfterGST' => $AfterGSTValue, 'OtherTaxes' => $OtherTaxValue, 'AfterOtherTaxes' => $AfterOtherTaxValue, 'Insurance' => $InsuranceValue, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $CreateBy, 'CreatedDate' => $createddt); $RevenueList = $this->purchaseorder_model->addRevenueTax($RevenueTaxList); //echo 'Revenue tax Success'; } } } echo 'Purchase Order Created Successfully! PO Number Is: ' . $PONO; } //This used to Edit the Revenue Purchase Order function EditRevenuePurchaseOrder() { // echo "hi"; die; $PONO = $this->request->getPost('txtPONO'); $POdt = $this->request->getPost('PODate'); $PODate = get_date_time_format($POdt); $SupplierID = $this->request->getPost('drpSupplier'); $newsup = (string)$this->request->getPost('newsup'); // echo $newsup;die; // $newSupId = split("[ - ]+", $newsup); $newSupId = preg_split('/[ - ]+/', $newsup); /*-----------------------------------*/ $b4supplier = $this->request->getPost('b4supplier'); $b4date = $this->request->getPost('b4podate'); $b4podate = get_date_time_format($b4date); /*-----------------------------------*/ $DeliveryAddr = $this->request->getPost('txtDeliveryAddress'); $dt = $this->request->getPost('Deliverydt'); $Deliverydt = get_date_time_format($dt); $POType = $this->request->getPost('POType'); $PoRange = $this->request->getPost('txtPoRange'); $SpcialInstruction = $this->request->getPost('SpcialInstruction'); $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(); $Local_Interstate = $this->request->getPost('Range'); // PO Master // PO Master $POList = array('SupplierID' => $SupplierID, 'TotalOrderValue' => $TotalOrderValueSummary, 'PODate' => $PODate, 'Status' => $POStatus, 'ServiceDescription' => $SpcialInstruction, 'UpdateBY' => $updatedBy, 'DeliveryAddress' => $DeliveryAddr, 'DeliveryDate' => $Deliverydt, 'UpdatedOn' => $updateddt, 'CapitalRange' => $Local_Interstate); $POMaster = $this->purchaseorder_model->updatePOMaster($PONO, $POList); $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) { $logpo = array('PONO' => $PONO, 'LineItemNos' => '-', 'UpdateBy' => $updatedBy, 'UpdatedOn' => $updateddt, 'oldValue' => $b4supplier, 'newValue' => $newsup, 'entity' => 'Supplier Changed'); $this->purchaseorder_model->insertlogpo($logpo); } } //echo $RowCount; for ($i = 1; $i <= $RowCount; $i++) { $MaterialCode = $this->request->getPost('materialCode' . $i); $Quantity = $this->request->getPost('quantity' . $i); $Reqnumber = $this->request->getPost('Reqnumber' . $i); $itemRate = $this->request->getPost('itemRate' . $i); /*-----------------------------------*/ $b4qty = $this->request->getPost('b4qty' . $i); $b4rate = $this->request->getPost('b4rate' . $i); /*-----------------------------------*/ $DiscountType = $this->request->getPost('DisType' . $i); $DiscountValue = $this->request->getPost('DisVal' . $i); $AfterDiscount = $this->request->getPost('AfterDisVal' . $i); $PackagingOption = $this->request->getPost('PackOption' . $i); $PackagingType = $this->request->getPost('PackType' . $i); $PackagingValue = $this->request->getPost('PackVal' . $i); $AfterPackagingValue = $this->request->getPost('AfterPackVal' . $i); $ExciseOption = $this->request->getPost('ExciseOption' . $i); $ExciseValue = $this->request->getPost('ExciseVal' . $i); $AfterExciseValue = $this->request->getPost('AfterExciseVal' . $i); $VatOption = $this->request->getPost('VatOption' . $i); $VatValue = $this->request->getPost('VatVal' . $i); $AfterVatValue = $this->request->getPost('AfterVatVal' . $i); $CSTOption = $this->request->getPost('CSTOption' . $i); $CSTValue = $this->request->getPost('CSTVal' . $i); $AfterCSTValue = $this->request->getPost('AfterCSTVal' . $i); $GSTValue = $this->request->getPost('GSTVal' . $i); $AfterGSTValue = $this->request->getPost('AfterGSTVal' . $i); $OtherTaxValue = $this->request->getPost('OtherTaxVal' . $i); $AfterOtherTaxValue = $this->request->getPost('AfterOtherTaxVal' . $i); $FreightType = $this->request->getPost('FreightType' . $i); $FreightValue = $this->request->getPost('FreightVal' . $i); $AfterFreightValue = $this->request->getPost('AfterFreightVal' . $i); $InsuranceValue = $this->request->getPost('Insval' . $i); $TotalOrderValue = $this->request->getPost('TotalOrderValue' . $i); $POLineItemNo = $this->request->getPost('LineItemNo' . $i); $CostCenter = $this->request->getPost('costCode' . $i); $LineItemNo = ''; 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); } 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); } /*---------start---------------------*/ // if(($PODate != $b4podate )||( $SupplierID != $b4supplier) || ($itemRate !=$b4rate) || // ($Quantity != $b4qty )) // { // $logpo =array('UpdateBy'=>$updatedBy,'UpdatedOn'=>$updateddt); // $this->purchaseorder_model->updatelogpo($MaterialCode,$POLineItemNo,$logpo); // } /*----------end--------------------*/ if($itemRate != 0){ $this->purchaseorder_model->updateMaterialRate($MaterialCode, $itemRate); } $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) { $POLineItemList = array('PONO' => $PONO, 'ReqNo' => $Reqnumber, 'MaterialCode' => $MaterialCode, 'Quantity' => $Quantity, 'Rate' => $itemRate, 'Status' => $LineItemStatus, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt, 'CostCenterCode' => $CostCenter,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); 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,'LineitemAuditorNotes' => $LineitemAuditorNotes); $POLineItem = $this->purchaseorder_model->updatePOLineItem($PONO, $POLineItemNo, $POLineItemList); } $isExists = $this->purchaseorder_model->LineItemExistsinRevenueTax($LineItemNo); if (count($isExists) == 0) { $RevenueTaxList = array('LineItemNo' => $LineItemNo, 'DiscountType' => $DiscountType, 'DiscountValue' => $DiscountValue, 'AfterDiscount' => $AfterDiscount, 'PackagingType' => $PackagingType, 'PackagingValue' => $PackagingValue, 'PackagingCalulatedOn' => $PackagingOption, 'AfterPackagingValue' => $AfterPackagingValue, 'FreightType' => $FreightType, 'FreightValue' => $FreightValue, 'AfterFreightValue' => $AfterFreightValue, 'ExciseDuty' => $ExciseValue, 'ExciseDutyCalulatedOn' => $ExciseOption, 'AfterExciseDuty' => $AfterExciseValue, 'Vat' => $VatValue, 'AfterVAT' => $AfterVatValue, 'VatCalulatedOn' => $VatOption, 'CST' => $CSTValue, 'AfterCST' => $AfterCSTValue, 'CSTCalulatedOn' => $CSTOption, 'GST' => $GSTValue, 'AfterGST' => $AfterGSTValue, 'OtherTaxes' => $OtherTaxValue, 'AfterOtherTaxes' => $AfterOtherTaxValue, 'Insurance' => $InsuranceValue, 'TotalValue' => $TotalOrderValue, 'CreatedBy' => $updatedBy, 'CreatedDate' => $updateddt); $RevenueList = $this->purchaseorder_model->addRevenueTax($RevenueTaxList); } else { $RevenueTaxList = array('DiscountType' => $DiscountType, 'DiscountValue' => $DiscountValue, 'AfterDiscount' => $AfterDiscount, 'PackagingType' => $PackagingType, 'PackagingValue' => $PackagingValue, 'PackagingCalulatedOn' => $PackagingOption, 'AfterPackagingValue' => $AfterPackagingValue, 'FreightType' => $FreightType, 'FreightValue' => $FreightValue, 'AfterFreightValue' => $AfterFreightValue, 'ExciseDuty' => $ExciseValue, 'ExciseDutyCalulatedOn' => $ExciseOption, 'AfterExciseDuty' => $AfterExciseValue, 'Vat' => $VatValue, 'AfterVAT' => $AfterVatValue, 'VatCalulatedOn' => $VatOption, 'CST' => $CSTValue, 'AfterCST' => $AfterCSTValue, 'CSTCalulatedOn' => $CSTOption, 'GST' => $GSTValue, 'AfterGST' => $AfterGSTValue, 'OtherTaxes' => $OtherTaxValue, 'AfterOtherTaxes' => $AfterOtherTaxValue, 'Insurance' => $InsuranceValue, 'TotalValue' => $TotalOrderValue, 'UpdateBY' => $updatedBy, 'UpdatedOn' => $updateddt); $this->purchaseorder_model->updateRevenueTax($LineItemNo, $RevenueTaxList); } } } echo 'Purchase Order Updated Successfully! PO Number Is: ' . $PONO; } public function revenuepoprint($PONO) { // Load all views as normal //$PONO = $_GET['PO']; $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); $data['POItem'] = $this->purchaseorder_model->GetRevenuePurchaseOrderDetailsForPDF($PONO); // Add header to pdf //view('includes/pdfheader'); // Load the pdf page with multiviews view("revenuepopdf", $data); // Add header to pdf //view('includes/pdffooter'); // Get output html $php = $this->output->get_output(); // Load library $this->load->library('dompdf_gen'); // Convert to PDF $this->dompdf->load_html($php); $this->dompdf->render(); $data['Attachment'] = FALSE; $this->dompdf->stream("RevenuePOReport.pdf", $data, $php); } public function servicepoprint($PONO) { // view('includes/pdfheader'); // Load the pdf page with multiviews $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); $data['POItem'] = $this->purchaseorder_model->GetServicePurchaseOrderDetailsForPrint($PONO); view("servicepopdf", $data); // Add header to pdf //view('includes/pdffooter'); // Get output html $php = $this->output->get_output(); // Load library $this->load->library('dompdf_gen'); // Convert to PDF $this->dompdf->load_html($php); $this->dompdf->render(); $data['Attachment'] = FALSE; $this->dompdf->stream("ServicePOReport.pdf", $data, $php); } /** * This function used to load the Delete the Requistion Items */ function DeletePODetails() { $ReqList = $this->request->getPost('id'); $LineItemNo = ''; $ReqNo = ''; $MaterialCode = ''; $POType = ''; if (count($ReqList) > 0) { $LineItemNo = $ReqList[0]; $ReqNo = $ReqList[1]; $MaterialCode = $ReqList[2]; $POType = $ReqList[3]; } // print_r($ReqList); if ($POType == REVENUE) { $this->purchaseorder_model->DeletePORevenueTax($LineItemNo); } else if ($POType == SERVICE) { $this->purchaseorder_model->DeletePOServiceTax($LineItemNo); } $this->purchaseorder_model->DeletePOLineItem($LineItemNo, $ReqNo, $MaterialCode); echo "Successfully Deleted the Line item " . $LineItemNo; } }