Li Jun
2022-04-19 2f183a6b0a83ec3f7d35375d5d25d200efc2a3e1
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
137
138
<?xml version="1.0" encoding="UTF-8"?>
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>SendQISToEtQ</fullName>
    <availability>online</availability>
    <displayType>button</displayType>
    <linkType>javascript</linkType>
    <masterLabel>发送QIS到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;)}; 
//2021-10-21 gwy 版本更改为51.0
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 QId = &quot;{!QIS_Report__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 
if (&quot;{!QIS_Report__c.PAE_Determine__c}&quot;==&quot;&quot;){ 
alert(&quot;OCSM QARA的PAE判定是空的时候,不可以发送到EtQ。&quot;); 
return; 
 
if (&quot;{!QIS_Report__c.AE_DetermineResult__c}&quot; == &quot;nonAE&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_Determine__c}&quot; == &quot;nonPAE&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_DetermineAC__c}&quot; == &quot;nonPAE&quot; &amp;&amp; &quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;&quot; &amp;&amp; &quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;&quot;){
alert(&quot;nonAE并nonPAE的QIS同步到EtQ的时候,检测结论(OCSM)是必填的。不可以发送到EtQ。&quot;); 
return; 
 
if(&quot;{!QIS_Report__c.ETQ_UPLOAD_STATUS__c}&quot; == &quot;3&quot;){ 
if (!confirm(&quot;是否清空EtQ同步状态,重新同步数据?&quot;)) { 
return; 
 
var statu; 
// alert(&quot;AE判定:&quot;+&quot;{!QIS_Report__c.AE_DetermineResult__c}&quot;); 
// alert(&quot;OCSM QARA的PAE判定:&quot;+&quot;{!QIS_Report__c.PAE_Determine__c}&quot;); 
// alert(&quot;OCSM Coding的PAE判定:&quot;+ &quot;{!QIS_Report__c.PAE_DetermineAC__c}&quot;); 
if (&quot;{!QIS_Report__c.AE_DetermineResult__c}&quot; != &quot;&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_Determine__c}&quot; != &quot;&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_DetermineAC__c}&quot; == &quot;&quot;){ 
statu = &quot;Q1&quot;; 
}else if ( 
(&quot;{!QIS_Report__c.AE_DetermineResult__c}&quot; != &quot;&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_Determine__c}&quot; != &quot;&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_DetermineAC__c}&quot; != &quot;nonPAE&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_DetermineAC__c}&quot; != &quot;&quot;) 
|| (&quot;{!QIS_Report__c.AE_DetermineResult__c}&quot; == &quot;nonAE&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_Determine__c}&quot; == &quot;nonPAE&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_DetermineAC__c}&quot; == &quot;nonPAE&quot;) 
&amp;&amp; ((&quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;&quot; 
&amp;&amp; &quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;质量问题&quot;) 
||((&quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;质量问题&quot; || &quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;质量问题+非质量问题&quot; ) 
&amp;&amp;(&quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;&quot; || &quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;质量问题&quot;)) 
||(&quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;非质量问题&quot; || &quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;现象未发现&quot;) 
&amp;&amp; &quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;质量问题&quot; )){ 
statu = &quot;Q2&quot;; 
}else if ((&quot;{!QIS_Report__c.AE_DetermineResult__c}&quot; == &quot;nonAE&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_Determine__c}&quot; == &quot;nonPAE&quot; &amp;&amp; &quot;{!QIS_Report__c.PAE_DetermineAC__c}&quot; == &quot;nonPAE&quot;) &amp;&amp; 
((&quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;&quot; || &quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;质量问题&quot; || &quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;质量问题+非质量问题&quot;) &amp;&amp; &quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;非质量问题&quot;) 
|| ((&quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;非质量问题&quot; || &quot;{!QIS_Report__c.OCM_judgement__c}&quot; == &quot;现象未发现&quot;) &amp;&amp;(&quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;&quot; || &quot;{!QIS_Report__c.QIS_final_judgement__c}&quot; == &quot;非质量问题&quot;))){ 
statu = &quot;Q3&quot;; 
 
// alert(&quot;statu:&quot;+statu); 
 
try { 
var result; 
// alert(&apos;batchId&apos;+result[0].id) 
//注释by rentx 2021-03-23 start 
// var qisreports = new Array() 
// qisreports[0] = &quot;{!QIS_Report__c.Id}&quot;; 
 
// result = sforce.apex.execute(&quot;NFM401Controller1&quot;,&quot;sendToETQ&quot;,{&quot;iflog_Id&quot;:null,&quot;rowDataSFDC&quot;:null,&quot;repairIds&quot;:qisreports,&quot;statu&quot;:statu}); 
// result = sforce.apex.execute(&quot;NFM401WebService&quot;,&quot;sendToETQ&quot;,{&quot;iflog_Id&quot;:null,&quot;rowDataSFDC&quot;:null,&quot;repairIds&quot;:qisreports,&quot;statu&quot;:statu}); 
//注释byrentx 2021-04-23 end 
// alert(&apos;result++&apos;+result) 
 
var updateqis = new sforce.SObject(&quot;QIS_Report__c&quot;); 
updateqis.Id = QId ; 
updateqis.INTERFACE_RECORD_ID__c = null; 
updateqis.ETQ_UPLOAD_STATUS__c = null; 
updateqis.ETQ_UPLOAD_MESSAGE__c = null; 
updateqis.AsyncData__c = true; 
var serverTimestamp = sforce.connection.getServerTimestamp(); 
updateqis.AWS_Interface_Time__c = serverTimestamp.timestamp; 
updateqis.OSH_ConfirmationDate__c = new Date(); 
updateqis.OSH_Affirmant__c = uid; 
 
//alert(&apos;updateqs&apos;+updateqs); 
var result = sforce.connection.update([updateqis]); 
 
//一下代码从更新qis前移动到更新qis后 ↓↓ start 2021-04-23 
// alert(&apos;batchId&apos;+result[0].id) 
var qisreports = new Array() 
qisreports[0] = &quot;{!QIS_Report__c.Id}&quot;; 
 
// result = sforce.apex.execute(&quot;NFM401Controller1&quot;,&quot;sendToETQ&quot;,{&quot;iflog_Id&quot;:null,&quot;rowDataSFDC&quot;:null,&quot;repairIds&quot;:qisreports,&quot;statu&quot;:statu}); 
result = sforce.apex.execute(&quot;NFM401WebService&quot;,&quot;sendToETQ&quot;,{&quot;iflog_Id&quot;:null,&quot;rowDataSFDC&quot;:null,&quot;repairIds&quot;:qisreports,&quot;statu&quot;:statu}); 
// alert(&apos;result++&apos;+result) 
//以上代码从更新qis前移动到qis后 ↑↑ 2021-04-23 end 
 
alert(&quot;发送成功!&quot;) 
var btns = document.getElementsByName(&quot;sendqistoetq&quot;); 
for (var i=0; i&lt;btns.length; i++) { 
btns[i].disabled = true; 
btns[i].className = &apos;btnDisabled&apos;; 
// 点击【发送QIS到EtQ】并发送成功后,希望自动刷新画面。 
location.reload(); 
} catch (error) { 
alert(&quot;发送QIS到EtQ失败&quot;+error.faultstring+&apos; code:&apos;+error.faultcode) 
 
var myReload = function(){ 
var QId = &quot;{!QIS_Report__c.Id}&quot;; 
var result = sforce.connection.query(&quot;select id,AsyncData__c,Complaint_Number__c,ETQ_UPLOAD_STATUS__c from QIS_Report__c where id = &apos;&quot;+ QId +&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) 
var btns = document.getElementsByName(&quot;sendqistoetq&quot;); 
for (var i=0; i&lt;btns.length; i++) { 
btns[i].disabled = true; 
btns[i].className = &apos;btnDisabled&apos;; 
alert(&apos;该QIS之前已经发送过了&apos;) 
}else{ 
foo(); 
myReload();</url>
</WebLink>