db->table('t_igr_master')->select('IGRNO') ->orderBy('IGRNO', 'asc'); $res = $builder->get(); return $res->getResult(); } /* This function is used to get the igr value (button link)*/ function get_IGR($IgrNo) { $builder = $this->db->table('t_igr_master IGRM') ->distinct() ->select('IGRM.DeliveryChellanDate,IGRM.CreatedDate,IGRM.IGRNO,IGRM.VehicleNo,IGRM.DeliveryChellanOrInvoiceNo,IGRM.CourierNo,IGRM.PONO,IGRD.MaterialCode,IGRD.QuantityAsPerInvoice,POMR.ServiceDescription,POMR.PODate,POMR.DeliveryDate,POMR.CreatedBy,SUPP.SupplierName,SUPP.Address,MM.UOM,MM.MaterialName,POLT.Quantity,POLT.ReceivedQuantity,ED.FirstName') //->select("DATE_FORMAT(IGRM.DeliveryChellanDate, '%d %m %Y') as DCdate") ->join('t_purchaseorder_master POMR ', 'IGRM.PONO=POMR.PONO') ->join('t_igr_details IGRD', 'IGRM.IGRNO=IGRD.IGRNO') ->join('t_supplierdetailsn SUPP', 'POMR.SupplierID=SUPP.SupplierID') ->join('t_materialmaster MM', ' MM.MaterialCode=IGRD.MaterialCode') ->join('t_purchaseorder_lineitem POLT', 'IGRM.PONO=POLT.PONO and IGRD.MaterialCode = POLT.MaterialCode') ->join('tbl_users user', 'user.userid=POMR.CreatedBy', 'left') ->join('t_employee_details ED', 'ED.EmpID = user.EmpID', 'left') ->where('IGRM.IGRNO', $IgrNo); $query = $builder->get(); $result = $query->getResult(); return $result; } function ViewDistributionList() { $subQuery = 'Select distinct ReqLine.MaterialCode, MR.PONO, REQ.ReqNo,MM.MaterialName,MM.UOM, EMP.FirstName,DD.DEPCode,DD.DepartmentName,ReqLine.Quantity as RequestedQty,POL.Quantity as OrderedQuantity ,(MD.ActualQuantityReceived) as ActualReceivedqty,(MD.QuantityAccepted) as AcceptedQty,REQ.ReqDate, ReqLine.Status as ReqStatus, st.StatusCode as ReqStatus,st.StatusName, ReqLine.Remarks from t_requestion_details ReqLine join t_purchaseorder_lineitem POL on ReqLine.ReqNo = POL.ReqNo and ReqLine.MaterialCode = POL.MaterialCode join t_requestion_master REQ on REQ.ReqNo = ReqLine.ReqNo join t_purchaseorder_master POMast on POMast.PONO=POL.PONO join t_status st on ReqLine.Status = st.StatusCode join t_mrir_master MR on MR.PONO = POL.PONO join t_mrir_details MD on MD.MRIRNO = MR.MRIRNO and ReqLine.MaterialCode = MD.MaterialCode join t_materialmaster MM on MM.MaterialCode = ReqLine.MaterialCode join t_employee_details EMP on EMP.EmpID = REQ.Requestedby join t_departmentdetails DD on DD.DEPCode = EMP.Departmentcode where POL.status in (?,?) and ReqLine.Status not in(?) and POMast.status not in(?) group by ReqLine.MaterialCode ,POL.PONO'; $query = $this->db->query($subQuery, array(MRIR_APPROVED, PARTIAL_MRIRAPPROVED, REQITEM_NEW, PO_AMENDED)); return $query->getResult(); } /* This function is used to list the MRIR value*/ function view_mrir() { $builder = $this->db->table('t_mrir_master TMM') ->distinct() ->select('TMM.MRIRNO,TMM.PONO,TMM.IGRNO,TMM.MRIRStatus,ST.StatusName,IGRM.DeliveryChellanOrInvoiceNo,IGRM.DeliveryChellanDate,IGRM.VehicleNo,IGRM.CourierNo,TMD.StoreInchargeID,TMD.QualityInchargeID,TMD.PlantInchargeID,TMD.UpdateBY,POM.PODate,POM.POType,POM.CreatedBy,ED.FirstName as UpdatedbyName,ED1.FirstName as CreatedByName') ->join('t_mrir_details TMD', 'TMM.MRIRNO=TMD.MRIRNO') ->join('t_igr_master IGRM', 'TMM.IGRNO=IGRM.IGRNO') ->join('t_igr_details IGRD', 'IGRM.IGRNO=IGRD.IGRNO') ->join('t_purchaseorder_master POM', 'TMM.PONO=POM.PONO') ->join('tbl_users user', 'user.userid=TMD.UpdateBY', 'left') ->join('t_employee_details ED', 'ED.EmpID = user.EmpID', 'left') ->join('tbl_users user1', 'user1.userid = POM.CreatedBy', 'left') ->join('t_employee_details ED1', 'ED1.EmpID = user1.EmpID', 'left') ->join('t_status ST', 'ST.StatusCode = TMM.MRIRStatus') //->where('POM.IsQualityChkReqired !=','0') ->orderBy('TMM.MRIRNO', 'desc'); $query = $builder->get(); return $query->getResult(); } function getStatus() { $builder = $this->db->table('t_status') ->select('StatusCode,StatusName') ->where('StatusType', 8); $query = $builder->get(); return $query->getResult(); } /* This function is used to list the MRIR value*/ function view_mrir_Billing() { $builder = $this->db->table('t_mrir_master TMM') ->distinct() ->select('TMM.MRIRNO,TMM.PONO, TMM.IGRNO,IGRM.DeliveryChellanOrInvoiceNo, IGRM.DeliveryChellanDate,IGRM.VehicleNo,IGRM.CourierNo,TMD.QualityInchargeID, TMD.PlantInchargeID,TMD.UpdateBY, POM.PODate,POM.POType,POM.ReleasedBy,ED2.FirstName as StoreinchargeName,POM.IsQualityChkReqired,POM.POType,POM.CapitalRange,POM.Status, ED.FirstName as UpdatedbyName,ED1.FirstName as ReleasedbyName,MM.MaterialCode,MM.MaterialName, MM.UOM, POL.Quantity,IGRD.QuantityAsPerInvoice, TMD.ActualQuantityReceived,TMD.QuantityAccepted, TMD.QuantityRejected,ST.StatusName,TMD.Remarks,AdvanceAmount ') ->join('t_mrir_details TMD', 'TMM.MRIRNO=TMD.MRIRNO', 'left') ->join('t_igr_master IGRM', 'TMM.IGRNO=IGRM.IGRNO') ->join('t_igr_details IGRD', 'IGRM.IGRNO=IGRD.IGRNO and IGRD.MaterialCode = TMD.MaterialCode') ->join('t_purchaseorder_master POM', 'POM.PONO=IGRM.PONO') ->join('t_purchaseorder_lineitem POL', 'POL.PONO=POM.PONO and TMD.MaterialCode = POL.MaterialCode') ->join('t_purchaseorder_advancerequest PUADV', 'POM.PONO=PUADV.PONO', 'left') ->join('tbl_users user', 'user.userid=TMD.UpdateBY', 'left') ->join('t_employee_details ED', 'ED.EmpID = user.EmpID', 'left') ->join('tbl_users user1', 'user1.userid = POM.ReleasedBy', 'left') ->join('t_employee_details ED1', 'ED1.EmpID = user1.EmpID', 'left') ->join('tbl_users user2', 'user2.userid=TMD.StoreInchargeID', 'left') ->join('t_employee_details ED2', 'ED2.EmpID = user2.EmpID', 'left') ->join('t_materialmaster MM', 'MM.MaterialCode = IGRD.MaterialCode and POL.MaterialCode = MM.MaterialCode') ->join('t_status ST', 'ST.StatusCode = TMD.MRIRStatus') ->where('TMM.MRIRStatus', MRIR_APPROVED) ->orderBy('TMM.UpdatedOn', 'desc'); $query = $builder->get(); return $query->getResult(); } /* This function is used to get the MRIR value for edit*/ function edit_mrir($MrirNo) { $builder = $this->db->table('t_mrir_master TMM') ->distinct()->select('TMM.MRIRNO,TMM.PONO,TMM.IGRNO,TMM.Createdon as MRIRCreatedon,TMD.MRIRItemNo,TMD.ActualQuantityReceived,TMD.QuantityAccepted,TMD.QuantityRejected,IGRM.DeliveryChellanOrInvoiceNo,IGRM.DeliveryChellanDate,IGRM.VehicleNo,IGRM.CourierNo,IGRM.CreatedDate as IGRCreated,IGRD.QuantityAsPerInvoice,SUPP.SupplierName,SUPP.Address,POMR.PODate,POMR.DeliveryDate,POMR.ServiceDescription,TMD.MaterialCode,MM.MaterialName,MM.UOM,Line.Quantity,Line.ReceivedQuantity,ED.FirstName as PORasiedbyName,ED1.FirstName as MRIRRasiedbyName, ED2.FirstName as IGRRasiedbyName,TMM.MRIRStatus,Line.CostCenterCode,COST.CostCenterName,TMD.Remarks') ->join('t_mrir_details TMD', 'TMM.MRIRNO = TMD.MRIRNO') //to get IGRNO,PONO,MRIRNO,mrirdate, ->join('t_igr_master IGRM', 'IGRM.IGRNO = TMM.IGRNO') //to get actualquantity,deliverydate,Invoicedate,vechileno,courierno,igrdate, ->join('t_purchaseorder_master POMR ', 'IGRM.PONO = POMR.PONO') //to get podate,deliverydate,servicedescription // ->join ('t_purchaseorder_lineitem POLT','IGRM.PONO=POLT.PONO');//to get receivedquantity,quantity ->join('t_purchaseorder_lineitem Line', 'TMM.PONO=Line.PONO and TMD.MaterialCode=Line.MaterialCode') ->join('t_costcenter_master COST', 'Line.CostCenterCode=COST.CostCenterCode', 'left') //->join ('t_igr_details IGRD','IGRD.IGRNO = IGRM.IGRNO');//to get invoicequantity ->join('t_igr_details IGRD', 'IGRD.IGRNO = TMM.IGRNO and TMD.MaterialCode=IGRD.MaterialCode') ->join('t_materialmaster MM', 'TMD.MaterialCode = MM.MaterialCode') ->join('t_supplierdetailsn SUPP', 'POMR.SupplierID = SUPP.SupplierID') //to get suppliername,supplieraddress ->join('tbl_users user', 'user.userid = POMR.CreatedBy') //to get poraisedby ->join('t_employee_details ED', 'ED.EmpID = user.EmpID') ->join('tbl_users user1', 'user1.userid=TMM.CreatedBy') //to get mrirraisedby ->join('t_employee_details ED1', 'ED1.EmpID = user1.EmpID') ->join('tbl_users user2', 'user2.userid=IGRM.CreatedBy') //to get igrraisedby ->join('t_employee_details ED2', 'ED2.EmpID = user2.EmpID') ->where('TMM.MRIRNO', $MrirNo) ->groupBy('TMM.MRIRNO,TMD.MaterialCode'); $query = $builder->get(); $result = $query->getResult(); return $result; } /* This function is used to store the MRIR value in master table*/ function master_mrir($mrirmastervalues) { $builder = $this->db->table('t_mrir_master'); $builder->insert($mrirmastervalues); $insert_id = $this->db->affectedRows(); if ($insert_id > 0) { //$subQuery = 'select max(MRIRNO) as MRIRNo from t_mrir_master'; $subQuery = 'select MRIRNO from t_mrir_master order by Createdon desc limit 1'; $query = $this->db->query($subQuery); return $query->getResult(); //_array(); } } /* This function is used to store the MRIR value in detail table*/ function detail_mrir($mrirdetailvalues) { $builder = $this->db->table('t_mrir_details'); $builder->insert($mrirdetailvalues); $insert_id = $this->db->affectedRows(); return $insert_id; } /* This function is used to update the value in MRIR master table*/ function update_mrirmaster($updatemastervalues, $mrir_no) { $builder = $this->db->table('t_mrir_master') ->where('MRIRNO', $mrir_no) ->update($updatemastervalues); $r = $this->db->affectedRows(); return $r; } function UpdateReqStatus() { } /* This function is used to update the value in MRIR detail table*/ function update_mrirdetail($updatedetailvalues, $Lineitm) { $builder = $this->db->table('t_mrir_details') ->where('MRIRItemNo', $Lineitm) ->update($updatedetailvalues); } /* This function is used to get the value for modal in view MRIR page */ function get_MRIRs($mrir) { $builder = $this->db->table('t_mrir_master TMM') ->select('TMM.MRIRNO,TMM.PONO,TMM.IGRNO,TMD.*,IGRM.DeliveryChellanOrInvoiceNo,IGRM.DeliveryChellanDate,IGRM.VehicleNo,IGRD.*,SUPP.SupplierName,SUPP.Address,POMR.DeliveryDate,POMR.ServiceDescription,MM.MaterialCode,MM.UOM,MM.MaterialName,POLT.Quantity,POLT.ReceivedQuantity,POMR.POType,ED.FirstName as StoreinchargeName') ->join('t_mrir_details TMD', 'TMM.MRIRNO = TMD.MRIRNO') ->join('t_materialmaster MM', 'TMD.MaterialCode = MM.MaterialCode') ->join('t_igr_master IGRM', 'IGRM.IGRNO=TMM.IGRNO') ->join('t_purchaseorder_master POMR ', 'IGRM.PONO=POMR.PONO') ->join('t_purchaseorder_lineitem POLT', 'IGRM.PONO=POLT.PONO and POLT.MaterialCode=TMD.MaterialCode') ->join('t_igr_details IGRD', 'IGRD.IGRNO= IGRM.IGRNO and IGRD.MaterialCode=TMD.MaterialCode') ->join('t_supplierdetailsn SUPP', 'POMR.SupplierID=SUPP.SupplierID') ->join('tbl_users user', 'user.userid=TMD.StoreInchargeID', 'left') ->join('t_employee_details ED', 'ED.EmpID = user.EmpID', 'left') ->where('TMD.MRIRNO', $mrir); //->orderBy('TMD.MRIRNO','asc'); $query = $builder->get(); $result = $query->getResult(); //print_r($result); return $result; } function get_IGRdatas() { $builder = $this->db->table('t_igr_master IGRM') ->select('IGRM.*,IGRD.*,SUPP.SupplierName,SUPP.Address,TMM.PONO,TMD.*,MM.MaterialCode,MM.UOM,MM.MaterialName,POLT.Quantity,POLT.ReceivedQuantity') ->join('t_purchaseorder_master POMR ', 'IGRM.PONO=POMR.PONO', 'left') ->join('t_mrir_master TMM', 'TMM.IGRNO=IGRM.IGRNO') ->join('t_mrir_details TMD', 'TMD.MRIRNO=TMM.MRIRNO') ->join('t_igr_details IGRD', 'IGRD.IGRNO= IGRM.IGRNO', 'left') ->join('t_purchaseorder_lineitem POLT', 'IGRM.PONO=POLT.PONO', 'left') ->join('t_supplierdetailsn SUPP', 'POMR.SupplierID=SUPP.SupplierID', 'left') ->join('t_materialmaster MM', ' MM.MaterialCode=TMD.MaterialCode', 'left'); //->where('IGRM.IGRNO '); $query = $builder->get(); $result = $query->getResult(); //print_r($result); return $result; } function UpdateIGRStatus($IGRDetails, $IGRNO) { $builder = $this->db->table('t_igr_master') ->where('IGRNO', $IGRNO) ->update($IGRDetails); return TRUE; } function getItemQuantityFromStock($MaterialCode) { // echo $MaterialCode; // die(); $subQuery = 'select Quantity from t_store_stockdetails where MaterialCode=?'; $query = $this->db->query($subQuery, array($MaterialCode)); return $query->getResultArray(); } function UpdateStock($StockDetails, $MaterialCode) { $builder = $this->db->table('t_store_stockdetails') ->where('MaterialCode', $MaterialCode) ->update($StockDetails); return TRUE; } function getMRIRBillingList() { } function UpdatePOLineItem($LineItem, $PONO, $MaterialCode) { $subQuery = 'select * from t_purchaseorder_lineitem where Quantity = ReceivedQuantity and PONO=? and MaterialCode=? '; $query = $this->db->query($subQuery, array($PONO, $MaterialCode)); $ApprovedCount = $query->getNumRows(); $subQuery = 'select * from t_purchaseorder_lineitem where Quantity > ReceivedQuantity and ReceivedQuantity != 0 and PONO=? and MaterialCode=?'; $query = $this->db->query($subQuery, array($PONO, $MaterialCode)); $PartialApproved = $query->getNumRows(); // echo 'Partialcount'.$PartialApproved; if ($ApprovedCount > 0) { $builder = $this->db->table('t_purchaseorder_lineitem') ->where('PONO', $PONO) ->where('MaterialCode', $MaterialCode) ->update($LineItem); return TRUE; } elseif ($PartialApproved > 0) { $updateby = $this->session->get('userId'); $updateon = get_current_date_time(); $POLineItem = array('Status' => PARTIAL_MRIRAPPROVED, 'UpdateBY' => $updateby, 'UpdatedOn' => $updateon); $builder = $this->db->table('t_purchaseorder_lineitem') ->where('PONO', $PONO) ->where('MaterialCode', $MaterialCode) ->update($POLineItem); return TRUE; } } function UpdatePOMaster($PONO, $PoMrirStatus, $updatedBy) { $builder = $this->db->table('t_purchaseorder_lineitem') ->select('*') ->where('PONO', $PONO) ->where('Status !=', MRIR_APPROVED); $query = $builder->get(); $ApprovedCnt = $query->getNumRows(); $builder1 = $this->db->table('t_purchaseorder_lineitem')->select('*') ->where('PONO', $PONO) ->where('Status !=', MRIR_REJECTED); $query1 = $builder1->get(); $RejectedCnt = $query1->getNumRows(); if ($ApprovedCnt == 0) { $POStatus = array('status' => MRIR_APPROVED, 'UpdateBY' => $updatedBy); $builder = $this->db->table('t_purchaseorder_master') ->where('PONO', $PONO) ->update($POStatus); return TRUE; } if ($RejectedCnt == 0) { $POStatus = array('status' => MRIR_REJECTED, 'UpdateBY' => $updatedBy); $builder = $this->db->table('t_purchaseorder_master') ->where('PONO', $PONO) ->update($POStatus); return TRUE; } } }