585 lines
14 KiB
PHP
Executable File
585 lines
14 KiB
PHP
Executable File
<script>
|
|
|
|
$(document).ready(function(){
|
|
|
|
$("#PONO").select2();
|
|
//$("#generateIGR").modal('show');
|
|
//$("#PurchaseOrderNoview").select2();
|
|
|
|
$("#InvoiceDate").datepicker({
|
|
//minDate : d,
|
|
maxDate : 'now',
|
|
dateFormat: 'mm/dd/yy',changeMonth: true, changeYear: true,yearRange: '-100:+0'
|
|
});
|
|
// $("#Inwardgateregistertable").validate({
|
|
// rules: {
|
|
// QuantityAsPerInvoice: "required"
|
|
// },
|
|
// messages: {
|
|
// QuantityAsPerInvoice: "Please specify your name"
|
|
// }
|
|
// })
|
|
});
|
|
|
|
</script>
|
|
|
|
<style>
|
|
.modal {
|
|
text-align: center;
|
|
padding: 0!important;
|
|
}
|
|
|
|
.modal:before {
|
|
content: '';
|
|
display: inline-block;
|
|
height: 100%;
|
|
vertical-align: middle;
|
|
margin-right: -4px;
|
|
}
|
|
|
|
.modal-dialog {
|
|
display: inline-block;
|
|
text-align: left;
|
|
vertical-align: middle;
|
|
}
|
|
.select2 {
|
|
width: 100% ! important;
|
|
}
|
|
.num {
|
|
text-align:right;
|
|
}
|
|
.dataTables_wrapper {
|
|
padding-bottom: 0px;
|
|
}
|
|
</style>
|
|
|
|
<div class="content-wrapper">
|
|
<!-- Content Header (Page header) -->
|
|
<section class="content-header">
|
|
<h1>
|
|
<center>Siddharth Industries - Inward Gate Register (IGR) Entry</center>
|
|
</h1>
|
|
</section>
|
|
<section class="content"><br/>
|
|
<div class="row" style="padding-bottom:1%">
|
|
<div class="col-md-12">
|
|
<div class="col-md-3">
|
|
<?php
|
|
$attributes = array('class' => 'form-label-left IGR ','name' => 'IGR','id' => 'IGR');
|
|
|
|
echo form_open($this->config->base_url().'/inwardgateregister/addNewigr/',$attributes); ?>
|
|
<label>Select Purchase Order NO </label>
|
|
<div>
|
|
<?php
|
|
$options = array("-1"=>'Purchase Order No');
|
|
|
|
if(!empty($PO_NO))
|
|
{
|
|
//print_r($PO_NO);
|
|
foreach ($PO_NO as $SI):
|
|
|
|
$options[$SI->PONO] = $SI->PONO .'-'. $SI->SupplierName ;
|
|
$PONO = $SI->PONO;
|
|
|
|
|
|
endforeach;
|
|
|
|
}
|
|
|
|
echo form_dropdown('PONO', $options,set_value('PONO'),'id="PONO"' ,'class="form-control select2"' , 'required="true"');
|
|
|
|
?>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-3">
|
|
<label>Supplier Name </label>
|
|
<div class="form-group">
|
|
<?php
|
|
$data = array('name' => 'SupplierName','value' => set_value('SupplierName'),'id'=>'Sup', 'class' => 'form-control' ,'readonly' => 'true');
|
|
echo form_input($data);
|
|
?>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label>Supplier Address</label>
|
|
<div class="form-group">
|
|
<?php
|
|
$data = array('name' => 'Address','value' => set_value('Address'),'id'=>'Add', 'class' => 'form-control' ,'readonly' => 'true' , 'rows'=>'3' ,'columns'=> '3');
|
|
echo Form_textarea($data);
|
|
?>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label>Comments Of Special Instructions</label>
|
|
<div class="form-group">
|
|
<?php
|
|
$data = array('name' => 'Comments','value' => set_value('Comments'),'id'=>'ser', 'class' => 'form-control' ,'readonly' => 'true' , 'rows'=>'3' ,'columns'=> '3');
|
|
echo Form_textarea($data);
|
|
?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<div class="col-md-3">
|
|
<label>Delivery Challan / Invoice NO</label>
|
|
<?php
|
|
$data = array('name' => 'InvoiceNo','value' => set_value('InvoiceNo'),'id'=>'InvoiceNo', 'class' => 'form-control', 'required=>"true"' );
|
|
|
|
echo form_input($data);
|
|
?>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label>Delivery Challan / Invoice Date</label>
|
|
<?php
|
|
$data = array('name' => 'InvoiceDate','value' => set_value('InvoiceDate'),'id'=>'InvoiceDate', 'class' => 'form-control num', 'required'=>'true' );
|
|
echo form_input($data);
|
|
?>
|
|
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label>Vechicle NO</label>
|
|
<?php
|
|
$data = array('name' => 'VehicleNo','value' => set_value('VehicleNo'),'pattern=>"^[A-Z]{2}\s[0-9]{2}\s[A-Z]{2}\s[0-9]{4}$"','id'=>'VehicleNo', 'class' => 'form-control num', 'required'=>'true','onchange'=>'validate_Vechicle();' );
|
|
echo form_input($data);
|
|
?>
|
|
<span pattern="" required="true"></span>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label>Courier NO</label>
|
|
<?php
|
|
$data = array('name' => 'CourierNo','value' => set_value('CourierNo'),'id'=>'CourierNo', 'class' => 'form-control num', 'required'=>'true' );
|
|
echo form_input($data);
|
|
?>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
|
|
<table id="Inwardgateregistertable" class="table table-bordered table-hover editabletable IGR_Line" style="background-color:#fff;font-size:12px;">
|
|
<thead style="background-color:#ddf">
|
|
<tr>
|
|
<th>S.NO</th>
|
|
<th>Item Code</th>
|
|
<th>Material</th>
|
|
<th>UOM</th>
|
|
<th>Ordered Quantity</th>
|
|
<th>Adviced Quantity</th>
|
|
<th>Remarks</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody id ="IGRappend">
|
|
|
|
</tbody>
|
|
<!--<tr>
|
|
<td>2</td>
|
|
<td>Sand12</td>
|
|
<td>wast sand</td>
|
|
<td>kgs</td>
|
|
<td class="num">1000</td>
|
|
<td contenteditable="true" class="num">1000</td>
|
|
<td contenteditable="true" class="num">Received</td>
|
|
</tr>-->
|
|
|
|
|
|
|
|
</table>
|
|
<input type="hidden" name="txtRowCount" id="txtRowCount" />
|
|
|
|
|
|
</div>
|
|
<div class="col-md-1 col-md-offset-10">
|
|
|
|
<!--<a class="btn btn-primary" type="submit" id="Save" onclick="Save(0);">Generate IGR</a>-->
|
|
<a class="btn btn-primary" onclick="Save();">Generate IGR</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal fade" id="generateIGR" role="dialog">
|
|
<div class="modal-dialog modal_style">
|
|
<!-- Modal content-->
|
|
<form>
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header" style="background-color: #3c8dbc;color:#fff;">
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
<center><h4>Inward Gate Register Number</h4></center>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<center>IGRNO Successfully Created</center>
|
|
<center><label style="font-size:40px;" id="finaligr" >DEFAULT</label> <center>
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<center>
|
|
<button type="reset" value="Reset" onClick="window.location.reload()"> ok </button>
|
|
</center>
|
|
</div><!-- footer div closed -->
|
|
</div><!-- modal content div closed-->
|
|
</form><!-- form closed-->
|
|
</div><!-- modal content closed-->
|
|
</div><!-- modal fade closed-->
|
|
<!-- new modal ended-->
|
|
|
|
|
|
|
|
<!-- new modal ended-->
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</section>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
<!-- script for table , It works under the datatable plugin-->
|
|
function validate_Vechicle(){
|
|
|
|
var reg = /^^[A-Z]{2}\s[0-9]{2}\s[A-Z]{2}\s[0-9]{4}$/;
|
|
// alert();
|
|
var VehicleNo = $('#VehicleNo').val();
|
|
if(VehicleNo != "")
|
|
{
|
|
if (reg.test(VehicleNo) == false)
|
|
{
|
|
alert('Please Enter Valid Vehicle Number');
|
|
return (false);
|
|
}
|
|
else
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
}
|
|
function validate()
|
|
{
|
|
var rowcount = $("#txtRowCount").val();
|
|
var finald=0;
|
|
var oldvalue=0;
|
|
var exceed=0;
|
|
//alert("validate rowcount " + rowcount);
|
|
//$('#content').loader('show');
|
|
for(i=1;i<=rowcount;i++)
|
|
{
|
|
//alert("inside for loop Row" + i);
|
|
var v=v+i
|
|
v =$("#QuantityAsPerInvoice"+i).val();
|
|
//alert("new value"+ v);
|
|
if(v !=''){
|
|
var temp=$('#Quantity_1'+i).text();
|
|
//alert("old value"+temp);
|
|
|
|
if(v <= temp){
|
|
//alert('if');
|
|
|
|
}else{
|
|
//alert('else');
|
|
exceed++;
|
|
}
|
|
finald++;
|
|
//alert('Have Value');
|
|
}
|
|
//alert("row one value" + v);
|
|
}
|
|
|
|
if($('#PONO').val()=='-1')
|
|
{
|
|
|
|
alert("Please select PurchaseOrder");
|
|
$('#PONO').focus();
|
|
return false;
|
|
}
|
|
else if($('#InvoiceNo').val() == '' )
|
|
{
|
|
alert('Please Enter Invoice Number' );
|
|
$('#InvoiceNo').focus();
|
|
return false;
|
|
}
|
|
else if($('#InvoiceDate').val() == '' )
|
|
{
|
|
alert('Please Enter Invoice Date' );
|
|
$('#InvoiceDate').focus();
|
|
return false;
|
|
}
|
|
else if (rowcount!=finald )
|
|
{
|
|
|
|
alert('Please Enter Received Quantity Correctly');
|
|
return false;
|
|
|
|
}
|
|
else if(exceed!=0 ){
|
|
|
|
alert('Adviced quantity is exceeding the Ordered quantity!');
|
|
return false;
|
|
}
|
|
|
|
// else if (($('#VehicleNo').val() == '' ) && ($('#CourierNo').val() == '' ))
|
|
// {
|
|
// alert('Please Enter Vechicle Number or Please Enter CourierNo' );
|
|
// }
|
|
// else if($('#ReceivedQuantity'+i+).val() == '')
|
|
// {
|
|
// alert('Please Enter Received Quantity' );
|
|
// }
|
|
// else if ($('#Quantity' >= '#ReceivedQuantity').val()) {
|
|
|
|
// alert("Please Enter Correct Invoice Quantity");
|
|
|
|
// }
|
|
else
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
</script>
|
|
<script>
|
|
$(function () {
|
|
$('#Inwardgateregistertable').DataTable({
|
|
"paging": false,
|
|
"lengthChange": false,
|
|
"searching": false,
|
|
"ordering": false,
|
|
"info": false,
|
|
"autoWidth": false
|
|
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
// $(function() {
|
|
|
|
$('#PONO').change(function() {
|
|
|
|
|
|
var id = $('#PONO').val();
|
|
|
|
|
|
|
|
var y = <?php echo json_encode($PO_NO, JSON_PRETTY_PRINT) ?>;
|
|
//alert(y);
|
|
$.each(y, function(idx, obj) {
|
|
// alert(obj.PONO);
|
|
if(id == obj.PONO)
|
|
{
|
|
$("#po").val(obj.PONO);
|
|
$("#Sup").val(obj.SupplierName);
|
|
// alert(obj.SupplierName);
|
|
$("#Add").val(obj.Address);
|
|
$("#del").val(obj.DeliveryDate);
|
|
$("#ser").val(obj.ServiceDescription);
|
|
//alert(obj.ServiceDescription);
|
|
//$("#item").text(obj.MaterialCode);
|
|
|
|
//$("MaterialName").text(obj.MaterialName);
|
|
}
|
|
});
|
|
|
|
//alert(id);
|
|
$.ajax({
|
|
data:{id:id},
|
|
type:"POST",
|
|
url:"<?php echo base_url() ?>inwardgateregister/IGRITEM",
|
|
|
|
success:function(data) {
|
|
|
|
// alert(data);
|
|
|
|
//var myData = JSON.parse('{"name":"hai"}');
|
|
//alert("hao"+myData.name);
|
|
//if(data)
|
|
//{
|
|
var trHTML = '';
|
|
//var rowcount=0;
|
|
$.each(JSON.parse(data), function (i, item) {
|
|
|
|
i=i+1;
|
|
trHTML += '<tr>' +
|
|
'<td align="right">' + i + '</td>' +
|
|
'<td name="MaterialName" id="MaterialCode" onchange="test('+i+')">' + item.MaterialCode + '</td>' +
|
|
'<td>' + item.MaterialName + '</td>' +
|
|
'<td name="UOM">' + item.UOM + '</td>' +
|
|
'<td align="right" name="Quantity1'+i+'" id="Quantity_1'+i+'">' + item.Quantity + '</td>' +
|
|
'<td align="right" data-name="sel" ><input type="number" onchange="test('+i+')"id="QuantityAsPerInvoice'+ i +'" name="QuantityAsPerInvoice'+ i +'" class="form required" value=""></td>' +
|
|
'<td><input type="text" id="Remark'+ i +'" name="Remark'+ i +'" class="form"> </td>' +
|
|
'</tr>';
|
|
$('#txtRowCount').val(i);
|
|
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
id: 'MaterialCode'+i,
|
|
value:item.MaterialCode,
|
|
name: 'MaterialCode'+i
|
|
}).appendTo('form');
|
|
|
|
// $('<input>').attr({
|
|
// type:'hidden',
|
|
// id: 'QuantityAsPerInvoice'+i,
|
|
// value:$("#QuantityAsPerInvoice"+i).val();
|
|
// name: 'QuantityAsPerInvoice'+i
|
|
// }).appendTo('form');
|
|
|
|
|
|
|
|
|
|
// $('<input>').attr({
|
|
// type: 'hidden',
|
|
// id: 'Remark'+i,
|
|
|
|
// name: 'Remarks'+i
|
|
// }).appendTo('form');
|
|
//rowcount++;
|
|
});
|
|
|
|
//alert(trHTML);
|
|
$("#IGRappend").empty();
|
|
|
|
//$("#IGRappend").append(trHTML);
|
|
$('#Inwardgateregistertable > tbody').append(trHTML);
|
|
//$('#txtRowCount').val(rowcount);
|
|
}
|
|
//$('#txtRowCount').val(rowcount);
|
|
// var temp=$("#rowcount").val();
|
|
// alert("HIDDEN:"+temp);
|
|
});
|
|
});
|
|
// });
|
|
|
|
function test2(Rowid){
|
|
//alert($('#MaterialCode'+Rowid).val());
|
|
//alert($('#Quantity1'+Rowid).val());
|
|
//alert(Rowid);
|
|
var q =$("#QuantityAsPerInvoice"+Rowid).val();
|
|
//alert(q);
|
|
var r =$("#Remark"+Rowid).val();
|
|
//alert($("#Quantity"+Rowid).val());
|
|
var s =($("#Quantity_1"+Rowid).text());
|
|
// alert(q);
|
|
//alert(s);
|
|
//$('#txtRowCount').val(q);
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
id: 'Quantity'+Rowid,
|
|
//pattern : '[0-9]'+Rowid,
|
|
value:s,
|
|
name: 'Quantity'+Rowid
|
|
|
|
}).appendTo('form');
|
|
//alert(s)
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
id: 'ReceivedQuantity'+Rowid,
|
|
pattern : '[0-9]'+Rowid,
|
|
//requried : 'true'+Rowid,
|
|
value:q,
|
|
name: 'ReceivedQuantity'+Rowid,
|
|
}).appendTo('form');
|
|
//alert(q);
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
id: 'Remarks'+Rowid,
|
|
//pattern : '[a-z,A-Z]'+Rowid,
|
|
value:r,
|
|
name: 'Remarks'+Rowid
|
|
}).appendTo('form');
|
|
|
|
|
|
|
|
// if ( q=='' || q=='0') {
|
|
|
|
// alert("Please Enter Correct Invoice Quantity");
|
|
|
|
// }
|
|
|
|
//else
|
|
if(q >= s){
|
|
|
|
alert("Adviced qunatity is exceeding the Ordered quantity! ")
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
else {
|
|
alert("ok");
|
|
}
|
|
|
|
|
|
|
|
}
|
|
</script>
|
|
// <script>
|
|
// $(#QuantityAsPerInvoice+Rowid).validate({
|
|
// rules: {
|
|
// field1: "required"
|
|
// },
|
|
// messages: {
|
|
// field1: "Please specify your name"
|
|
// }
|
|
// });
|
|
// </script>
|
|
<script>
|
|
// function message() //for reload the page
|
|
// {
|
|
// alert("message worked");
|
|
// window.location.reload();
|
|
// }
|
|
|
|
function Save()
|
|
{
|
|
//alert("save function worked ");
|
|
|
|
if (validate())
|
|
{
|
|
|
|
//alert(" if condition validation part ");
|
|
$('#content').loader('show');
|
|
$.ajax({
|
|
data:$('.IGR').serialize(),
|
|
type:"POST",
|
|
url:"<?php echo base_url() ?>inwardgateregister/addNewigr",
|
|
|
|
success:function(data) {
|
|
//alert("success function worked");//....
|
|
//console.log(data);
|
|
//alert("before if condition");
|
|
if(data){
|
|
// alert("after if condition");
|
|
$('#IGRNO').val(data);
|
|
alert("IGRNO"+data);
|
|
document.getElementById('finaligr').innerHTML=data;
|
|
$('#generateIGR').modal('show');
|
|
//window.location ="<?php echo base_url() ?>inwardgateregister/addNewigr";
|
|
}
|
|
else
|
|
{
|
|
alert("Error");
|
|
}
|
|
//var igrvalueno = $(this).serialize();
|
|
|
|
}//success function closed
|
|
});//ajax closed
|
|
}//validate if closed
|
|
}//save function closed
|
|
</script>
|