$(document).ready(function(){ //Ready funcion
get_Printer_setting();
setup();
var myLine=detectIPtoLine($("#client_ip").html(),$("#product_station").val());
// Load old data
$("#user_id").val(myname());
if (myLine!="") {
$('#product_line').val(myLine).change();
} else {
$('#product_line').val(getLocal("product_line")).change();
}
if (getLocal("printer_dpi")!="") {
$('#printer_dpi').val(getLocal("printer_dpi")).change();
}
if (getLocal("printer_x")!="") {
$('#printer_x').val(getLocal("printer_x")).change();
}
if (getLocal("printer_y")!="") {
$('#printer_y').val(getLocal("printer_y")).change();
}
if (getLocal("printer_speed")!="") {
$('#printer_speed').val(getLocal("printer_speed")).change();
}
if (getLocal("printer_dark")!="") {
$('#printer_dark').val(getLocal("printer_dark")).change();
}
// Detect data to save
$("#product_line").change(function() {
saveLocal("product_line",$("#product_line").val());
});
$("#selected_device").change(function() {
saveLocal("selected_device",$("#selected_device").val());
});
$("#printer_dpi").change(function() {
saveLocal("printer_dpi",$("#printer_dpi").val());
});
$("#printer_x").change(function() {
saveLocal("printer_x",$("#printer_x").val());
});
$("#printer_y").change(function() {
saveLocal("printer_y",$("#printer_y").val());
});
$("#printer_speed").change(function() {
saveLocal("printer_speed",$("#printer_speed").val());
});
$("#printer_dark").change(function() {
saveLocal("printer_dark",$("#printer_dark").val());
});
// Tự động load WO của line đang active
detectWO();
// Detect item todo
$("#edit_WO").click(function(){
document.getElementById("inputWO").disabled=false;
document.getElementById("inputWO").focus();
});
$("#inputWO").dblclick(function(){
document.getElementById("inputWO").disabled=false;
});
$("#product_line").change(function(){
detectWO();
});
$("#print_TESTcc").click(function(){
if ($("#pallet_id").val()!="") {
let text = "Pallet sẽ bị đóng và chuyển qua pallet ID khác!";
if (confirm(text) == true) {
closePallet($("#pallet_id").val());
print_Pallet($("#pallet_id").val());
searchWO($("#inputWO").val(),'search_WO_result');
}
} else {
hint_autoclose("Hiện tại không có Pallet nào!","ng");
}
});
$("#sn_number").keydown(async function(e) {
if (e.which == 13) { // Nếu scan SN
var sn=$("#sn_number").val();
var sn_data=is_Carton(sn);
if (sn_data) {
sn=sn_data.cartonId;
if (!$("#list_sn_scanned").val().includes(sn)) {
if (sn_data.WorkOder==$("#inputWO").val()) { // Nếu đúng WO
var count=parseInt(document.getElementById("sn_scanned").innerHTML)+1;
var count_max=parseInt(document.getElementById("sn_scanneed").innerHTML);
if (count>count_max) {
count=1;
for (var i = 0; i < count_max; i++) {
$("#list_sn").empty();
}
//Lấy pallet ID mới
var new_PLID=await get_PalletID($("#inputWO").val());
$("#pallet_id").val(new_PLID);
// Clear danh sách đã scan
$("#list_sn_scanned").val("");
document.getElementById("myBar").style.width="0px";
}
// Thêm carton vào pallet
await $.ajax({
type: 'POST',
url: 'http://'+host+'/shopfloor/pallet/inputCartonToPallet/',
data: JSON.stringify({
"station_name": $("#product_station").val(),
"line_id": $("#product_line").val(),
"station_index": 1,
"wo": sn_data.WorkOder,
"cartonSn": sn,
"palletSn": $("#pallet_id").val()
}),
contentType: "application/json; charset=utf-8",
traditional: true,
success: function (data) {
// Thêm SN vào table
$("#list_sn").append("
"+count+" | "+sn+" | "+sn_data.WorkOder+" | Closed |
");
document.getElementById("list_sn_scanned").value+=","+sn;
// Tăng số scan
document.getElementById("sn_scanned").innerHTML=count;
var percent=count*100/count_max;
document.getElementById("myBar").style.width=percent+"%";
if (count==count_max) { // Khi scan đủ số lượng
document.getElementById("reprintSN").disabled=false;
if (print_Pallet($("#pallet_id").val())) { // in label
console.log($("#pallet_id").val()+" passed!!")
} else {
hint_autoclose("Lỗi không thể in label","ng");
}
} else {
document.getElementById("reprintSN").disabled=true;
}
},error: function (data) {
$("#sn_number").focus();
$("#sn_number").select();
hint_autoclose(data.responseJSON,"ng");
}
});
} else { hint_autoclose("Sai WO",'ng_big'); }
} else { hint_autoclose("SN đã có trong danh sách SN: "+sn,'ng_big'); }
} else { hint_autoclose("SN không có trên hệ thống!",'ng_big'); }
$("#sn_number").focus();
$("#sn_number").select();
}
});
$("#reprintSN").click(async function(){
if ($("#pallet_id").val()) { // Nếu có carton id
print_Pallet($("#pallet_id").val());
} else {
hint_autoclose("Có gì đó sai sai!","ng");
}
});
$("#printSN_test").click(async function(){
if ($("#inputWO").val()!="") { // Nếu có WO
var wo_data=getAPI("/shopfloor/workoders/?WONumber="+$("#inputWO").val());
var sku=wo_data.responseJSON.results[0].Product;
var label_data=getAPI("/shopfloor/productLabel/?SkuCode="+sku+"&StationCode=CommonPalletStation");
var label_setting=getzpl_setting();
var zpl=label_setting+"\n\n"+label_data.responseJSON.results[0].ZplCode;
console.log(zpl)
writeToSelectedPrinter(zpl);
} else {
hint_autoclose("Vui lòng chọn WO trước!","ng");
}
});
$("#printSN_to").click(async function(){
// Check số lượng
var from=parseInt($("#printer_from").val());
var to=parseInt($("#printer_to").val());
if (from=1) {
for (var i=0;i"+result[i].WONumber+"";
}
} else {
data="- Không có dữ liệu!
";
}
document.getElementById("realtime_search").innerHTML=data;
document.getElementById("realtime_search").style.border="1px solid #A5ACB2";
}
}
xmlhttp.open("GET","http://"+host+"/shopfloor/workoders/?WONumberIn="+str,true);
xmlhttp.send();
}).keydown(async function(e) {
if (e.which == 13) { // Nếu enter key
var myLine=detectIPtoLine($("#client_ip").html(),$("#product_station").val());
if (myLine==$("#product_line").val()) {
var a=$('#inputWO').val();
const SN=a.toUpperCase();
searchWO(SN,'search_WO_result');
document.getElementById("realtime_search").innerHTML="";
document.getElementById("realtime_search").style.border="0px";
} else {
hint_autoclose("IP chưa đăng ký tại trạm này!","ng");
}
}
}).dblclick(function() {
document.getElementById("inputWO").disabled=false;
});
});
function detectWO(){
// Check line
var client_ip=$("#client_ip").html().trim();
var check_station=getAPI("/shopfloor/station/?IpAddress="+client_ip);
var match_line=0;
if (check_station.responseJSON&&check_station.responseJSON.results.length>0) {
for (var i = 0; i < check_station.responseJSON.results.length; i++) {
var station=check_station.responseJSON.results[i].StationType;
var line=check_station.responseJSON.results[i].Line;
if (station==$("#product_station").val()&&line==$("#product_line").val()) {
match_line++;
}
}
}
if (match_line>0) {
var WO_actived=getAPI("/shopfloor/workoders/?Line="+$("#product_line").val()+"&Status=Active").responseJSON;
if (WO_actived.results.length==1) {
var WO=WO_actived.results[0].WONumber;
$("#inputWO").val(WO);
searchWO(WO,'search_WO_result');
} else {
document.getElementById("inputWO").disabled=false;
$("#inputWO").val("");
$("#pallet_id").val("");
$("#product_code").val("");
$("#sn_number").val("");
document.getElementById("myBar").style.width="0px";
$("#list_sn").empty();
$("#inputWO").focus();
}
} else {
document.getElementById("inputWO").disabled=true;
$("#inputWO").val("");
$("#pallet_id").val("");
$("#product_code").val("");
$("#sn_number").val("");
document.getElementById("myBar").style.width="0px";
$("#list_sn").empty();
hint_autoclose("Chưa đăng ký IP tại trạm này!","ng");
}
}
function detectIPtoLine(ip,station) {
var check_station=getAPI("/shopfloor/station/?IpAddress="+ip+"&StationType="+station);
if (check_station.responseJSON.results.length>0) {
console.log(check_station.responseJSON.results[0].Line);
return check_station.responseJSON.results[0].Line;
}
}
function searchWO(SN,id){
var myLine=detectIPtoLine($("#client_ip").html(),$("#product_station").val());
if (myLine==$("#product_line").val()) {
SN=SN.trim();
$('#inputWO').val(SN);
document.getElementById("inputWO").disabled=true;
document.getElementById("sn_number").disabled=false;
$("#sn_number").focus();
$.get("http://"+host+"/shopfloor/workoders/?WONumber="+SN,function(data, status){
if (status=='success'&&data.results[0].Line==$("#product_line").val()) {
if (data.count==1) {
var dataJS=JSON.stringify(data);
const alldataSN = JSON.parse(dataJS);
const dataSN = alldataSN.results[0];
document.getElementById('line_SKU').innerHTML=alldataSN.results[0].Product;
$("#product_code").val(alldataSN.results[0].Product);
document.getElementById('line_MODEL').innerHTML=alldataSN.results[0].Model;
document.getElementById('line_WO').innerHTML=alldataSN.results[0].TotalQuantity;
document.getElementById('sn_scanneed').innerHTML=get_palletQTY(alldataSN.results[0].Product);
load_lastPallet(SN);
// Lấy dữ liệu label
var label=getzpl(alldataSN.results[0].Product,$("#product_station").val());
if (label) {
for (var i = 0; i < label.results.length; i++) {
if (label.results[i].Dpi=="600"&&label.results[i].version=="1") {
$("#zpl_600_GTIN").val(label.results[i].ZplCode);
}
if (label.results[i].Dpi=="600"&&label.results[i].version=="0") {
$("#zpl_600").val(label.results[i].ZplCode);
}
if (label.results[i].Dpi=="300"&&label.results[i].version=="0") {
$("#zpl_300").val(label.results[i].ZplCode);
}
if (label.results[i].Dpi=="300"&&label.results[i].version=="1") {
$("#zpl_300_GTIN").val(label.results[i].ZplCode);
}
}
}
} else {
hint_autoclose("Không có dữ liệu WO!","ng")
}
} else {
hint_autoclose("WO của line khác hoặc không tồn tại!","ng");
document.getElementById("inputWO").disabled=false;
$("#inputWO").focus();
}
})
.fail(function() {
alert("Lỗi kết nối máy chủ "+host+" !");
});
} else {
hint_autoclose("IP chưa được đăng ký ở trạm của line này!","ng");
$("#inputWO").val("");
document.getElementById("inputWO").disabled=true;
}
}
async function load_lastPallet(wo){
var newPallet=postAPI("/shopfloor/pallet/getPalletOpenByWO/",{"wo": wo});
if (newPallet){
var last_carton=newPallet.responseJSON.data;
if(last_carton){
$("#pallet_id").val(last_carton.palletSn); // Load carton
var count_max=document.getElementById("sn_scanneed").innerHTML;
document.getElementById("sn_scanned").innerHTML=last_carton.cartonSn.length;
var percent=parseInt(last_carton.cartonSn.length)*100/parseInt(count_max);
document.getElementById("myBar").style.width=percent+"%";
$("#list_sn").empty();
for (var i = 0; i < last_carton.cartonSn.length; i++) {
var count=i+1;
$("#list_sn").append(""+count+" | "+last_carton.cartonSn[i]+" | "+wo+" | older |
");
document.getElementById("list_sn_scanned").value+=","+last_carton.cartonSn[i];
}
} else { hint_autoclose(newPallet.responseJSON,"ng"); console.log(newPallet); }
} else {
hint_autoclose("Lỗi khi lấy mã PalletId","ng");
console.log(last_carton);
}
}
function set_Printer_setting() {
$.post("include/left_tools/test_POST.php", {
printer_x: $('#printer_x').val(),
printer_y: $('#printer_y').val(),
printer_s: $('#printer_speed').val(),
printer_d: $('#printer_dark').val()
});
}
function get_Printer_setting() {
$('#printer_x').val("0");
$('#printer_y').val("0");
$('#printer_speed').val("2");
$('#printer_dark').val("25");
}