<?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>
|