Li Jun
2022-04-13 5c01ebbfddb6b8674430b47c22977bea2e350084
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="UTF-8"?>
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>R1_R2_R3_Test</fullName>
    <availability>online</availability>
    <displayType>button</displayType>
    <linkType>javascript</linkType>
    <masterLabel>重发测试按钮</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 statu;
    if(&quot;{!Repair__c.PAE_Determine__c}&quot; == &quot;&quot;){
       alert(&quot;OCSM QARA的PAE判定是空的时候,不可以发送到EtQ。&quot;);
       return;
    }
    
    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;){
       alert(&quot;Close Complait的时候,不可以发送到EtQ&quot;);
       return;
    }
// R1
    if(&quot;{!Repair__c.PAE_Determine__c}&quot; != &quot;&quot;  &amp;&amp;&quot;{!Repair__c.AE_DetermineResult__c}&quot; != &quot;&quot; &amp;&amp; &quot;{!Repair__c.PAE_DetermineAC__c}&quot; == &quot;&quot;){
       statu = &quot;R1&quot;;
    }
    // R1
    else if ((&quot;{!Repair__c.AE_DetermineResult__c}&quot; != &quot;&quot; &amp;&amp; &quot;{!Repair__c.PAE_Determine__c}&quot; != &quot;&quot;  &amp;&amp; &quot;{!Repair__c.PAE_DetermineAC__c}&quot; != &quot;&quot;) 
&amp;&amp; !(&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;) ){
       statu = &quot;R2&quot;;
    }
//alert(&apos;statu&apos; + statu);
//return;
 
// 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;:statu});
 
// 更新修理
        var updateRe = new sforce.SObject(&quot;Repair__c&quot;);
        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(&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,ETQ_UPLOAD_STATUS__c from Repair__c where id = &apos;&quot;+ rid +&quot;&apos;&quot;);
    var record = result.getArray(&quot;records&quot;)[0];
alert(record.AsyncData__c);
alert(record.Complaint_Number__c);
alert(record.ETQ_UPLOAD_STATUS__c);
    if ((record.AsyncData__c == &apos;true&apos; &amp;&amp; record.ETQ_UPLOAD_STATUS__c != &apos;3&apos; &amp;&amp; record.ETQ_UPLOAD_STATUS__c != &apos;&apos;) || record.Complaint_Number__c != null){
// alert(record.AsyncData__c)
//alert(record.Complaint_Number__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>