batchfile

This commit is contained in:
gandhimathi 2017-11-28 18:09:58 +05:30
parent 94bc33327b
commit e0a43202fc
4 changed files with 663 additions and 0 deletions

View File

@ -0,0 +1,115 @@
<?php
/**
* Created by VisualCodeStudio.
* User: Subaram
* Date: 11/27/17
* Time: 12:55 PM
*/
class Batch_Controller extends REST_Controller {
function __construct()
{
// Construct the parent class
parent::__construct();
// Configure limits on our controller methods
// Ensure you have created the 'limits' table and enabled 'limits' within application/config/rest.php
$this->methods['addBatchDetails_get']['limit'] = 500; // 500 requests per hour per user/key
$this->methods['addBatchDetails_post']['limit'] = 100; // 100 requests per hour per user/key
$this->methods['addBatchDetails_delete']['limit'] = 50; // 50 requests per hour per user/key
$this->methods['getBatchDetails_post']['limit'] = 500; // 50 requests per hour per user/key
$this->methods['updateBatchDetails_post']['limit'] = 500;// 500 requests per hour per user/key
// load the model
$this->load->model('Batch_model', 'batch_model');
}
/*
* This method used to add batch details
* created by srk
* */
public function addBatchDetails_post()
{
$details['BatchCode'] = $this->post('batchcode');
$details['BatchName'] = $this->post('batcheName');
$details['UniversityID'] = $this->post('universityName');
$details['CreatedBy'] = $this->post('createdBy');
$details['IsActive'] = $this->post('status');
$batchDetails = $this->batch_model->addBatch($details);// Check if the users data store contains users (in case the database result returns NULL)
if ($batchDetails)
{
$batchDetails['status'] = REST_Controller::HTTP_OK;
// Set the response and exit
$this->response($batchDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
}
else
{
// Set the response and exit
$this->response([
'message' => 'Something went wrong.please try again!',
'status' => REST_Controller::HTTP_NOT_FOUND
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
}
}
/*
* get Batch details
* created by srk
* */
public function getBatchDetails_post()
{
$requestedBy = $this->post('requestedBy');
$getBatch = $this->batch_model->getBatch($requestedBy);
if ($getBatch)
{
$getBatch['status'] = REST_Controller::HTTP_OK;
// Set the response and exit
$this->response($getBatch, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
}
else
{
// Set the response and exit
$this->response([
'message' => 'No records found!',
'status' => REST_Controller::HTTP_NOT_FOUND
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
}
}
/*
* update the batch details
* created by srk
* */
public function updateBatchDetails_post()
{
$details['BatchCode'] = $this->post('batchCode');
$details['BatchName'] = $this->post('batchName');
$details['IsActive'] = $this->post('status');
$details['UpdatedBy'] = $this->post('updatedBy');
$details['UpdatedOn'] = date("Y-m-d", time());
$updateDetails = $this->batch_model->updateBatch($details);// Check if the users data store contains users (in case the database result returns NULL)
if ($updateDetails)
{
$updateDetails['status'] = REST_Controller::HTTP_OK;
// Set the response and exit
$this->response($updateDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
}
else
{
// Set the response and exit
$this->response([
'message' => 'Something went wrong.please try again!',
'status' => REST_Controller::HTTP_NOT_FOUND
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
}
}
}

View File

@ -0,0 +1,111 @@
<?php
/**
* Created by Visual Code studio
* User: Subaram
* Date: 11/26/17
* Time: 10:05 PM
*/
defined('BASEPATH') OR exit('No direct script access allowed');
class Batch_model extends CI_Model {
/*
* Add batch details
* created by subaram
* */
public function addBatch($arrayDetails=null)
{
$this->db->select('BatchCode');
$this->db->where('BatchCode', $arrayDetails['BatchCode']);
if($this->db->get(T_BATCHMASTER)->first_row()){
$result['batchStatus'] = false;
$result['message'] = "This batch Code is already exist!";
} else {
$this->db->insert(T_BATCHMASTER, $arrayDetails);
if ($this->db->affected_rows() == '1') {
$result['batchStatus'] = true;
$result['message'] = "Successfully Batch details added";
} else {
$result['batchStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}
return $result;
}
/*
* Get batch details
* parama id
* created by srk
* */
public function getBatch()
{
$this->db->select('CU.BatchCode,CU.BatchName,CU.IsActive,US.UniversityID,US.UniversityName');
$this->db->from(T_BATCHMASTER.' as CU');
$this->db->join(UNIVERSITY.' as US', 'US.UniversityID = CU.UniversityID');
$this->db->order_by('CU.CreatedOn','DESC');
$batchDetails = $this->db->get();
if($batchDetails->result()){
$result['batchStatus'] = true;
$result['details'] = $batchDetails->result();
}
else {
$result['batchStatus'] = false;
$result['message'] = "No records found!";
}
$result['universityDetails'] = $this->getUniversityDetails();
return $result;
}
/*
* update batch details
* created by Srk
* */
public function updateBatch($arrayDetails=null)
{
$this->db->where('BatchCode',$arrayDetails['BatchCode']);
$upateStatus=$this->db->update(T_BATCHMASTER, $arrayDetails);
if($upateStatus){
$result['batchStatus'] = true;
$result['message'] = "Successfully Batch details updated";
}
else {
$result['batchStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
return $result;
}
/*
* Get university details
* created by Srk
* */
public function getUniversityDetails()//doubt
{
$this->db->select('UniversityID,UniversityName');
$this->db->order_by('UniversityID','ASC');
$this->db->order_by('IsActive','1');
$universityDetails = $this->db->get(UNIVERSITY);
return $universityDetails->result();
}
}

View File

@ -0,0 +1,208 @@
'use strict';
/**
* controllers for ng-table
* Simple table with sorting and filtering on AngularJS
*/
app.controller('batchCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) {
$scope.myModel = {
"batchCode": "",
"batchName": "",
"universityName":"",
"switchsetting": true
};
/*
* edit batch details
* created by subaram
* */
$scope.editId = -1;
$scope.setEditId = function (pid) {
$scope.editId = pid;
$scope.viewId = -1;
};
/*
* cancel edit div
* created by subaram
* */
$scope.cancel = function () {
$scope.init();
$scope.editId = -1;
};
// sorting function for table params
$scope.sort = function(keyname){
$scope.sortKey = keyname; //set the sortKey to the param passed
$scope.reverse = !$scope.reverse; //if true make it false and vice versa
}
/*
* Submit,update and reset batch details
* @params myModel
* created by subaram
* */
$scope.batchForm = {
submit: function (form, myModel,loading) {
var firstError = null;
if (form.$invalid) {
var field = null, firstError = null;
for (field in form) {
if (field[0] != '$') {
if (firstError === null && !form[field].$valid) {
firstError = form[field].$name;
}
if (form[field].$pristine) {
form[field].$dirty = true;
}
}
}
angular.element('.ng-invalid[name=' + firstError + ']').focus();
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
} else {
$scope.ldloading1 = {};
$scope.ldloading1[loading.replace('-', '_')] = true;
var addBatch = {
method: 'POST',
url: apiPoint.url + 'addBatchDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
batchcode: myModel.batchCode,
batcheName: myModel.batchName,
universityName: myModel.universityName,
status: myModel.switchsetting,
createdBy: JSON.parse(localStorage.getItem('localObj')).localUserID
}
};
$http(addBatch).then(function (response) {
if (response.data.status==200 && response.data.batchStatus) {
$scope.ldloading1[loading.replace('-', '_')] = false;
swal("Success!", response.data.message, "success");
$state.go($state.current, {}, {reload: true});
} else {
$scope.ldloading1[loading.replace('-', '_')] = false;
swal("Failed!", response.data.message, "error");
}
});
}
},
reset: function (form) {
$scope.myModel = angular.copy($scope.master);
form.$setPristine(true);
}
};
/*
* update the batch details
* created by subaram
* */
$scope.updateBatch = function (myModel, form, loading) {
var firstError = null;
if (form.$invalid) {
var field = null, firstError = null;
for (field in form) {
if (field[0] != '$') {
if (firstError === null && !form[field].$valid) {
firstError = form[field].$stop_name;
}
if (form[field].$pristine) {
form[field].$dirty = true;
}
}
}
angular.element('.ng-invalid[name=' + firstError + ']').focus();
} else {
$scope.ldloading = {};
$scope.ldloading[loading.replace('-', '_')] = true;
var update = {
method: 'POST',
url: apiPoint.url + 'updateBatchDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
batchCode: myModel.BatchCode,
batchName: myModel.BatchName,
status: myModel.IsActive,
createdBy: JSON.parse(localStorage.getItem('localObj')).localUserID
}
};
$http(update).then(function (response) {
if (response.data.status==200 && response.data.batchStatus) {
$scope.ldloading[loading.replace('-', '_')] = false;
$scope.editId = -1;
$scope.init();
swal("Success!", response.data.message, "success");
} else {
$scope.ldloading[loading.replace('-', '_')] = false;
swal("Failed!", response.data.message, "error");
}
});
}
};
/*
*get Batch details when page loading called from view file
*
* created by Srk
* */
$scope.loader='';
$scope.emptyData='';
$rootScope.init = function () {
var getBranch = {
method: 'POST',
url: apiPoint.url + 'getBatchDetails/',
headers: {
'Content-Type': 'application/json'
},
data: {
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID
}
};
$http(getBranch).then(function (response) {
if (response.data.status==200 && response.data.batchStatus) {
$scope.emptyData=true;
$scope.loader=true;
$scope.data = response.data.details;
$scope.university=response.data.universityDetails;
} else {
$scope.emptyData=false;
$scope.loader=false;
$scope.university=response.data.universityDetails;
}
});
};
}]);

View File

@ -0,0 +1,229 @@
<style>
b.fa {
display: inline-block;
border-radius: 60px;
box-shadow: 0px 0px 2px #007AFF;
padding: 0.5em 0.6em;
}
</style>
<!-- start: PAGE TITLE -->
<section id="page-title">
<div class="row">
<div class="col-sm-8">
<h1 class="mainTitle" translate="Add/View Batch Details"></h1>
<!--
<span class="mainDescription">Over a dozen reusable components built to provide popovers, media objects, navigation, tooltips and much more. </span>
-->
</div>
<div ncy-breadcrumb></div>
</div>
</section>
<!-- end: PAGE TITLE -->
<!-- start: LIST GROUP -->
<div class="container-fluid container-fullw bg-white">
<div class="row" ng-controller="batchCtrl" data-ng-init="init()">
<tabset class="tabbable">
<tab heading="View Batch" id="viewbatch">
<div class="container-fluid container-fullw">
<div class="row">
<div ng-if="loader == ''" class="col-md-12" align="center">
<!--<img src="assets/images/ajax_loader_blue.gif" style="width: 5%; height: 30%">-->
<spinner name="html5spinner"> <div class="overlay"></div> <div class="spinner"> <div class="double-bounce1"></div> <div class="double-bounce2"></div> </div> <div class="please-wait">Please Wait...</div>
</spinner>
</div>
<div class="col-md-12" ng-if="emptyData == false && loader != ''" style="min-height: 281px;">
<p style="color: red;" align="center"><strong><h3 class="text-center">oops! No
records found... </h3></strong></p>
</div>
<div class="col-md-12" ng-if="emptyData == true">
<div class="row">
<div class="col-md-3">
<script>
$(function () {
$("#search").focus();
});
</script>
<input class="form-control" type="text" ng-model="search"
id="search" autofocus tabindex="1"
placeholder="Search"/><br><br>
</div>
</div>
<div class="table-responsive">
<fieldset>
<table class="table table-hover">
<thead>
<tr>
<th ng-click="sort('BatchCode')">Batch Code
<span class="glyphicon sort-icon" ng-show="sortKey=='BatchCode'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('BatchName')">Batch Name
<span class="glyphicon sort-icon" ng-show="sortKey=='BatchName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('UniversityName')">University Name
<span class="glyphicon sort-icon" ng-show="sortKey=='UniversityName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th> Action</th>
</tr>
</thead>
<tbody dir-paginate="p in data|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10">
<!-- <pre>p|json</pre> -->
<tr>
<td>{{p.BatchCode}}</td>
<td>{{p.BatchName}}</td>
<td>{{p.UniversityName}}</td>
<td>
<a href="#" class="text-azure" id="editRowBtn{{p.BatchCode}}" ng-click="setEditId(p.BatchCode);"><b class="fa fa-hover fa-pencil " aria-hidden="true"></b>
</a>
</td>
</tr>
<tr ng-show="editId === p.BatchCode" ng-if="editId === p.BatchCode" >
<td colspan="6" ng-include src="'assets/views/editBatchDetails.html'"></td>
</tr>
</tbody>
</table>
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
</dir-pagination-controls>
</fieldset>
</div>
</div>
</div>
</div>
<!--
view tab end
-->
</tab>
<script>
$('#addbatch').click(function () {
$('#batch').focus();
});
</script>
<tab heading="Add Batch" id="addbatch">
<div>
<form name="Form" id="form" novalidate ng-submit="batchForm.submit(Form, myModel, 'zoom-in')" method="post">
<div class="row">
<div class="col-md-12">
<fieldset>
<legend>
Add New Batch Details
</legend>
<div class="row">
<div class="col-md-3 form-group"
ng-class="{'has-error':Form.batchCode.$dirty && Form.batchCode.$invalid, 'has-success':Form.batchCode.$valid}">
<label>
Batch Code <span class="symbol required"></span>
</label>
<input type="text" placeholder="Enter Batch Code"
tabindex="1" class="form-control" name="batchCode"
ng-model="myModel.batchCode" ng-pattern="/^[a-zA-Z0-9\s]*$/" required/>
<span class="error text-small block"
ng-if="Form.batchCode.$dirty && Form.batchCode.$error.required">Batch code is required</span>
<span class="error text-small block"
ng-if="Form.batchCode.$dirty && Form.batchCode.$error.pattern">Invalid course id </span>
</div>
<div class="col-md-3 form-group"
ng-class="{'has-error':Form.batchName.$dirty && Form.batchName.$invalid, 'has-success':Form.batchName.$valid}">
<label>
Batch Name <span class="symbol required"></span>
</label>
<input type="text" placeholder="Enter Batch Name"
tabindex="2" class="form-control" name="batchName"
ng-model="myModel.batchName" ng-pattern="" required/>
<span class="error text-small block"
ng-if="Form.batchName.$dirty && Form.batchName.$error.required">Batch name is required</span>
<span class="error text-small block"
ng-if="Form.batchName.$dirty && Form.batchName.$error.pattern">Invalid batch name </span>
<!--<span class="success text-small"-->
<!--ng-if="Form.stopname.$valid">Thank You!</span>-->
</div>
<div class="col-md-3 form-group"
ng-class="{'has-error':Form.university.$dirty && Form.university.$invalid, 'has-success':Form.university.$valid}">
<label>
University <span class="symbol required"></span>
</label>
<select class="form-control" name="university" tabindex="3" id="university"
ng-model="myModel.universityName"
ng-options="details.UniversityID as details.UniversityName for details in university"
required>
<option value=""> Select University</option>
</select>
<span class="error text-small block"
ng-if="Form.university.$dirty && Form.university.$invalid">University is required</span>
<!--<span class="success text-small" ng-if="Form.university.$valid">Thank You!</span>-->
</div>
<div class="col-md-3">
<label>
Active/De-Active
</label>
<div ng-switch="myModel.switchsetting">
<div ng-switch-when="true">
<switch ng-model="myModel.switchsetting" ng-init="myModel.switchsetting = true" class="green"></switch>
</div>
<div ng-switch-when="false">
<switch ng-model="myModel.switchsetting" ng-init="myModel.switchsetting = false" class="green"></switch>
</div>
<div ng-switch-default>
<switch ng-model="myModel.switchsetting" ng-init="myModel.switchsetting = true" class="green"></switch>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="pull-right">
<button type="submit" ladda="ldloading1.zoom_in" tabindex="9" class="btn btn-wide btn-success" data-style="zoom-in">
Submit
</button>
<button type="reset" class="btn btn-warning btn-wide" tabindex="10"
ng-click="batchForm.reset(Form)">
Reset
</button>
</div>
</div>
</fieldset>
</div>
</div>
</form>
</div>
</tab>
</tabset>
</div>
</div>
<!-- end: LIST GROUP -->