<?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('*[name=send_nfm103]').set({disabled:'disabled',class:'btnDisabled'}, true); 
 | 
var btns = document.getElementsByName("send_nfm103"); 
 | 
for (var i=0; i<btns.length; i++) { 
 | 
btns[i].disabled = true; 
 | 
btns[i].className = 'btnDisabled'; 
 | 
} 
 | 
{!RequireScript("/soap/ajax/51.0/connection.js")} 
 | 
{!RequireScript("/soap/ajax/51.0/apex.js")} 
 | 
{!RequireScript('/resource/1600400985000/CommonUtilJs')} 
 | 
{!RequireScript('/resource/1415883095000/jquery183minjs')} 
 | 
{!RequireScript('/resource/1648475357000/AWSService/AWSService.js')} 
 | 
{!RequireScript('/resource/1656925336000/AWSService/AWSService.js')} 
 | 
debugger 
 | 
  
 | 
//2021-10-21 gwy 版本更改为51.0 
 | 
var DetailedAddress = '{!JSENCODE(Repair__c.Detailed_Address__c)}'; 
 | 
DetailedAddress = DetailedAddress.replace(/\r\n/g,'')+''; 
 | 
var getConnectDMLErrorMessages = function (results) { 
 | 
var messages = [], 
 | 
i = 0, 
 | 
len = results.length, 
 | 
r; 
 | 
for (; i < len; i++) { 
 | 
r = results[i]; 
 | 
if (!r.getBoolean("success")) { 
 | 
messages = messages.concat(getConnectDMLMessagesOfAResult(r)); 
 | 
} 
 | 
} 
 | 
return messages; 
 | 
}; 
 | 
var getConnectDMLMessagesOfAResult = function (res) { 
 | 
var messages = [], 
 | 
errors = res.getArray("errors"), 
 | 
i = 0, 
 | 
len = errors.length, 
 | 
e; 
 | 
for (; i < len; i++) { 
 | 
e = errors[i]; 
 | 
messages.push(e.message + " " + getConnectDMLErrorFields(e)); 
 | 
} 
 | 
return messages; 
 | 
}; 
 | 
var getConnectDMLErrorFields = function (error) { 
 | 
var fields = error.getArray('fields'); 
 | 
if (fields.length > 0) { 
 | 
return "[" + fields.join(",") + "]" 
 | 
} else { 
 | 
return ""; 
 | 
} 
 | 
}; 
 | 
  
 | 
  
 | 
