| | |
| | | //CHAN-BDPBVY 20190703 end |
| | | public static boolean isRunning = false; |
| | | public static String debug_msg = ''; |
| | | |
| | | // 20220921 ljh SWAG-CG2A7S update start |
| | | /** |
| | | * NFM007の送信処理 |
| | | * |
| | |
| | | */ |
| | | @future (callout=true) |
| | | public static void callout(String iflog_Id, List<String> oppIds, Map<String, String> purposeOfAdviceMap) { |
| | | calloutNotfuture(iflog_Id,oppIds,purposeOfAdviceMap); |
| | | } |
| | | // 20220921 ljh SWAG-CG2A7S update end |
| | | |
| | | /** |
| | | * NFM007の送信処理 |
| | | * |
| | | * @param iflog_Id ログテーブルのId |
| | | * @param oppIds 送信対象商談(論理上1件のみです) |
| | | * @param purposeOfAdviceMap 1:Delete 2:Add(Insert) 3:Change(Update) |
| | | */ |
| | | // @future (callout=true) |
| | | public static void calloutNotfuture(String iflog_Id, List<String> oppIds, Map<String, String> purposeOfAdviceMap) { |
| | | if (oppIds == null || oppIds.size() == 0) { |
| | | return; |
| | | } |
| | |
| | | // LHJ 多年保修 20190627 Start |
| | | Gurantee_Period__c,DecideQuoteDate__c, |
| | | // LHJ 多年保修 20190627 End |
| | | STMS_Package_Sale__c, Equipment_Order_Flg__c |
| | | STMS_Package_Sale__c, Equipment_Order_Flg__c, |
| | | //【是否需要价格申请】为是的场合,才要检查做没做过报价试算 thh 2021-11-03 start |
| | | If_Need_PriceApply__c |
| | | //【是否需要价格申请】为是的场合,才要检查做没做过报价试算 thh 2021-11-03 end |
| | | from Opportunity where Id IN :oppIds]; |
| | | System.debug(Logginglevel.DEBUG, 'NFM007_ oppList.size()=' + oppList.size()); |
| | | |
| | |
| | | quotation.Detail = new List<Detail_element>(); |
| | | //CHAN-BDPBVY 20190703 end |
| | | // 20211101 gzw 报价试算 fix 试算行项目有值,发试算信息,否则发询价行项目 end |
| | | if (promotionSalesProductsList != null && promotionSalesProductsList.size() > 0) { |
| | | //询价上的【是否需要价格申请】为是的场合,才要检查做没做过报价试算 thh 2021-11-03 |
| | | if (opp.If_Need_PriceApply__c && promotionSalesProductsList != null && promotionSalesProductsList.size() > 0) { |
| | | for(Integer i = 0; i < promotionSalesProductsList.size(); i++){ |
| | | Detail_element detail = new Detail_element(); |
| | | quotation.Detail.add(detail); |
| | |
| | | detail.PROCODE = '8888'; |
| | | } |
| | | system.debug(' detail.PROCODE=='+detail.PROCODE); |
| | | detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c; // 保修类别 |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy start |
| | | detail.GuaranteeType =','; |
| | | if(String.isNotBlank(promotionSalesProductsList.get(i).latestWarrantyType__c)){ |
| | | Date nowDate = Date.today(); |
| | | Date baojidate = Date.newInstance(2022,3,30); |
| | | Date baojidatewai = Date.newInstance(2022,8,1); |
| | | if(opp.Trade__c == '内貿'&&baojidate<=nowDate&&promotionSalesProductsList.get(i).latestWarrantyType__c=='市场多年保修'){ |
| | | detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c+',new'; |
| | | } |
| | | // detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c+',';// 保修类别 |
| | | else{ |
| | | // Date nowDate = Date.today(); |
| | | // // Date baojidate = Date.valueOf('2022-4-1'); |
| | | // Date baojidate = Date.newInstance(2022,3,30); |
| | | // if(baojidate<=nowDate&&promotionSalesProductsList.get(i).latestWarrantyType__c=='市场多年保修'){ |
| | | // detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c+',new'; |
| | | // }else{ |
| | | if(opp.Trade__c == '外貿'&&baojidatewai<=nowDate&&promotionSalesProductsList.get(i).latestWarrantyType__c=='市场多年保修'){ |
| | | detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c+',new'; |
| | | }else{ |
| | | detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c+','; |
| | | } |
| | | // detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c+','; |
| | | // } |
| | | } |
| | | }else{ |
| | | detail.GuaranteeType =','; |
| | | } |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy end |
| | | // detail.GuaranteeType = promotionSalesProductsList.get(i).latestWarrantyType__c; // 保修类别 |
| | | if (!oldDate) { |
| | | if (promotionSalesProductsList.get(i).latestProvistonPeriod__c != null) { |
| | | detail.ProvistonPeriod = String.valueOf(promotionSalesProductsList.get(i).latestProvistonPeriod__c).leftPad(2,'0'); |
| | |
| | | |
| | | //保修类别 |
| | | if(oppLiList.get(i).latestWarrantyType__c != null){ |
| | | detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c; // 保修类别 |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy start |
| | | Date nowDate = Date.today(); |
| | | Date baojidate = Date.newInstance(2022,3,30); |
| | | Date baojidatewai = Date.newInstance(2022,8,1); |
| | | if(opp.Trade__c == '内貿'&&baojidate<=nowDate&&oppLiList.get(i).latestWarrantyType__c=='市场多年保修'){ |
| | | detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c+',new'; |
| | | } |
| | | else{ |
| | | if(opp.Trade__c == '外貿'&&baojidatewai<=nowDate&&oppLiList.get(i).latestWarrantyType__c=='市场多年保修'){ |
| | | detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c+',new'; |
| | | }else{ |
| | | detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c+','; |
| | | } |
| | | // detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c+','; |
| | | } |
| | | // if(opp.Trade__c == '外貿'){ |
| | | // detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c+',';// 保修类别 |
| | | // }else{ |
| | | // Date nowDate = Date.today(); |
| | | // // Date baojidate = Date.valueOf('2022-4-1'); |
| | | // Date baojidate = Date.newInstance(2022,3,30); |
| | | // if(baojidate<=nowDate&&oppLiList.get(i).latestWarrantyType__c=='市场多年保修'){ |
| | | // detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c+',new'; |
| | | // }else{ |
| | | // detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c+','; |
| | | // } |
| | | // } |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy end |
| | | // detail.GuaranteeType = oppLiList.get(i).latestWarrantyType__c; // 保修类别 |
| | | }else{ |
| | | detail.GuaranteeType = null; |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy start |
| | | detail.GuaranteeType = ','; |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy end |
| | | // detail.GuaranteeType = null; |
| | | } |
| | | //计提金额 |
| | | detail.GuaranteePrice = oppLiList.get(i).latestGuranteePrice__c; |
| | |
| | | // detail.GuaranteePeriod = null; |
| | | // detail.GuaranteeType = null; |
| | | //外贸多年保修未上线前 保修类别 传null |
| | | detail.GuaranteeType = null; |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy start |
| | | |
| | | detail.GuaranteeType = ','; |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy end |
| | | // detail.GuaranteeType = null; |
| | | //外贸多年保修未上线前 计提金额 传0 |
| | | detail.GuaranteePrice = 0; |
| | | //外贸多年保修未上线前 nodiscount 传0 |
| | |
| | | //③decide在20191001 之前 老数据 |
| | | else if(oldDate){ |
| | | detail.GuaranteePeriod = null; |
| | | detail.GuaranteeType = null; |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy start |
| | | detail.GuaranteeType = ','; |
| | | //WLIG-CCT9UG 【委托】关于市场多年保计提金调整 fy end |
| | | // detail.GuaranteeType = null; |
| | | detail.ProvistonPeriod = null; |
| | | detail.GuaranteePrice = null; |
| | | detail.ServicePrice = null; |
| | |
| | | // NFMUtil.sendToSap(rowDataStr, NFMUtil.NFM007_ENDPOINT); |
| | | // CHAN-BSV3GZ start |
| | | // 接收 SAP返回状态 |
| | | status = |
| | | // status = // 2022-07-13 zyh update 注释 |
| | | // CHAN-BSV3GZ end |
| | | NFMUtil.sendToSapRet(rowDataStr, NFMUtil.NFM007_ENDPOINT); |
| | | // NFMUtil.sendToSapRet(rowDataStr, NFMUtil.NFM007_ENDPOINT); // 2022-07-13 zyh update 注释 |
| | | //CHAN-BDPBVY 20190703 end |
| | | NFMUtil.sendToSap(rowDataStr, NFMUtil.NFM007_ENDPOINT); // 2022-07-13 zyh add |
| | | // CHAN-BSV3GZ start |
| | | // 原代码 |
| | | // rowData.retry_cnt__c=0; |
| | | if (status == 'OK') { |
| | | rowData.retry_cnt__c=0;// 2022-07-13 zyh update 解开注释 |
| | | /* if (status == 'OK') { |
| | | rowData.retry_cnt__c = 0; |
| | | } else { |
| | | if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0; |
| | |
| | | rowData.ErrorLog__c = 'status:' + status + ' 询价编码:' + nfm007.Quotations.Quotation.get(0).QuotationCode + |
| | | '\n错误次数已经超过自动送信设定的最大次数,请手动送信'; |
| | | } |
| | | } |
| | | }*/ // 2022-07-13 zyh update 注释 |
| | | // CHAN-BSV3GZ end |
| | | |
| | | }catch(Exception ex) { |
| | |
| | | iflog.ErrorLog__c += ex.getStackTraceString() + '\n'; |
| | | |
| | | //---xiongyl---add |
| | | if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0; |
| | | /*if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0; |
| | | if (rowData.retry_cnt__c < batch_retry_max_cnt){ |
| | | rowData.retry_cnt__c++; |
| | | LogAutoSendSchedule.assignOneMinute(); |
| | | } |
| | | if (rowData.retry_cnt__c >= batch_retry_max_cnt){ |
| | | rowData.ErrorLog__c = ex.getMessage() + '\n' + ex.getStackTraceString() + '\n' + rowData.ErrorLog__c+'错误次数已经超过自动送信设定的最大次数,请手动送信'; |
| | | } |
| | | }*/ // 2022-12-6 zyh 注释:重发逻辑修改,课题号:DB202211540694 |
| | | Boolean check = true; |
| | | NFMUtil.LogAutoSend(rowData, ex , null,check); // 2022-12-6 zyh add |
| | | } |
| | | iflog.Log__c = logstr; |
| | | if (needUpdateIflog) { |
| | |
| | | update rowData; |
| | | } |
| | | } |
| | | @TestVisible private void test() { |
| | | Integer i = 0; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | i++; |
| | | } |
| | | } |