From 6a7d2a80acb0cd0f83ba568a04bef315733a8b26 Mon Sep 17 00:00:00 2001 From: "venbatechnologies@gmail.com" Date: Tue, 13 Jun 2017 18:00:13 +0530 Subject: [PATCH] i done emergency revenue po --- application/config/constants.php | 7 +- .../controllers/emergencypurchaseorder.php | 1491 +++--- application/views/alterpurchaseorder.php | 4264 ++++++++++++++--- application/views/login.php | 2 +- 4 files changed, 4487 insertions(+), 1277 deletions(-) diff --git a/application/config/constants.php b/application/config/constants.php index ab4d5b62..be46df5a 100755 --- a/application/config/constants.php +++ b/application/config/constants.php @@ -65,6 +65,7 @@ define('REQITEM_DELIVERED', 'ST011'); define('REQ_DELETED', 'ST013'); define('REQITEM_POCREATED', 'ST022'); define('REQITEM_PARTIALLY_PO_CREATED', 'ST023'); +define('REQITEM_Emergency_PO_CREATED', 'ST024'); define('REQUISTSTATUS', '0'); @@ -125,9 +126,11 @@ define('EXCISE_ONBASIC_DISCOUNT', '((ExciseDuty/100 define('EXCISE_ONBASIC_DISCOUNT_PACKAGING', '((ExciseDuty/100) * ((basicValue-AfterDiscount)+ AfterPackaging))'); define('EXCISE_ONBASIC_PACKAGING', '((ExciseDuty/100) * (basicValue + AfterPackaging))'); + //Vat define('VAT_ONBASICVALUE', '((vatValue/100) * basicValue)'); -define('VAT_ONEXICSEVALUE', '((vatValue/100) * (basicValue+ExciseDuty))'); +//define('VAT_ONEXICSEVALUE', '((vatValue/100) * (basicValue+ExciseDuty))'); +define('VAT_ONEXICSEVALUE', '(((basicValue - discountValue) + (packageValue + ExciseDuty)) * (vatValue/100))'); //CST define('CST_ONBASICVALUE', '((CSTValue/100) * basicValue)'); @@ -172,4 +175,4 @@ define('CALCULATE_TOTAL', 'txtrmc+basicamt'); /* End of file constants.php */ -/* Location: ./application/config/constants.php */ \ No newline at end of file +/* Location: ./application/config/constants.php */ diff --git a/application/controllers/emergencypurchaseorder.php b/application/controllers/emergencypurchaseorder.php index 1153eca3..7b6a2a02 100755 --- a/application/controllers/emergencypurchaseorder.php +++ b/application/controllers/emergencypurchaseorder.php @@ -18,381 +18,247 @@ class emergencypurchaseorder extends BaseController { parent::__construct(); $this->load->model('purchaseorder_model'); - + $this->load->library('session'); - $this->load->library('form_validation'); - $this->load->model('requistion_model'); - $this->isLoggedIn(); + $this->load->library('form_validation'); + $this->load->model('requistion_model'); + $this->isLoggedIn(); } - - - - - - function CreateEmergencyPO() - { - - $this->global['pageTitle'] = 'Siddharth : Create Emergency Purchase Order'; - - $data['RequestType'] = $this->requistion_model->getConfigValue('C004'); - - $data['Suplist'] = $this->purchaseorder_model->getSupplierName(); - - $data['DeptList'] = $this->purchaseorder_model->getDepartmentListForAllReq(); - - $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); - - $data['MaxPODate'] = $this->purchaseorder_model->getLastCreatedPODate(); - - $this->loadViews("alterpurchaseorder", $this->global, $data,Null); - - } - - /** - * This function used to show the Purchase Order Screen + /** + * This function used to load the first screen of the user */ - - function CreatePurchaseOrder() - { - - - $this->load->library('form_validation'); - - $this->form_validation->set_rules('txtReqNo', 'txtReqNo', 'callback_Req_validate'); - - if($this->form_validation->run() == FALSE) - { - $this->requisition(); - //echo 'Validate method called'; - } - else - { - - $this->global['pageTitle'] = 'Siddharth : Purchase order form'; - $data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006'); - $data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018'); - $data['Suplist'] = $this->purchaseorder_model->getSupplierName(); - $SelectedReq = json_decode($this->input->post('txtReqNo')); - - $Req = $SelectedReq->Req; - $data['ReqList'] = $Req ; - $ReqArray = array(); - $ReqType = ''; - $result = array(); - - foreach ($Req as $SID): - $ReqArray[] = $SID->ReqNo ; - $result[] = $this->purchaseorder_model->getRawPOMaterialList($SID->ReqNo); - $ReqType = $SID->ReqType; - // echo $SID->ReqNo; - - endforeach; - //print_r ($result); - $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); - $Year = $dt->format('Y'); - $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); - } + public function index() + { + $this->global['pageTitle'] = 'Siddharth : AddPO'; + + $this->loadViews("addPO", $this->global, NULL , 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']; - $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); - $Year = $dt->format('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'); + + function requisition() + { + $data['DeptList'] = $this->purchaseorder_model->getDepartmentListForAllReq(); + + $data['stList'] = $this->purchaseorder_model->getStatusListforAllReq(); + + $data['ReqList'] = $this->purchaseorder_model->getRequistionListbySearch(); + $this->global['pageTitle'] = 'Siddharth : Create PO from Requisition List'; + + $this->loadViews("createPOfromRequistion", $this->global, $data,Null); + } + + function CreateEmergencyPO() + { + $this->global['pageTitle'] = 'Siddharth : Create Emergency Purchase Order'; + $data['RequestType'] = $this->requistion_model->getConfigValue('C004'); + $data['Suplist'] = $this->purchaseorder_model->getSupplierName(); + $data['DeptList'] = $this->purchaseorder_model->getDepartmentListForAllReq(); + $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'); - if($ReqType == SERVICE) - { - - $data['POItem'] = $this->purchaseorder_model->GetServicePurchaseOrderDetails($PONO); - $this->global['pageTitle'] = 'Siddharth : 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'] = 'Siddharth : 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->input->post('id'); - // $reqDate= $this->input->post('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->input->post('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->input->post('id'); - // $reqDate= $this->input->post('ReqDate'); - $CostCode = $SearchFilter[0]; - $ReqType = $SearchFilter[1]; - print_r($SearchFilter); - $CostCode= $this->input->post('id'); - $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); - - $Year = $dt->format('Y'); - $this->load->model('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))); - } - - - function getDateformat($Val) - { - $date = new DateTime($Val,new DateTimeZone('Asia/Kolkata')); - // print_r($date); - $retDate = $date->format('Y-m-d H:i:s'); - return $retDate; - } - /* Method to get the Requistion list based on the search filter*/ - - function SearchListofRequistion() - { - $SearchFilter= $this->input->post('id'); - // $reqDate= $this->input->post('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 = $this->getDateformat($FDate); - $ToDate = $this->getDateformat($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->input->post('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; - - } + $this->loadViews("alterpurchaseorder", $this->global, $data, Null); - $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() + } + /** + * this function used for get all material code using request type + */ + function getMaterialCode(){ + $reqType = $this->input->post('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->input->post('id'); + $CostList = $this->requistion_model->GetCostCenterByDept($DeptCode); + // print_r($CostList); + echo json_encode($CostList); + + } + + //This used to Create Service Purchase Order + function addNewServicePurchaseOrder() + { + $POdt =$this->input->post('PODate'); + $PODate = $this->getDateformat($POdt); + $SupplierID = $this->input->post('drpSupplier'); + $DeliveryAddr = $this->input->post('DeliveryAddr'); + $dt = $this->input->post('Deliverydt'); + $CostCenterName = $this->input->post('CostCenterName'); + $Deliverydt = $this->getDateformat($dt); + $POType = $this->input->post('POType'); + + $SpcialInstruction = $this->input->post('TextSpcialInstruction'); + $TotalOrderValueSummary = $this->input->post('TextTotalOrderValueSummaryService'); + + $POStatus = $this->input->post('TextStatus'); + $CreateBy = $this->session->userdata ('userId'); + $RequestedBy = $this->session->userdata ('EmpID'); + $ReqStatus = REQITEM_Emergency_PO_CREATED; + + $RowCount = $this->input->post('TextRowCount'); + + $DeletedRow = $this->input->post('TextDeletedRowCount'); + + $comma_separated = explode(':', $DeletedRow); + + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + + $createddt = $dt->format('Y-m-d H:i:s'); + //create T_Requestion_Master + $Request = array('ReqType'=>$POType, 'Requestedby'=>$RequestedBy,'CostCenterCode'=>$CostCenterName,'Status'=>$ReqStatus,'Comments'=>$SpcialInstruction,'ReqDate'=>$createddt,'CreatedDate'=>$createddt,'CreatedBy'=>$CreateBy); + + $Req = $this->requistion_model->addRequistion($Request); + + $RegNo=''; + if(count($Req)>0) + { + $RegNo = $Req[0]['ReqNo']; + } + + + // PO Master + $POList = array('SupplierID'=>$SupplierID, 'TotalOrderValue'=>$TotalOrderValueSummary,'PODate'=>$PODate,'Status'=>$POStatus,'ServiceDescription'=>$SpcialInstruction,'CreatedBy'=>$CreateBy,'DeliveryAddress'=>$DeliveryAddr,'DeliveryDate'=>$Deliverydt,'CreatedDate'=>$createddt ); + + $POMaster = $this->purchaseorder_model->addPOMaster($POList); + $PONO = ''; + if(count($POMaster)>0) + { + $PONO = $POMaster[0]['PONO']; + } + + $RegDetailsStatus=REQITEM_POCREATED; + + // PO Line Items + $LineItemStatus = REQITEM_NEW; + + for ($i = 1; $i <= $RowCount; $i++) + { + + $MaterialCode = $this->input->post('materialCode'.$i); + $Quantity = $this->input->post('quantity'.$i); + $Reqnumber = $this->input->post('Reqnumber'.$i); + $itemRate = $this->input->post('itemRate'.$i); + $ServiceTax = $this->input->post('ServiceTax'.$i); + $EduCess = $this->input->post('EduCess'.$i); + $SecHighTax = $this->input->post('SecHighTax'.$i); + $KrishiTax = $this->input->post('KrishiTax'.$i); + $SwachhTax = $this->input->post('SwachhTax'.$i); + $CostCenter = $this->input->post('costCode'.$i); + + $TotalOrderValue = $this->input->post('TotalOrderValue'.$i); + $SkipInsert = "False"; + if( count($comma_separated) > 0) + { + for($j = 1; $j < count($comma_separated); $j++) + { + $deletedRow = $comma_separated[$j]; + + if($deletedRow == $i ) + { + $SkipInsert = "True"; + break; + } + + } + } + if($SkipInsert == "False") + { + + //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); + $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); + $LineItemNo = ''; + if(count($POLineItem)>0) + { + $LineItemNo = $POLineItem[0]['LineItemNo']; + } + + + if(trim($POType) == SERVICE ) + { + // echo 'Success'; + + $ServiceTaxList = array('LineItemNo'=>$LineItemNo, 'ServiceTax'=>$ServiceTax,'EducessTax'=>$EduCess,'SecHigherEducessTax'=>$SecHighTax,'KrishiKalyantax'=>$KrishiTax,'SwachhBharattax'=>$SwachhTax,'TotalValue'=>$TotalOrderValue, 'CreatedBy'=>$CreateBy,'CreatedDate'=>$createddt); + + $ServiceTax = $this->purchaseorder_model->addServiceTax($ServiceTaxList); + + } + } + else { + + } + + } + + if($POStatus == REQ_DRAFT) + { + echo 'Emergency Service Purchase Order Saved Successfully!The PO NO Is: '.$PONO; + + } + else + { + echo 'Emergency Service Purchase Order Created Successfully!The PO NO Is: '.$PONO; + + } + + + } + + + + //This used to Create Revenue Emergency Purchase Order + function addNewRevenuePurchaseOrder() { + $POdt =$this->input->post('PODate'); $PODate = $this->getDateformat($POdt); $SupplierID = $this->input->post('drpSupplier'); $DeliveryAddr = $this->input->post('DeliveryAddr'); $dt = $this->input->post('Deliverydt'); $Deliverydt = $this->getDateformat($dt); + $CostCenterName = $this->input->post('CostCenterName'); $POType = $this->input->post('POType'); $PoRange = $this->input->post('txtPoRange'); - $SpcialInstruction = $this->input->post('txtSpcialInstruction'); + $SpcialInstruction = $this->input->post('TextSpcialInstruction'); $TotalOrderValueSummary = $this->input->post('txtTotalOrderValueSummary'); - $POStatus = $this->input->post('txtStatus'); + $POStatus = $this->input->post('TextStatus'); $CreateBy = $this->session->userdata ( 'userId' ); - $RowCount = $this->input->post('txtRowCount'); - $DeletedRow = $this->input->post('txtDeletedRow'); + $RowCount = $this->input->post('TextRowCount'); + $DeletedRow = $this->input->post('TextDeletedRowCount'); + $RequestedBy = $this->session->userdata ('EmpID'); + $ReqStatus = REQITEM_Emergency_PO_CREATED; + $comma_separated = explode(':', $DeletedRow); $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); $createddt = $dt->format('Y-m-d H:i:s'); + + //add requistion + $Request = array('ReqType'=>$POType, 'Requestedby'=>$RequestedBy,'CostCenterCode'=>$CostCenterName,'Status'=>$ReqStatus,'Comments'=>$SpcialInstruction,'ReqDate'=>$createddt,'CreatedDate'=>$createddt,'CreatedBy'=>$CreateBy); + + $Req = $this->requistion_model->addRequistion($Request); + + $RegNo=''; + if(count($Req)>0) + { + $RegNo = $Req[0]['ReqNo']; + } // PO Master $POList = array('SupplierID'=>$SupplierID, 'TotalOrderValue'=>$TotalOrderValueSummary,'PODate'=>$PODate,'Status'=>$POStatus,'PORange'=>$PoRange,'ServiceDescription'=>$SpcialInstruction,'CreatedBy'=>$CreateBy,'DeliveryAddress'=>$DeliveryAddr,'DeliveryDate'=>$Deliverydt,'CreatedDate'=>$createddt ); @@ -403,12 +269,11 @@ class emergencypurchaseorder extends BaseController { $PONO = $POMaster[0]['PONO']; } - //echo $PONO; - //echo $POType; + // PO Line Items + $RegDetailsStatus=REQITEM_POCREATED; $LineItemStatus = REQITEM_NEW; - //echo ' test:'.REVENUE; - //echo $RowCount; + for ($i = 1; $i <= $RowCount; $i++) { @@ -461,7 +326,13 @@ class emergencypurchaseorder extends BaseController } if($SkipInsert == "False") { - $POLineItemList = array('PONO'=>$PONO, 'ReqNo'=>$Reqnumber,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=>$itemRate,'Status'=>$LineItemStatus,'CreatedBy'=>$CreateBy,'CreatedDate'=>$createddt,'CostCenterCode'=>$CostCenter); + //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); $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); @@ -486,235 +357,709 @@ class emergencypurchaseorder extends BaseController echo 'Purchase Order Created Successfully! PO Number Is: '.$PONO ; } - //This used to Edit the Revenue Purchase Order - function EditRevenuePurchaseOrder() - { - $PONO =$this->input->post('txtPONO'); - $POdt =$this->input->post('PODate'); - $PODate = $this->getDateformat($POdt); - $SupplierID = $this->input->post('drpSupplier'); - $DeliveryAddr = $this->input->post('txtDeliveryAddress'); - $dt = $this->input->post('Deliverydt'); - $Deliverydt = $this->getDateformat($dt); - $POType = $this->input->post('POType'); - $PoRange = $this->input->post('txtPoRange'); - - $SpcialInstruction = $this->input->post('SpcialInstruction'); - $TotalOrderValueSummary = $this->input->post('txtTotalOrderValueSummary'); - $POStatus = $this->input->post('txtStatus'); - $updatedBy = $this->session->userdata ( 'userId' ); - $RowCount = $this->input->post('txtRowCount'); - $DeletedRow = $this->input->post('txtDeletedRow'); - - $comma_separated = explode(':', $DeletedRow); - $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); - $updateddt = $dt->format('Y-m-d H:i:s'); - // PO Master - // PO Master - $POList = array('SupplierID'=>$SupplierID, 'TotalOrderValue'=>$TotalOrderValueSummary,'PODate'=>$PODate,'Status'=>$POStatus,'ServiceDescription'=>$SpcialInstruction,'UpdateBY'=>$updatedBy,'DeliveryAddress'=>$DeliveryAddr,'DeliveryDate'=>$Deliverydt,'UpdatedOn'=>$updateddt ); - - $POMaster = $this->purchaseorder_model->updatePOMaster($PONO,$POList); - - $LineItemStatus = REQITEM_NEW; - - - - //echo $RowCount; - for ($i = 1; $i <= $RowCount; $i++) - { - - $MaterialCode = $this->input->post('materialCode'.$i); - $Quantity = $this->input->post('quantity'.$i); - $Reqnumber = $this->input->post('Reqnumber'.$i); - $itemRate = $this->input->post('itemRate'.$i); - $DiscountType = $this->input->post('DisType'.$i); - $DiscountValue = $this->input->post('DisVal'.$i); - $AfterDiscount = $this->input->post('AfterDisVal'.$i); - $PackagingOption = $this->input->post('PackOption'.$i); - $PackagingType = $this->input->post('PackType'.$i); - $PackagingValue = $this->input->post('PackVal'.$i); - $AfterPackagingValue = $this->input->post('AfterPackVal'.$i); - $ExciseOption = $this->input->post('ExciseOption'.$i); - $ExciseValue = $this->input->post('ExciseVal'.$i); - $AfterExciseValue = $this->input->post('AfterExciseVal'.$i); - $VatOption = $this->input->post('VatOption'.$i); - $VatValue = $this->input->post('VatVal'.$i); - $AfterVatValue = $this->input->post('AfterVatVal'.$i); - $CSTOption = $this->input->post('CSTOption'.$i); - $CSTValue = $this->input->post('CSTVal'.$i); - $AfterCSTValue = $this->input->post('AfterCSTVal'.$i); - $GSTValue = $this->input->post('GSTVal'.$i); - $AfterGSTValue = $this->input->post('AfterGSTVal'.$i); - $OtherTaxValue = $this->input->post('OtherTaxVal'.$i); - $AfterOtherTaxValue = $this->input->post('AfterOtherTaxVal'.$i); - $FreightType = $this->input->post('FreightType'.$i); - $FreightValue = $this->input->post('FreightVal'.$i); - $AfterFreightValue = $this->input->post('AfterFreightVal'.$i); - $InsuranceValue = $this->input->post('Insval'.$i); - $TotalOrderValue = $this->input->post('TotalOrderValue'.$i); - $POLineItemNo = $this->input->post('LineItemNo'.$i); - $CostCenter = $this->input->post('costCode'.$i); - $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($POLineItemNo) == 0) - { - $POLineItemList = array('PONO'=>$PONO, 'ReqNo'=>$Reqnumber,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=>$itemRate,'Status'=>$LineItemStatus,'CreatedBy'=>$updatedBy,'CreatedDate'=>$updateddt,'CostCenterCode'=>$CostCenter); - $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); - if(count($POLineItem)>0) - { - $LineItemNo = $POLineItem[0]['LineItemNo']; - } - - } - else - { - $LineItemNo = $POLineItemNo; + /** + * 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(); + + $this->global['pageTitle'] = 'Siddharth : 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->form_validation->set_message('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->load->library('form_validation'); + + $this->form_validation->set_rules('txtReqNo', 'txtReqNo', 'callback_Req_validate'); + + if($this->form_validation->run() == FALSE) + { + $this->requisition(); + //echo 'Validate method called'; + } + else + { + + $this->global['pageTitle'] = 'Siddharth : Purchase order form'; + $data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006'); + $data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018'); + $data['Suplist'] = $this->purchaseorder_model->getSupplierName(); + $SelectedReq = json_decode($this->input->post('txtReqNo')); + $Req = $SelectedReq->Req; + $data['ReqList'] = $Req ; + $ReqArray = array(); + $ReqType = ''; + $result = array(); + + foreach ($Req as $SID): + $ReqArray[] = $SID->ReqNo ; + $result[] = $this->purchaseorder_model->getRawPOMaterialList($SID->ReqNo); + $ReqType = $SID->ReqType; + //echo $SID->ReqNo; + + endforeach; + //print_r ($result); + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + $Year = $dt->format('Y'); + $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']; + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + $Year = $dt->format('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'] = 'Siddharth : 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'] = 'Siddharth : 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->input->post('id'); + // $reqDate= $this->input->post('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->input->post('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->input->post('id'); + // $reqDate= $this->input->post('ReqDate'); + $CostCode = $SearchFilter[0]; + $ReqType = $SearchFilter[1]; + print_r($SearchFilter); + $CostCode= $this->input->post('id'); + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + + $Year = $dt->format('Y'); + $this->load->model('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))); + } + + + function getDateformat($Val) + { + $date = new DateTime($Val,new DateTimeZone('Asia/Kolkata')); + // print_r($date); + $retDate = $date->format('Y-m-d H:i:s'); + return $retDate; + } + /* Method to get the Requistion list based on the search filter*/ + + function SearchListofRequistion() + { + $SearchFilter= $this->input->post('id'); + // $reqDate= $this->input->post('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 = $this->getDateformat($FDate); + $ToDate = $this->getDateformat($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." - $POLineItemList = array('PONO'=>$PONO, 'ReqNo'=>$Reqnumber,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=>$itemRate,'Status'=>$LineItemStatus,'UpdateBY'=>$updatedBy,'UpdatedOn'=>$updateddt,'CostCenterCode'=>$CostCenter); - $POLineItem = $this->purchaseorder_model->updatePOLineItem($PONO,$POLineItemNo,$POLineItemList); + ".$Reqedby." + ".$ReqDate." + ".$Status." + ".$Department." + ".$Designation." + "; + } + //print_r( $HTML); + die(json_encode(array('ReqList' =>$HTML))); + } + + + /* To View the request details*/ + function ListPORequistion() + { + $ReqNo= $this->input->post('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." - } - $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 ; - } + ".$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->input->post('PODate'); + $PODate = $this->getDateformat($POdt); + $SupplierID = $this->input->post('drpSupplier'); + $DeliveryAddr = $this->input->post('DeliveryAddr'); + $dt = $this->input->post('Deliverydt'); + $Deliverydt = $this->getDateformat($dt); + $POType = $this->input->post('POType'); + $PoRange = $this->input->post('txtPoRange'); + + $SpcialInstruction = $this->input->post('txtSpcialInstruction'); + $TotalOrderValueSummary = $this->input->post('txtTotalOrderValueSummary'); + $POStatus = $this->input->post('txtStatus'); + + $CreateBy = $this->session->userdata ( 'userId' ); + $RowCount = $this->input->post('txtRowCount'); + $DeletedRow = $this->input->post('txtDeletedRow'); + + $comma_separated = explode(':', $DeletedRow); + + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + $createddt = $dt->format('Y-m-d H:i:s'); + // PO Master + $POList = array('SupplierID'=>$SupplierID, 'TotalOrderValue'=>$TotalOrderValueSummary,'PODate'=>$PODate,'Status'=>$POStatus,'PORange'=>$PoRange,'ServiceDescription'=>$SpcialInstruction,'CreatedBy'=>$CreateBy,'DeliveryAddress'=>$DeliveryAddr,'DeliveryDate'=>$Deliverydt,'CreatedDate'=>$createddt ); + + $POMaster = $this->purchaseorder_model->addPOMaster($POList); + + $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->input->post('materialCode'.$i); + $Quantity = $this->input->post('quantity'.$i); + $Reqnumber = $this->input->post('Reqnumber'.$i); + $itemRate = $this->input->post('itemRate'.$i); + + $DiscountType = $this->input->post('DisType'.$i); + $DiscountValue = $this->input->post('DisVal'.$i); + $AfterDiscount = $this->input->post('AfterDisVal'.$i); + $PackagingOption = $this->input->post('PackOption'.$i); + $PackagingType = $this->input->post('PackType'.$i); + $PackagingValue = $this->input->post('PackVal'.$i); + $AfterPackagingValue = $this->input->post('AfterPackVal'.$i); + $ExciseOption = $this->input->post('ExciseOption'.$i); + $ExciseValue = $this->input->post('ExciseVal'.$i); + $AfterExciseValue = $this->input->post('AfterExciseVal'.$i); + $VatOption = $this->input->post('VatOption'.$i); + $VatValue = $this->input->post('VatVal'.$i); + $AfterVatValue = $this->input->post('AfterVatVal'.$i); + $CSTOption = $this->input->post('CSTOption'.$i); + $CSTValue = $this->input->post('CSTVal'.$i); + $AfterCSTValue = $this->input->post('AfterCSTVal'.$i); + $GSTValue = $this->input->post('GSTVal'.$i); + $AfterGSTValue = $this->input->post('AfterGSTVal'.$i); + $OtherTaxValue = $this->input->post('OtherTaxVal'.$i); + $AfterOtherTaxValue = $this->input->post('AfterOtherTaxVal'.$i); + $FreightType = $this->input->post('FreightType'.$i); + $FreightValue = $this->input->post('FreightVal'.$i); + $AfterFreightValue = $this->input->post('AfterFreightVal'.$i); + $InsuranceValue = $this->input->post('Insval'.$i); + $TotalOrderValue = $this->input->post('TotalOrderValue'.$i); + $CostCenter = $this->input->post('costCode'.$i); + + $SkipInsert = "False"; + if( count($comma_separated) > 0) + { + for($j = 1; $j < count($comma_separated); $j++) + { + $deletedRow = $comma_separated[$j] ; + + if($deletedRow == $i ) + { + $SkipInsert = "True"; + break; + } + + } + } + if($SkipInsert == "False") + { + $POLineItemList = array('PONO'=>$PONO, 'ReqNo'=>$Reqnumber,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=>$itemRate,'Status'=>$LineItemStatus,'CreatedBy'=>$CreateBy,'CreatedDate'=>$createddt,'CostCenterCode'=>$CostCenter); + + $POLineItem = $this->purchaseorder_model->addPOLineItem($POLineItemList); + + $LineItemNo = ''; + if(count($POLineItem)>0) + { + $LineItemNo = $POLineItem[0]['LineItemNo']; + } + //echo $LineItemNo; + + if(trim($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() + { + $PONO =$this->input->post('txtPONO'); + $POdt =$this->input->post('PODate'); + $PODate = $this->getDateformat($POdt); + $SupplierID = $this->input->post('drpSupplier'); + $DeliveryAddr = $this->input->post('txtDeliveryAddress'); + $dt = $this->input->post('Deliverydt'); + $Deliverydt = $this->getDateformat($dt); + $POType = $this->input->post('POType'); + $PoRange = $this->input->post('txtPoRange'); + + $SpcialInstruction = $this->input->post('SpcialInstruction'); + $TotalOrderValueSummary = $this->input->post('txtTotalOrderValueSummary'); + $POStatus = $this->input->post('txtStatus'); + + $updatedBy = $this->session->userdata ( 'userId' ); + $RowCount = $this->input->post('txtRowCount'); + $DeletedRow = $this->input->post('txtDeletedRow'); + + $comma_separated = explode(':', $DeletedRow); + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + $updateddt = $dt->format('Y-m-d H:i:s'); + // PO Master + // PO Master + $POList = array('SupplierID'=>$SupplierID, 'TotalOrderValue'=>$TotalOrderValueSummary,'PODate'=>$PODate,'Status'=>$POStatus,'ServiceDescription'=>$SpcialInstruction,'UpdateBY'=>$updatedBy,'DeliveryAddress'=>$DeliveryAddr,'DeliveryDate'=>$Deliverydt,'UpdatedOn'=>$updateddt ); + + $POMaster = $this->purchaseorder_model->updatePOMaster($PONO,$POList); + + $LineItemStatus = REQITEM_NEW; + + + + //echo $RowCount; + for ($i = 1; $i <= $RowCount; $i++) + { + + $MaterialCode = $this->input->post('materialCode'.$i); + $Quantity = $this->input->post('quantity'.$i); + $Reqnumber = $this->input->post('Reqnumber'.$i); + $itemRate = $this->input->post('itemRate'.$i); + + $DiscountType = $this->input->post('DisType'.$i); + $DiscountValue = $this->input->post('DisVal'.$i); + $AfterDiscount = $this->input->post('AfterDisVal'.$i); + $PackagingOption = $this->input->post('PackOption'.$i); + $PackagingType = $this->input->post('PackType'.$i); + $PackagingValue = $this->input->post('PackVal'.$i); + $AfterPackagingValue = $this->input->post('AfterPackVal'.$i); + $ExciseOption = $this->input->post('ExciseOption'.$i); + $ExciseValue = $this->input->post('ExciseVal'.$i); + $AfterExciseValue = $this->input->post('AfterExciseVal'.$i); + $VatOption = $this->input->post('VatOption'.$i); + $VatValue = $this->input->post('VatVal'.$i); + $AfterVatValue = $this->input->post('AfterVatVal'.$i); + $CSTOption = $this->input->post('CSTOption'.$i); + $CSTValue = $this->input->post('CSTVal'.$i); + $AfterCSTValue = $this->input->post('AfterCSTVal'.$i); + $GSTValue = $this->input->post('GSTVal'.$i); + $AfterGSTValue = $this->input->post('AfterGSTVal'.$i); + $OtherTaxValue = $this->input->post('OtherTaxVal'.$i); + $AfterOtherTaxValue = $this->input->post('AfterOtherTaxVal'.$i); + $FreightType = $this->input->post('FreightType'.$i); + $FreightValue = $this->input->post('FreightVal'.$i); + $AfterFreightValue = $this->input->post('AfterFreightVal'.$i); + $InsuranceValue = $this->input->post('Insval'.$i); + $TotalOrderValue = $this->input->post('TotalOrderValue'.$i); + $POLineItemNo = $this->input->post('LineItemNo'.$i); + $CostCenter = $this->input->post('costCode'.$i); + $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($POLineItemNo) == 0) + { + $POLineItemList = array('PONO'=>$PONO, 'ReqNo'=>$Reqnumber,'MaterialCode'=>$MaterialCode,'Quantity'=>$Quantity,'Rate'=>$itemRate,'Status'=>$LineItemStatus,'CreatedBy'=>$updatedBy,'CreatedDate'=>$updateddt,'CostCenterCode'=>$CostCenter); + $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); + $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 ; + } function pageNotFound() { $this->global['pageTitle'] = 'CodeInsect : 404 - Page Not Found'; - + $this->loadViews("404", $this->global, NULL, NULL); } - - 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 - //$this->load->view('includes/pdfheader'); - - // Load the pdf page with multiviews - $this->load->View("revenuepopdf", $data); - - // Add header to pdf - //$this->load->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) - { - - // $this->load->view('includes/pdfheader'); - - // Load the pdf page with multiviews - $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); - $data['POItem'] = $this->purchaseorder_model->GetServicePurchaseOrderDetailsForPrint($PONO); - - $this->load->View("servicepopdf", $data); - - // Add header to pdf - //$this->load->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); - -} -/** + + 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 + //$this->load->view('includes/pdfheader'); + + // Load the pdf page with multiviews + $this->load->View("revenuepopdf", $data); + + // Add header to pdf + //$this->load->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) + { + + // $this->load->view('includes/pdfheader'); + + // Load the pdf page with multiviews + $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); + $data['POItem'] = $this->purchaseorder_model->GetServicePurchaseOrderDetailsForPrint($PONO); + + $this->load->View("servicepopdf", $data); + + // Add header to pdf + //$this->load->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->input->post('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; - - } + { + + $ReqList= $this->input->post('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; + + } } -?> \ No newline at end of file +?> diff --git a/application/views/alterpurchaseorder.php b/application/views/alterpurchaseorder.php index 0766d864..6ff240da 100755 --- a/application/views/alterpurchaseorder.php +++ b/application/views/alterpurchaseorder.php @@ -44,26 +44,48 @@ if(!empty($CompanyDetails)) } .form-control { - text-align:right; + text-align:left; } +
@@ -1041,7 +1945,7 @@ if(!empty($CompanyDetails))
- +
'AvalBuget','value' => set_value('AvalBuget'),'id'=>'AvalBuget', 'class' => 'form-control' ,'required' => 'true' ,'readonly' => 'true'); @@ -1182,6 +2086,241 @@ if(!empty($CompanyDetails))
+ + + + + +
@@ -1294,7 +2433,7 @@ if(!empty($CompanyDetails))
- +
'txtAfterDiscount','value' => set_value('txtAfterDiscount'),'id'=>'txtAfterDiscount', 'class' => 'form-control' ,'readonly' => 'true'); @@ -1322,8 +2461,8 @@ if(!empty($CompanyDetails))
-
+
@@ -2775,31 +4260,32 @@ if(!empty($CompanyDetails)) - + + + +
SNoAction
+ + - - - - - +
- +