涂煌豪
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
<?xml version="1.0" encoding="UTF-8"?>
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>sendRepairToETQ_PDF</fullName>
    <availability>online</availability>
    <displayType>button</displayType>
    <linkType>javascript</linkType>
    <masterLabel>发送修理到ETQ测试PDF</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.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;; 
//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;NFM401WebService1&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(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){ 
// 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>