| <?xml version="1.0" encoding="UTF-8"?> | 
| <WebLink xmlns="http://soap.sforce.com/2006/04/metadata"> | 
|     <fullName>SendRepairsToEtQ</fullName> | 
|     <availability>online</availability> | 
|     <displayType>button</displayType> | 
|     <linkType>javascript</linkType> | 
|     <masterLabel>发送修理到EtQ</masterLabel> | 
|     <openType>onClickJavaScript</openType> | 
|     <protected>false</protected> | 
|     <url>{!REQUIRESCRIPT("/soap/ajax/51.0/connection.js")};  | 
| {!REQUIRESCRIPT("/soap/ajax/51.0/apex.js")};  | 
| {!RequireScript("/resource/CommonUtilJs")}  | 
| //2021-10-21 gwy 版本更改为51.0 | 
| // 根据日期构建MessageGroupNumber  | 
| var myDate = function(){  | 
| let messageNumber = '';  | 
| let today = new Date();  | 
| messageNumber = today.getFullYear()+''+(today.getMonth()+1)+''+today.getDate()+''+today.getHours()+''  | 
| +today.getMinutes()+''+today.getSeconds();  | 
| return messageNumber;  | 
| };  | 
|   | 
| var foo = function() {  | 
| var re= new sforce.SObject("Repair__c");  | 
| var RepairId = "{!Repair__c.Id}";  | 
|   | 
| var uid = '{! $User.Id}';  | 
| // 20201117 add by gzw | 
| if("{!$Profile.Id}" != "00e10000000xnoO" && "{!$Profile.Id}" != "00e10000000hl7w"){ | 
| alert("您没有发送修理到EtQ的权限。");  | 
| return;  | 
| } | 
| // 20201117 add by gzw | 
| // add by Gzw 修理判断状态R1、R2判断  | 
| var statu;  | 
| if("{!Repair__c.PAE_Determine__c}" == ""){  | 
| alert("OCSM QARA的PAE判定是空的时候,不可以发送到EtQ。");  | 
| return;  | 
| }  | 
| if("{!Repair__c.ETQ_UPLOAD_STATUS__c}" == "3"){  | 
| if (!confirm("是否清空EtQ同步状态,重新同步数据?")) {  | 
| return;  | 
| }  | 
| }  | 
|   | 
| if("{!Repair__c.PAE_Determine__c}" == "nonPAE" &&"{!Repair__c.AE_DetermineResult__c}" == "nonAE" && "{!Repair__c.PAE_DetermineAC__c}" == "nonPAE"){  | 
| alert("Close Complait的时候,不可以发送到EtQ");  | 
| return;  | 
| }  | 
| // R1  | 
| if("{!Repair__c.PAE_Determine__c}" != "" &&"{!Repair__c.AE_DetermineResult__c}" != "" && "{!Repair__c.PAE_DetermineAC__c}" == ""){  | 
| statu = "R1";  | 
| }  | 
| // R1  | 
| else if (("{!Repair__c.AE_DetermineResult__c}" != "" && "{!Repair__c.PAE_Determine__c}" != "" && "{!Repair__c.PAE_DetermineAC__c}" != "")  | 
| && !("{!Repair__c.PAE_Determine__c}" == "nonPAE" &&"{!Repair__c.AE_DetermineResult__c}" == "nonAE" && "{!Repair__c.PAE_DetermineAC__c}" == "nonPAE") ){  | 
| statu = "R2"; | 
| if("{!Repair__c.Repair_Inspection_Date__c}" == ""){  | 
| alert("5.修理检测日是空的时候,不可以发送到EtQ。");  | 
| return;  | 
| } | 
| if("{!Repair__c.Contain_UseRSA__c}" == 1){  | 
| alert("Final universal code为空,或者包含UseRSA,请确认。");  | 
| return;  | 
| }  | 
| }  | 
| //alert('statu' + statu);  | 
| // add by Gzw 修理判断状态R1、R2判断  | 
|   | 
|   | 
|   | 
|   | 
|   | 
| //alert(uid);  | 
| var result;  | 
| try {  | 
| // alert('batchId'+result[0].id)  | 
| var repairids = new Array()  | 
| repairids[0] = "{!Repair__c.Id}";  | 
|   | 
| // 发送修理到ETQ  | 
| result = sforce.apex.execute("NFM401WebService","sendToETQ",{"iflog_Id":null,"rowDataSFDC":null,"repairIds":repairids,"statu":statu});  | 
|   | 
| // 更新修理  | 
| //var updateRe = new sforce.SObject("Repair__c");  | 
| //updateRe.Id = RepairId;  | 
| //updateRe.INTERFACE_RECORD_ID__c = null;  | 
| //updateRe.ETQ_UPLOAD_STATUS__c = null;  | 
| //updateRe.ETQ_UPLOAD_MESSAGE__c = null;  | 
| //updateRe.OSH_ConfirmationDate__c = new Date();  | 
| //updateRe.OSH_Affirmant__c = uid;  | 
| //var serverTimestamp = sforce.connection.getServerTimestamp();  | 
| //updateRe.AWS_Interface_Time__c = serverTimestamp.timestamp;  | 
| //updateRe.AsyncData__c = true;  | 
| //alert('updateRe'+updateRe);  | 
| //result = sforce.connection.update([updateRe]);  | 
| //更新失败的话取消发送,并给出提示 2021-04-23 rentx | 
| alert(result); | 
| //alert("发送成功!")  | 
| //更新失败的话取消发送,并给出提示 2021-04-23 rentx | 
| var btns = document.getElementsByName("sendrepairstoetq");  | 
| for (var i=0; i<btns.length; i++) {  | 
| btns[i].disabled = true;  | 
| btns[i].className = 'btnDisabled';  | 
| }  | 
| // 点击【发送修理到EtQ】并发送成功后,希望自动刷新画面。  | 
| location.reload();  | 
| } catch (error) {  | 
| alert("发送修理到EtQ失败"+error.faultstring+' code:'+error.faultcode)  | 
| }  | 
|   | 
| }  | 
|   | 
| // 按钮点击后触发,判断是否发送过ETQ,如果发送过给出提示并灰掉按钮  | 
| // 如果没有发送过调用发送方法  | 
| var myReload = function(){  | 
| let rid = "{!Repair__c.Id}";  | 
| var result = sforce.connection.query("select id,AsyncData__c,Complaint_Number__c,ETQ_UPLOAD_STATUS__c from Repair__c where id = '"+ rid +"'");  | 
| var record = result.getArray("records")[0];  | 
| // alert(typeof record.AsyncData__c)  | 
| //if ((record.AsyncData__c == 'true' && record.ETQ_UPLOAD_STATUS__c != '3' && //record.ETQ_UPLOAD_STATUS__c != '') || record.Complaint_Number__c != null){  | 
| if (record.AsyncData__c == 'true' && record.ETQ_UPLOAD_STATUS__c != '3' || record.Complaint_Number__c != null){ | 
| // alert(record.AsyncData__c)  | 
| //alert(record.Complaint_Number__c)  | 
| var btns = document.getElementsByName("sendrepairstoetq");  | 
| for (var i=0; i<btns.length; i++) {  | 
| btns[i].disabled = true;  | 
| btns[i].className = 'btnDisabled';  | 
| }  | 
| alert('该修理之前已经发送过了')  | 
| }else{  | 
| foo();  | 
| }  | 
| }  | 
| myReload();</url> | 
| </WebLink> |