高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/NFM611Rest.cls
@@ -129,11 +129,11 @@
                    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); //实际归还结束时间
@@ -142,22 +142,25 @@
                        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);
                }
@@ -214,11 +217,11 @@
            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 注释
            
        }
@@ -232,19 +235,22 @@
    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;
    }
    /**
@@ -272,11 +278,32 @@
        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;