855 lines
39 KiB
PHP
Executable File
855 lines
39 KiB
PHP
Executable File
@extends('m3::liberty-theme.layout.main')
|
|
@section('title')
|
|
Transaction log for M3/Sentinel interface
|
|
@endsection
|
|
@section('content')
|
|
<!-- /.row -->
|
|
<div class="container-fluid px-4">
|
|
<h1 class="mt-4">Transaction log for M3/Sentinel interface</h1>
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<div class="row">
|
|
<div class="col-12 mt-1">
|
|
<form class="needs-validation" enctype="multipart/form-data" id="formFilters">
|
|
<div class="mb-3 row align-items-center">
|
|
{{-- Show errors --}}
|
|
@php $showerrors = old('SHOWERRORS') ?? $showerrors; @endphp
|
|
<div class="col-auto">
|
|
<label class=" form-check-label" for="flexSwitchCheckDefault">Show errors</label>
|
|
<div class="form-check form-switch">
|
|
<label for="SHOWERRORS" class="visually-hidden">SHOWERRORS</label>
|
|
<input class="form-check-input" type="checkbox" id="SHOWERRORS" name="SHOWERRORS"
|
|
value="Y" {{ $showerrors == 'Y' ? 'checked' : '' }}>
|
|
</div>
|
|
</div>
|
|
{{-- MACPKR --}}
|
|
<div class="col-auto">
|
|
<label for="inputPassword2" class="col-form-label">Delivery Note</label>
|
|
<label for="SHMACPKR" class="visually-hidden">SHMACPKR</label>
|
|
<input type="text" class="form-control form-control-sm" name="SHMACPKR"
|
|
id="SHMACPKR" value="{{ old('SHMACPKR') ?? $macpkr }}" maxlength="11">
|
|
</div>
|
|
{{-- Start Date --}}
|
|
<div class="col-auto">
|
|
<label for="exampleFormControlInput1" class="col-form-label">Start Date</label>
|
|
<label for="STARTDATE" class="visually-hidden">STARTDATE</label>
|
|
<input type="date" class="form-control form-control-sm" id="STARTDATE"
|
|
name="STARTDATE"
|
|
value="{{ old('STARTDATE') ?? today()->subDays(1)->format('Y-m-d') }}" required>
|
|
</div>
|
|
{{-- End Date --}}
|
|
<div class="col-auto">
|
|
<label for="exampleFormControlInput1" class="col-form-label">End Date</label>
|
|
<label for="ENDDATE" class="visually-hidden">ENDDATE</label>
|
|
<input type="date" class="form-control form-control-sm" id="ENDDATE" name="ENDDATE"
|
|
value="{{ old('ENDDATE') ?? date('Y-m-d') }}" required>
|
|
</div>
|
|
{{-- SHSOURCE --}}
|
|
<div class="col-auto">
|
|
<label for="SHSOURCE" class="col-form-label">Source</label>
|
|
@php
|
|
$transxTypes = Config::get('arrays.transxTypes');
|
|
$shsource = old('SHSOURCE') ?? $shsource;
|
|
@endphp
|
|
{{-- transxTypes --}}
|
|
<select class="form-select" name="SHSOURCE" id="SHSOURCE">
|
|
<option value="">Select Source...</option>
|
|
@foreach ($transxTypes as $key => $transxType)
|
|
<option value="{{ $key }}" {{ $shsource == $key ? 'selected' : '' }}>
|
|
{{ $transxType }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
|
|
<input type="hidden" id="SKIPDATES" name="SKIPDATES" value="{{ $skipdates }}">
|
|
|
|
<div class="col-auto align-self-end">
|
|
<button type="button" class="btn btn-sm btn-primary" id="filterTop">Submit</button>
|
|
</div>
|
|
<div class="col-auto align-self-end">
|
|
<a type="button" class="btn btn-sm btn-danger" id="refresh">Refresh</a>
|
|
</div>
|
|
<div class="col-auto align-self-end">
|
|
<button type="button" class="btn btn-sm btn-warning mt-4" id="exportExcel">Download
|
|
Excel</button>
|
|
</div>
|
|
|
|
</div>
|
|
</form>
|
|
{{-- Form for Export --}}
|
|
<form enctype="multipart/form-data" method="POST" action="{{ route('m3.exporttoExcel699') }}"
|
|
id="exporttoExcelForm">
|
|
@csrf
|
|
<input type="hidden" name="SHMACPKR" id="SHMACPKR1" value="">
|
|
<input type="hidden" name="SHSOURCE" id="SHSOURCE1" value="">
|
|
<input type="hidden" name="STARTDATE" id="STARTDATE1" value="">
|
|
<input type="hidden" name="ENDDATE" id="ENDDATE1" value="">
|
|
<input type="hidden" name="SHOWERRORS" id="SHOWERRORS1" value="">
|
|
<input type="hidden" name="SKIPDATES" id="SKIPDATES1" value="{{ $skipdates }}">
|
|
</form>
|
|
</div>
|
|
<div class="col-12 mt-1">
|
|
{{-- Header Title --}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="container-fluid table-responsive">
|
|
<table class="table table-striped table-bordered table-hover" id="datatablesSimple5"
|
|
style="width:100%">
|
|
<thead>
|
|
<tr>
|
|
<th>Delivery Note</th>
|
|
<th>Order #</th>
|
|
<th>Customer</th>
|
|
<th>Date</th>
|
|
<th>Error</th>
|
|
<th>Error description</th>
|
|
<th>Request Type</th>
|
|
<th>Source of transaction</th>
|
|
<th>User</th>
|
|
<th>Request or Response Data</th>
|
|
<th>Error message</th>
|
|
<th>Division</th>
|
|
<th>Warehouse</th>
|
|
<th>Acknowledge/Retry Date</th>
|
|
<th>Acknowledged/Retried by User</th>
|
|
<th>Internal Box Number</th>
|
|
<th>Link to SPD</th>
|
|
<th>Note</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('scripts')
|
|
<script>
|
|
var transTypes = JSON.parse('{!! json_encode($transxTypes) !!}');
|
|
// console.log(transTypes);
|
|
var usersList = JSON.parse('{!! json_encode($ICM428MCOL) !!}');
|
|
|
|
// DataTables Init
|
|
let copyButtonTrans = 'Copy'
|
|
let csvButtonTrans = 'CSV'
|
|
let excelButtonTrans = 'Excel'
|
|
let pdfButtonTrans = 'PDF'
|
|
let colvisButtonTrans = 'Columns'
|
|
let selectAllButtonTrans = 'Select All'
|
|
let selectNoneButtonTrans = 'Deselect All'
|
|
|
|
let languages = {
|
|
'en': 'https://cdn.datatables.net/plug-ins/1.10.19/i18n/English.json'
|
|
};
|
|
|
|
$.extend(true, $.fn.dataTable.Buttons.defaults.dom.button, {
|
|
className: 'btn'
|
|
})
|
|
// End Datatables
|
|
|
|
$(document).ready(function() {
|
|
// DataTables Columns
|
|
var columnDefs = [{
|
|
data: "SHMACPKR",
|
|
name: "SHMACPKR",
|
|
render: function(data, type, row) {
|
|
return '<a class="link-primary getmackpkr" href="#" data-macpkr="' + row.SHMACPKR
|
|
.trim() + '">' + row.SHMACPKR.trim() + '</a>';
|
|
}
|
|
},
|
|
{
|
|
data: "A4ONO",
|
|
name: "A4ONO",
|
|
render: function(data, type, row) {
|
|
if (data != null) {
|
|
return data;
|
|
} else {
|
|
return row.A1ONO;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
data: "A4SHSHNM",
|
|
name: "A4SHSHNM",
|
|
render: function(data, type, row) {
|
|
if (data != null) {
|
|
return data;
|
|
} else {
|
|
return row.A1SHSHNM;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
data: "SHDATETIME",
|
|
name: "SHDATETIME",
|
|
type: 'date'
|
|
},
|
|
{
|
|
data: "SHERROR",
|
|
name: "SHERROR",
|
|
render: function(data, type, row) {
|
|
// return data;
|
|
|
|
newData = data == 'X' && (row.SHTYPE.trim() == 'M3-QtyChg') ?
|
|
'<button type="button" class="btn btn-sm btn-warning ml-1 acknowledge" data-shsource="' +
|
|
row.SHSOURCE.trim() +
|
|
'" data-macpkr="' + row.SHMACPKR.trim() + '" data-shco="' + row.SHCO.trim() +
|
|
'" data-shwhs="' + row.SHWHS.trim() + '" ' +
|
|
' data-shdt="' + row.SHDT.trim() + '" data-shtime="' + row.SHTIME.trim() +
|
|
'" data-shtype="' + row.SHTYPE.trim() + '">Acknowledge</button>' :
|
|
data;
|
|
|
|
closeBtn = (data == 'X' && (row.SHTYPE.trim() == 'M3-Err-out' || row.SHTYPE
|
|
.trim() == 'M3-Res-out' || row.SHTYPE.trim() == 'M3-Req-out' || row.SHTYPE
|
|
.trim() == 'M3-General')) ||
|
|
(data == 'X' && row.SHSOURCE.trim() == 'M3ReceiverAPI' && (row.SHTYPE.trim() ==
|
|
'M3-Lis-in' || row.SHTYPE.trim() == 'M3-Lis-JSN')) ||
|
|
(data == 'X' && row.SHTYPE.trim().toUpperCase() == 'M3-LIS-SPL' && (row.SHSOURCE
|
|
.trim() == 'ICM710E12' || row.SHSOURCE.trim() == 'ICM710E13' ||
|
|
row.SHSOURCE.trim() == 'M3ReceiverAPI' || row.SHSOURCE.trim() ==
|
|
'ICM710E')) ||
|
|
(data == 'X' && row.SHTYPE.trim() == 'M3-Res-out' && row.SHSOURCE.trim() ==
|
|
'M3InventoryReportReplen') ?
|
|
'<button type="button" class="btn btn-sm btn-danger closeErr" data-shsource="' +
|
|
row.SHSOURCE.trim() +
|
|
'" data-macpkr="' + row.SHMACPKR.trim() + '" data-shco="' + row.SHCO.trim() +
|
|
'" data-shwhs="' + row.SHWHS.trim() + '" ' +
|
|
' data-shdt="' + row.SHDT.trim() + '" data-shtime="' + row.SHTIME.trim() +
|
|
'" data-shtype="' + row.SHTYPE.trim() +
|
|
'" title="Close"><i class="fa fa-times" aria-hidden="true"></i></button> ' :
|
|
'';
|
|
|
|
return (data == 'X' && row.SHSOURCE.trim() == 'CloseShipmentCoChargeAPI') || (
|
|
data == 'X' && row.SHSOURCE.trim() == 'TransferAPIURL' && row.SHTYPE
|
|
.trim() == 'M3-Res-out') ?
|
|
'<button type="button" class="btn btn-sm btn-warning retryAPICall" data-shsource="' +
|
|
row.SHSOURCE.trim() +
|
|
'" data-macpkr="' + row.SHMACPKR.trim() + '" data-shco="' + row.SHCO.trim() +
|
|
'" data-shwhs="' + row.SHWHS.trim() + '" ' +
|
|
' data-shdt="' + row.SHDT.trim() + '" data-shtime="' + row.SHTIME.trim() +
|
|
'" data-shtype="' + row.SHTYPE.trim() +
|
|
'" title="Retry"><i class="fas fa-redo-alt"></i></button> ' + closeBtn :
|
|
data == 'X' && row.SHTYPE.trim().toUpperCase() == 'M3-LIS-SPL' && (row.SHSOURCE
|
|
.trim() == 'ICM710E12' || row.SHSOURCE.trim() == 'ICM710E13' ||
|
|
row.SHSOURCE.trim() == 'M3ReceiverAPI' || row.SHSOURCE.trim() == 'ICM710E'
|
|
) ||
|
|
(data == 'X' && row.SHSOURCE.trim() == 'M3ReceiverAPI' && (row.SHTYPE.trim() ==
|
|
'M3-Lis-in' || row.SHTYPE.trim() == 'M3-Lis-JSN')) ||
|
|
(data == 'X' && row.SHSOURCE.trim() == 'M3InventoryReportListURL') ||
|
|
(data == 'X' && row.SHSOURCE.trim() == 'TransferAPIURL' && row.SHTYPE.trim() ==
|
|
'M3-Err-out') ||
|
|
(data == 'X' && row.SHTYPE.trim() == 'M3-Res-out' && row.SHSOURCE.trim() ==
|
|
'M3InventoryReportReplen') ?
|
|
closeBtn :
|
|
data == 'Z' ?
|
|
'<b>Closed</b>' :
|
|
newData;
|
|
}
|
|
},
|
|
{
|
|
data: "SHDATA",
|
|
name: "SHDATA",
|
|
type: 'html',
|
|
render: function(data, type, row) {
|
|
var firstOccurrenceIndex = data.indexOf('{') > 0 ? data.indexOf('{') : 0;
|
|
var TotalLength = data.length;
|
|
var errorDesc = firstOccurrenceIndex > 0 && TotalLength > 200 ? data.substring(0,
|
|
firstOccurrenceIndex) : data.substring(0, 200);
|
|
// console.log(errorDesc);
|
|
return errorDesc;
|
|
}
|
|
},
|
|
{
|
|
data: "SHTYPE",
|
|
name: "SHTYPE"
|
|
},
|
|
{
|
|
data: "SHSOURCE",
|
|
name: "SHSOURCE",
|
|
render: function(data, type, row) {
|
|
var key = data.trim();
|
|
return transTypes[key] != null ? transTypes[key] : data.trim();
|
|
}
|
|
},
|
|
{
|
|
data: "R428FIRST",
|
|
name: "R428FIRST",
|
|
render: function(data, type, row) {
|
|
return data != null ? (data.trim() + ' ' + row.R428FAMILY.trim()).toUpperCase() : (
|
|
row.SHUSER.trim()).toUpperCase();
|
|
}
|
|
},
|
|
{
|
|
data: "SHDATA",
|
|
name: "SHDATA",
|
|
type: 'html',
|
|
render: function(data, type, row) {
|
|
return data;
|
|
}
|
|
},
|
|
{
|
|
data: "SHCODE",
|
|
name: "SHCODE"
|
|
},
|
|
{
|
|
data: "SHCO",
|
|
name: "SHCO"
|
|
},
|
|
{
|
|
data: "SHWHS",
|
|
name: "SHWHS"
|
|
},
|
|
{
|
|
data: "SHACKDATE",
|
|
name: "SHACKDATE",
|
|
render: function(data, type, row) {
|
|
return data + ' ' + row.SHACKTIME;
|
|
}
|
|
},
|
|
{
|
|
data: "SHACKUSER",
|
|
name: "SHACKUSER",
|
|
render: function(data, type, row) {
|
|
var key = data.trim();
|
|
var currUser = key;
|
|
// console.log(key);
|
|
if (key != '') {
|
|
usersList.forEach(element => {
|
|
// console.log(element.R428US+' '+key);
|
|
if (element.R428US == key) {
|
|
currUser = element.R428FIRST + ' ' + element.R428FAMILY;
|
|
// console.log(currUser);
|
|
}
|
|
});
|
|
}
|
|
return currUser;
|
|
}
|
|
},
|
|
{
|
|
data: "SHINTBOX",
|
|
name: "SHINTBOX"
|
|
},
|
|
{
|
|
data: "SHMACPKR",
|
|
name: "SHMACPKR",
|
|
orderable: false,
|
|
searchable: false,
|
|
render: function(data, type, row) {
|
|
fullUrl = "{{ Request::url() }}";
|
|
UrlPath = "{{ Request::path() }}";
|
|
sendUrl = fullUrl.replace(UrlPath, "");
|
|
return '<a class="btn btn-sm btn-secondary" href="' + sendUrl +
|
|
'php/AllSentPkr.php?macpkr_input=' + row.SHMACPKR.trim() + '">SPD</a>';
|
|
}
|
|
|
|
},
|
|
{
|
|
data: "SHACKNOTE",
|
|
name: "SHACKNOTE"
|
|
}
|
|
];
|
|
|
|
// DataTables init Config
|
|
$.extend(true, $.fn.dataTable.defaults, {
|
|
processing: true,
|
|
serverSide: true,
|
|
ajax: {
|
|
url: '{{ route('m3.M3ErrorsDisplayDT') }}',
|
|
data: function(d) {
|
|
d.STARTDATE = $('#STARTDATE').val().trim();
|
|
d.ENDDATE = $('#ENDDATE').val().trim();
|
|
d.SHMACPKR = $('#SHMACPKR').val().trim();
|
|
d.SHSOURCE = $('#SHSOURCE').val().trim();
|
|
d.SHOWERRORS = $('#SHOWERRORS').is(':checked') ? 'Y' : 'N';
|
|
d.SKIPDATES = $('#SKIPDATES').val().trim();
|
|
}
|
|
},
|
|
columns: columnDefs,
|
|
responsive: true,
|
|
fixedColumns: true,
|
|
orderCellsTop: true,
|
|
order: [
|
|
[3, 'asc'] // Order By Date time
|
|
],
|
|
pageLength: 100,
|
|
"lengthMenu": [
|
|
[10, 25, 50, 100, 500],
|
|
[10, 25, 50, 100, 500]
|
|
],
|
|
select: {
|
|
style: 'multi+shift',
|
|
selector: 'td:first-child'
|
|
},
|
|
language: {
|
|
url: languages['{{ app()->getLocale() }}']
|
|
},
|
|
dom: "<'row'<'col-sm-12 col-md-2'l><'col-sm-12 col-md-7'B>>" +
|
|
"<'row'<'col-sm-12'tr>>" +
|
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
|
|
// <'col-sm-12 col-md-3'f>
|
|
buttons: [{
|
|
extend: 'selectAll',
|
|
className: 'btn-primary mr-1',
|
|
text: selectAllButtonTrans,
|
|
exportOptions: {
|
|
columns: ':visible'
|
|
},
|
|
action: function(e, dt) {
|
|
e.preventDefault()
|
|
dt.rows().deselect();
|
|
dt.rows({
|
|
search: 'applied'
|
|
}).select();
|
|
}
|
|
},
|
|
{
|
|
extend: 'selectNone',
|
|
className: 'btn-primary mr-1',
|
|
text: selectNoneButtonTrans,
|
|
exportOptions: {
|
|
columns: ':visible'
|
|
}
|
|
},
|
|
{
|
|
extend: 'copy',
|
|
className: 'btn-default mr-1',
|
|
text: copyButtonTrans,
|
|
exportOptions: {
|
|
columns: ':visible'
|
|
}
|
|
},
|
|
{
|
|
extend: 'csv',
|
|
className: 'btn-default mr-1',
|
|
text: csvButtonTrans,
|
|
exportOptions: {
|
|
columns: ':visible'
|
|
}
|
|
},
|
|
{
|
|
extend: 'excelHtml5',
|
|
className: 'btn-default mr-1',
|
|
text: excelButtonTrans,
|
|
exportOptions: {
|
|
columns: ':visible',
|
|
stripHtml: true
|
|
},
|
|
customize: function(xlsx, btnObj, tableInst) {
|
|
var sheet = xlsx.xl.worksheets['sheet1.xml'];
|
|
var cellIndexes = tableInst.cells(".bg-danger").indexes();
|
|
for (var i = 0; i < cellIndexes.length; i++) {
|
|
var cellIndex = cellIndexes[i];
|
|
var tblRow = cellIndex['row'] + 3; // adjusted from 0 indexed
|
|
var tblCol = cellIndex['column']; // adjusted from 0 indexed
|
|
var xlCol = numberToLetters(tblCol);
|
|
var excelCell = xlCol + tblRow;
|
|
$('row c[r=' + excelCell + ']', sheet).attr('s', '11');
|
|
}
|
|
}
|
|
},
|
|
{
|
|
extend: 'pdfHtml5',
|
|
className: 'btn-default mr-1',
|
|
text: pdfButtonTrans,
|
|
exportOptions: {
|
|
columns: ':visible'
|
|
}
|
|
},
|
|
{
|
|
extend: 'colvis',
|
|
className: 'btn-default mr-1',
|
|
text: colvisButtonTrans,
|
|
exportOptions: {
|
|
columns: ':visible'
|
|
}
|
|
}
|
|
]
|
|
});
|
|
|
|
var myTable = $('#datatablesSimple5').DataTable({});
|
|
|
|
// Add event listeners to the date filter inputs
|
|
$('#filterTop,#refresh').on('click', function() {
|
|
var SHMACPKR = $('#SHMACPKR').val().trim();
|
|
// Check SHMACPKR for invalid CHARS
|
|
var numbersOnly = /^[0-9]+$/;
|
|
if (!SHMACPKR.match(numbersOnly) && SHMACPKR != '') {
|
|
alert('Only numeric values are allowed for Delivery Note ');
|
|
$('#SHMACPKR').focus();
|
|
return false;
|
|
}
|
|
|
|
// Refresh the table data
|
|
myTable.ajax.reload();
|
|
});
|
|
|
|
// Retry Call API
|
|
$(document).on('click', '.retryAPICall', function() {
|
|
$('.retryAPICall').prop("disabled", true);
|
|
|
|
SHSOURCE = $(this).data('shsource');
|
|
SHMACPKR = $(this).data('macpkr');
|
|
SHCO = $(this).data('shco');
|
|
SHWHS = $(this).data('shwhs');
|
|
SHDT = $(this).data('shdt');
|
|
SHTIME = $(this).data('shtime');
|
|
SHTYPE = $(this).data('shtype');
|
|
urlToCall = "";
|
|
|
|
fullUrl = "{{ Request::url() }}";
|
|
UrlPath = "{{ Request::path() }}";
|
|
sendUrl = fullUrl.replace(UrlPath, "");
|
|
// console.log(sendUrl);
|
|
// return false;
|
|
|
|
if (SHSOURCE == 'CloseShipmentCoChargeAPI') {
|
|
urlToCall = sendUrl + "api/" + SHSOURCE + "?TRANSTYPE=P&COMPANY=" + SHCO + "&WHS=" +
|
|
SHWHS + "&MANIFEST=" + SHMACPKR +
|
|
"&SHDT=" + SHDT + "&SHTIME=" + SHTIME + "&SHTYPE=" + SHTYPE;
|
|
} else if (SHSOURCE == 'TransferAPIURL') {
|
|
urlToCall = sendUrl + "api/" + SHSOURCE + "?TRANSTYPE=R&COMPANY=" + SHCO + "&WHS=" +
|
|
SHWHS + "&DELIVERYNO=" + SHMACPKR +
|
|
"&SHDT=" + SHDT + "&SHTIME=" + SHTIME + "&SHTYPE=" + SHTYPE;
|
|
}
|
|
// else if (SHSOURCE=='M3ReceiverAPI') {
|
|
// urlToCall = sendUrl+"api/m3receiver?TRANSTYPE=R&COMPANY="+SHCO+"&WHS="+SHWHS+"&DELIVERYNO="+SHMACPKR+
|
|
// "&SHDT="+SHDT+"&SHTIME="+SHTIME+"&SHTYPE="+SHTYPE;
|
|
// }
|
|
// var urlToCall = "http://esn2.nventco.com:10024/api/"+SHSOURCE+"?TRANSTYPE=R";
|
|
// console.log(urlToCall); return false;
|
|
|
|
// Call API
|
|
if (urlToCall != '') {
|
|
var settings = {
|
|
"url": urlToCall,
|
|
"method": "POST",
|
|
"timeout": 0,
|
|
"headers": {
|
|
"Content-Type": "application/json",
|
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
|
|
},
|
|
};
|
|
|
|
$.ajax(settings).done(function(response) {
|
|
// console.log(response);
|
|
if (response.code != '200') {
|
|
Swal.fire('The retry resulted in another error: ' + response.message);
|
|
} else {
|
|
Swal.fire('The retry was Successful');
|
|
}
|
|
// Refresh the table data
|
|
myTable.ajax.reload();
|
|
$('.retryAPICall').prop("disabled", false);
|
|
});
|
|
} else {
|
|
Swal.fire('It was not possible to issue the retry.');
|
|
// console.log("URL Not Valid");
|
|
$('.retryAPICall').prop("disabled", false);
|
|
}
|
|
});
|
|
|
|
// Acknowledge Call API
|
|
$(document).on('click', '.acknowledge', function() {
|
|
$('.acknowledge').prop("disabled", true);
|
|
|
|
SHSOURCE = $(this).data('shsource');
|
|
SHMACPKR = $(this).data('macpkr');
|
|
SHCO = $(this).data('shco');
|
|
SHWHS = $(this).data('shwhs');
|
|
SHDT = $(this).data('shdt');
|
|
SHTIME = $(this).data('shtime');
|
|
SHTYPE = $(this).data('shtype');
|
|
urlToCall = "";
|
|
// console.log(SHSOURCE);
|
|
|
|
fullUrl = "{{ Request::url() }}";
|
|
UrlPath = "{{ Request::path() }}";
|
|
sendUrl = fullUrl.replace(UrlPath, "");
|
|
// console.log(sendUrl);
|
|
|
|
Swal.fire({
|
|
title: 'Acknowledge',
|
|
text: "Have you ensured that this qty adjustment has been manually posted in the ERP system to ensure that we do not over-invoice the customer?",
|
|
// icon: 'warning',
|
|
showCancelButton: true,
|
|
confirmButtonColor: '#3085d6',
|
|
cancelButtonColor: '#d33',
|
|
confirmButtonText: 'Yes',
|
|
input: 'text',
|
|
inputAttributes: {
|
|
autocapitalize: 'off'
|
|
},
|
|
// icon: 'warning',
|
|
showCancelButton: true,
|
|
confirmButtonColor: '#3085d6',
|
|
cancelButtonColor: '#d33',
|
|
confirmButtonText: 'Yes',
|
|
inputValidator: (value) => {
|
|
return new Promise((resolve) => {
|
|
if (value !== '') {
|
|
resolve();
|
|
} else {
|
|
resolve('You should fill a reason.');
|
|
}
|
|
})
|
|
},
|
|
preConfirm: (text) => {
|
|
var form_post2 = {
|
|
SHSOURCE: SHSOURCE,
|
|
SHMACPKR: SHMACPKR,
|
|
SHCO: SHCO,
|
|
SHWHS: SHWHS,
|
|
SHDT: SHDT,
|
|
SHTIME: SHTIME,
|
|
SHTYPE: SHTYPE,
|
|
SHACKNOTE: text,
|
|
_token: '{{ csrf_token() }}'
|
|
};
|
|
// console.log(form_post2);
|
|
|
|
$.ajax({
|
|
url: "{{ route('m3.M3ErrorsDisplay699') }}",
|
|
type: "POST",
|
|
data: form_post2,
|
|
success: function(response) {
|
|
if (response.success == true) {
|
|
// Refresh the table data
|
|
myTable.ajax.reload();
|
|
Swal.fire('Acknowledge call was Successful');
|
|
$('.acknowledge').prop("disabled", false);
|
|
} else {
|
|
Swal.fire('Acknowledge Failed');
|
|
$('.acknowledge').prop("disabled", false);
|
|
}
|
|
},
|
|
error: function(error) {
|
|
// console.log(error);
|
|
// alert(error);
|
|
}
|
|
});
|
|
}
|
|
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
//
|
|
} else {
|
|
$('.acknowledge').prop("disabled", false);
|
|
}
|
|
});
|
|
});
|
|
|
|
// Close Call API
|
|
$(document).on('click', '.closeErr', function() {
|
|
$('.closeErr').prop("disabled", true);
|
|
|
|
SHSOURCE = $(this).data('shsource');
|
|
SHMACPKR = $(this).data('macpkr');
|
|
SHCO = $(this).data('shco');
|
|
SHWHS = $(this).data('shwhs');
|
|
SHDT = $(this).data('shdt');
|
|
SHTIME = $(this).data('shtime');
|
|
SHTYPE = $(this).data('shtype');
|
|
|
|
urlToCall = "";
|
|
// console.log(SHTYPE);
|
|
// console.log(SHSOURCE);
|
|
|
|
fullUrl = "{{ Request::url() }}";
|
|
UrlPath = "{{ Request::path() }}";
|
|
sendUrl = fullUrl.replace(UrlPath, "");
|
|
// console.log(sendUrl);
|
|
// return false;
|
|
|
|
if (SHTYPE == 'M3-LIS-SPL') {
|
|
var message = 'Please ask ERP team to correct errors and resend this order';
|
|
} else {
|
|
var message =
|
|
"Please explain what action was taken to ensure the ERP system was updated manually";
|
|
}
|
|
// Set Close All Button for Replen
|
|
if (SHSOURCE == 'M3InventoryReportReplen') {
|
|
var showCloseAll = true;
|
|
var closethisErrorMsg = 'Close this error only';
|
|
} else {
|
|
var showCloseAll = false;
|
|
var closethisErrorMsg = 'Close';
|
|
}
|
|
|
|
if (SHSOURCE == 'M3ReceiverAPI') {
|
|
var noteText = '';
|
|
} else {
|
|
var noteText = '';
|
|
}
|
|
|
|
Swal.fire({
|
|
title: 'Close',
|
|
text: message,
|
|
input: 'text',
|
|
inputValue: noteText,
|
|
inputAttributes: {
|
|
autocapitalize: 'off'
|
|
},
|
|
showCancelButton: true,
|
|
confirmButtonColor: '#3085d6',
|
|
cancelButtonColor: '#d33',
|
|
confirmButtonText: closethisErrorMsg,
|
|
showDenyButton: showCloseAll,
|
|
denyButtonText: `Close All similar errors`,
|
|
inputValidator: (value) => {
|
|
return new Promise((resolve) => {
|
|
if (value !== '') {
|
|
resolve();
|
|
} else {
|
|
resolve('You should fill a reason.');
|
|
}
|
|
})
|
|
},
|
|
preConfirm: (text) => {
|
|
var form_post2 = {
|
|
SHSOURCE: SHSOURCE,
|
|
SHMACPKR: SHMACPKR,
|
|
SHCO: SHCO,
|
|
SHWHS: SHWHS,
|
|
SHDT: SHDT,
|
|
SHTIME: SHTIME,
|
|
SHTYPE: SHTYPE,
|
|
SHACKNOTE: text,
|
|
CLOSESIM: 'N',
|
|
_token: '{{ csrf_token() }}'
|
|
};
|
|
// console.log(form_post2);
|
|
// return false;
|
|
|
|
$.ajax({
|
|
url: "{{ route('m3.M3ErrorsDisplay699') }}",
|
|
type: "POST",
|
|
data: form_post2,
|
|
success: function(response) {
|
|
if (response.success == true) {
|
|
// Refresh the table data
|
|
myTable.ajax.reload();
|
|
Swal.fire('Close call was Successful');
|
|
$('.closeErr').prop("disabled", false);
|
|
} else {
|
|
Swal.fire('Close Failed');
|
|
$('.closeErr').prop("disabled", false);
|
|
}
|
|
},
|
|
error: function(error) {
|
|
// console.log(error);
|
|
// alert(error);
|
|
}
|
|
});
|
|
},
|
|
preDeny: () => {
|
|
// Get the input value manually
|
|
const text = Swal.getInput().value;
|
|
|
|
// Validate the input
|
|
if (!text || text.trim() === '') {
|
|
Swal.showValidationMessage('You should fill a reason.');
|
|
return false; // Prevent the dialog from closing
|
|
}
|
|
var form_post2 = {
|
|
SHSOURCE: SHSOURCE,
|
|
SHMACPKR: SHMACPKR,
|
|
SHCO: SHCO,
|
|
SHWHS: SHWHS,
|
|
SHDT: SHDT,
|
|
SHTIME: SHTIME,
|
|
SHTYPE: SHTYPE,
|
|
SHACKNOTE: text,
|
|
CLOSESIM: 'Y',
|
|
_token: '{{ csrf_token() }}'
|
|
};
|
|
// console.log(form_post2);
|
|
// return false;
|
|
$.ajax({
|
|
url: "{{ route('m3.M3ErrorsDisplay699') }}",
|
|
type: "POST",
|
|
data: form_post2,
|
|
success: function(response) {
|
|
if (response.success == true) {
|
|
// Refresh the table data
|
|
myTable.ajax.reload();
|
|
Swal.fire('Close call was Successful');
|
|
$('.closeErr').prop("disabled", false);
|
|
} else {
|
|
Swal.fire('Close Failed');
|
|
$('.closeErr').prop("disabled", false);
|
|
}
|
|
},
|
|
error: function(error) {
|
|
// console.log(error);
|
|
// alert(error);
|
|
}
|
|
});
|
|
}
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {} else {
|
|
// console.log("Canceled...");
|
|
$('.closeErr').prop("disabled", false);
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
// Show all Macpkr on click
|
|
$(document).on('click', '.getmackpkr', function() {
|
|
mackpkr = $(this).data("macpkr");
|
|
$('#SHMACPKR').val(mackpkr);
|
|
// MAK Change Later
|
|
$('#SHSOURCE').val("");
|
|
|
|
// Refresh the table data
|
|
myTable.ajax.reload();
|
|
});
|
|
|
|
// Prevent Form Submit
|
|
$("#formFilters").keypress(function(e) {
|
|
if (e.keyCode == 13) {
|
|
e.preventDefault();
|
|
$('#filterTop').trigger('click');
|
|
return false;
|
|
}
|
|
})
|
|
|
|
// Export To Excel exportExcel
|
|
$(document).on('click', '#exportExcel', function() {
|
|
var SHMACPKR = $('#SHMACPKR').val().trim();
|
|
// Check SHMACPKR for invalid CHARS
|
|
var numbersOnly = /^[0-9]+$/;
|
|
if (!SHMACPKR.match(numbersOnly) && SHMACPKR != '') {
|
|
alert('Only numeric values are allowed for Delivery Note ');
|
|
$('#SHMACPKR').focus();
|
|
return false;
|
|
}
|
|
|
|
SHMACPKR = $("#SHMACPKR").val();
|
|
SHSOURCE = $("#SHSOURCE").val();
|
|
STARTDATE = $("#STARTDATE").val();
|
|
ENDDATE = $("#ENDDATE").val();
|
|
SHOWERRORS = $('#SHOWERRORS').is(':checked') ? 'Y' : 'N';
|
|
|
|
$("#SHMACPKR1").val(SHMACPKR);
|
|
$("#SHSOURCE1").val(SHSOURCE);
|
|
$("#STARTDATE1").val(STARTDATE);
|
|
$("#ENDDATE1").val(ENDDATE);
|
|
$("#SHOWERRORS1").val(SHOWERRORS);
|
|
|
|
$("#exporttoExcelForm").submit();
|
|
|
|
});
|
|
|
|
@if (session('message') != '')
|
|
alert("{{ session('message') }}");
|
|
@endif
|
|
});
|
|
</script>
|
|
@endsection
|