涂煌豪
2022-05-06 ff435968945d457f9ee653a9620fa1c7d78d2d4c
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?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(&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;; 
// 20201117 add by gzw
if(&quot;{!$Profile.Id}&quot; != &quot;00e10000000xnoO&quot; &amp;&amp; &quot;{!$Profile.Id}&quot; != &quot;00e10000000hl7w&quot;){
alert(&quot;您没有发送修理到EtQ的权限。&quot;); 
return; 
}
// 20201117 add by gzw
// 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.ETQ_UPLOAD_STATUS__c}&quot; == &quot;3&quot;){ 
if (!confirm(&quot;是否清空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;;
if(&quot;{!Repair__c.Repair_Inspection_Date__c}&quot; == &quot;&quot;){ 
alert(&quot;5.修理检测日是空的时候,不可以发送到EtQ。&quot;); 
return; 
}
if(&quot;{!Repair__c.Contain_UseRSA__c}&quot; == 1){ 
alert(&quot;Final universal code为空,或者包含UseRSA,请确认。&quot;); 
return; 
//alert(&apos;statu&apos; + statu); 
// 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;NFM401WebService&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]); 
//更新失败的话取消发送,并给出提示 2021-04-23 rentx
alert(result);
//alert(&quot;发送成功!&quot;) 
//更新失败的话取消发送,并给出提示 2021-04-23 rentx
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(typeof record.AsyncData__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){ 
if (record.AsyncData__c == &apos;true&apos; &amp;&amp; record.ETQ_UPLOAD_STATUS__c != &apos;3&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>