binxie
2023-06-20 6d14c34d9a4e304bf3289e4ad957b091f27ef3b8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?xml version="1.0" encoding="UTF-8"?>
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>sendReportToETQ_R3_Test</fullName>
    <availability>online</availability>
    <displayType>button</displayType>
    <linkType>javascript</linkType>
    <masterLabel>发送修理到ETQ测试_R3</masterLabel>
    <openType>onClickJavaScript</openType>
    <protected>false</protected>
    <url>{!REQUIRESCRIPT(&quot;/soap/ajax/51.0/connection.js&quot;)}; 
{!REQUIRESCRIPT(&quot;/soap/ajax/51.0/apex.js&quot;)}; 
{!RequireScript(&quot;/resource/CommonUtilJs&quot;)} 
//2021-10-21 gwy 版本更改为51.0
// 根据日期构建MessageGroupNumber 
var myDate = function(){ 
let messageNumber = &apos;&apos;; 
let today = new Date(); 
messageNumber = today.getFullYear()+&apos;&apos;+(today.getMonth()+1)+&apos;&apos;+today.getDate()+&apos;&apos;+today.getHours()+&apos;&apos; 
+today.getMinutes()+&apos;&apos;+today.getSeconds(); 
return messageNumber; 
}; 
 
var foo = function() { 
var re= new sforce.SObject(&quot;Repair__c&quot;); 
var RepairId = &quot;{!Repair__c.Id}&quot;; 
var uid = &apos;{! $User.Id}&apos;; 
// add by Gzw 修理判断状态R1、R2判断
var status;
    if(&quot;{!Repair__c.PAE_Determine__c}&quot; == &quot;nonPAE&quot;  &amp;&amp;
    &quot;{!Repair__c.AE_DetermineResult__c}&quot; == &quot;nonAE&quot; &amp;&amp; 
    &quot;{!Repair__c.PAE_DetermineAC__c}&quot; == &quot;nonPAE&quot; &amp;&amp;  
    &quot;{!Repair__c.Repair_Shipped_Date__c}&quot; != &quot;&quot;){
       status = &quot;R3&quot;;
    }else{
       alert(status + &quot;不是R3,请点击按钮 发送修理到EtQ。&quot;);
       return;
    }
// alert(&quot;status&quot; + status);
// add by Gzw 修理判断状态R1、R2判断
//alert(uid); 
var result; 
try { 
// alert(&apos;batchId&apos;+result[0].id) 
var repairids = new Array() 
repairids[0] = &quot;{!Repair__c.Id}&quot;; 
 
// 发送修理到ETQ 
result = sforce.apex.execute(&quot;NFM401Controller1&quot;,&quot;sendToETQ&quot;,{&quot;iflog_Id&quot;:null,&quot;rowDataSFDC&quot;:null,&quot;repairIds&quot;:repairids,&quot;statu&quot;:status}); 
 
// 更新修理 
var updateRe = new sforce.SObject(&quot;Repair__c&quot;); 
updateRe.Id = RepairId; 
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(&apos;updateRe&apos;+updateRe); 
result = sforce.connection.update([updateRe]); 
alert(&quot;发送成功!&quot;) 
var btns = document.getElementsByName(&quot;sendrepairstoetq&quot;); 
for (var i=0; i&lt;btns.length; i++) { 
btns[i].disabled = true; 
btns[i].className = &apos;btnDisabled&apos;; 
// 点击【发送修理到EtQ】并发送成功后,希望自动刷新画面。 
location.reload(); 
} catch (error) { 
alert(&quot;发送修理到EtQ失败&quot;+error.faultstring+&apos; code:&apos;+error.faultcode) 
 
 
// 按钮点击后触发,判断是否发送过ETQ,如果发送过给出提示并灰掉按钮 
// 如果没有发送过调用发送方法 
var myReload = function(){ 
let rid = &quot;{!Repair__c.Id}&quot;; 
var result = sforce.connection.query(&quot;select id,AsyncData__c,Complaint_Number__c from Repair__c where id = &apos;&quot;+ rid +&quot;&apos;&quot;); 
var record = result.getArray(&quot;records&quot;)[0]; 
// alert(typeof record.AsyncData__c) 
if (record.AsyncData__c == &apos;true&apos; || record.Complaint_Number__c != null){ 
// alert(record.AsyncData__c) 
var btns = document.getElementsByName(&quot;sendrepairstoetq&quot;); 
for (var i=0; i&lt;btns.length; i++) { 
btns[i].disabled = true; 
btns[i].className = &apos;btnDisabled&apos;; 
alert(&apos;该修理之前已经发送过了&apos;) 
}else{ 
foo(); 
myReload();</url>
</WebLink>