define(["moment", "module/moduleEPM/program/mrs-epm/epm01/epm01tmpService", "module/moduleEPM/program/mrs-epm/epm00/epm00Service"], function (moment) { return ["$scope", "$filter", "$stateParams", "config", "MMWService", "$rootScope", "epm01tmpService","epm00Service", function ($scope, $filter, $stateParams, config, $MMWService, $rootScope, $epm01tmpService,$epm00Service) { var UserNo = config.cache.account; var objCurItem; var lisValueList; var strPara; var lisChamber; var lisEQP; $scope.$root.btnList = []; $scope.loadeqpbreakdownstatebyuser; $scope.loadeqpbreakdownstatedetail; $scope.BREAKDOWNSTARTTIME; $scope.DESCRIPTION; $scope.EQUIPMENTTYPE; $scope.EQUIPMENTNO; $scope.EQUIPMENTNAME; $scope.BREAKDOWNSERIALNO; $scope.init = function () { funLoadParameter(function () { funLoadEquipmentBasis(function () { funGetValueList("TBLPMEQPBREAKDOWNSTATE","STATE",function () { funLoadEQPBreakDownState(); }); }); }); $scope.$root.btnList = [{ name: "button", icon_scr: 'image/iMES_icon/icon_unusual@1.png', class: [], //按鈕額外的class disabled: false, title: $filter('translate')('epm00.title'), click: function () { $epm00Service.init({ callback: function () { } }); } }]; } $scope.funGetDetail = function (item) { objCurItem = item; funLoadEquipmentBasis_All(item.EQUIPMENTNO,function (result) { $scope.BREAKDOWNSERIALNO = item.BREAKDOWNSERIALNO; // $scope.EQUIPMENTTYPE = result[0].EQUIPMENTTYPE; // $scope.EQUIPMENTNO = result[0].EQUIPMENTNO; // $scope.EQUIPMENTNAME = result[0].EQUIPMENTNAME; objCurItem.EQUIPMENTTYPE = result[0].EQUIPMENTTYPE; objCurItem.EQUIPMENTNO = result[0].EQUIPMENTNO; objCurItem.EQUIPMENTNAME = result[0].EQUIPMENTNAME; $scope.EQUIPMENTTYPE = objCurItem.EQUIPMENTTYPE; $scope.EQUIPMENTNO = objCurItem.EQUIPMENTNO; $scope.EQUIPMENTNAME = objCurItem.EQUIPMENTNAME; $scope.BREAKDOWNSTARTTIME = item.BREAKDOWNSTARTTIME; $scope.DESCRIPTION = item.DESCRIPTION; funLoadEQPBreakDownStateDetail(item.BREAKDOWNSERIALNO); }); } $scope.Register = function () { if(objCurItem == undefined ){ $rootScope.showAlert($filter('translate')("imes_resources.PLEASE SELECT") + $filter('translate')("imes_resources.BREAKDOWNSERIALNO")); return; } $epm01tmpService.init({ EQUIPMENTNO: objCurItem.EQUIPMENTNO, BREAKDOWNSERIALNO: objCurItem.BREAKDOWNSERIALNO, BREAKDOWNSTARTTIME: objCurItem.BREAKDOWNSTARTTIME, EQUIPMENTTYPE: objCurItem.EQUIPMENTTYPE, EQUIPMENTNAME: objCurItem.EQUIPMENTNAME, CREATEDATE: objCurItem.CREATEDATE, callback: function () { //重新整理資料 objCurItem = undefined; funLoadEQPBreakDownState(); } }); } function funSendToMESSrv_Multi(uri,content,callback) { var result; $MMWService.sendToMESSrv_Multi({ uri: uri, content: content, success: function (data) { var tmpJson = JSON.parse(data.ResultJson); var tmp; var index = 0; tmp = JSON.parse(tmpJson[uri[index]]); tmp = tmp[Object.keys(tmp)[0]]; result = tmp; if (callback){ callback(result); } } }); } function funLoadEQPBreakDownState() { var uri = []; var content = []; uri.push("kcPM.clsPMBasis.LoadEQPBreakDownStateByUser"); content.push({ UserNo:UserNo, State:1 }); funSendToMESSrv_Multi(uri,content,function (result) { $scope.loadeqpbreakdownstatebyuser = result; if(lisValueList.length > 0){ var drSel; $scope.loadeqpbreakdownstatebyuser.forEach(item=> { drSel = lisValueList.filter(item2 => { return item.STATE == item2.COLUMNVALUE; }); if(drSel.length > 0){ return item.STATE_RESOURCE = $filter('translate')('imes_resources.' + drSel[0].DISPLAYTEXT.toUpperCase()); } }); } if(strPara != "1" ){ $scope.loadeqpbreakdownstatebyuser.forEach(function(item, index, arr) { var arr; arr = lisChamber.filter(function(chamber) { return item.EQUIPMENTNO == chamber.EQUIPMENTNO; }); if(arr.length > 0) { $scope.loadeqpbreakdownstatebyuser.splice(index, 1); } }); } }); } function funLoadEQPBreakDownStateDetail(BreakDownSerialNo) { var uri = []; var content = []; uri.push("kcPM.clsPMBasis.LoadEQPBreakDownStateDetail"); content.push({ BreakDownSerialNo:BreakDownSerialNo }); funSendToMESSrv_Multi(uri,content,function (result) { $scope.loadeqpbreakdownstatedetail = result; }); } //'找出子設備的資料 function funLoadEquipmentBasis(callback) { var uri = []; var content = []; uri.push("kcEQP.clsEQPBasis.LoadEquipmentBasis"); content.push({ ChamberFlag:1 }); funSendToMESSrv_Multi(uri,content,function (result) { lisChamber = result; if (callback){ callback(); } }); } function funLoadEquipmentBasis_All(EquipmentNo,callback) { var uri = []; var content = []; uri.push("kcEQP.clsEQPBasis.LoadEquipmentBasis"); content.push({ EquipmentNo:EquipmentNo }); funSendToMESSrv_Multi(uri,content,function (result) { if (callback){ callback(result); } }); } function funLoadParameter(callback) { var uri = []; var content = []; uri.push("kcSYS.clsSYSParameter.LoadParameter"); content.push({ ParameterNo:"ChamberManage" }); funSendToMESSrv_Multi(uri,content,function (result) { strPara = result[0].PARAMETERVALUE; if (callback){ callback(); } }); } funGetValueList = function (col,value,callback) { var uri = []; var content = []; uri.push("kcSYS.clsValueList.LoadValueList"); content.push({ pTableName:col, pColumnName:value }); $MMWService.sendToMESSrv_Multi({ uri: uri, content: content, success: function (data) { if (data.Code == "0") { var tmpJson = JSON.parse(data.ResultJson); var tmp; var index = 0; tmp = JSON.parse(tmpJson[uri[index]]); tmp = tmp[Object.keys(tmp)[0]]; lisValueList = tmp; } if (callback){ callback(); } } }); } /*KMI List*/ $scope.KMIListInitConfig = function (pageCount, columns) { var obj = { header: [], columns: columns, filterColumn: {} }; var count; if (pageCount !== undefined && pageCount != null && !isNaN(parseFloat(pageCount))) count = pageCount; else { var doc = document.getElementById(pageCount); if (!doc) count = 5; else { var height = doc.offsetHeight; if (height === undefined || height == null || height <= 28 + 37) count = 5; else count = (height - 28 - 37) / 32; } } obj.page_count = Math.floor(count); return obj; } $scope.KMIListFilterDelete = function (PageConfig, index) { if (PageConfig) { PageConfig.header[index].isFilter = false; if (PageConfig.columns[index] in PageConfig.filterColumn) { delete PageConfig.filterColumn[PageConfig.columns[index]]; } } } $scope.KMIListGetPage = function (list, PageConfig) { if (list && list.length > 0) { if (PageConfig) { var header; if ('qeryOrder' in PageConfig && PageConfig.header.length > 0) header = PageConfig.header[PageConfig.qeryOrder]; var temp_list = PageConfig.filterColumn !== undefined ? temp_list = $filter('filter')(list, PageConfig.filterColumn) : list; if (header) temp_list = $filter('orderBy')(temp_list, "'" + header.code + "'", header.order); PageConfig.page = PageConfig.page || 0; PageConfig.total_page = Math.ceil(temp_list.length / PageConfig.page_count); if (PageConfig.total_page == 0) PageConfig.total_page = 1; if (PageConfig.page >= PageConfig.total_page) PageConfig.page = 0; var index = PageConfig.page * PageConfig.page_count; return temp_list.slice(index, index + PageConfig.page_count); } else { return list; } } else { PageConfig.page = 0; PageConfig.total_page = 1; return list; } } $scope.KMIListChangeOrder = function (PageConfig, index) { if (!PageConfig.header[index]) PageConfig.header[index] = {}; PageConfig.header[index].code = PageConfig.columns[index]; if (PageConfig.qeryOrder != index) { PageConfig.header[index].order = false; } else { PageConfig.header[index].order = !PageConfig.header[index].order; } PageConfig.qeryOrder = index; } $scope.KMIListPageInfo = function (PageConfig) { var p = 0; var t = 1; if (!PageConfig) return (p + 1) + ' / ' + t; if ('page' in PageConfig) p = PageConfig.page; if ('total_page' in PageConfig) t = PageConfig.total_page; return (p + 1) + ' / ' + t; } $scope.KMIListPrevPage = function (PageConfig) { if (!PageConfig || !('page' in PageConfig) || !('total_page' in PageConfig)) return PageConfig.page return PageConfig.page = (PageConfig.page - 1 < 0 ? 0 : PageConfig.page - 1); } $scope.KMIListNextPage = function (PageConfig) { if (!PageConfig || !('page' in PageConfig) || !('total_page' in PageConfig)) return PageConfig.page return PageConfig.page = (PageConfig.page + 1 > (PageConfig.total_page - 1) ? (PageConfig.total_page - 1) : PageConfig.page + 1); } } ] });