var foo = function() { 
 | 
//在一般修理新建修理时,如果是先款对象,需要弹出提示 thh 2022-03-04 start 
 | 
var Dealer__c= "{!Repair__c.Dealer__c}"; 
 | 
var sql3 = "select id, FirstParagraph__c from Account where name = '{!Repair__c.Dealer__c}'"; 
 | 
var sql3Date = sforce.connection.query(sql3); 
 | 
var records3 = sql3Date.getArray("records"); 
 | 
var FirstParagraph__c = ''; 
 | 
if(records3.length >= 1){ 
 | 
FirstParagraph__c = records3[0].FirstParagraph__c ; 
 | 
} 
 | 
if(FirstParagraph__c == 'true'){ 
 | 
if(!confirm("该经销商为先款对象,是否继续申请修理?")){ 
 | 
return; 
 | 
} 
 | 
} 
 | 
//在一般修理新建修理时,如果是先款对象,需要弹出提示 thh 2022-03-04 end 
 | 
//wangweipeng 2021/11/19 start 
 | 
//如果修理为 非维修合同的、不是多年保并且服务方式为 直送sorc修理的,提示一下 
 | 
if('{!Repair__c.Number_of_EffectiveContract__c}' == '无' 
 | 
&& '{!Repair__c.NewProductGuarante_Txt__c}' != '2: 多年保修' 
 | 
&& '{!Repair__c.NewProductGuarante_Txt__c}' != '2: 服务多年保修' 
 | 
&& '{!Repair__c.NewProductGuarante_Txt__c}' != '8: 市场多年保修' 
 | 
&& '{!Repair__c.On_site_repair__c}' == '直送SORC修理') 
 | 
{ 
 | 
if(!confirm("设备为非维修合同且非多年保修对象品,请确认是否直送SORC修理?")){ 
 | 
return; 
 | 
} 
 | 
} 
 | 
//wangweipeng 2021/11/19 end 
 | 
  
 | 
//XLIU-CGH5YY LY 2022/07/22 start 
 | 
//如果修理为 非维修合同的、不是多年保并且服务方式为 直送sorc修理的,提示一下 
 | 
if(('{!Repair__c.Maintenance_Contract__c}' != '' ||'{!Repair__c.VM_Maintenance_Contract__c}' !='')  
 | 
&& '{!Repair__c.On_site_repair__c}' == 'RC修理'  
 | 
&& '{!Repair__c.FSE_State__c}' == '山东省') 
 | 
{ 
 | 
if(!confirm("该设备为维修合同或多年保修对象品,请确认是否送至RC修理?")){ 
 | 
return; 
 | 
} 
 | 
} 
 | 
//XLIU-CGH5YY LY 2022/07/22 end 
 | 
  
 | 
//WLIG-CAN6CJ LY 2022/01/27 start 
 | 
// 申请修理时SAP修理申请日超过问题联络收到日1天,必须填写问超时报告的理由 
 | 
var today = Date.parse("{!TODAY()}"); 
 | 
var dateReceiptQuestions = Date.parse("{!Repair__c.DateReceiptQuestions__c}"); 
 | 
var dates = (today -dateReceiptQuestions)/(24*60*60*1000); 
 | 
if("{!$Profile.Id}" != "00e10000000Y3o5" && "{!$User.Id}" != "0051000000AKgzv" && "{!$User.Id}" !="0051000000AKh05" 
 | 
&& "{!$User.Id}" != "00510000004q1ed" 
 | 
&& "{!Repair__c.DelayReportReason__c}" == "" && dates > "1" 
 | 
&& "{!Repair__c.RepairSource__c}" != "QIS转修理" ) 
 | 
{ 
 | 
alert("申请修理时SAP修理申请日超过问题联络收到日1天,必须填写问超时报告的理由"); 
 | 
return; 
 | 
} 
 | 
//WLIG-CAN6CJ LY 2022/01/27 end 
 | 
  
 | 
  
 | 
//wangweipeng 2022/01/24 start 
 | 
// 如果修理有维修合同,或是多年保修,那么如果 服务方式 没有选择 直送SORC修理或直送OGZ修理,做提示 
 | 
if({!Repair__c.Quick_Repair_Sign__c} == true 
 | 
&& ('{!Repair__c.Number_of_EffectiveContract__c}' == '有' 
 | 
|| '{!Repair__c.NewProductGuarante_Txt__c}' == '2: 多年保修' 
 | 
|| '{!Repair__c.NewProductGuarante_Txt__c}' == '2: 服务多年保修' 
 | 
|| '{!Repair__c.NewProductGuarante_Txt__c}' == '8: 市场多年保修') 
 | 
&& ('{!Repair__c.On_site_repair__c}' == 'RC修理' || '{!Repair__c.On_site_repair__c}' == '办事处修理' || '{!Repair__c.On_site_repair__c}' == '现场修理')) 
 | 
{ 
 | 
if('{!Repair__c.RCCD__c}' == '2.东北' || '{!Repair__c.RCCD__c}' == '3.西北'){ 
 | 
if(!confirm("该型号对应为合同或多年保对象品。如确认为大修理故障,需要选择直送SORC修理,请确认是否继续。")){ 
 | 
return; 
 | 
} 
 | 
}else if('{!Repair__c.RCCD__c}' == '1.华北' || '{!Repair__c.RCCD__c}' == '6.华南' || '{!Repair__c.RCCD__c}' == '4.西南'){ 
 | 
if(!confirm("该型号对应为合同或多年保对象品。如确认为大修理故障,需要选择直送OGZ修理,请确认是否继续。")){ 
 | 
return; 
 | 
} 
 | 
} 
 | 
} 
 | 
//wangweipeng 2022/01/24 end 
 | 
//wangweipeng 2021/08/02 直返收货地址 start 
 | 
//如果不是华东、西北、西南和cic为奥辉产品,那么不需要这些判断 
 | 
var returnsProductWay = '{!Repair__c.Returns_Product_way__c}'; 
 | 
var falg = true; 
 | 
if(returnsProductWay == ""){ 
 | 
if(!confirm("返品方式为空,是否继续申请修理!")){ 
 | 
return; 
 | 
} 
 | 
} 
 | 
  
 | 
//2021/10/19 开发权限给华东、西北、西南和cic为奥辉产品 
 | 
//2021/10/29 开发权限给华北和东北 
 | 
//if("{!Repair__c.Sales_Dept_HP__c}" == "1.华北" || "{!Repair__c.Sales_Dept_HP__c}" == "2.东北" || "{!Repair__c.Sales_Dept_HP__c}" == "3.西北" || "{!Repair__c.Sales_Dept_HP__c}" == "4.西南" || "{!Repair__c.Sales_Dept_HP__c}" == "5.华东" || "{!Repair__c.is_aohui_product__c}" == "1"){ 
 | 
//上海和备品不需要判断地址是否为空,其他都需要 
 | 
//update wangweipeng 2021/12/27 start 
 | 
//if("{!Repair__c.State_Hospital__c}" == "上海市" || "{!Repair__c.Asset_Owner__c}" == "Olympus"){ 
 | 
if("{!Repair__c.Asset_Owner__c}" == "Olympus"){ 
 | 
//update wangweipeng 2021/12/27 end 
 | 
  
 | 
}else{ 
 | 
//var DetailedAddress = '{!JSENCODE(Repair__c.Detailed_Address__c)}'; 
 | 
//DetailedAddress = DetailedAddress.replace(/\r\n/g,'')+''; 
 | 
if(DetailedAddress != ''){ 
 | 
var prompt = '当前直返收货地址为:' + DetailedAddress +',您确认不修改了吗?'; 
 | 
if(!confirm(prompt)){ 
 | 
return; 
 | 
} 
 | 
}else{ 
 | 
alert('当前修理没有录入直返收货的详细地址,不能申请修理!'); 
 | 
return; 
 | 
} 
 | 
} 
 | 
//} 
 | 
//wangweipeng 2021/08/02 直返收货地址 end 
 | 
  
 | 
// 设备废弃,不能提交申请 --- 16/10/21 韩超 
 | 
var equipmentset = sforce.connection.query("SELECT Id, Status FROM Asset WHERE Id = '{!Repair__c.Delivered_ProductId__c}'"); 
 | 
var equipments = equipmentset.getArray("records"); 
 | 
if (equipments != null && equipments.length > 0) { 
 | 
var equipment = equipments[0]; 
 | 
if (equipment.Status == '廃棄'){ 
 | 
alert("设备废弃,不能提交申请!"); 
 | 
return; 
 | 
} 
 | 
} 
 | 
  
 | 
// 
 | 
  
 | 
// Gzw 20200901 
 | 
if("{!Repair__c.FSE_ApplyForRepair_time__c}" != ""){ 
 | 
alert("已修理申请,不再修理申请了"); 
 | 
return; 
 | 
} 
 | 
// 20200901 
 | 
  
 | 
//计算上限合同进行中的修理 LY 20230117 start 
 | 
if("{!Repair__c.Limit_Price__c}"==true){ 
 | 
    var repairSXAll = sforce.connection.query("SELECT Id,name FROM Repair__c WHERE Maintenance_Contract__c='{!Repair__c.Maintenance_ContractId__c}' AND Status1__c='1.受理完毕'"); 
 | 
    var repairSXCount = repairSXAll.getArray("records"); 
 | 
    var remainingAmountAll = sforce.connection.query("SELECT Id,name,Remaining_Amount__c FROM Maintenance_Contract__c WHERE ID='{!Repair__c.Maintenance_ContractId__c}'"); 
 | 
    var remainingAmount= remainingAmountAll.getArray("records"); 
 | 
    if (repairSXCount.length >0 && remainingAmount[0].Remaining_Amount__c <=150000){ 
 | 
        alert("该设备关联限次合同,目前修理剩余金额小于15万。请等待进行中修理完成后再进行申请"); 
 | 
        return; 
 | 
    } 
 | 
} 
 | 
//计算上限合同进行中的修理 LY 20230117 end 
 | 
  
 | 
//URF限次合同2期 LY 20220826 start 
 | 
//限次合同大修次数还剩1次,这时创建了两个修理,第二个修理在点击申请修理时,给出提示不发sap 
 | 
//限次合同大修次数为0时,这时创建修理给出合同外修理提示及清空维修合同 
 | 
//维修合同保有设备 系列次数未修完 
 | 
var surplusCount =0; 
 | 
if ("{!Repair__c.URF_Reapir__c}"==true) { 
 | 
var urfSeriesAllCount = sforce.connection.query("SELECT Id,URF_Series_F__c,Series_MaxRepairCount_F__c,Series_RepairCount_F__c FROM Maintenance_Contract_Asset__c WHERE Maintenance_Contract__c ='{!Repair__c.Maintenance_ContractId__c}' and Asset__c='{!Repair__c.Delivered_ProductId__c}'"); 
 | 
var urfAsset = urfSeriesAllCount.getArray("records"); 
 | 
var seriesMaxRepairCount =0; 
 | 
var seriesRepairCount =0; 
 | 
  
 | 
if (urfAsset != null && urfAsset.length > 0) { 
 | 
    seriesMaxRepairCount=urfAsset[0].Series_MaxRepairCount_F__c; 
 | 
    seriesRepairCount=urfAsset[0].Series_RepairCount_F__c; 
 | 
    surplusCount = seriesMaxRepairCount - seriesRepairCount; 
 | 
} 
 | 
  
 | 
//取限次系列 
 | 
var urfSeriesAll = sforce.connection.query("SELECT Id,URFLimitSerial__c FROM ProductURF__c WHERE ID='{!Repair__c.URFLimitSerial__c}'"); 
 | 
var urfSeriesInfo = urfSeriesAll .getArray("records"); 
 | 
var urfSeries =''; 
 | 
if (urfSeriesInfo != null && urfSeriesInfo .length > 0) { 
 | 
    urfSeries =urfSeriesInfo[0].URFLimitSerial__c ;  
 | 
} 
 | 
//计算进行中的修理 
 | 
var repairAll = sforce.connection.query("SELECT Id,name FROM Repair__c WHERE Maintenance_Contract__c='{!Repair__c.Maintenance_ContractId__c}' AND Status1__c='1.受理完毕' AND Delivered_Product__r.Product2.ProductURF__r.URFLimitSerial__c ='"+urfSeries+"'"); 
 | 
var repairCount = repairAll.getArray("records"); 
 | 
if (repairCount.length >0 && surplusCount==1){ 
 | 
alert("该设备关联限次合同,目前剩余次数小于送修设备。请等待进行中修理完成后再进行申请"); 
 | 
return; 
 | 
} 
 | 
  
 | 
} 
 | 
//URF限次合同2期 LY 20220826 end 
 | 
  
 | 
if ("{!Repair__c.Status__c}" != "草案中" && "{!Repair__c.Status__c}" != "1.受理完毕(SAP待发送)" && "{!Repair__c.Status__c}" != "4.修理品返送阶段") { 
 | 
alert("不是草案中不能申请"); 
 | 
} else { 
 | 
// HWAG-BDV5W7---XHL-20190711---Start 
 | 
if ("{!Repair__c.Dealer__c}" != ""){ 
 | 
var findInvalidLicense = sforce.connection.query("select Id,Is_Validity__c from Account where Is_Validity__c = false And Id = '{!Repair__c.DealerId__c}'"); 
 | 
if (findInvalidLicense.size >0) { 
 | 
alert("经销商三证不在有效期,无法送修"); 
 | 
return; 
 | 
} 
 | 
  
 | 
} 
 | 
// HWAG-BDV5W7---XHL-20190711---End 
 | 
// 20200604 
 | 
if("{!Repair__c.ifDeadHurt__c}" == "有"){ 
 | 
if (!confirm("是否确认AE要提交?")) { 
 | 
return; 
 | 
} 
 | 
} 
 | 
// 20200604 
 | 
  
 | 
// 20201106 gzw 
 | 
if("{!Repair__c.Day_later_30__c}" == "是"){ 
 | 
alert("创建后超过30天,不能申请了"); 
 | 
return; 
 | 
} 
 | 
// 20201106 gzw 
 | 
  
 | 
  
 | 
var repair = new sforce.SObject("Repair__c"); 
 | 
repair.Id = "{!Repair__c.Id}"; 
 | 
//LJPH-C9F3Z2 LY 20220110 Star 
 | 
//if("{!Repair__c.Recall_Correspondence__c}"=='1'){ 
 | 
//repair.Recall_Correspondence_Apply__c = '是'; 
 | 
//}else{ 
 | 
//repair.Recall_Correspondence_Apply__c = '否'; 
 | 
//} 
 | 
//LJPH-C9F3Z2 LY 20220110 end 
 | 
//URF限次合同2期 LY 20220826 start 
 | 
//限次合同大修次数还剩0次时取消掉已经关联的维修合同 
 | 
var prompt11 = '合同内大修次数已用完,当前修理为合同外的修理,是否继续?'; 
 | 
if ("{!Repair__c.URF_Reapir__c}"==true && surplusCount==0){ 
 | 
    repair.Maintenance_Contract__c = null; 
 | 
        repair.MaintenanceContractType__c = null; 
 | 
    if(!confirm(prompt11)){ 
 | 
        return; 
 | 
    } 
 | 
} 
 | 
//URF限次合同2期 LY 20220826 end 
 | 
  
 | 
var resultTmp = sforce.connection.update([repair]); 
 | 
var messagesTmp = getConnectDMLErrorMessages(resultTmp); 
 | 
if (messagesTmp.length > 0) { 
 | 
alert(messagesTmp.join("\n")); 
 | 
} else { 
 | 
var resultSet = sforce.connection.query("SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = '{!Repair__c.Incharge_StaffId__c}'"); 
 | 
var records = resultSet.getArray("records"); 
 | 
if (records != null && records.length > 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 = '1.受理完毕'; 
 | 
repair.Service_contract_judege_day__c = new Date(); 
 | 
// 非对象的时候 点击修理画面的【申请修理】的时候,SAP传输 start 
 | 
/*if("{!Repair__c.DOJ_Status__c}" == "非对象" &&(("{!Repair__c.QIS_ID__c}" != "" && "{!Repair__c.QIS_ID__c}" != null) || "{!Repair__c.is_CNBuy__c}" == "true")){*/ 
 | 
// 追加新字段,判断国内采购品、Failure_Occurrence_Date、OIS号码不为空 
 | 
if("{!Repair__c.DOJ_Status__c}" == "非对象" && "{!Repair__c.SAP_condition__c}" == "true"){ 
 | 
repair.SAP_Transfer_time__c = serverTimestamp.timestamp; 
 | 
} 
 | 
// 非对象的时候 点击修理画面的【申请修理】的时候,SAP传输 end 
 | 
var result = sforce.connection.update([repair]); 
 | 
var messages = getConnectDMLErrorMessages(result); 
 | 
if (messages.length > 0) { 
 | 
alert(messages.join("\n")); 
 | 
} else { 
 | 
//add wangweipeng 2021/12/09 start 
 | 
if("{!Repair__c.SalesOfficeCode_selection__c}" == "成都RC"){ 
 | 
alert('现阶段,成都RC仅受理四川(西藏)内镜、西南全域CV/CLV,其余实物请发至广州RC。'); 
 | 
} 
 | 
//add wangweipeng 2021/12/09 end 
 | 
location.reload(); 
 | 
} 
 | 
var retSet = sforce.connection.query("SELECT Id,NewProductGuarante_Formula__c,ProductGuarante_Create__c FROM Repair__c WHERE Id = '{!Repair__c.Id}'"); 
 | 
var rds = retSet.getArray("records"); 
 | 
if (rds != null && rds.length > 0) { 
 | 
var repairAft = rds[0]; 
 | 
  
 | 
if (repairAft.NewProductGuarante_Formula__c != repairAft.ProductGuarante_Create__c) { 
 | 
alert('该设备保修信息已发生变化,请了解'); 
 | 
} 
 | 
} 
 | 
} else { 
 | 
alert("没有找到 修理委托者"); 
 | 
} 
 | 
} 
 | 
} 
 | 
} 
 | 
  
 | 
//foo(); 
 | 
  
 | 
var staticResource = JSON.parse(sforce.apex.execute("ButtonJsUtility","getStaticResource",{ 
 | 
sobj:"Repair__c" 
 | 
})); 
 | 
AWSService.query(staticResource.queryUrl,'{!Repair__c.AWS_Data_Id__c}',function(data){ 
 | 
console.log(data); 
 | 
if (data && data.object) { 
 | 
DetailedAddress = data.object.detailedAddress; 
 | 
} 
 | 
foo(); 
 | 
},staticResource.token);</url> 
 | 
</WebLink> 
 |