This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
SXS20240115/SRC/iMES_PAD/module/moduleWIP/program/mrs-eqp/mrs08/mrs08Service.js
2024-01-24 16:47:50 +08:00

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);
});
};
}]);
});