257 lines
14 KiB
JavaScript
257 lines
14 KiB
JavaScript
define(["angularAMD"], function (angularAMD) {
|
|
angularAMD.service('mrs08Service', ['$rootScope', '$filter', '$translate', 'config', 'MMWService', '$mdDialog',
|
|
function($rootScope, $filter, $translate, config, $MMWService, $mdDialog){
|
|
/***
|
|
* options : {
|
|
* plotItem : {} //製令
|
|
* feedback : function //結束後呼叫的方法
|
|
* close : function //關閉後呼叫的方法
|
|
* }
|
|
*/
|
|
this.init = function (options){
|
|
//開啟暫停畫面
|
|
function openDialog(plotItem){
|
|
$mdDialog.dialog('module/moduleWIP/program/mrs-eqp/mrs08/mrs08.html',
|
|
function(dialog){
|
|
return {
|
|
plotItem : plotItem,
|
|
workStation : config.cache.workStation,
|
|
pause_status : '2',
|
|
remark:'',
|
|
beforeShown:function(){
|
|
if($rootScope.platform != 'cordova')
|
|
$rootScope.focusById('remark');
|
|
},
|
|
background: {
|
|
click: function () {
|
|
dialog.hide();
|
|
if (typeof (feedback) == 'function')
|
|
feedback();
|
|
}
|
|
},
|
|
barcodeScan : function(event){
|
|
//barcode example
|
|
if(event == undefined || event.keyCode == 13){
|
|
var type, target = document.getElementById('remark');
|
|
if(config.cache.platform == 'SFT'){
|
|
//當條碼為以下三者之一時才能往下
|
|
if(dialog.remark.indexOf('ESC016') != -1){
|
|
type = '9'; //暫停/解除暫停
|
|
}
|
|
|
|
if(!type){
|
|
dialog.remark = ''; // 清除錯誤的條碼
|
|
|
|
//條碼格式錯誤
|
|
$rootScope.showAlert($filter('translate')('common.msg.code_format_error'), function(){
|
|
dialog.remark = '';
|
|
dialog.description = '';
|
|
$rootScope.focusById('remark');
|
|
});
|
|
return;
|
|
} else {
|
|
dialog.remark = dialog.remark.substring(6,(dialog.remark.length));
|
|
}
|
|
} else {
|
|
type = 0;
|
|
}
|
|
getExceptionReason(dialog.remark, type,function(data){
|
|
//data = JSON.parse(data.Result);
|
|
data = JSON.parse(data.ResultJson);
|
|
//if(data.Result != 'fail' && data.RecordList.length > 0){
|
|
if (data.abnormal_no) {
|
|
if (config.cache.platform == 'SFT') {
|
|
dialog.remark = data.RecordList[0].holdreason_no;
|
|
dialog.description = data.RecordList[0].holdreason_name;
|
|
} else {
|
|
//dialog.remark = data.RecordList[0].abnormal_no;
|
|
//dialog.description = data.RecordList[0].abnormal_name;
|
|
dialog.remark = data.abnormal_no;
|
|
dialog.description = data.abnormal_name;
|
|
}
|
|
} else {
|
|
$rootScope.showAlert($filter('translate')('mrs08.msg.cantGetErrCode') + dialog.remark + '<br>' + data.SysMsg, function () {
|
|
dialog.remark = '';
|
|
dialog.description = '';
|
|
$rootScope.focusById('remark');
|
|
});
|
|
}
|
|
});
|
|
}
|
|
},
|
|
scanQrcode : function(){
|
|
$rootScope.OpenScanner({
|
|
after : function(result){
|
|
dialog.remark = result.text;
|
|
dialog.barcodeScan();
|
|
},
|
|
exception: function(){
|
|
//目前裝置無法使用相機
|
|
$rootScope.showAlert($filter('translate')('common.msg.camera_not_support'));
|
|
},
|
|
orientation : "landscape"
|
|
});
|
|
},
|
|
search: function(){
|
|
var type;
|
|
if(config.cache.platform == 'SFT'){
|
|
type = '9';
|
|
} else {
|
|
type = 0;
|
|
}
|
|
getExceptionReason('', type,function(data){
|
|
//data = JSON.parse(data.Result);
|
|
data = JSON.parse(data.ResultJson);
|
|
//if (data.Result != 'fail' && data.RecordList.length > 0) {
|
|
if (data.abnormal_no) {
|
|
$rootScope.showSelect({
|
|
title : $filter('translate')('common.msg.plz_select'),
|
|
label : config.cache.platform == 'SFT'?'holdreason_name':'abnormal_name',
|
|
code : config.cache.platform == 'SFT'?'holdreason_no':'abnormal_no',
|
|
order: config.cache.platform == 'SFT'?'holdreason_no':'abnormal_no',
|
|
selectCode : '',
|
|
//list : data.RecordList,
|
|
confirm : function(s_item, s_dialog){
|
|
s_dialog.hide();
|
|
if(config.cache.platform == 'SFT'){
|
|
dialog.remark = s_item.holdreason_no;
|
|
dialog.description = s_item.holdreason_name;
|
|
} else {
|
|
dialog.remark = s_item.abnormal_no;
|
|
dialog.description = s_item.abnormal_name;
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
$rootScope.showAlert($filter('translate')('mrs08.msg.cantGetErrCode')+dialog.remark, function(){
|
|
dialog.remark = '';
|
|
dialog.description = '';
|
|
});
|
|
}
|
|
});
|
|
},
|
|
back: function () {
|
|
dialog.hide();
|
|
if(options.close)
|
|
options.close();
|
|
},
|
|
confirm: function () {
|
|
//if(dialog.description && dialog.description != ''){
|
|
var content = {
|
|
change_control_mode :'1',
|
|
status : dialog.pause_status,
|
|
machine_no : config.cache.equipment,
|
|
plot_no : dialog.plotItem.plot_no,
|
|
op_seq : dialog.plotItem.sft_op_seq,
|
|
op_no : dialog.plotItem.OpNo,
|
|
workstation_no : config.cache.workStation,
|
|
plot_stamp : dialog.plotItem.PlotStamp,
|
|
description : dialog.description,
|
|
remark : dialog.remark,
|
|
lot_status : dialog.plotItem.lot_status
|
|
};
|
|
//mantis#0041000: 生產批暫停類型新增機台暫停選項
|
|
if($rootScope.servicePlatform == 'SFT'){
|
|
content.status = '2';
|
|
}
|
|
//console.log(content);
|
|
plotWaitProcess(content, function(){
|
|
$rootScope.showAlert($filter('translate')('mrs08.msg.confirm_success'), function(){
|
|
dialog.hide();
|
|
if(options.feedback){
|
|
options.feedback();
|
|
}
|
|
});
|
|
});
|
|
//} else {
|
|
// $rootScope.showAlert($filter('translate')('mrs08.msg.emptyErrCode'));
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
function getExceptionReason(Code, CheckType, callback){
|
|
var uri = '',content = {};
|
|
if(config.cache.platform == 'SFT'){
|
|
uri = 'app.holdreason.get';
|
|
content.holdreason_no = Code;
|
|
content.holdreason_type = CheckType;
|
|
content.Remark = '';
|
|
} else {
|
|
uri = 'KMI.app_abnormal_get_json';
|
|
//content.Code = Code;
|
|
//content.CheckType = CheckType;
|
|
content.abnormal_no = Code;
|
|
content.abnormal_type = CheckType;
|
|
content.Remark = '';
|
|
}
|
|
$MMWService.sendToEAISrv({
|
|
uri : uri,
|
|
content : content,
|
|
success : function(data){
|
|
if(callback)
|
|
callback(data);
|
|
}
|
|
});
|
|
}
|
|
|
|
function plotInfoGet(plotItem, callback){
|
|
var MoId = plotItem.plot_no + ';';
|
|
if(plotItem.sft_op_seq && plotItem.sft_op_no){
|
|
MoId += plotItem.sft_op_seq + ';' + plotItem.sft_op_no+';'
|
|
}
|
|
MoId = MoId + config.cache.workStation;
|
|
$MMWService.sendToEAISrv({
|
|
uri: 'KMI.plot_info_get_json',
|
|
content : {
|
|
//MoId : MoId,
|
|
machine_no : config.cache.equipment,
|
|
op_no: config.cache.workStation,
|
|
plot_no : plotItem.plot_no,
|
|
return_type : '0'
|
|
},
|
|
success : function(data){
|
|
//data = JSON.parse(data.Result);
|
|
data = JSON.parse(data.ResultJson);
|
|
if(data.Result != 'fail'){
|
|
console.log(data);
|
|
data.plot_no = plotItem.plot_no;
|
|
data.OpNo = config.cache.workStation;
|
|
//data.sft_op_seq = data.OpSeq = plotItem.sft_op_seq;
|
|
data.lot_status = plotItem.status;
|
|
data.qty = plotItem.qty
|
|
if(callback)
|
|
callback(data);
|
|
} else {
|
|
$rootScope.showAlert(data.SysMsg, options.close);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function plotWaitProcess(content, callback){
|
|
$MMWService.sendToEAISrv({
|
|
uri: 'KMI.plot_wait_process_json',
|
|
content : content,
|
|
success : function(data){
|
|
data = JSON.parse(data.Result);
|
|
if(data.Result != 'fail'){
|
|
console.log(data);
|
|
if(callback)
|
|
callback();
|
|
} else {
|
|
$rootScope.showAlert(data.SysMsg);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
plotInfoGet(options.plotItem, function(data){
|
|
openDialog(data);
|
|
});
|
|
};
|
|
}]);
|
|
});
|