load->model('storerequistion_model'); $this->load->library('session'); $this->load->library('form_validation'); $this->isLoggedIn(); } /*ADD Store requisition line item */ function addstores() { $this->global['pageTitle'] = 'Siddharth : StoreRequisition Listing'; $userId= $this->session->userdata ('userId'); $data['DEPCode'] = $this->session->userdata('DEPCode'); $data['DepName'] = $this->session->userdata('DepartmentName'); $data['cost'] = $this->storerequistion_model->getCostUser($userId); $data['MaterialList'] = $this->storerequistion_model->getRawMaterialList(); $this->loadViews("addstorerequisitionslip", $this->global,$data,null); } function addstore() { $this->global['pageTitle'] = 'Siddharth : StoreRequisition Listing'; $userId= $this->session->userdata ('userId'); $data['Store'] = $this->storerequistion_model->Storeall($userId); $this->loadViews("storerequisition", $this->global,$data,null); } /** * This function used to load the Delete the StoreRequistion Items */ function DeleteReqNo() { $StoreReqNo= $this->input->post('id'); $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); $updateddt = $dt->format('Y-m-d H:i:s'); $Request = array('Status'=>REQ_DELETED,'updatedOn'=>$updateddt); $this->storerequistion_model->UpdateRequistion($StoreReqNo,$Request); echo "Successfully Deleted the ".$StoreReqNo; } /* The Function Edit Store Requistion list */ function EditStoreRequistion() { $StoreReqNo = $_GET['StoreReqNo']; //$StoreReqNo= $this->input->post('id'); $this->global['pageTitle'] = 'Siddharth : StoreRequisition Listing'; $this->load->model('storerequistion_model'); $data['cost'] = $this->storerequistion_model->editRequistDetails($StoreReqNo); $data['Status'] = $this->storerequistion_model->getStoreRequistionStatus($StoreReqNo); $data['MaterialList'] = $this->storerequistion_model->getRawMaterialList(); $data['DepName'] = $this->session->userdata('DepartmentName'); $data['LineItem']=$this ->storerequistion_model->editstorerequistions($StoreReqNo); $this->loadViews("editstorerequisition", $this->global,$data,null); } /**get the date formatted**/ function getDateformat($Val) { $date = new DateTime($Val); $retDate = $date->format('Y-m-d H:i:s'); return $retDate; } /**This function is used to add new StoreRequestion to the system */ function addNewRequistion() { $CostCenter = $this->input->post('CostCenter'); $DEPCode = $this->input->post('txtDepCode'); $CreateBy = $this->session->userdata ( 'userId' ); $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); $createddt = $dt->format('Y-m-d H:i:s'); $DeletedRow = $this->input->post('txtDeletedRow'); $RowCount = $this->input->post('txtRowCount'); // echo $RowCount; // die(); $Status = $this->input->post('txtStatus'); $Requestedby = $this->session->userdata ( 'EmpID' ); $comma_separated = explode(':', $DeletedRow); //echo 'done'; $StoreReqNo =''; $StoreItemStatus =STORE_OPEN; $Request = array( 'Requestedby'=>$Requestedby,'DepartmentCode'=>$DEPCode,'ReqDate'=>$createddt,'CostCenterCode'=>$CostCenter,'Status'=>$Status,'CreatedDate'=>$createddt,'CreatedBy'=>$CreateBy); //print_r($Request); $Req = $this->storerequistion_model->addRequistion($Request); if(count($Req)>0) { $StoreReqNo = $Req[0]['StoreReqNo']; //printf_r($ReqNumber); } //echo $StoreReqNo; $SkipInsert = False; for ($i = 1; $i <= $RowCount; $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") { $MaterialCode = $this->input->post('MaterialCode'.$i); $QuantityRequired=$this->input->post('Quantity'.$i); $Remarks=$this->input->post('Remarks'.$i); $Request = array('MaterialCode'=>$MaterialCode,'Status'=>$StoreItemStatus ,'QuantityRequired'=>$QuantityRequired,'Remarks'=>$Remarks,'StoreReqNo'=>$StoreReqNo); $addReq=$this->storerequistion_model->addstoreRequistion($Request); } } if($Status == STORE_DRAFT) { echo 'Successfully Saved the Store Requistion details'; } else { echo 'Successfully Created the Store Requistion details'; } } function addstorerequisitionlist() { $this->global['pageTitle'] = 'Siddharth : StoreRequisition Listing'; $this->load->model('storerequistion_model'); $data['Status']= $this->storerequistion_model->getStatus(); $data['TotNoOfLine']=$this->storerequistion_model->getRequistionList(); //print_r($data['TotNoOfLine']); $this->loadViews("storerequisitionlisting", $this->global,$data,null); } //To issue Store Requistion function issuestorerequisition() { $this->global['pageTitle'] = 'Siddharth : Issue StoreRequisition'; $this->load->model('storerequistion_model'); $StoreReqNo= $_GET['ReqNo']; $data['ReqItem'] = $this->storerequistion_model->getRequistItemList($StoreReqNo); $data['ReqListDetails'] = $this->storerequistion_model->getRequistDetails($StoreReqNo); //print_r($data['ReqItem']); $this->loadViews("issueStoreRequistion", $this->global,$data,null); } function UpdateIssueRequistion() { //echo 'ffd'; // die(); $ReqNO = $this->input->post('txtReqNo'); $RowCount = $this->input->post('txtRowCount'); //echo $RowCount; //die(); $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); $createddt = $dt->format('Y-m-d H:i:s'); $UPdateby=$this->session->userdata('userId'); $date = new DateTime('now',new DateTimeZone('Asia/Kolkata')); $UPdateon = $date->format('Y-m-d H:i:s'); //$ItemStatus = STORE_ISSUSED; for ($i = 1; $i <= $RowCount; $i++) { $MaterialCode = $this->input->post('MaterialCode'.$i); // echo $MaterialCode; $IssuedQuantity = $this->input->post('txtIssuedQuantity'.$i); $Reqqty= $this->input->post('txtqty'.$i); // echo $Reqqty; // die(); $savedqty=$this->storerequistion_model->getSavedQty($ReqNO,$MaterialCode); // if($reqstatus==) // print_r($savedqty); // die(); $Qtyissued=0; foreach($savedqty as $Qty) { $Qtyissued=$Qty->QuantityIssued; } $ActQty=$Qtyissued+$IssuedQuantity; // echo $ActQty; // die(); if($Reqqty>$ActQty) { $ItemStatus = STORE_PARTIALLYISSUSED; } else { $ItemStatus = STORE_ISSUSED; } //echo $ItemStatus; //die(); // echo'Material issed'; if(strlen($IssuedQuantity)>0) { $Remarks = $this->input->post('txtRemarks'.$i); //echo $IssuedQuantity; //die (); $CreatedBy = $this->session->userdata('userId'); $storerequisition = array('StoreReqNo'=>$ReqNO,'MaterialCode'=>$MaterialCode,'QuantityIssued'=>$ActQty,'Status'=>$ItemStatus,'StoreComments'=>$Remarks,'UpdatedOn'=>$createddt,'UpdatedBy'=>$CreatedBy); //print_r($storerequisition); //die(); $this->storerequistion_model->UpdateStoreRequistionItem($storerequisition,$ReqNO,$MaterialCode); $getAvailableqty = $this->storerequistion_model->getItemQuantityFromStock(trim($MaterialCode)); if(count($getAvailableqty)>0) { $avlQty = $getAvailableqty[0]['Quantity']; } $BalanceQty=$avlQty-$IssuedQuantity; // echo $BalanceQty; // die(); $updatStock = array('Quantity'=>$BalanceQty,'Status'=>'0', 'Remarks'=>'Stock Deducted For'.$ReqNO,'UpdatedOn'=>$UPdateon,'UpdatedBy'=>$UPdateby); $this->storerequistion_model->UpdateStock($updatStock,trim($MaterialCode)); $StoreReqNo=$ReqNO; $reqstatus=$this->storerequistion_model->getstatuscount('ST037',$ReqNO); $reqstatuscount=0; //print_r($reqstatus); foreach ($reqstatus as $Req) { $reqstatuscount=$Req->SCount; } if($reqstatuscount==$RowCount) { $reqStatus=STORE_ISSUSED; } else { $reqStatus=STORE_PARTIALLYISSUSED; } // echo $reqstatuscount; $updatestatus=array('Status' =>$reqStatus); $this->storerequistion_model->updatestoremaster($updatestatus,$StoreReqNo); } } //die(); echo ""; redirect('storerequisitionlisting','refresh'); } /* this function use to search StoreRequistlist*/ function SearchRequistLists() { $userID = $this->session->userdata ( 'userId' ); $data['AppList'] = $this->storerequistion_model->getApproverRequistList($userID); //print_r($data['AppList']); $this->global['pageTitle'] = 'Siddharth : ApprovalStoreRequisitionSlip'; $data['Status']= $this->storerequistion_model->getStatus(); if ($this->Designation != SECURITY && $this->DEPCode != HR ) { $this->loadViews("approvalstorerequisitionslip", $this->global, $data, NULL); } else { $this->loadViews("access", $this->global, $data, NULL); } } /*Approve Completed*/ function ApproveRequest() { $Status= Trim($_GET['Status']); //$StoreReqNo=$this->input->post('StoreReqNo'); $StoreReqNo = trim($this->input->post('id')); $Remarks=trim($this->input->post('newcomments')); $ApprovedBy = $this->session->userdata ( 'userId' ); $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); $ApprovedDate = $dt->format('Y-m-d H:i:s'); $Request = array('Status'=>$Status,'Comments'=>$Remarks,'ApprovedOn'=>$ApprovedDate,'Approvedby'=>$ApprovedBy); $this->storerequistion_model->UpdateRequistion($StoreReqNo,$Request); echo "Successfully Updated the Requistion No: ".$StoreReqNo; } /** * This function used to load the first screen of the Requistion List Approval Screen */ function requisitionlistApproval() { $this->global['pageTitle'] = 'Siddharth :Approvalstorerequisitionlist'; //$data['Status']= $this->storerequistion_model->getStatus(); $userID = $this->session->userdata ( 'userId' ); $data['AppList'] = $this->storerequistion_model->getApproverRequistList($userID); $this->loadViews("requisitionlistapproval", $this->global, $data, NULL); } /* To Edit the view store request*/ function ViewRequest() { $StoreReqNo= $this->input->post('id'); $result = $this->storerequistion_model->getRequistItemListApproval($StoreReqNo); $ReqList = $this->storerequistion_model->getRequistDetails($StoreReqNo); // $DepNo = $ReqList[0]['DepartmentName']; $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]['QuantityRequired']; $IssuedQty=$result[$i]['QuantityIssued']; $Status=$result[$i]['StatusName']; $Remarks= $result[$i]['Remarks']; $HTML.=" ".$SNo." ".$MaterialCode." ".$MaterialName." ".$UOM." ".$Quantity." ".$IssuedQty." ".$Status." ".$Remarks." "; //$index = $index + 1; } //print_r($ReqList); die(json_encode(array('Items' =>$HTML,'Requist'=>$ReqList))); } //not completed function UpdateStoreRequistion() { $CostCenter = $this->input->post('CostCenter'); $DeletedRow = $this->input->post('txtDeletedRow'); $RowCount = $this->input->post('txtRowCount'); $Status = $this->input->post('txtStatus'); $Requestedby = $this->session->userdata ( 'EmpID' ); $comma_separated = explode(':', $DeletedRow); $StoreReqNo =$this->input->post('txtReqNo'); $Requestedby = $this->input->post('RequestedBy'); //echo $CostCenter; $UpdatedBy = $this->session->userdata ('userId' ); $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); $updatedDate = $dt->format('Y-m-d H:i:s'); if(strlen($Status) >1) { $Request = array('CostCenterCode'=>$CostCenter,'Status'=>$Status,'updatedOn'=>$updatedDate ); $UpdateReq = $this->storerequistion_model->UpdateRequistion($StoreReqNo,$Request); } $SkipInsert = False; $StoreItemStatus =STORE_OPEN; for ($i = 1; $i <= $RowCount; $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") { //echo "string"; die(); $MaterialCode = $this->input->post('MaterialCode'.$i); $QuantityRequired=$this->input->post('Quantity'.$i); $Remarks=$this->input->post('Remarks'.$i); $IsExists = $this->storerequistion_model->LineItemIsExists($StoreReqNo,$MaterialCode); if(count( $IsExists) == 0) { $ReqDetails = array('StoreReqNo'=>$StoreReqNo, 'MaterialCode'=>$MaterialCode,'QuantityRequired'=>$QuantityRequired,'Remarks'=>$Remarks,'Status'=>$StoreItemStatus,'UpdatedBy'=>$UpdatedBy,'UpdatedOn'=>$updatedDate); //print_r($ReqDetails); //die(); $this->storerequistion_model->addstoreRequistion($ReqDetails); } else { $ReqDetails = array('QuantityRequired'=>$QuantityRequired,'Remarks'=>$Remarks,'Status'=>$StoreItemStatus,'UpdatedBy'=>$UpdatedBy,'UpdatedOn'=>$updatedDate); $this->storerequistion_model->UpdateRequistionLineItem($ReqDetails,$StoreReqNo,$MaterialCode); } } } echo 'Successfully updated the Requistion details'; } /** * This function used to load the Delete the Requistion Items */ function DeleteRequistionForm() { $ReqList= $this->input->post('id'); $StoreReqNo =''; $MaterialCode = ''; if(count($ReqList) > 0) { $StoreReqNo = $ReqList[0]; $MaterialCode = $ReqList[1]; } $this->storerequistion_model->DeleteRequistionLineItem( $StoreReqNo,$MaterialCode); echo "Successfully Deleted the Line item".$StoreReqNo; } }