diff --git a/application/config/constants.php b/application/config/constants.php index d2158d73..c5927afa 100755 --- a/application/config/constants.php +++ b/application/config/constants.php @@ -175,6 +175,8 @@ define('NILTYPE', 'NIL'); define('PERUOM', 'PER UOM'); define('PERTRIP', 'PER TRIP'); +// + /* Formula for Tax calculation */ /* Discount*/ @@ -329,6 +331,9 @@ define('Capital_RMCIncludingCustomers_Charge1', +//stock final product +define('Consumables', 'Consumables'); +define('RawMaterial', 'Raw Material'); /* End of file constants.php */ /* Location: ./application/config/constants.php */ diff --git a/application/config/routes.php b/application/config/routes.php index 72df7ac4..acfc2506 100755 --- a/application/config/routes.php +++ b/application/config/routes.php @@ -332,3 +332,10 @@ $route['DeliveryPerformance']="user/deliver_perform"; //this function ues to ponoreset values $route['poresetview']="purchaseorder/poresetview"; + + +//stock + +$route['FinalProduct'] = "batchcard/FinalProductCalculation"; + +$route['MaterailAdjustment'] = "batchcard/MaterailAdjustment"; diff --git a/application/controllers/batchcard.php b/application/controllers/batchcard.php index 48cc4abd..42d88c17 100755 --- a/application/controllers/batchcard.php +++ b/application/controllers/batchcard.php @@ -1256,5 +1256,96 @@ class batchcard extends BaseController } + + function FinalProductCalculation() + { + + $data['inv_final_product'] = $this->batchcard_model->getinvoice_products(); + $data['consumable_material']= $this->batchcard_model->get_consumablematerials(); + $data['Raw_material'] = $this->batchcard_model->get_rawmaterials(); + $data['supplier'] = $this->batchcard_model->getSupplierlist(); + //print_r($data['allhourdata']);die(); + $this->global['pageTitle'] = 'Siddharth : Final Product'; + $this->loadViews("FinalProduct", $this->global,$data,NULL); + } + + + function MaterailAdjustment() + { + $data['MaterialCode'] = $this->batchcard_model->getMaterial(); + $data['Supplier'] = $this->batchcard_model->getSupplierlist(); + + $this->global['pageTitle'] = 'Siddharth : Material Adjustment'; + $this->loadViews("materialadjustment", $this->global,$data,NULL); + } + + function getQuantity() + { + $MaterialCode = $this->input->post('materialcode'); + $date = $this->input->post('date'); + $Supplier = $this->input->post('Supplier'); + + $netQtyarray = $this->batchcard_model->GetNetQty($MaterialCode,$date,$Supplier); + + echo json_encode($netQtyarray); + //print_r($netQtyarray); + + // echo $MaterialCode; + // echo $date; + // echo $Supplier; + } + + function addNewMaterialHistory() + { + $supplier = $this->input->post('supplier'); + $materialcode = $this->input->post('materialcode'); + $date = $this->input->post('date'); + $ActualQty = $this->input->post('ActualQty'); + $Qty = $this->input->post('AdjustableQty'); + $reason = $this->input->post('reason'); + $Description = $this->input->post('Description'); + $status = $this->input->post('transtatus'); + $CreatedBy = $this->session->userdata('userId'); + $absaluteQty = abs($Qty); + + // echo $Qty; + // echo "abs"; + // echo abs($Qty); + //die(); + + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + $createddt = $dt->format('Y-m-d H:i:s'); + + $adjustmentaarray = array('MaterialCode'=>$materialcode,'ActualQuantity'=>$ActualQty,'Quantity'=>$absaluteQty,'SupplierID'=>$supplier,'Reason'=>$reason,'Description'=>$Description,'CreatedOn'=>$createddt,'CreatedBy'=>$CreatedBy); + + $materialadjust = $this->batchcard_model->AddmaterialAdjustment($adjustmentaarray); + + $adjustId =''; + + if(!empty($materialadjust)) + { + foreach($materialadjust as $ig) + { + $adjustId = $ig->AdjustmentId; + } + } + + + $historytable = array('SupplierID'=>$supplier,'MaterialCode'=>$materialcode,'Transaction_type'=>$status,'Ref_Type'=>'Adjust','Quantity'=>$absaluteQty,'CreatedBy'=>$CreatedBy,'CreatedOn'=>$createddt,'Ref_No'=>$adjustId); + + $historyadd = $this->batchcard_model->AddMaterialHistory($historytable); + + + if((count($materialadjust)>0) &&(count($historyadd))) + { + echo "Material Details Added Successfully"; + } + else + { + echo "Something Went Wrong,Please Try Again"; + } + } + + } ?> \ No newline at end of file diff --git a/application/controllers/inwardgateregister.php b/application/controllers/inwardgateregister.php index 9246db5a..5ef2be3a 100644 --- a/application/controllers/inwardgateregister.php +++ b/application/controllers/inwardgateregister.php @@ -345,6 +345,34 @@ class inwardgateregister extends BaseController $igrDetails = array('IGRNO'=>$IGRNO,'MaterialCode'=>$MaterialCode,'QuantityAsPerInvoice'=>$QuantityAsPerInvoice,'Remarks'=>$Remarks,'IGRItemStatus'=>$IGRItemStatus,'CreatedBy'=>$CreatedBy,'CreatedDate'=>$createddt); $igrD = $this->inwardgateregister_model->addigrD($igrDetails); + + $igrlineno =''; + + if(!empty($igrD)) + { + foreach($igrD as $ig) + { + $igrlineno = $ig->IGRItemNo; + } + } + + + $itemvalue=''; + $SupplierId=''; + $polineitemvalue = $this->inwardgateregister_model->getitemvalue($PONO,$MaterialCode); + + foreach($polineitemvalue as $it) + { + $itemvalue =$it->Rate; + $SupplierId =$it->SupplierID; + } + + $historydetails = array('MaterialCode'=>$MaterialCode,'Transaction_type'=>"Add",'Ref_Type'=>"IGR",'Ref_No'=>$igrlineno,'Quantity'=>$QuantityAsPerInvoice,'CreatedBy'=>$CreatedBy,'CreatedOn'=>$createddt,'SupplierID'=>$SupplierId,'ItemValue'=>$itemvalue); + + + $this->inwardgateregister_model->addmaterialhistory($historydetails); + + $Recqty = $this->inwardgateregister_model->getPOLineItemReceivedQty($PONO,$MaterialCode); $ReceivedQuantity = 0.00; @@ -513,6 +541,44 @@ class inwardgateregister extends BaseController $Ogrline= array('OGRNO'=>$OGRNO,'MaterialCode'=>$MaterialCode,'OutwardQty'=>$Outwardtotal,'Status'=>$Status,'balance_Qty'=>$balance_Qty); $addOgrline = $this->inwardgateregister_model->AddOgrLine($Ogrline); + //print_r($addOgrline); + + $ogrlineno=''; + $itemvalue=''; + $SupplierId=''; + + $CreatedBy = $this->session->userdata('userId'); + $dt = new DateTime('now', new DateTimeZone('Asia/Kolkata')); + $createddt = $dt->format('Y-m-d H:i:s'); + + if(count($addogrmaster)>0) + { + $ogrlinearray= $this->inwardgateregister_model->getlastogrline(); + + foreach($ogrlinearray as $og) + { + $ogrlineno = $og->OGRItemNO; + } + + $polineitemvalue = $this->inwardgateregister_model->getitemvalue($pono,$MaterialCode); + + foreach($polineitemvalue as $it) + { + $itemvalue =$it->Rate; + $SupplierId =$it->SupplierID; + } + + + } + + + $historydetails = array('MaterialCode'=>$MaterialCode,'Transaction_type'=>"Reduce",'Ref_Type'=>"OGR",'Ref_No'=>$ogrlineno,'Quantity'=>$Outwardtotal,'CreatedBy'=>$CreatedBy,'CreatedOn'=>$createddt,'ItemValue'=>$itemvalue,'SupplierID'=>$SupplierId); + + + $this->inwardgateregister_model->addmaterialhistory($historydetails); + + + $this->inwardgateregister_model->UpdateOGRMasterOGRStatus($OGRNO); $this->inwardgateregister_model->UpdateMRIRMasterOGRStatus($MRIRNO,$OGRNO); diff --git a/application/controllers/payslip.php b/application/controllers/payslip.php old mode 100755 new mode 100644 diff --git a/application/models/batchcard_model.php b/application/models/batchcard_model.php index ea8ea50a..d4344f52 100755 --- a/application/models/batchcard_model.php +++ b/application/models/batchcard_model.php @@ -553,6 +553,116 @@ class batchcard_model extends CI_Model // return $res->result(); } + + + + + + function getinvoice_products() + { + + $this->db->select('product_id,product_name'); + $this->db->from('ip_products'); + $supp = $this->db->get(); + return $supp->result(); + + } + + function get_consumablematerials() + { + + $this->db->select('MaterialCode,MaterialName,'); + $this->db->from('T_MaterialMaster'); + $this->db->where('T_MaterialMaster.Category',Consumables); + $supp = $this->db->get(); + return $supp->result(); + + } + + + function get_rawmaterials() + { + $this->db->select('MaterialCode,MaterialName,'); + $this->db->from('T_MaterialMaster'); + $this->db->where('T_MaterialMaster.Category',RawMaterial); + $supp = $this->db->get(); + return $supp->result(); + } + + + function getMaterial() + { + $this->db->select('MaterialCode,MaterialName,'); + $this->db->from('T_MaterialMaster'); + //$this->db->where('T_MaterialMaster.Category',Consumables); + $supp = $this->db->get(); + return $supp->result(); + } + + + function GetNetQty($MaterialCode,$date,$Supplier) + { + //echo $date; + $dt = date('d',strtotime($date)); + $year = date('Y', strtotime($date)); + $month = date('m', strtotime($date)); + + if($month<04) + { + //echo "b4finance"; + $newyr = $year - 1; + $startdate = $newyr.'-'.'04'.'-'.'01'; + + //echo $startdate; + } + + else + { + // echo "after Finance"; + $startdate = $year.'-'.'04'.'-'.'01'; + //echo $startdate; + } + + + $subQuery='select (select sum(Quantity) as AddQty from T_Material_stock_history where Transaction_type = "Add" and MaterialCode=? +) as Addqty,(select sum(Quantity) as ReduceQty from T_Material_stock_history where Transaction_type = "Reduce" and MaterialCode=? +) as ReduceQty from T_Material_stock_history where MaterialCode=? and CreatedOn >= ? and CreatedOn<=? and SupplierID=? group by Addqty'; + $query = $this->db->query($subQuery,array($MaterialCode,$MaterialCode,$MaterialCode,$startdate,$date,$Supplier)); + //print_r($this->db->last_query()); + return $query->result_array(); + + + } + + + + function AddmaterialAdjustment($adjustmentaarray) + { + $this->db->trans_start(); + $this->db->insert('T_Material_Adjustment',$adjustmentaarray); + $insert_id = $this->db->affected_rows(); + $this->db->trans_complete(); + // print_r($this->db->last_query()); + //print_r($insert_id); + if($insert_id>0) + { + $subQuery = 'select max(AdjustmentId) as AdjustmentId from T_Material_Adjustment'; + $query = $this->db->query($subQuery); + + return $query->result(); + } + } + + + function AddMaterialHistory($historytable) + { + $this->db->trans_start(); + $this->db->insert('T_Material_stock_history',$historytable); + $insert_id = $this->db->affected_rows(); + $this->db->trans_complete(); + return $insert_id; + + } } diff --git a/application/models/inwardgateregister_model.php b/application/models/inwardgateregister_model.php index e4eb057f..6526b68b 100755 --- a/application/models/inwardgateregister_model.php +++ b/application/models/inwardgateregister_model.php @@ -18,8 +18,6 @@ class inwardgateregister_model extends CI_Model */ function igrListing() { - - $this->db->select('igr.*,PO.DeliveryDate,sup.SupplierName,igr.file'); $this->db->from('T_IGR_Master igr'); $this->db->join('T_PurchaseOrder_Master PO','igr.PONO = PO.PONO'); @@ -27,7 +25,6 @@ class inwardgateregister_model extends CI_Model $this->db->order_by('igr.CreatedDate','desc'); $query = $this->db->get(); $result = $query->result(); - return $result; } @@ -117,10 +114,41 @@ class inwardgateregister_model extends CI_Model $subQuery = 'select max(IGRItemNo) as IGRItemNo from T_IGR_Details'; $query = $this->db->query($subQuery); + + //print_r($query); + return $query->result(); } } + + + + function addmaterialhistory($historydetails) + { + + $this->db->trans_start(); + $this->db->insert('T_Material_stock_history', $historydetails); + $insert_id = $this->db->affected_rows(); + $this->db->trans_complete(); + return true; + } + + + function getitemvalue($pono,$MaterialCode) + { + $this->db->select('Rate,SupplierID'); + $this->db->from('T_PurchaseOrder_LineItem'); + $this->db->join('T_PurchaseOrder_Master','T_PurchaseOrder_Master.PONO=T_PurchaseOrder_LineItem.PONO'); + $this->db->where('T_PurchaseOrder_LineItem.PONO',$pono); + $this->db->where('MaterialCode',$MaterialCode); + $query = $this->db->get(); + $result = $query->result(); + return $result; + + } + + function viewigr($IGRNO) { $this->db->distinct(); @@ -558,6 +586,18 @@ function getPOmaterial($PONO) } + + + function getlastogrline() + { + $subQuery = 'select max(OGRItemNO) as OGRItemNO from T_OGR_Details'; + + $query = $this->db->query($subQuery); + + return $query->result(); + } + + function UpdateOGR($updateogrmaster,$OGRNO) { $this->db->where('OGRNO',$OGRNO); diff --git a/application/models/monthlypay_model.php b/application/models/monthlypay_model.php old mode 100755 new mode 100644 diff --git a/application/views/includes/header.php b/application/views/includes/header.php index 93ba2867..30b05d56 100755 --- a/application/views/includes/header.php +++ b/application/views/includes/header.php @@ -391,6 +391,44 @@ display: none; + + + + + + + + + + +