111
沙世明
2022-11-22 928399eceec50e3d37ea08669a12789a9410a9d2
force-app/main/default/classes/EquipmentSetShippmentReceived3Controller.cls
@@ -337,7 +337,7 @@
        List<String> raids = Raid.split(':');
        //检查是否可以继续
        List<Rental_Apply__c> RaTarList = [select Name,Campaign__c,Repair__c,next_action__c
        List<Rental_Apply__c> RaTarList = [select Id,Name,Campaign__c,Repair__c,next_action__c
                                                ,QIS_number__r.ReplaceDeliveryDate__c,demo_purpose2__c
                                                ,Follow_UP_Opp__r.Shipping_Finished_Day_Func__c
                                                ,Campaign__r.Status
@@ -349,6 +349,24 @@
                                                ,Repair__r.Repair_Shipped_Date__c
                                            from Rental_Apply__c 
                                            where id in :raids];//20210602 ljh update 增加查询Name SFDC-C3LBNL 
        // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 start
        Map<Id, String> rentalApplyNameMap = new Map<Id, String>();
        List<Rental_Apply_Equipment_Set__c> RAESRecords = [
                SELECT Id,Rental_Apply__c,Rental_Apply__r.Name
                FROM Rental_Apply_Equipment_Set__c
                WHERE Rental_Apply__c in :raids
                AND Cancel_Select__c = False
                AND Rental_Start_Date__c <> :Date.today()
                ORDER BY Rental_Apply__c];
        for (Rental_Apply_Equipment_Set__c RAES : RAESRecords) {
            if (rentalApplyNameMap.isEmpty() || !rentalApplyNameMap.containsKey(RAES.Rental_Apply__c)) {
                rentalApplyNameMap.put(RAES.Rental_Apply__c, RAES.Rental_Apply__r.Name);
            }
        }
        // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 end
        //20210604 ljh update SFDC-C3LBNL start
        Boolean errorFlag = false;
        String message0 = '';
@@ -360,6 +378,7 @@
        String message5 = '';//1822 yc 20211108 索赔QIS目的,QIS已有新品发货日不能出库
        String message6 = '';
        String message7 = '';// 20220315 ljh obpm备品决裁状态相关修改 end
        String message8 = '';//add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整
        // 要判断决裁状态不能是草稿/驳回/终止申请/取消/删除
        List<String> statusList = System.Label.StatusProcessState.split(',');
        Map<Id, Rental_Apply__c> RaMap = new Map<Id, Rental_Apply__c>();
@@ -415,6 +434,16 @@
            // 20220315 ljh obpm备品决裁状态相关修改 end
            //20220217 sx add 备品借出申请-决裁控制 No.3 在出库时增加判断,判断学会是否申请决裁,如果是的话,再判断决裁编号是否不为空,满足条件才能出库,否则提示错误
        }
        // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 start
        if (!rentalApplyNameMap.isEmpty()) {
            errorFlag = true;
            for (String rentalApplyKey : rentalApplyNameMap.keySet()) {
                message8 += rentalApplyNameMap.get(rentalApplyKey) + '、';
            }
        }
        // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 end
        if(errorFlag){
            if(String.isNotBlank(message0)){
                message += '单号NO.'+message0.removeEnd('、')+'学会已取消,不能继续操作了';
@@ -444,6 +473,13 @@
                message += '单号No.'+ message7.removeEnd('、')+ '已申请决裁但决裁状态不符合条件';
            }
            // 20220315 ljh obpm备品决裁状态相关修改 add end
            // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 start
            if(String.isNotBlank(message8)){
                message += '单号No.'+ message8.removeEnd('、')+ '的备品预计出货日应该等于今天,否则不能发货';
            }
            // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 end
            ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,message));
            return null;
        }