Send_NFM103
online
button
javascript
申请修理
onClickJavaScript
false
// 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() {
//贸易合规 you
var TradeComplianceStatusFlagFW = "{!$Label.TradeComplianceStatusFlagFW}";//贸易合规开关
var IFTradeComplianceAlert = "{!$Label.IFTradeComplianceAlert}";//贸易合规提醒
if(TradeComplianceStatusFlagFW=='true'){
var sql = "select id,IFTradeComplianceIntercept__c,RecordType.DeveloperName from Account where id ='{!Repair__c.HospitalId__c}' or id ='{!Repair__c.DealerId__c}'";
var sqlResult = sforce.connection.query(sql);
var records1 = sqlResult.getArray("records");
if(null!=records1 && records1.length>0){
var flaginacc = false;
var flagindea = false;
var flagwaacc = false;
var flagwadea = false;
for(var rec of records1 ){
var AccDealerBlacklist = rec.IFTradeComplianceIntercept__c;//判断客户/经销商是否为黑名单
var recname = rec.RecordType.DeveloperName;
if(AccDealerBlacklist=='intercept'){
if(recname =='HP' && '{!Repair__c.HospitalId__c}' !=null && '{!Repair__c.HospitalId__c}' !=''){
flaginacc = true;
}
if(recname =='Agency' && '{!Repair__c.DealerId__c}' !=null && '{!Repair__c.DealerId__c}' !=''){
flagindea = true;
}
}
if(AccDealerBlacklist=='WarningList'){
if(recname =='HP' && '{!Repair__c.HospitalId__c}' !=null && '{!Repair__c.HospitalId__c}' !=''){
flagwaacc = true;
}
if(recname =='Agency' && '{!Repair__c.DealerId__c}' !=null && '{!Repair__c.DealerId__c}' !=''){
flagwadea = true;
}
}
}
if(flaginacc && flagindea){
alert('您所选择的医院和经销商存在贸易合规风险,无法新建修理,'+IFTradeComplianceAlert);
return;
}else if(flaginacc){
alert('您所选择的医院存在贸易合规风险,无法新建修理,'+IFTradeComplianceAlert);
return;
}else if(flagindea){
alert('您所选择的经销商存在贸易合规风险,无法新建修理,'+IFTradeComplianceAlert);
return;
}
if(flagwaacc && flagwadea){
if(!confirm('您所选择的医院和经销商存在贸易合规警示风险,是否继续申请修理,'+IFTradeComplianceAlert)){
return;
}
}else if(flagwaacc){
if(!confirm('您所选择的医院存在贸易合规警示风险,是否继续申请修理,'+IFTradeComplianceAlert)){
return;
}
}else if(flagwadea){
if(!confirm('您所选择的经销商存在贸易合规警示风险,是否继续申请修理,'+IFTradeComplianceAlert)){
return;
}
}
}
}
//贸易合规 you
//DB202305168204 LY 2023/05/23 start
if('{!Repair__c.HP_active__c}' == '無効')
{
alert("本医院已无效,无法进行申请。");
return;
}
//DB202305168204 LY 2023/05/23 end
//在一般修理新建修理时,如果是先款对象,需要弹出提示 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
//全国直送流程整期方案 20230607 LY start
if('{!Repair__c.Quick_Repair_Sign__c }' == false && '{!Repair__c.Affiliation_RC__c}' == 'SHRC' && '{!Repair__c.On_site_repair__c}' == 'RC修理'){
if(!confirm("该设备选择RC修理,请确认是否继续进行?")){
return;
}
}
if('{!Repair__c.Quick_Repair_Sign__c }' == false && '{!Repair__c.Affiliation_RC__c}' != 'SHRC' && '{!Repair__c.On_site_repair__c}' == 'RC修理' && ('{!Repair__c.Maintenance_Contract__c}' != '' ||'{!Repair__c.VM_Maintenance_Contract__c}' !='')){
if(!confirm("该设备为维修合同或多年保修对象品,选择RC修理,请确认是否继续进行?")){
return;
}
}
if('{!Repair__c.Quick_Repair_Sign__c }' == false && '{!Repair__c.Affiliation_RC__c}' != 'SHRC' && ('{!Repair__c.On_site_repair__c}' == '直送SORC修理' || '{!Repair__c.On_site_repair__c}' == '直送OGZ修理')&& ('{!Repair__c.Maintenance_Contract__c}' == '' && '{!Repair__c.VM_Maintenance_Contract__c}' =='')){
if(!confirm("该设备为非维修合同或非多年保修对象品,选择直送工厂修理,请确认继续进行?")){
return;
}
}
//全国直送流程整期方案 20230607 LY end
/* 全国直送流程整期方案 20230607 LY
//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
//DB202303614156 LY 2023/04/19 start
if('{!Repair__c.RCCD__c}' == '5.华东'
&&'{!Repair__c.On_site_repair__c}' == '直送SORC修理')
{
if(!confirm("该设备选择直送工厂,请确认是否继续进行?")){
return;
}
}
//DB202303614156 LY 2023/04/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
全国直送流程整期方案 20230607 LY */
//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
/* 全国直送流程整期方案 20230607 LY
//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
全国直送流程整期方案 20230607 LY */
//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 Status2__c in ('00.申请完毕','01.分公司受理完毕','02.RC受理完毕','03.报价检查结束','04.报价跟进中')");
var repairSXCount = repairSXAll.getArray("records");
var remainingAmountAll = sforce.connection.query("SELECT Id,name,Remaining_Amount__c,Remaining_Amount_DB__c,PackageFlag__c FROM Maintenance_Contract__c WHERE ID='{!Repair__c.Maintenance_ContractId__c}'");
var remainingAmount= remainingAmountAll.getArray("records");
var remainingAmountM = 0;
if(remainingAmount[0].PackageFlag__c=='true'){
remainingAmountM = remainingAmount[0].Remaining_Amount_DB__c;
}else{
remainingAmountM = remainingAmount[0].Remaining_Amount__c;
}
if (remainingAmountM <=0){
var prompt = '合同的上限金额已用完,当前修理为合同外修理,是否继续?';
if(!confirm(prompt)){
return;
}
}
if (repairSXCount.length >1 && remainingAmountM <=150000 && remainingAmountM > 0){
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 Status2__c in ('00.申请完毕','01.分公司受理完毕','02.RC受理完毕','03.报价检查结束','04.报价跟进中') AND Delivered_Product__r.Product2.ProductURF__r.URFLimitSerial__c ='"+urfSeries+"'");
var repairCount = repairAll.getArray("records");
if (repairCount.length >1 && 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);