| | |
| | | // private static final String API = '/admin/api/scd/save'; |
| | | private static final String API = '/admin/api/repair/save'; |
| | | |
| | | // 2022-05-05 zyh update start |
| | | private static List < BatchIF_Log__c > logList = new List < BatchIF_Log__c > (); |
| | | private static List < BatchIF_Log__c > rowList = new List < BatchIF_Log__c > (); |
| | | private static Map < Id,BatchIF_Log__c > logMap = new Map < Id,BatchIF_Log__c > (); |
| | | // 2022-05-05 zyh update end |
| | | public static Integer status; |
| | | public static String message; |
| | | public class RepairOrderInfo { |
| | |
| | | |
| | | public static void executefuture(BatchIF_Log__c iflog, List < String > repairOrderIdList) { |
| | | Datetime nowDT = Datetime.now(); |
| | | String nowStr = nowDT.format('yyyyMMddHHmm'); |
| | | String nowStr = nowDT.format('yyyyMMddHHmmss'); |
| | | if (iflog != null) { |
| | | iflog.ErrorLog__c = ''; |
| | | } else { |
| | |
| | | iflog.MessageGroupNumber__c = nowStr; |
| | | } |
| | | List < RepairOrderInfo > repairs = new List < RepairOrderInfo > (); |
| | | List < RepairOrderInfo > repairs1 = new List < RepairOrderInfo > (); |
| | | BatchIF_Log__c rowData = null; |
| | | List < Repair__c > repairList = new List < Repair__c > (); |
| | | if (repairOrderIdList != null && repairOrderIdList.size() > 0) { |
| | |
| | | downEDt = DownEndDt(); |
| | | upSDt = UpStartDt(); |
| | | upEDt = UpEndDt(); |
| | | // 2022-05-07 zyh update start |
| | | if (String.isNotBlank(info.FirstQuotationDate)) { |
| | | info.FirstQuotationDate = info.FirstQuotationDate.deleteWhitespace(); |
| | | } |
| | | if (String.isNotBlank(info.quotationDate)) { |
| | | info.quotationDate = info.quotationDate.deleteWhitespace(); |
| | | } |
| | | // 2022-05-07 zyh update end |
| | | //定义下班时间 |
| | | if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(downSDt) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(downEDt)) { |
| | | info.FirstQuotationDate = DownDt();//初次报价日 |
| | |
| | | } |
| | | if (String.valueOf(info.quotationDate) >= String.valueOf(downSDt) && String.valueOf(info.quotationDate) <= String.valueOf(downEDt)) { |
| | | info.quotationDate = DownDt();//报价日 |
| | | } |
| | | if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(downSDt) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(downEDt)) { |
| | | info.FSErepairApplyDate = DownDt();//FSE修理申请时间 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.RCreturnDate) >= String.valueOf(downSDt) && String.valueOf(info.RCreturnDate) <= String.valueOf(downEDt)) { |
| | | info.RCreturnDate = DownDt();//RC修理品返送日 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.finalTestDate) >= String.valueOf(downSDt) && String.valueOf(info.finalTestDate) <= String.valueOf(downEDt)) { |
| | | info.finalTestDate = DownDt();//10.最终检测日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.userAgreeDAte) >= String.valueOf(downSDt) && String.valueOf(info.userAgreeDAte) <= String.valueOf(downEDt)) { |
| | | info.userAgreeDAte = DownDt();//7.用户同意日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.engineerSendDate) >= String.valueOf(downSDt) && String.valueOf(info.engineerSendDate) <= String.valueOf(downEDt)) { |
| | | info.engineerSendDate = DownDt();//工程师修理品寄送日 2022-05-06--zyh--add |
| | | } |
| | | //定义上班时间 |
| | | if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(upSDt) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(upEDt)) { |
| | |
| | | if (String.valueOf(info.quotationDate) >= String.valueOf(upSDt) && String.valueOf(info.quotationDate) <= String.valueOf(upEDt)) { |
| | | info.quotationDate = UpDt();//报价日 |
| | | } |
| | | if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(upSDt) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(upEDt)) { |
| | | info.FSErepairApplyDate = UpDt();//FSE修理申请时间 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.RCreturnDate) >= String.valueOf(upSDt) && String.valueOf(info.RCreturnDate) <= String.valueOf(upEDt)) { |
| | | info.RCreturnDate = UpDt();//RC修理品返送日 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.finalTestDate) >= String.valueOf(upSDt) && String.valueOf(info.finalTestDate) <= String.valueOf(upEDt)) { |
| | | info.finalTestDate = UpDt();//10.最终检测日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.userAgreeDAte) >= String.valueOf(upSDt) && String.valueOf(info.userAgreeDAte) <= String.valueOf(upEDt)) { |
| | | info.userAgreeDAte = UpDt();//7.用户同意日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.engineerSendDate) >= String.valueOf(upSDt) && String.valueOf(info.engineerSendDate) <= String.valueOf(upEDt)) { |
| | | info.engineerSendDate = UpDt();//工程师修理品寄送日 2022-05-06--zyh--add |
| | | } |
| | | //报价日、初次报价日、RC修理品RC受理日(小程序)时间判断 zyh 20220315 end |
| | | repairs.add(info); |
| | | System.debug('repairs1:' + repairs); |
| | | } |
| | | logstr += '\nend'; |
| | | if (repairs.size() > 0) { |
| | | rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs); |
| | | execute(rowData, iflog); |
| | | // 2022-05-05 zyh update start |
| | | for (RepairOrderInfo roi : repairs ) { |
| | | repairs1.add(roi); |
| | | rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs1); |
| | | // 2022-05-07 zyh update start |
| | | if (String.isBlank(rowData.MessageGroupNumber__c)) { |
| | | rowData.MessageGroupNumber__c = nowStr; |
| | | } |
| | | // 2022-05-07 zyh update end |
| | | execute1(rowData, iflog); |
| | | // rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs); |
| | | // execute(rowData, iflog); |
| | | repairs1 = new List < RepairOrderInfo > (); |
| | | } |
| | | upsert logList; |
| | | upsert rowList; |
| | | delete logMap.values(); |
| | | // 2022-05-05 zyh update end |
| | | // upsert rowData; |
| | | } |
| | | } catch (Exception e) { |
| | | // 发生错误时 |
| | |
| | | logstr += ex.getMessage(); |
| | | iflog.ErrorLog__c += ex.getMessage() + '\n'; |
| | | iflog.ErrorLog__c += ex.getStackTraceString() + '\n'; |
| | | rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null); |
| | | if(!Test.isRunningTest()){ |
| | | rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null); |
| | | } |
| | | } |
| | | iflog.Log__c = logstr; |
| | | upsert iflog; |
| | | upsert rowDataSFDC; |
| | | // logList.add(iflog); |
| | | // rowList.add(rowDataSFDC); |
| | | |
| | | } |
| | | // 2022-05-05 zyh update start |
| | | public static void execute1(BatchIF_Log__c rowDataSFDC, BatchIF_Log__c iflog) { |
| | | Integer batch_retry_max_cnt = Integer.valueOf(System.Label.batch_retry_max_cnt); |
| | | |
| | | String logstr = rowDataSFDC.MessageGroupNumber__c + ' start\n'; |
| | | if (iflog == null) { |
| | | iflog = new BatchIF_Log__c(); |
| | | iflog.Type__c = LOG_TYPE; |
| | | iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c; |
| | | iflog.Log__c = logstr; |
| | | iflog.ErrorLog__c = ''; |
| | | |
| | | } else { |
| | | // iflog.Type__c = LOG_TYPE; |
| | | // iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c; |
| | | // logstr = iflog.Log__c; |
| | | logMap.put(iflog.Id, iflog); |
| | | iflog = new BatchIF_Log__c(); |
| | | iflog.Type__c = LOG_TYPE; |
| | | iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c; |
| | | iflog.Log__c = logstr; |
| | | iflog.ErrorLog__c = ''; |
| | | } |
| | | |
| | | try { |
| | | String data = NFMUtil.getRowDataStr(rowDataSFDC); |
| | | String status = NFMUtil.sendToAWS(data, API); |
| | | System.debug('NFM603Log--status->' + status); |
| | | |
| | | if ('OK'.equals(status)) { |
| | | logstr += status + '\n'; |
| | | rowDataSFDC.retry_cnt__c = 0; |
| | | } else { |
| | | rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status); |
| | | } |
| | | |
| | | } catch (Exception ex) { |
| | | // TODO IOException |
| | | // 错误发生时 |
| | | logstr += ex.getMessage(); |
| | | iflog.ErrorLog__c += ex.getMessage() + '\n'; |
| | | iflog.ErrorLog__c += ex.getStackTraceString() + '\n'; |
| | | if(!Test.isRunningTest()){ |
| | | rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null); |
| | | } |
| | | } |
| | | iflog.Log__c = logstr; |
| | | // upsert iflog; |
| | | // upsert rowDataSFDC; |
| | | logList.add(iflog); |
| | | rowList.add(rowDataSFDC); |
| | | |
| | | } |
| | | |
| | | // 2022-05-05 zyh update end |
| | | // 故障描述 |
| | | private static Map < id, List < FaultDesc >> getFaultDescMap(List < String > repairOrderIdList) { |
| | | List < Repair_reason__c > reasonList = |
| | |
| | | // } |
| | | // 2022/4/18 zhangyuheng update end |
| | | // 测试环境测试用,上线前请注掉 |
| | | if (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIds.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | if (rpr.Repair_Shipped_Date__c != oldrpr.Repair_Shipped_Date__c) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | // if (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // // rprIds.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // if (rpr.Repair_Shipped_Date__c != oldrpr.Repair_Shipped_Date__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 测试环境测试用,上线前请注掉 |
| | | } |
| | | |
| | |
| | | iflog.Type__c = LOG_TYPE; |
| | | iflog.Log__c = 'callout start\n'; |
| | | insert iflog; |
| | | NFM603Controller.callout(iflog.Id, rprIds); |
| | | // 2022-04-29 zyh update start |
| | | if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){ |
| | | NFM603Controller.executefuture(iflog, rprIds); |
| | | }else{ |
| | | NFM603Controller.callout(iflog.Id, rprIds); |
| | | } |
| | | // 2022-04-29 zyh update end |
| | | } |
| | | } else { |
| | | if (Trigger.isUpdate) { |