| | |
| | | // 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 { |
| | |
| | | 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) { |
| | |
| | | } |
| | | 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); |
| | | 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 = |
| | |
| | | Repair__c oldrpr = oldMap.get(rpr.Id); |
| | | // 修理有报修子单号,并且 待发送AWS为false 发送给AWS |
| | | if (String.isNotBlank(rpr.RepairSubOrder__c) && !rpr.AwaitToSendAWS__c) { |
| | | if (((rpr.status__c == '0.申请完毕' || rpr.status__c == '1.受理完毕') && (oldrpr.SAP_Transfer_time__c == null && rpr.SAP_Transfer_time__c != null)) || (rpr.Address_type__c == 'X' && (rpr.Address_Type_Index__c != oldrpr.Address_Type_Index__c))) { |
| | | if (((rpr.status__c == '0.申请完毕' || rpr.status__c == '1.受理完毕') && (oldrpr.SAP_Transfer_time__c == null && rpr.SAP_Transfer_time__c != null)) || |
| | | (rpr.Address_type__c == 'X' && (rpr.Address_Type_Index__c != oldrpr.Address_Type_Index__c)) || |
| | | // 2022/4/6 zhangyuheng update start |
| | | (rpr.OTSRepairOrder__c != oldrpr.OTSRepairOrder__c) || // OTS订单号有值,发送AWS |
| | | // 2022/4/6 zhangyuheng update end |
| | | // 2022/4/7 zhangyuheng update start |
| | | (rpr.DeliveryLogisticsNo__c != oldrpr.DeliveryLogisticsNo__c) || // 送修物流单号有值,发送AWS |
| | | // ((rpr.Discount_Price_formula__c != oldrpr.Discount_Price_formula__c) && rpr.Repair_Firstestimated_Date_formula__c != null) || // 报价金额发生改变且初次报价日有值,发送AWS |
| | | ((rpr.Returns_Product_waySAP__c != oldrpr.Returns_Product_waySAP__c) && rpr.Repair_Shipped_DateTime__c != null) || // 送修方式发生改变且寄送日有值,发送AWS |
| | | // 2022/4/7 zhangyuheng update end |
| | | // 2022/4/18 zhangyuheng update start |
| | | (rpr.FSE_ApplyForRepair_time__c != oldrpr.FSE_ApplyForRepair_time__c) || // FSE申请修理日发生改变,发送AWS |
| | | (rpr.Repair_Ordered_DateTime__c != oldrpr.Repair_Ordered_DateTime__c) || // 4.修理品RC受理日(小程序)发生改变,发送AWS |
| | | (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) || // 初次报价日(不用)发生改变,发送AWS |
| | | (rpr.Repair_Shipped_DateTime__c != oldrpr.Repair_Shipped_DateTime__c) || // 11.RC修理品返送日(小程序)发生改变,发送AWS |
| | | (rpr.Repair_Final_Inspection_DateTime__c != oldrpr.Repair_Final_Inspection_DateTime__c) || // 10.最终检测日(小程序)发生改变,发送AWS |
| | | (rpr.Agreed_DateTime__c != oldrpr.Agreed_DateTime__c) || //7.用户同意日(小程序)发生改变,发送AWS |
| | | (rpr.Agreed_Date__c != oldrpr.Agreed_Date__c) || // 7.用户同意日发生改变,发送AWS |
| | | (rpr.engineerSendDate__c != oldrpr.engineerSendDate__c) //修理品寄送日发生改变,发送AWS |
| | | // 2022/4/18 zhangyuheng update start |
| | | ) { |
| | | |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | // 2022/4/19 zhangyuheng update start |
| | | // 如果同期中的修理报价(Repair_Quotation_Id__c)为空,判断初次报价日和报价金额 |
| | | if (rpr.Repair_Quotation_Id__c != oldrpr.Repair_Quotation_Id__c) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | if (rpr.Repair_Quotation_Id__c == null) { |
| | | // 如果初次报价日(不用)或折扣后金额(不用)发生改变,发送AWS |
| | | if (rpr.Discount_Price__c != oldrpr.Discount_Price__c || rpr.Repair_Estimated_Date__c != oldrpr.Repair_Estimated_Date__c) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | } |
| | | // 如果同期中的修理报价(Repair_Quotation_Id__c)不为空,在RepairQuoteTrigger.ChangeRepair进行判断触发 |
| | | // 2022/4/19 zhangyuheng update end |
| | | |
| | | // 2022/4/6 zhangyuheng update start |
| | | //OTS订单号有值,发送AWS |
| | | if ((oldrpr.OTSRepairOrder__c == null && String.isNotBlank(rpr.OTSRepairOrder__c)) || rpr.OTSRepairOrder__c != oldrpr.OTSRepairOrder__c) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | // if ((oldrpr.OTSRepairOrder__c == null && String.isNotBlank(rpr.OTSRepairOrder__c)) || rpr.OTSRepairOrder__c != oldrpr.OTSRepairOrder__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 2022/4/6 zhangyuheng update end |
| | | // 2022/4/7 zhangyuheng update start |
| | | //送修物流单号有值,发送AWS |
| | | if ((oldrpr.DeliveryLogisticsNo__c == null && String.isNotBlank(rpr.DeliveryLogisticsNo__c)) || rpr.DeliveryLogisticsNo__c != oldrpr.DeliveryLogisticsNo__c) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | // if ((oldrpr.DeliveryLogisticsNo__c == null && String.isNotBlank(rpr.DeliveryLogisticsNo__c)) || rpr.DeliveryLogisticsNo__c != oldrpr.DeliveryLogisticsNo__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | //报价金额发生改变且初次报价日有值,发送AWS |
| | | if (((rpr.Discount_Price_formula__c != oldrpr.Discount_Price_formula__c) || rpr.Discount_Price_formula__c != null) && rpr.Repair_Firstestimated_Date_formula__c != null) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | if ((rpr.Returns_Product_waySAP__c != oldrpr.Returns_Product_waySAP__c) && rpr.Repair_Shipped_DateTime__c != null) { |
| | | if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | rprIdMap.put(rpr.Id, rpr.Id); |
| | | } |
| | | } |
| | | // if ((rpr.Discount_Price_formula__c != oldrpr.Discount_Price_formula__c) && rpr.Repair_Firstestimated_Date_formula__c != null) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // if ((rpr.Returns_Product_waySAP__c != oldrpr.Returns_Product_waySAP__c) && rpr.Repair_Shipped_DateTime__c != null) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 2022/4/7 zhangyuheng update end |
| | | // 2022/4/18 zhangyuheng update start |
| | | // FSE申请修理日发生改变,发送AWS |
| | | // if (rpr.FSE_ApplyForRepair_time__c != oldrpr.FSE_ApplyForRepair_time__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 4.修理品RC受理日(小程序)发生改变,发送AWS |
| | | // if (rpr.Repair_Ordered_DateTime__c != oldrpr.Repair_Ordered_DateTime__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 初次报价日(不用)发生改变,发送AWS |
| | | // 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); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 11.RC修理品返送日(小程序)发生改变,发送AWS |
| | | // if (rpr.Repair_Shipped_DateTime__c != oldrpr.Repair_Shipped_DateTime__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 10.最终检测日(小程序)发生改变,发送AWS |
| | | // if (rpr.Repair_Final_Inspection_DateTime__c != oldrpr.Repair_Final_Inspection_DateTime__c) { |
| | | // if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) { |
| | | // NFM603Controller.NFM603_Ids.add(rpr.Id); |
| | | // rprIdMap.put(rpr.Id, rpr.Id); |
| | | // } |
| | | // } |
| | | // 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) { |