| | |
| | | // 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) { |
| | |
| | | // 备品出借记录 查找备品出借一览明细的 产品型号 |
| | | Map < id, List < SparePartsLendingRecord >> rentalMap = getrentalMap(repairIdList); |
| | | |
| | | String downSDt = ''; |
| | | String downEDt = ''; |
| | | String upSDt = ''; |
| | | String upEDt = ''; |
| | | // String downSDt = ''; 2022-5-10 zyh update |
| | | // String downEDt = ''; 2022-5-10 zyh update |
| | | // String upSDt = ''; 2022-5-10 zyh update |
| | | // String upEDt = ''; 2022-5-10 zyh update |
| | | |
| | | |
| | | for (Repair__c repair: repairList) { |
| | |
| | | //修理增加OTS运单号字段 thh 20220308 end |
| | | |
| | | //报价日、初次报价日、RC修理品RC受理日(小程序)时间判断 zyh 20220315 start |
| | | downSDt = DownStartDt(); |
| | | downEDt = DownEndDt(); |
| | | upSDt = UpStartDt(); |
| | | upEDt = UpEndDt(); |
| | | // downSDt = DownStartDt(); // 2022-5-10 zyh update 定义上下班时间同步修改 |
| | | // downEDt = DownEndDt(); // 2022-5-10 zyh update 定义上下班时间同步修改 |
| | | // upSDt = UpStartDt(); // 2022-5-10 zyh update 定义上下班时间同步修改 |
| | | // upEDt = UpEndDt(); // 2022-5-10 zyh update 定义上下班时间同步修改 |
| | | // 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.FirstQuotationDate) >= String.valueOf(DownStartDt(info.FirstQuotationDate)) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(DownEndDt(info.FirstQuotationDate))) { |
| | | info.FirstQuotationDate = DownDt(info.FirstQuotationDate);//初次报价日 |
| | | } |
| | | if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(downSDt) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(downEDt)) { |
| | | info.RCacceptanceDate = DownDt();//4.修理品RC受理日 |
| | | if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(DownStartDt(info.RCacceptanceDate)) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(DownEndDt(info.RCacceptanceDate))) { |
| | | info.RCacceptanceDate = DownDt(info.RCacceptanceDate);//4.修理品RC受理日 |
| | | } |
| | | if (String.valueOf(info.quotationDate) >= String.valueOf(downSDt) && String.valueOf(info.quotationDate) <= String.valueOf(downEDt)) { |
| | | info.quotationDate = DownDt();//报价日 |
| | | if (String.valueOf(info.quotationDate) >= String.valueOf(DownStartDt(info.quotationDate)) && String.valueOf(info.quotationDate) <= String.valueOf(DownEndDt(info.quotationDate))) { |
| | | info.quotationDate = DownDt(info.quotationDate);//报价日 |
| | | } |
| | | if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(DownStartDt(info.FSErepairApplyDate)) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(DownEndDt(info.FSErepairApplyDate))) { |
| | | info.FSErepairApplyDate = DownDt(info.FSErepairApplyDate);//FSE修理申请时间 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.RCreturnDate) >= String.valueOf(DownStartDt(info.RCreturnDate)) && String.valueOf(info.RCreturnDate) <= String.valueOf(DownEndDt(info.RCreturnDate))) { |
| | | info.RCreturnDate = DownDt(info.RCreturnDate);//RC修理品返送日 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.finalTestDate) >= String.valueOf(DownStartDt(info.finalTestDate)) && String.valueOf(info.finalTestDate) <= String.valueOf(DownEndDt(info.finalTestDate))) { |
| | | info.finalTestDate = DownDt(info.finalTestDate);//10.最终检测日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.userAgreeDAte) >= String.valueOf(DownStartDt(info.userAgreeDAte)) && String.valueOf(info.userAgreeDAte) <= String.valueOf(DownEndDt(info.userAgreeDAte))) { |
| | | info.userAgreeDAte = DownDt(info.userAgreeDAte);//7.用户同意日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.engineerSendDate) >= String.valueOf(DownStartDt(info.engineerSendDate)) && String.valueOf(info.engineerSendDate) <= String.valueOf(DownEndDt(info.engineerSendDate))) { |
| | | info.engineerSendDate = DownDt(info.engineerSendDate);//工程师修理品寄送日 2022-05-06--zyh--add |
| | | } |
| | | //定义上班时间 |
| | | if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(upSDt) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(upEDt)) { |
| | | info.FirstQuotationDate = UpDt();//初次报价日 |
| | | if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(UpStartDt(info.FirstQuotationDate)) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(UpEndDt(info.FirstQuotationDate))) { |
| | | info.FirstQuotationDate = UpDt(info.FirstQuotationDate);//初次报价日 |
| | | } |
| | | if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(upSDt) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(upEDt)) { |
| | | info.RCacceptanceDate = UpDt();//4.修理品RC受理日 |
| | | if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(UpStartDt(info.RCacceptanceDate)) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(UpEndDt(info.RCacceptanceDate))) { |
| | | info.RCacceptanceDate = UpDt(info.RCacceptanceDate);//4.修理品RC受理日 |
| | | } |
| | | if (String.valueOf(info.quotationDate) >= String.valueOf(upSDt) && String.valueOf(info.quotationDate) <= String.valueOf(upEDt)) { |
| | | info.quotationDate = UpDt();//报价日 |
| | | if (String.valueOf(info.quotationDate) >= String.valueOf(UpStartDt(info.quotationDate)) && String.valueOf(info.quotationDate) <= String.valueOf(UpEndDt(info.quotationDate))) { |
| | | info.quotationDate = UpDt(info.quotationDate);//报价日 |
| | | } |
| | | if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(UpStartDt(info.FSErepairApplyDate)) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(UpEndDt(info.FSErepairApplyDate))) { |
| | | info.FSErepairApplyDate = UpDt(info.FSErepairApplyDate);//FSE修理申请时间 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.RCreturnDate) >= String.valueOf(UpStartDt(info.RCreturnDate)) && String.valueOf(info.RCreturnDate) <= String.valueOf(UpEndDt(info.RCreturnDate))) { |
| | | info.RCreturnDate = UpDt(info.RCreturnDate);//RC修理品返送日 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.finalTestDate) >= String.valueOf(UpStartDt(info.finalTestDate)) && String.valueOf(info.finalTestDate) <= String.valueOf(UpEndDt(info.finalTestDate))) { |
| | | info.finalTestDate = UpDt(info.finalTestDate);//10.最终检测日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.userAgreeDAte) >= String.valueOf(UpStartDt(info.userAgreeDAte)) && String.valueOf(info.userAgreeDAte) <= String.valueOf(UpEndDt(info.userAgreeDAte))) { |
| | | info.userAgreeDAte = UpDt(info.userAgreeDAte);//7.用户同意日(小程序) 2022-05-06--zyh--add |
| | | } |
| | | if (String.valueOf(info.engineerSendDate) >= String.valueOf(UpStartDt(info.engineerSendDate)) && String.valueOf(info.engineerSendDate) <= String.valueOf(UpEndDt(info.engineerSendDate))) { |
| | | info.engineerSendDate = UpDt(info.engineerSendDate);//工程师修理品寄送日 2022-05-06--zyh--add |
| | | } |
| | | //报价日、初次报价日、RC修理品RC受理日(小程序)时间判断 zyh 20220315 end |
| | | repairs.add(info); |
| | |
| | | } |
| | | 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) { |
| | | // 发生错误时 |
| | |
| | | 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 = |
| | |
| | | iflog.Type__c = LOG_TYPE; |
| | | iflog.Log__c = 'callout start\n'; |
| | | insert iflog; |
| | | NFM603Controller.executefuture(iflog, 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) { |
| | |
| | | |
| | | //报价日、初次报价日、RC修理品RC受理日(小程序)时间方法 zyh 20220315 start |
| | | //下班开始时间 |
| | | public static String DownStartDt(){ |
| | | String timenow = Datetime.now().format('yyyyMMddHHmmss'); |
| | | String dt = NFMUtil.formatDate2Str(Date.today()); |
| | | public static String DownStartDt(String dt){ |
| | | // String timenow = Datetime.now().format('yyyyMMddHHmmss'); 2022-5-10 zyh update |
| | | // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10 zyh update |
| | | String rtn = null; |
| | | if (dt == null) { |
| | | return rtn; |
| | | } |
| | | dt = dt.substring(0,8); // 2022-5-10 zyh update |
| | | rtn = String.valueOf(dt); |
| | | rtn = rtn.replaceAll('-', ''); |
| | | if (rtn >= '40001231') { |
| | |
| | | return rtn + '173001'; |
| | | } |
| | | //下班结束时间 |
| | | public static String DownEndDt(){ |
| | | String dt = NFMUtil.formatDate2Str(Date.today()); |
| | | public static String DownEndDt(String dt){ |
| | | // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10 zyh update |
| | | String rtn = null; |
| | | if (dt == null) { |
| | | return rtn; |
| | | } |
| | | dt = dt.substring(0,8); // 2022-5-10 zyh update |
| | | rtn = String.valueOf(dt); |
| | | rtn = rtn.replaceAll('-', ''); |
| | | if (rtn >= '40001231') { |
| | |
| | | return rtn + '235959'; |
| | | } |
| | | //上班开始时间 |
| | | public static String UpStartDt(){ |
| | | String dt = NFMUtil.formatDate2Str(Date.today()); |
| | | public static String UpStartDt(String dt){ |
| | | // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10 zyh update |
| | | String rtn = null; |
| | | if (dt == null) { |
| | | return rtn; |
| | | } |
| | | dt = dt.substring(0,8); // 2022-5-10 zyh update |
| | | rtn = String.valueOf(dt); |
| | | rtn = rtn.replaceAll('-', ''); |
| | | if (rtn >= '40001231') { |
| | |
| | | return rtn + '000000'; |
| | | } |
| | | //上班结束时间 |
| | | public static String UpEndDt(){ |
| | | String dt = NFMUtil.formatDate2Str(Date.today()); |
| | | public static String UpEndDt(String dt){ |
| | | // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10 zyh update |
| | | String rtn = null; |
| | | if (dt == null) { |
| | | return rtn; |
| | | } |
| | | dt = dt.substring(0,8); // 2022-5-10 zyh update |
| | | rtn = String.valueOf(dt); |
| | | rtn = rtn.replaceAll('-', ''); |
| | | if (rtn >= '40001231') { |
| | |
| | | return rtn + '084459'; |
| | | } |
| | | //上班定义时间 |
| | | public static String UpDt(){ |
| | | String dt = NFMUtil.formatDate2Str(Date.today()); |
| | | public static String UpDt(String dt){ |
| | | // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10 zyh update |
| | | String rtn = null; |
| | | if (dt == null) { |
| | | return rtn; |
| | | } |
| | | dt = dt.substring(0,8); // 2022-5-10 zyh update |
| | | rtn = String.valueOf(dt); |
| | | rtn = rtn.replaceAll('-', ''); |
| | | if (rtn >= '40001231') { |
| | |
| | | return rtn + '090000'; |
| | | } |
| | | //下班定义时间 |
| | | public static String DownDt(){ |
| | | String dt = NFMUtil.formatDate2Str(Date.today()); |
| | | public static String DownDt(String dt){ |
| | | // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10 zyh update |
| | | String rtn = null; |
| | | if (dt == null) { |
| | | return rtn; |
| | | } |
| | | dt = dt.substring(0,8); // 2022-5-10 zyh update |
| | | rtn = String.valueOf(dt); |
| | | rtn = rtn.replaceAll('-', ''); |
| | | if (rtn >= '40001231') { |