Li Jun
2022-04-27 f90c63155656928b86f1ce1d91a134de3d12d2b9
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
<?xml version="1.0" encoding="UTF-8"?>
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>Send_NFM103</fullName>
    <availability>online</availability>
    <displayType>button</displayType>
    <linkType>javascript</linkType>
    <masterLabel>申请修理</masterLabel>
    <openType>onClickJavaScript</openType>
    <protected>false</protected>
    <url>// Ext.select(&apos;*[name=send_nfm103]&apos;).set({disabled:&apos;disabled&apos;,class:&apos;btnDisabled&apos;}, true);
var btns = document.getElementsByName(&quot;send_nfm103&quot;);
for (var i=0; i&lt;btns.length; i++) {
btns[i].disabled = true;
btns[i].className = &apos;btnDisabled&apos;;
}
{!RequireScript(&quot;/soap/ajax/51.0/connection.js&quot;)}
{!RequireScript(&apos;/resource/1600400985000/CommonUtilJs&apos;)}
//2021-10-21 gwy 版本更改为51.0
 
var getConnectDMLErrorMessages = function (results) {
var messages = [],
i = 0,
len = results.length,
r;
for (; i &lt; len; i++) {
r = results[i];
if (!r.getBoolean(&quot;success&quot;)) {
messages = messages.concat(getConnectDMLMessagesOfAResult(r));
}
}
return messages;
};
var getConnectDMLMessagesOfAResult = function (res) {
var messages = [],
errors = res.getArray(&quot;errors&quot;),
i = 0,
len = errors.length,
e;
for (; i &lt; len; i++) {
e = errors[i];
messages.push(e.message + &quot; &quot; + getConnectDMLErrorFields(e));
}
return messages;
};
var getConnectDMLErrorFields = function (error) {
var fields = error.getArray(&apos;fields&apos;);
if (fields.length &gt; 0) {
return &quot;[&quot; + fields.join(&quot;,&quot;) + &quot;]&quot;
} else {
return &quot;&quot;;
}
};
 
 
var foo = function() {
//wangweipeng 2021/11/19 start
//如果修理为 非维修合同的、不是多年保并且服务方式为 直送sorc修理的,提示一下
if(&apos;{!Repair__c.Number_of_EffectiveContract__c}&apos; == &apos;无&apos;
&amp;&amp; &apos;{!Repair__c.NewProductGuarante_Txt__c}&apos; != &apos;2: 多年保修&apos;
&amp;&amp; &apos;{!Repair__c.NewProductGuarante_Txt__c}&apos; != &apos;2: 服务多年保修&apos;
&amp;&amp; &apos;{!Repair__c.NewProductGuarante_Txt__c}&apos; != &apos;8: 市场多年保修&apos;
&amp;&amp; &apos;{!Repair__c.On_site_repair__c}&apos; == &apos;直送SORC修理&apos;)
{
if(!confirm(&quot;设备为非维修合同且非多年保修对象品,请确认是否直送SORC修理?&quot;)){
return;
}
}
//wangweipeng 2021/11/19 end
 
//WLIG-CAN6CJ LY 2022/01/27 start
// 申请修理时SAP修理申请日超过问题联络收到日1天,必须填写问超时报告的理由
var today = Date.parse(&quot;{!TODAY()}&quot;);
var dateReceiptQuestions = Date.parse(&quot;{!Repair__c.DateReceiptQuestions__c}&quot;);
var dates = (today -dateReceiptQuestions)/(24*60*60*1000);
if(&quot;{!$Profile.Id}&quot; != &quot;00e10000000Y3o5&quot; &amp;&amp; &quot;{!$User.Id}&quot; != &quot;0051000000AKgzv&quot; &amp;&amp; &quot;{!$User.Id}&quot; !=&quot;0051000000AKh05&quot;
&amp;&amp; &quot;{!$User.Id}&quot; != &quot;00510000004q1ed&quot;
&amp;&amp; &quot;{!Repair__c.DelayReportReason__c}&quot; == &quot;&quot; &amp;&amp; dates &gt; &quot;1&quot;
&amp;&amp; &quot;{!Repair__c.RepairSource__c}&quot; != &quot;QIS转修理&quot; )
{
alert(&quot;申请修理时SAP修理申请日超过问题联络收到日1天,必须填写问超时报告的理由&quot;);
return;
}
//WLIG-CAN6CJ LY 2022/01/27 end
 
//wangweipeng 2022/01/24 start
// 如果修理有维修合同,或是多年保修,那么如果 服务方式 没有选择 直送SORC修理或直送OGZ修理,做提示
if({!Repair__c.Quick_Repair_Sign__c} == true
&amp;&amp; (&apos;{!Repair__c.Number_of_EffectiveContract__c}&apos; == &apos;有&apos;
|| &apos;{!Repair__c.NewProductGuarante_Txt__c}&apos; == &apos;2: 多年保修&apos;
|| &apos;{!Repair__c.NewProductGuarante_Txt__c}&apos; == &apos;2: 服务多年保修&apos;
|| &apos;{!Repair__c.NewProductGuarante_Txt__c}&apos; == &apos;8: 市场多年保修&apos;)
&amp;&amp; (&apos;{!Repair__c.On_site_repair__c}&apos; == &apos;RC修理&apos; || &apos;{!Repair__c.On_site_repair__c}&apos; == &apos;办事处修理&apos; || &apos;{!Repair__c.On_site_repair__c}&apos; == &apos;现场修理&apos;))
{
if(&apos;{!Repair__c.RCCD__c}&apos; == &apos;2.东北&apos; || &apos;{!Repair__c.RCCD__c}&apos; == &apos;3.西北&apos;){
if(!confirm(&quot;该型号对应为合同或多年保对象品。如确认为大修理故障,需要选择直送SORC修理,请确认是否继续。&quot;)){
return;
}
}else if(&apos;{!Repair__c.RCCD__c}&apos; == &apos;1.华北&apos; || &apos;{!Repair__c.RCCD__c}&apos; == &apos;6.华南&apos; || &apos;{!Repair__c.RCCD__c}&apos; == &apos;4.西南&apos;){
if(!confirm(&quot;该型号对应为合同或多年保对象品。如确认为大修理故障,需要选择直送OGZ修理,请确认是否继续。&quot;)){
return;
}
}
}
//wangweipeng 2022/01/24 end
//wangweipeng 2021/08/02 直返收货地址 start
//如果不是华东、西北、西南和cic为奥辉产品,那么不需要这些判断
var returnsProductWay = &apos;{!Repair__c.Returns_Product_way__c}&apos;;
var falg = true;
if(returnsProductWay == &quot;&quot;){
if(!confirm(&quot;返品方式为空,是否继续申请修理!&quot;)){
return;
}
}
 
//2021/10/19 开发权限给华东、西北、西南和cic为奥辉产品
//2021/10/29 开发权限给华北和东北
//if(&quot;{!Repair__c.Sales_Dept_HP__c}&quot; == &quot;1.华北&quot; || &quot;{!Repair__c.Sales_Dept_HP__c}&quot; == &quot;2.东北&quot; || &quot;{!Repair__c.Sales_Dept_HP__c}&quot; == &quot;3.西北&quot; || &quot;{!Repair__c.Sales_Dept_HP__c}&quot; == &quot;4.西南&quot; || &quot;{!Repair__c.Sales_Dept_HP__c}&quot; == &quot;5.华东&quot; || &quot;{!Repair__c.is_aohui_product__c}&quot; == &quot;1&quot;){
//上海和备品不需要判断地址是否为空,其他都需要
//update wangweipeng 2021/12/27 start
//if(&quot;{!Repair__c.State_Hospital__c}&quot; == &quot;上海市&quot; || &quot;{!Repair__c.Asset_Owner__c}&quot; == &quot;Olympus&quot;){
if(&quot;{!Repair__c.Asset_Owner__c}&quot; == &quot;Olympus&quot;){
//update wangweipeng 2021/12/27 end
 
}else{
var DetailedAddress = &apos;{!JSENCODE(Repair__c.Detailed_Address__c)}&apos;;
DetailedAddress = DetailedAddress.replace(/\r\n/g,&apos;&apos;)+&apos;&apos;;
if(DetailedAddress != &apos;&apos;){
var prompt = &apos;当前直返收货地址为:&apos; + DetailedAddress +&apos;,您确认不修改了吗?&apos;;
if(!confirm(prompt)){
return;
}
}else{
alert(&apos;当前修理没有录入直返收货的详细地址,不能申请修理!&apos;);
return;
}
}
//}
//wangweipeng 2021/08/02 直返收货地址 end
 
// 设备废弃,不能提交申请 --- 16/10/21 韩超
var equipmentset = sforce.connection.query(&quot;SELECT Id, Status FROM Asset WHERE Id = &apos;{!Repair__c.Delivered_ProductId__c}&apos;&quot;);
var equipments = equipmentset.getArray(&quot;records&quot;);
if (equipments != null &amp;&amp; equipments.length &gt; 0) {
var equipment = equipments[0];
if (equipment.Status == &apos;廃棄&apos;){
alert(&quot;设备废弃,不能提交申请!&quot;);
return;
}
}
 
//
 
// Gzw 20200901
if(&quot;{!Repair__c.FSE_ApplyForRepair_time__c}&quot; != &quot;&quot;){
alert(&quot;已修理申请,不再修理申请了&quot;);
return;
}
// 20200901
 
if (&quot;{!Repair__c.Status__c}&quot; != &quot;草案中&quot; &amp;&amp; &quot;{!Repair__c.Status__c}&quot; != &quot;1.受理完毕(SAP待发送)&quot; &amp;&amp; &quot;{!Repair__c.Status__c}&quot; != &quot;4.修理品返送阶段&quot;) {
alert(&quot;不是草案中不能申请&quot;);
} else {
// HWAG-BDV5W7---XHL-20190711---Start
if (&quot;{!Repair__c.Dealer__c}&quot; != &quot;&quot;){
var findInvalidLicense = sforce.connection.query(&quot;select Id,Is_Validity__c from Account where Is_Validity__c = false And Id = &apos;{!Repair__c.DealerId__c}&apos;&quot;);
if (findInvalidLicense.size &gt;0) {
alert(&quot;经销商三证不在有效期,无法送修&quot;);
return;
}
 
}
// HWAG-BDV5W7---XHL-20190711---End
// 20200604
if(&quot;{!Repair__c.ifDeadHurt__c}&quot; == &quot;有&quot;){
if (!confirm(&quot;是否确认AE要提交?&quot;)) {
return;
}
}
// 20200604
 
// 20201106 gzw
if(&quot;{!Repair__c.Day_later_30__c}&quot; == &quot;是&quot;){
alert(&quot;创建后超过30天,不能申请了&quot;);
return;
}
// 20201106 gzw
 
var repair = new sforce.SObject(&quot;Repair__c&quot;);
repair.Id = &quot;{!Repair__c.Id}&quot;;
//LJPH-C9F3Z2 LY 20220110 Star
if(&quot;{!Repair__c.Recall_Correspondence__c}&quot;==&apos;1&apos;){
repair.Recall_Correspondence_Apply__c = &apos;是&apos;;
}else{
repair.Recall_Correspondence_Apply__c = &apos;否&apos;;
}
//LJPH-C9F3Z2 LY 20220110 end
var resultTmp = sforce.connection.update([repair]);
var messagesTmp = getConnectDMLErrorMessages(resultTmp);
if (messagesTmp.length &gt; 0) {
alert(messagesTmp.join(&quot;\n&quot;));
} else {
var resultSet = sforce.connection.query(&quot;SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = &apos;{!Repair__c.Incharge_StaffId__c}&apos;&quot;);
var records = resultSet.getArray(&quot;records&quot;);
if (records != null &amp;&amp; records.length &gt; 0) {
var staff = records[0];
repair.JingliApprovalManager__c = staff.JingliApprovalManager__c == null ? staff.Id : staff.JingliApprovalManager__c;
repair.BuchangApprovalManager__c = staff.BuchangApprovalManager__c == null ? staff.Id : staff.BuchangApprovalManager__c;
repair.ZongjianApprovalManager__c = staff.ZongjianApprovalManager__c == null ? staff.Id : staff.ZongjianApprovalManager__c;
var serverTimestamp = sforce.connection.getServerTimestamp();
repair.FSE_ApplyForRepair_time__c = serverTimestamp.timestamp;
repair.DW_Sign_Txt__c = {!Repair__c.DW_Sign__c}; //20210608 ljh SFDC-C3CCN4 end
repair.status__c = &apos;1.受理完毕&apos;;
repair.Service_contract_judege_day__c = new Date();
// 非对象的时候 点击修理画面的【申请修理】的时候,SAP传输 start
/*if(&quot;{!Repair__c.DOJ_Status__c}&quot; == &quot;非对象&quot; &amp;&amp;((&quot;{!Repair__c.QIS_ID__c}&quot; != &quot;&quot; &amp;&amp; &quot;{!Repair__c.QIS_ID__c}&quot; != null) || &quot;{!Repair__c.is_CNBuy__c}&quot; == &quot;true&quot;)){*/
// 追加新字段,判断国内采购品、Failure_Occurrence_Date、OIS号码不为空
if(&quot;{!Repair__c.DOJ_Status__c}&quot; == &quot;非对象&quot; &amp;&amp; &quot;{!Repair__c.SAP_condition__c}&quot; == &quot;true&quot;){
repair.SAP_Transfer_time__c = serverTimestamp.timestamp;
}
// 非对象的时候 点击修理画面的【申请修理】的时候,SAP传输 end
var result = sforce.connection.update([repair]);
var messages = getConnectDMLErrorMessages(result);
if (messages.length &gt; 0) {
alert(messages.join(&quot;\n&quot;));
} else {
//add wangweipeng 2021/12/09 start
if(&quot;{!Repair__c.SalesOfficeCode_selection__c}&quot; == &quot;成都RC&quot;){
alert(&apos;现阶段,成都RC仅受理四川(西藏)内镜、西南全域CV/CLV,其余实物请发至广州RC。&apos;);
}
//add wangweipeng 2021/12/09 end
location.reload();
}
var retSet = sforce.connection.query(&quot;SELECT Id,NewProductGuarante_Formula__c,ProductGuarante_Create__c FROM Repair__c WHERE Id = &apos;{!Repair__c.Id}&apos;&quot;);
var rds = retSet.getArray(&quot;records&quot;);
if (rds != null &amp;&amp; rds.length &gt; 0) {
var repairAft = rds[0];
 
if (repairAft.NewProductGuarante_Formula__c != repairAft.ProductGuarante_Create__c) {
alert(&apos;该设备保修信息已发生变化,请了解&apos;);
}
}
} else {
alert(&quot;没有找到 修理委托者&quot;);
}
}
}
//在一般修理新建修理时,如果是先款对象,需要弹出提示 thh 2022-03-04 start
var Dealer__c= &quot;{!Repair__c.Dealer__c}&quot;;
var sql3 = &quot;select id, FirstParagraph__c from Account where name = &apos;{!Repair__c.Dealer__c}&apos;&quot;;
var sql3Date = sforce.connection.query(sql3);
var records3 = sql3Date.getArray(&quot;records&quot;);
var FirstParagraph__c = &apos;&apos;;
if(records3.length &gt;= 1){
FirstParagraph__c = records3[0].FirstParagraph__c ;
}
if(FirstParagraph__c == &apos;true&apos;){
if(!confirm(&quot;该经销商为先款对象,是否继续申请修理?&quot;)){
return;
}
}
//在一般修理新建修理时,如果是先款对象,需要弹出提示 thh 2022-03-04 end
}
 
foo();</url>
</WebLink>