i done emergency revenue po

This commit is contained in:
venbatechnologies@gmail.com 2017-06-13 18:00:13 +05:30
parent 848dca647c
commit 6a7d2a80ac
4 changed files with 4487 additions and 1277 deletions

View File

@ -65,6 +65,7 @@ define('REQITEM_DELIVERED', 'ST011');
define('REQ_DELETED', 'ST013'); define('REQ_DELETED', 'ST013');
define('REQITEM_POCREATED', 'ST022'); define('REQITEM_POCREATED', 'ST022');
define('REQITEM_PARTIALLY_PO_CREATED', 'ST023'); define('REQITEM_PARTIALLY_PO_CREATED', 'ST023');
define('REQITEM_Emergency_PO_CREATED', 'ST024');
define('REQUISTSTATUS', '0'); 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_DISCOUNT_PACKAGING', '((ExciseDuty/100) * ((basicValue-AfterDiscount)+ AfterPackaging))');
define('EXCISE_ONBASIC_PACKAGING', '((ExciseDuty/100) * (basicValue + AfterPackaging))'); define('EXCISE_ONBASIC_PACKAGING', '((ExciseDuty/100) * (basicValue + AfterPackaging))');
//Vat //Vat
define('VAT_ONBASICVALUE', '((vatValue/100) * basicValue)'); 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 //CST
define('CST_ONBASICVALUE', '((CSTValue/100) * basicValue)'); define('CST_ONBASICVALUE', '((CSTValue/100) * basicValue)');

View File

@ -25,29 +25,375 @@ class emergencypurchaseorder extends BaseController
$this->isLoggedIn(); $this->isLoggedIn();
} }
/**
* This function used to load the first screen of the user
*/
public function index()
{
$this->global['pageTitle'] = 'Siddharth : 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'] = 'Siddharth : Create PO from Requisition List';
$this->loadViews("createPOfromRequistion", $this->global, $data,Null);
}
function CreateEmergencyPO() function CreateEmergencyPO()
{ {
$this->global['pageTitle'] = 'Siddharth : Create Emergency Purchase Order'; $this->global['pageTitle'] = 'Siddharth : Create Emergency Purchase Order';
$data['RequestType'] = $this->requistion_model->getConfigValue('C004'); $data['RequestType'] = $this->requistion_model->getConfigValue('C004');
$data['Suplist'] = $this->purchaseorder_model->getSupplierName(); $data['Suplist'] = $this->purchaseorder_model->getSupplierName();
$data['DeptList'] = $this->purchaseorder_model->getDepartmentListForAllReq(); $data['DeptList'] = $this->purchaseorder_model->getDepartmentListForAllReq();
$data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation(); $data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation();
$data['MaxPODate'] = $this->purchaseorder_model->getLastCreatedPODate(); $data['MaxPODate'] = $this->purchaseorder_model->getLastCreatedPODate();
$data['TaxType'] = $this->purchaseorder_model->getConfigValue('C006');
$data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018');
$this->loadViews("alterpurchaseorder", $this->global, $data,Null); $this->loadViews("alterpurchaseorder", $this->global, $data, Null);
}
/**
* 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('TextSpcialInstruction');
$TotalOrderValueSummary = $this->input->post('txtTotalOrderValueSummary');
$POStatus = $this->input->post('TextStatus');
$CreateBy = $this->session->userdata ( 'userId' );
$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 );
$POMaster = $this->purchaseorder_model->addPOMaster($POList);
$PONO = '';
if(count($POMaster)>0)
{
$PONO = $POMaster[0]['PONO'];
}
// PO Line Items
$RegDetailsStatus=REQITEM_POCREATED;
$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);
$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")
{
//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'];
}
//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 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 * This function used to show the Purchase Order Screen
@ -74,7 +420,6 @@ class emergencypurchaseorder extends BaseController
$data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018'); $data['FreightType'] = $this->purchaseorder_model->getConfigValue('C018');
$data['Suplist'] = $this->purchaseorder_model->getSupplierName(); $data['Suplist'] = $this->purchaseorder_model->getSupplierName();
$SelectedReq = json_decode($this->input->post('txtReqNo')); $SelectedReq = json_decode($this->input->post('txtReqNo'));
$Req = $SelectedReq->Req; $Req = $SelectedReq->Req;
$data['ReqList'] = $Req ; $data['ReqList'] = $Req ;
$ReqArray = array(); $ReqArray = array();
@ -85,7 +430,7 @@ class emergencypurchaseorder extends BaseController
$ReqArray[] = $SID->ReqNo ; $ReqArray[] = $SID->ReqNo ;
$result[] = $this->purchaseorder_model->getRawPOMaterialList($SID->ReqNo); $result[] = $this->purchaseorder_model->getRawPOMaterialList($SID->ReqNo);
$ReqType = $SID->ReqType; $ReqType = $SID->ReqType;
// echo $SID->ReqNo; //echo $SID->ReqNo;
endforeach; endforeach;
//print_r ($result); //print_r ($result);
@ -275,7 +620,7 @@ class emergencypurchaseorder extends BaseController
// $reqDate= $this->input->post('ReqDate'); // $reqDate= $this->input->post('ReqDate');
$DEPCode = $SearchFilter[0]; $DEPCode = $SearchFilter[0];
$Status = $SearchFilter[1]; $Status = $SearchFilter[1];
$rng = $SearchFilter[2];; $rng = $SearchFilter[2];
// $ToDate = $SearchFilter[3]; // $ToDate = $SearchFilter[3];
$FromDate =''; $FromDate ='';
$ToDate = ''; $ToDate = '';
@ -654,7 +999,7 @@ class emergencypurchaseorder extends BaseController
$data['Attachment'] = FALSE; $data['Attachment'] = FALSE;
$this->dompdf->stream("RevenuePOReport.pdf",$data,$php); $this->dompdf->stream("RevenuePOReport.pdf",$data,$php);
} }
public function servicepoprint($PONO) public function servicepoprint($PONO)
{ {
@ -681,8 +1026,8 @@ class emergencypurchaseorder extends BaseController
$data['Attachment'] = FALSE; $data['Attachment'] = FALSE;
$this->dompdf->stream("ServicePOReport.pdf",$data,$php); $this->dompdf->stream("ServicePOReport.pdf",$data,$php);
} }
/** /**
* This function used to load the Delete the Requistion Items * This function used to load the Delete the Requistion Items
*/ */
function DeletePODetails() function DeletePODetails()

File diff suppressed because it is too large Load Diff