| | |
| | | Repair__c repair = new Repair__c(); |
| | | repair.Id = repairMap.get(repairNo); |
| | | String logisticsType = ''; |
| | | if (ged.repairOrderInfo.api_type == 1) { |
| | | if (ged.repairOrderInfo.api_type == 1) {//报价信息 |
| | | repair.PlanQuotationTime__c = NFMUtil.parseStr2DateTime(ged.quotationInfo.PlanQuotationDate); //计划报价日期 |
| | | repair.ActualQuotationStartTime__c = NFMUtil.parseStr2DateTime(ged.quotationInfo.ActualQuotationDate); //实际报价开始时间 |
| | | repair.ActualQuotationEndTime__c = NFMUtil.parseStr2DateTime(ged.quotationInfo.ActualQuotationEndTime); //实际报价结束时间 |
| | | } else if (ged.repairOrderInfo.api_type == 2) { |
| | | } else if (ged.repairOrderInfo.api_type == 2) {//归还信息 |
| | | repair.PlanReturntime__c = NFMUtil.parseStr2DateTime(ged.EquipReturnInfo.PlanReturnDate); //计划归还日期 |
| | | repair.ActualReturnStartTime__c = NFMUtil.parseStr2DateTime(ged.EquipReturnInfo.ActualReturnStartTime); //实际归还开始时间 |
| | | repair.ActualReturnEndTime__c = NFMUtil.parseStr2DateTime(ged.EquipReturnInfo.ActualReturnDate); //实际归还结束时间 |
| | |
| | | repair.DeliveryLogisticsNo__c = ged.LogisticsInfo.logisticsNo; //送修物流单号 |
| | | repair.LogisticsSendTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //送修物流发送日期 |
| | | repair.LogisticsReceiveTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //送修物流签收日期 |
| | | repair.LogisticsLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; //送修物流最新状态 |
| | | } else if (ged.repairOrderInfo.api_type == 4) {//归还物流信息 |
| | | logisticsType = '归还物流'; |
| | | repair.ReturnLogisticsNo__c = ged.LogisticsInfo.logisticsNo; |
| | | repair.ReturnLogisticsDeliveryTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //归还物流发送日期 |
| | | repair.ReturnLogisticsSigningTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //归还物流签收日期 |
| | | repair.ReturnLogisticsLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; //归还物流最新状态 |
| | | } else if (ged.repairOrderInfo.api_type == 5) {//返品物流信息 |
| | | logisticsType = '返品物流'; |
| | | repair.ReturnOrderSendTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //返品物流发送日期 |
| | | repair.ReturnOrderReceiveTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //返品物流签收日期 |
| | | repair.ReturnOrderNo__c = ged.LogisticsInfo.logisticsNo; //返品物流单号 |
| | | repair.ReturnOrderLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; |
| | | |
| | | } |
| | | if (String.isNotBlank(logisticsType)) { |
| | | LogisticsInformation__c logisticsInformation = DataAssembly(ged,logisticsType,logisticsInformationMap,repairMap); |
| | | upsertLogisticsInformationList.add(logisticsInformation); |
| | | if (String.isNotBlank(ged.LogisticsInfo.logisticsNo)) { // 2022-11-08 zyh insert |
| | | LogisticsInformation__c logisticsInformation = DataAssembly(ged,logisticsType,logisticsInformationMap,repairMap); |
| | | upsertLogisticsInformationList.add(logisticsInformation); |
| | | } // 2022-11-08 zyh insert |
| | | } |
| | | updateList.add(repair); |
| | | } |
| | |
| | | if (ged.repairOrderInfo.api_type == null) { |
| | | result += 'DataError: [ ' + repairNo + ' ] api_type is null!\n'; |
| | | } |
| | | if ((ged.repairOrderInfo.api_type == 3 || ged.repairOrderInfo.api_type == 4 || ged.repairOrderInfo.api_type == 5) && |
| | | /*if ((ged.repairOrderInfo.api_type == 3 || ged.repairOrderInfo.api_type == 4 || ged.repairOrderInfo.api_type == 5) && |
| | | String.isBlank(ged.LogisticsInfo.logisticsNo)) { |
| | | result += 'DataError: [ ' + repairNo + ' ] logisticsNo is null!\n'; |
| | | |
| | | } |
| | | }*/ // 2022-11-08 zyh 注释 |
| | | |
| | | } |
| | | |
| | |
| | | private static Map < String, Map < String, Id >> getLogisticsInformationMap(Map < String, GeData > geDataMap) { |
| | | List < LogisticsInformation__c > logisticsInformationList = [Select Id, LogisticsNo__c, LogisticsRepair__r.Name FROM LogisticsInformation__c WHERE LogisticsRepair__r.Name IN: geDataMap.keySet()]; |
| | | Map < String, Map < String, Id >> result = new Map < String, Map < String, Id >> (); |
| | | for (LogisticsInformation__c logistics: logisticsInformationList) { |
| | | if (logisticsInformationList.size() > 0) { //2022-11-08 zyh insert |
| | | |
| | | for (LogisticsInformation__c logistics: logisticsInformationList) { |
| | | |
| | | String repairName = logistics.LogisticsRepair__r.Name; |
| | | String logisticsNo = logistics.LogisticsNo__c; |
| | | Map < String, Id > logisticsMap = new Map < String, Id > (); |
| | | String repairName = logistics.LogisticsRepair__r.Name; |
| | | String logisticsNo = logistics.LogisticsNo__c; |
| | | Map < String, Id > logisticsMap = new Map < String, Id > (); |
| | | |
| | | if (result.containsKey(repairName)) { |
| | | logisticsMap = result.get(repairName); |
| | | if (result.containsKey(repairName)) { |
| | | logisticsMap = result.get(repairName); |
| | | } |
| | | logisticsMap.put(logistics.LogisticsNo__c, logistics.Id); |
| | | result.put(repairName, logisticsMap); |
| | | |
| | | } |
| | | logisticsMap.put(logistics.LogisticsNo__c, logistics.Id); |
| | | result.put(repairName, logisticsMap); |
| | | |
| | | } |
| | | } //2022-11-08 zyh insert |
| | | return result; |
| | | } |
| | | /** |
| | |
| | | System.debug('logisticsNo--->'+logisticsNo); |
| | | result.Name = logisticsNo; |
| | | result.Id = logisticsMap.containsKey(logisticsNo) ? logisticsMap.get(logisticsNo) : null; |
| | | result.LogisticsNo__c = logisticsNo; //物流单号 |
| | | result.LogisticsCompany__c = ged.LogisticsInfo.carrier; //承运商 |
| | | result.LogisticsSendTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //物流发送日期 |
| | | result.LogisticsSignTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //物流签收日期 |
| | | result.LogisticsLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; //物流最新状态 |
| | | //update wangweipeng 2022/02/17 start |
| | | // result.LogisticsNo__c = logisticsNo; //物流单号 |
| | | // result.LogisticsCompany__c = ged.LogisticsInfo.carrier; //承运商 |
| | | // result.LogisticsSendTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //物流发送日期 |
| | | // result.LogisticsSignTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //物流签收日期 |
| | | // result.LogisticsLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; //物流最新状态 |
| | | if (ged.repairOrderInfo.api_type == 3) {//送修物流信息 |
| | | result.LogisticsNo__c = logisticsNo; //送修物流单号 |
| | | result.LogisticsCompany__c = ged.LogisticsInfo.carrier; //送修物流承运商 |
| | | result.LogisticsSendTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //送修物流发送日期 |
| | | result.LogisticsSignTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //送修物流签收日期 |
| | | result.LogisticsLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; //送修物流最新状态 |
| | | } else if (ged.repairOrderInfo.api_type == 4) {//归还物流信息 |
| | | result.ReturnLogisticsNo__c = logisticsNo; //归还物流单号 |
| | | result.ReturnLogisticsLogisticsCompany__c = ged.LogisticsInfo.carrier; //归还物流承运商 |
| | | result.ReturnLogisticsDeliveryTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //归还物流发送日期 |
| | | result.ReturnLogisticsSigningTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //归还物流签收日期 |
| | | result.ReturnLogisticsLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; //归还物流最新状态 |
| | | } else if (ged.repairOrderInfo.api_type == 5) {//返品物流信息 |
| | | result.ReturnOrderNo__c = logisticsNo; //返品物流单号 |
| | | result.ReturnOrderLogisticsCompany__c = ged.LogisticsInfo.carrier; //返品物流承运商 |
| | | result.ReturnOrderDeliveryTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsSendTime); //返品物流发送日期 |
| | | result.ReturnOrderSigningTime__c = NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //返品物流签收日期 |
| | | result.ReturnOrderLatestStatus__c = ged.LogisticsInfo.logisticsLatestStatus; //返品物流最新状态 |
| | | } |
| | | //update wangweipeng 2022/02/17 end |
| | | result.LogisticsType__c = logisticsType;//物流分类 |
| | | result.LogisticsRepair__c = repairMap.get(repairNo);//修理 |
| | | return result; |